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