20 подходящих команд, которые нужно знать как системного администратора для управления пакетами Ubuntu или Debian

APT или Advanced Package Tool — это утилита командной строки для управления пакетами в дистрибутивах на основе Debian/Ubuntu.

Это один из доступных менеджеров пакетов наряду с apt-get, но, как и другие, он позволяет вам устанавливать, изменять или удалять различные пакеты, не создавая их из исходного кода. Он может выполнять гораздо больше действий, связанных с управлением пакетами, которые мы рассмотрим в следующих разделах.

Общий синтаксис использования команды apt следующий:

$ apt [COMMAND] [PACKAGE]

Не забудьте использовать sudo с apt, так как многие из его подкоманд потребуют привилегий для внесения изменений на уровне системы.

Здесь мы рассмотрим различные подкоманды, которые вы можете использовать с apt, и их использование.

Обновить базу данных пакетов

apt требуется репозиторий пакетов с базой данных всех доступных пакетов, которые можно установить в системе Debian/Ubuntu. Эта база данных репозитория должна быть обновлена ​​до того, как вы начнете устанавливать пакет, поскольку apt должен знать подробности о пакете, его версии, архитектуре и удаленном расположении.

Обновление базы данных репозитория очень просто и может быть выполнено с помощью:

$ sudo apt update

Пример:

[email protected]:~$ sudo apt update
Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Hit:2 http://azure.archive.ubuntu.com/ubuntu focal InRelease
Get:3 http://azure.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:4 http://azure.archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB]
Get:5 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [1086 kB]
Get:6 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [841 kB]
Fetched 2255 kB in 1s (2677 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
14 packages can be upgraded. Run 'apt list --upgradable' to see them.
[email protected]:~$

Обновить установленные пакеты

Установленные пакеты в системе можно обновить до последней доступной версии, используя:

$ sudo apt upgrade

С помощью команды обновления пакеты будут установлены, если это необходимо для удовлетворения зависимостей, но существующие пакеты никогда не будут удалены. Если для обновления пакета требуется удаление установленного пакета, обновление для этого пакета не выполняется.

Пример:

[email protected]:~$ sudo apt update
Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Hit:2 http://azure.archive.ubuntu.com/ubuntu focal InRelease
Get:3 http://azure.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:4 http://azure.archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB]
Get:5 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [1086 kB]
Get:6 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [841 kB]
Fetched 2255 kB in 1s (2677 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
14 packages can be upgraded. Run 'apt list --upgradable' to see them.
[email protected]:~$ sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  apt apt-utils libapt-pkg6.0 libpython3.8 libpython3.8-minimal libpython3.8-stdlib libuv1 linux-base linux-base-sgx open-vm-tools python3-distupgrade python3.8
  python3.8-minimal ubuntu-release-upgrader-core
14 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 9485 kB of archives.
After this operation, 603 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 libapt-pkg6.0 amd64 2.0.6 [835 kB]
Get:2 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 apt amd64 2.0.6 [1296 kB]
Get:3 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 apt-utils amd64 2.0.6 [216 kB]
Get:4 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 libpython3.8 amd64 3.8.10-0ubuntu1~20.04 [1625 kB]
Get:5 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 python3.8 amd64 3.8.10-0ubuntu1~20.04 [387 kB]
Get:6 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 libpython3.8-stdlib amd64 3.8.10-0ubuntu1~20.04 [1675 kB]
Get:7 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 python3.8-minimal amd64 3.8.10-0ubuntu1~20.04 [1898 kB]
Get:8 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 libpython3.8-minimal amd64 3.8.10-0ubuntu1~20.04 [717 kB]
Get:9 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 libuv1 amd64 1.34.2-1ubuntu1.3 [80.8 kB]
Get:10 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 ubuntu-release-upgrader-core all 1:20.04.35 [23.9 kB]
Get:11 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 python3-distupgrade all 1:20.04.35 [104 kB]
Get:12 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-base all 4.5ubuntu3.6 [17.8 kB]
Get:13 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-base-sgx all 4.5ubuntu3.6 [4660 B]
Get:14 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe amd64 open-vm-tools amd64 2:11.2.5-2ubuntu1~ubuntu20.04.1 [604 kB]
Fetched 9485 kB in 0s (54.4 MB/s)
Preconfiguring packages ...
(Reading database ... 59511 files and directories currently installed.)
Preparing to unpack .../libapt-pkg6.0_2.0.6_amd64.deb ...
Unpacking libapt-pkg6.0:amd64 (2.0.6) over (2.0.5) ...
Setting up libapt-pkg6.0:amd64 (2.0.6) ...
(Reading database ... 59511 files and directories currently installed.)
Preparing to unpack .../archives/apt_2.0.6_amd64.deb ...
Unpacking apt (2.0.6) over (2.0.5) ...
Setting up apt (2.0.6) ...
(Reading database ... 59511 files and directories currently installed.)
Preparing to unpack .../00-apt-utils_2.0.6_amd64.deb ...
Unpacking apt-utils (2.0.6) over (2.0.5) ...
Preparing to unpack .../01-libpython3.8_3.8.10-0ubuntu1~20.04_amd64.deb ...
Unpacking libpython3.8:amd64 (3.8.10-0ubuntu1~20.04) over (3.8.5-1~20.04.3) ...
Preparing to unpack .../02-python3.8_3.8.10-0ubuntu1~20.04_amd64.deb ...
Unpacking python3.8 (3.8.10-0ubuntu1~20.04) over (3.8.5-1~20.04.3) ...
Preparing to unpack .../03-libpython3.8-stdlib_3.8.10-0ubuntu1~20.04_amd64.deb ...
Unpacking libpython3.8-stdlib:amd64 (3.8.10-0ubuntu1~20.04) over (3.8.5-1~20.04.3) ...
Preparing to unpack .../04-python3.8-minimal_3.8.10-0ubuntu1~20.04_amd64.deb ...
Unpacking python3.8-minimal (3.8.10-0ubuntu1~20.04) over (3.8.5-1~20.04.3) ...
Preparing to unpack .../05-libpython3.8-minimal_3.8.10-0ubuntu1~20.04_amd64.deb ...
Unpacking libpython3.8-minimal:amd64 (3.8.10-0ubuntu1~20.04) over (3.8.5-1~20.04.3) ...
Preparing to unpack .../06-libuv1_1.34.2-1ubuntu1.3_amd64.deb ...
Unpacking libuv1:amd64 (1.34.2-1ubuntu1.3) over (1.34.2-1ubuntu1.1) ...
Preparing to unpack .../07-ubuntu-release-upgrader-core_1%3a20.04.35_all.deb ...
Unpacking ubuntu-release-upgrader-core (1:20.04.35) over (1:20.04.33) ...
Preparing to unpack .../08-python3-distupgrade_1%3a20.04.35_all.deb ...
Unpacking python3-distupgrade (1:20.04.35) over (1:20.04.33) ...
Preparing to unpack .../09-linux-base_4.5ubuntu3.6_all.deb ...
Unpacking linux-base (4.5ubuntu3.6) over (4.5ubuntu3.1) ...
Preparing to unpack .../10-linux-base-sgx_4.5ubuntu3.6_all.deb ...
Unpacking linux-base-sgx (4.5ubuntu3.6) over (4.5ubuntu3.1) ...
Preparing to unpack .../11-open-vm-tools_2%3a11.2.5-2ubuntu1~ubuntu20.04.1_amd64.deb ...
Unpacking open-vm-tools (2:11.2.5-2ubuntu1~ubuntu20.04.1) over (2:11.0.5-4) ...
Setting up libpython3.8-minimal:amd64 (3.8.10-0ubuntu1~20.04) ...
Setting up apt-utils (2.0.6) ...
Setting up linux-base (4.5ubuntu3.6) ...
Setting up python3-distupgrade (1:20.04.35) ...
Setting up libuv1:amd64 (1.34.2-1ubuntu1.3) ...
Setting up linux-base-sgx (4.5ubuntu3.6) ...
Setting up ubuntu-release-upgrader-core (1:20.04.35) ...
Setting up python3.8-minimal (3.8.10-0ubuntu1~20.04) ...
Setting up open-vm-tools (2:11.2.5-2ubuntu1~ubuntu20.04.1) ...
Installing new version of config file /etc/vmware-tools/tools.conf.example ...
Installing new version of config file /etc/vmware-tools/vgauth.conf ...
Setting up libpython3.8-stdlib:amd64 (3.8.10-0ubuntu1~20.04) ...
Setting up python3.8 (3.8.10-0ubuntu1~20.04) ...
Setting up libpython3.8:amd64 (3.8.10-0ubuntu1~20.04) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
Processing triggers for systemd (245.4-4ubuntu3.7) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
[email protected]:~$

Перед обновлением пакетов убедитесь, что вы выполнили sudo apt update, чтобы избежать проблем во время обновления, а также убедиться, что вы получаете последние доступные пакеты из репозитория. Если вы хотите, вы можете запустить эти команды в одной строке как:

$ sudo apt update && sudo apt upgrade -y

Пакеты полного обновления

apt также предлагает команду полного обновления. Она отличается от команды обновления тем, что удаляет установленные пакеты, если это необходимо для обновления системы в целом. Поэтому будьте осторожны с этой командой и, если возможно, вместо этого используйте команду обновления.

$ sudo apt full-upgrade

Установить один пакет

Установку нового пакета можно выполнить с помощью apt, используя следующий синтаксис:

$ sudo apt install [package-name]

Пример:

[email protected]:~$ sudo apt install unzip
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  zip
The following NEW packages will be installed:
  unzip
0 upgraded, 1 newly installed, 0 to remove and 14 not upgraded.
Need to get 169 kB of archives.
After this operation, 593 kB of additional disk space will be used.
Get:1 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1 [169 kB]
Fetched 169 kB in 0s (4040 kB/s)
Selecting previously unselected package unzip.
(Reading database ... 59511 files and directories currently installed.)
Preparing to unpack .../unzip_6.0-25ubuntu1_amd64.deb ...
Unpacking unzip (6.0-25ubuntu1) ...
Setting up unzip (6.0-25ubuntu1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for man-db (2.9.1-1) ...
[email protected]:~$

Установить несколько пакетов

Вы можете установить несколько пакетов в системе с помощью apt. Синтаксис аналогичен предыдущему примеру:

$ sudo apt install [package-name-1] [package-name-2] ... [package-name-n]

Пример:

[email protected]:~$ sudo apt install zip unzip
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  unzip zip
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 336 kB of archives.
After this operation, 1231 kB of additional disk space will be used.
Get:1 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1 [169 kB]
Get:2 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 zip amd64 3.0-11build1 [167 kB]
Fetched 336 kB in 0s (7749 kB/s)
Selecting previously unselected package unzip.
(Reading database ... 59527 files and directories currently installed.)
Preparing to unpack .../unzip_6.0-25ubuntu1_amd64.deb ...
Unpacking unzip (6.0-25ubuntu1) ...
Selecting previously unselected package zip.
Preparing to unpack .../zip_3.0-11build1_amd64.deb ...
Unpacking zip (3.0-11build1) ...
Setting up unzip (6.0-25ubuntu1) ...
Setting up zip (3.0-11build1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
[email protected]:~$

Если один из указанных пакетов уже установлен в системе, apt будет искать обновление в репозитории и, если оно доступно, обновит пакет или сохранит установленную версию как есть.

Установить конкретную версию

Часто вам нужно установить определенную версию пакета, особенно в корпоративных системах. apt позволяет вам установить данную версию пакета, предполагая, что он доступен в репозитории, используя:

$ sudo apt install [package-name]=[version]

Пример:

[email protected]:~$ sudo apt install unzip=6.0-25ubuntu1
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  unzip
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 169 kB of archives.
After this operation, 593 kB of additional disk space will be used.
Get:1 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1 [169 kB]
Fetched 169 kB in 0s (2767 kB/s)
Selecting previously unselected package unzip.
(Reading database ... 59541 files and directories currently installed.)
Preparing to unpack .../unzip_6.0-25ubuntu1_amd64.deb ...
Unpacking unzip (6.0-25ubuntu1) ...
Setting up unzip (6.0-25ubuntu1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for man-db (2.9.1-1) ...
[email protected]:~$

Удалить пакет

Как и при установке пакета, apt можно использовать для удаления пакета из системы с помощью следующей команды:

$ sudo apt remove [package-name]

Пример:

[email protected]:~$ sudo apt remove unzip
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  unzip
0 upgraded, 0 newly installed, 1 to remove and 14 not upgraded.
After this operation, 593 kB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 59529 files and directories currently installed.)
Removing unzip (6.0-25ubuntu1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
[email protected]:~$

Очистить пакет

Подобно удалению пакета, очистка пакета также выполняет ту же задачу, но с командой удаления apt просто удаляет двоичные файлы пакета, оставляя файлы конфигурации без изменений. С другой стороны, команда purge гарантирует, что все, что связано с пакетом, включая его двоичные файлы и файлы конфигурации, будет удалено из системы. Оставив файлы конфигурации, вы сможете снова использовать те же файлы конфигурации, если планируете переустановить приложение.

Чтобы очистить пакет, используйте:

$ sudo apt purge [package-name]

Пример:

[email protected]:~$ sudo apt purge unzip
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  unzip*
0 upgraded, 0 newly installed, 1 to remove and 14 not upgraded.
After this operation, 593 kB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 59529 files and directories currently installed.)
Removing unzip (6.0-25ubuntu1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
(Reading database ... 59511 files and directories currently installed.)
Purging configuration files for unzip (6.0-25ubuntu1) ...
[email protected]:~$

Поиск пакетов

apt может служить не только утилитой для установки и удаления пакетов. Он также может искать нужный пакет в репозитории с помощью команды поиска:

$ apt search [search-text]

Пример:

[email protected]:~$ apt search netstat
Sorting... Done
Full Text Search... Done
bwm-ng/focal 0.6.2-1 amd64
  small and simple console-based bandwidth monitor

gnome-nettool/focal 3.8.1-3 amd64
  network information tool for GNOME

golang-github-aelsabbahy-gonetstat-dev/focal 0.0~git20160428.0.edf89f7-3 all
  Netstat implementation in Go

golang-github-mwitkow-go-conntrack-dev/focal 0.0~git20190716.2f06839-1 all
  Go middleware for net.Conn tracking

libparse-netstat-perl/focal 0.14-1 all
  module to parse the output of the "netstat" command

net-tools/focal 1.60+git20180626.aebd88e-1ubuntu1 amd64
  NET-3 networking toolkit

netstat-nat/focal 1.4.10-3build1 amd64
  tool that display NAT connections

nicstat/focal 1.95-1build1 amd64
  print network traffic statistics

qnetstatview/focal 1.5.6-1 amd64
  Shows detailed listings of all TCP and UDP endpoints

unhide/focal 20130526-4 amd64
  Forensic tool to find hidden processes and ports

whichman/focal 2.4-9 amd64
  Fault tolerant search utilities: whichman, ftff, ftwhich

[email protected]:~$

Посмотреть содержимое пакета

Чтобы получить подробную информацию о пакете, независимо от того, установлен он или будет установлен, вы можете использовать команду show, как показано ниже:

$ apt show [package-name]

Пример:

[email protected]:~$ apt show firefox
Package: firefox
Version: 90.0+build1-0ubuntu0.20.04.1
Priority: optional
Section: web
Origin: Ubuntu
Maintainer: Ubuntu Mozilla Team <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 226 MB
Provides: gnome-www-browser, iceweasel, www-browser
Depends: lsb-release, libatk1.0-0 (>= 1.12.4), libc6 (>= 2.30), libcairo-gobject2 (>= 1.10.0), libcairo2 (>= 1.10.0), libdbus-1-3 (>= 1.9.14), libdbus-glib-1-2 (>= 0.78), libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.10.1), libgcc-s1 (>= 3.3), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.42), libgtk-3-0 (>= 3.14), libharfbuzz0b (>= 0.6.0), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libpangoft2-1.0-0 (>= 1.14.0), libstdc++6 (>= 9), libx11-6, libx11-xcb1 (>= 2:1.6.9), libxcb-shm0, libxcb1, libxcomposite1 (>= 1:0.4.5), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxi6, libxrender1, libxt6
Recommends: xul-ext-ubufox, libcanberra0, libdbusmenu-glib4, libdbusmenu-gtk3-4
Suggests: fonts-lyx
Replaces: kubuntu-firefox-installer
Task: ubuntu-desktop-minimal, ubuntu-desktop, kubuntu-desktop, kubuntu-full, xubuntu-desktop, lubuntu-desktop, ubuntustudio-desktop, ubuntukylin-desktop, ubuntu-mate-core, ubuntu-mate-desktop, ubuntu-budgie-desktop
Xul-Appid: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
Download-Size: 57.0 MB
APT-Sources: http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
Description: Safe and easy web browser from Mozilla
 Firefox delivers safe, easy web browsing. A familiar user interface,
 enhanced security features including protection from online identity theft,
 and integrated search let you get the most out of the web.

N: There is 1 additional record. Please use the '-a' switch to see it
[email protected]:~$

Список установленных пакетов

Нам часто нужно перечислить установленные пакеты в системе для разных целей. apt позволяет получить список установленных пакетов просто с помощью:

$ apt list --installed

Список всех пакетов

Чтобы вывести список всех пакетов, доступных для вашей системы, используйте команду list с ключевым словом –all-versions следующим образом:

$ apt list --all-versions

Список обновляемых пакетов

Пакеты необходимо поддерживать в актуальном состоянии, поскольку новые версии продолжают выпускаться с улучшенными или дополнительными функциями и исправлениями ошибок, включая критические лазейки в системе безопасности. apt гарантирует, что вы можете легко исправить свою систему Debian/Ubuntu с помощью команды обновления, как было предложено ранее в статье. Чтобы получить список всех доступных обновлений для установленных пакетов в вашей системе, запустите:

$ apt list --upgradable

Пример:

[email protected]:~$ apt list --upgradable
Listing... Done
apt-utils/focal-updates 2.0.6 amd64 [upgradable from: 2.0.5]
apt/focal-updates 2.0.6 amd64 [upgradable from: 2.0.5]
libapt-pkg6.0/focal-updates 2.0.6 amd64 [upgradable from: 2.0.5]
libpython3.8-minimal/focal-updates,focal-security 3.8.10-0ubuntu1~20.04 amd64 [upgradable from: 3.8.5-1~20.04.3]
libpython3.8-stdlib/focal-updates,focal-security 3.8.10-0ubuntu1~20.04 amd64 [upgradable from: 3.8.5-1~20.04.3]
libpython3.8/focal-updates,focal-security 3.8.10-0ubuntu1~20.04 amd64 [upgradable from: 3.8.5-1~20.04.3]
libuv1/focal-updates,focal-security 1.34.2-1ubuntu1.3 amd64 [upgradable from: 1.34.2-1ubuntu1.1]
linux-base-sgx/focal-updates 4.5ubuntu3.6 all [upgradable from: 4.5ubuntu3.1]
linux-base/focal-updates 4.5ubuntu3.6 all [upgradable from: 4.5ubuntu3.1]
open-vm-tools/focal-updates 2:11.2.5-2ubuntu1~ubuntu20.04.1 amd64 [upgradable from: 2:11.0.5-4]
python3-distupgrade/focal-updates 1:20.04.35 all [upgradable from: 1:20.04.33]
python3.8-minimal/focal-updates,focal-security 3.8.10-0ubuntu1~20.04 amd64 [upgradable from: 3.8.5-1~20.04.3]
python3.8/focal-updates,focal-security 3.8.10-0ubuntu1~20.04 amd64 [upgradable from: 3.8.5-1~20.04.3]
ubuntu-release-upgrader-core/focal-updates 1:20.04.35 all [upgradable from: 1:20.04.33]
[email protected]:~$

Очистить неиспользуемые пакеты

При обычном использовании иногда в вашей системе могут быть установлены пакеты, которые больше не требуются. Это может произойти из-за того, что эти пакеты были установлены как часть зависимости другого пакета, который уже был удален позже, хотя зависимости остались в системе. Чтобы очистить такие пакеты и освободить место на диске, вы можете использовать:

$ sudo apt autoremove

Пример:

[email protected]:~$ sudo apt autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[email protected]:~$

В моей системе не было оставшихся пакетов, поэтому вывод не сообщил об изменениях.

Проверить зависимости пакетов

Пакет может иметь одну или несколько зависимостей, которые должны быть установлены в системе, чтобы пакет работал правильно. apt гарантирует, что необходимые зависимости будут установлены как часть установки пакета. Если вы хотите проверить зависимости пакета, используйте:

$ apt depends [package-name]

Пример:

[email protected]:~$ apt depends zip
zip
  Depends: libbz2-1.0
  Depends: libc6 (>= 2.14)
  Recommends: unzip
[email protected]:~$

Переустановить пакет

Пакет может быть поврежден, или вам может потребоваться переустановить его, чтобы убедиться, что все файлы пакета расположены в правильном порядке. Чтобы снова установить пакет, не удаляя его сначала, вы можете использовать:

$ sudo apt reinstall [package-name]

Пример:

[email protected]:~$ sudo apt reinstall unzip
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 169 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1 [169 kB]
Fetched 169 kB in 0s (5695 kB/s)
(Reading database ... 59559 files and directories currently installed.)
Preparing to unpack .../unzip_6.0-25ubuntu1_amd64.deb ...
Unpacking unzip (6.0-25ubuntu1) over (6.0-25ubuntu1) ...
Setting up unzip (6.0-25ubuntu1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for man-db (2.9.1-1) ...
[email protected]:~$

Скачать пакет

Файлы пакетов можно загрузить в локальную файловую систему без их установки. Чтобы загрузить пакет с apt, используйте:

$ apt download [package-name]

Пример:

[email protected]:~$ apt download unzip
Get:1 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1 [169 kB]
Fetched 169 kB in 0s (1405 kB/s)
[email protected]:~$

[email protected]:~$ ls -l unzip_6.0-25ubuntu1_amd64.deb
-rw-r--r-- 1 abhisheknair abhisheknair 168956 Aug 16 2019 unzip_6.0-25ubuntu1_amd64.deb
[email protected]:~$

Проверить журнал изменений пакета

Мы можем легко проверить журнал изменений любого пакета с помощью apt, используя:

$ apt changelog [package-name]

Редактировать источники

Команда apt edit-sources позволяет вам редактировать файлы sources.list, а также обеспечивает проверку работоспособности, чтобы убедиться, что изменения непротиворечивы и действительны. Это незавершенная команда, поэтому ее следует использовать с осторожностью. Вы можете редактировать sources.list как:

$ sudo apt edit-sources

Получить помощь по АПП

Чтобы получить дополнительную справку о команде apt, используйте:

$ apt help

Пример:

[email protected]:~$ apt help
apt 2.0.6 (amd64)
Usage: apt [options] command

apt is a commandline package manager and provides commands for
searching and managing as well as querying information about packages.
It provides the same functionality as the specialized APT tools,
like apt-get and apt-cache, but enables options more suitable for
interactive use by default.

Most used commands:
  list - list packages based on package names
  search - search in package descriptions
  show - show package details
  install - install packages
  reinstall - reinstall packages
  remove - remove packages
  autoremove - Remove automatically all unused packages
  update - update list of available packages
  upgrade - upgrade the system by installing/upgrading packages
  full-upgrade - upgrade the system by removing/installing/upgrading packages
  edit-sources - edit the source information file
  satisfy - satisfy dependency strings

See apt(8) for more information about the available commands.
Configuration options and syntax is detailed in apt.conf(5).
Information about how to configure sources can be found in sources.list(5).
Package and version choices can be expressed via apt_preferences(5).
Security details are available in apt-secure(8).
                                        This APT has Super Cow Powers.
[email protected]:~$

Резюме

Инструмент apt — это удобная и мощная утилита управления пакетами на основе CLI для систем на базе Debian/Ubuntu. Обычная повседневная работа системного администратора включает в себя управление пакетами в системе, а знание apt и его общих команд использования упрощает эту задачу.

Для получения дополнительной помощи по apt обратитесь к его справочной странице.

$ man apt