Команды APT

Материал из ALT Linux Wiki

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

С помощью специальных команд Вы можете:

  • получить индексы
  • обновить все установленные пакеты
  • установить новые пакеты
  • удалить установленные пакеты

Эта "специальные команды" используются в консольной утилите APT.

Для ее работы нужны права суперпользователя.

Программа использует следующий синтаксис:

apt-get [параметры] команда
apt-get [параметры] install|remove пакет1 [пакет2 ...]
apt-get [параметры] source пакет1 [пакет2 ...]

Более подробно мы рассмотрим ее далее.

apt-get

Команды

Получение индексов

Первым делом нужно получить индексы, содержащие актуальные наборы пакетов и ссылки на них. Делается это следующей командой:

# apt-get update

Пример запуска:

[root@comp-alt-petr ~]# apt-get update
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64 release [4223B]
Получено: 2 http://ftp.altlinux.org p10/branch/x86_64-i586 release [1665B]
Получено: 3 http://ftp.altlinux.org p10/branch/noarch release [2844B]
Получено 8732B за 0s (259kB/s).
Найдено http://ftp.altlinux.org p10/branch/x86_64/classic pkglist
Найдено http://ftp.altlinux.org p10/branch/x86_64/classic release
Найдено http://ftp.altlinux.org p10/branch/x86_64/gostcrypto pkglist
Найдено http://ftp.altlinux.org p10/branch/x86_64/gostcrypto release
Найдено http://ftp.altlinux.org p10/branch/x86_64-i586/classic pkglist
Найдено http://ftp.altlinux.org p10/branch/x86_64-i586/classic release
Найдено http://ftp.altlinux.org p10/branch/noarch/classic pkglist
Найдено http://ftp.altlinux.org p10/branch/noarch/classic release
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено

Обновление системы

Чтобы обновить систему до актуального состояния (кроме ядра), используйте следующую команду:

# apt-get dist-upgrade

Пример запуска:

Примечание: Обратите внимание, когда обновляется несколько пакетов, действие нужно подтвердить нажатием клавиши Y
[root@comp-alt-petr ~]# apt-get dist-upgrade
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Подсчет обновлений... Завершено
Следующие пакеты будут ОБНОВЛЕНЫ:
  firefox libnss
2 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 59,2MB архивов.
После распаковки потребуется дополнительно 2888kB дискового пространства.
Продолжить? [Y/n] y
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64/classic libnss 3.89.0-alt1:p10+319679.40.8.1@1684328466 [1290kB]
Получено: 2 http://ftp.altlinux.org p10/branch/x86_64/classic firefox 112.0.2-alt0.p10.1:p10+319679.140.8.2@1684342590 [57,9MB]
Получено 59,2MB за 2s (20,6MB/s).  
Совершаем изменения...
Подготовка...                                                   #################################################################################################### [100%]
Обновление / установка...
1: libnss-3.89.0-alt1                                           #################################################################################################### [ 25%]
2: firefox-112.0.2-alt0.p10.1                                   #################################################################################################### [ 50%]
Очистка / удаление... 
3: firefox-110.0.1-alt0.p10.1                                   #################################################################################################### [ 75%]
4: libnss-3.88.1-alt1                                           #################################################################################################### [100%]
Завершено.

Установка пакетов

Установка пакетов производится следующей командой:

# apt-get install имя_пакета

Программа автоматически найдет и установит все необходимые для пакета зависимости.

Так же Вы можете указать сразу несколько или большое количество пакетов через пробел.

# apt-get install firefox gimp vlc
Примечание: Обратите внимание, когда устанавливается несколько пакетов, действие нужно подтвердить нажатием клавиши Y

Пример запуска:

[root@comp-alt-petr ~]# apt-get install stellarium
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие НОВЫЕ пакеты будут установлены:
  stellarium
0 будет обновлено, 1 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 212MB архивов.
После распаковки потребуется дополнительно 334MB дискового пространства.
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64/classic stellarium 0.21.0-alt1.1:sisyphus+279564.100.1.3@1626602684 [212MB]
Получено 212MB за 10s (20,9MB/s).                                                                                                                                         
Совершаем изменения...
Подготовка...                                                   #################################################################################################### [100%]
Обновление / установка...
1: stellarium-0.21.0-alt1.1                                     #################################################################################################### [100%]
Завершено.

Удаление пакетов

Удаление пакетов происходит аналогично установке:

# apt-get remove имя_пакета

И так же Вы можете указать несколько или большое количество пакетов через пробел.

# apt-get remove 0ad supertuxkart boswars

Пример запуска:

Примечание: Обратите внимание, когда удаляется несколько пакетов, действие нужно подтвердить нажатием клавиши Y
[root@comp-alt-petr ~]# apt-get remove supertuxkart boswars
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие пакеты будут УДАЛЕНЫ:
  boswars supertuxkart
0 будет обновлено, 0 новых установлено, 2 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 0B архивов.
После распаковки будет освобождено 160MB дискового пространства.
Продолжить? [Y/n] y
Совершаем изменения...
Подготовка...                                                   #################################################################################################### [100%]
Очистка / удаление... 
1: supertuxkart-1.4-alt1                                        #################################################################################################### [ 50%]
2: boswars-2.7-alt1_24.svn160110                                #################################################################################################### [100%]
Завершено.

Удаление неиспользуемых пакетов

Примечание: Данную команду нужно использовать с осторожностью, т.к. она может удалить нужные пакеты

Чтобы удалить лишние пакеты, которые не используются в системе выполните следующую команду:

# apt-get autoremove
Примечание: Обратите внимание, когда удаляется несколько пакетов, действие нужно подтвердить нажатием клавиши Y
[root@comp-alt-petr ~]# apt-get autoremove
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Calculating Autoremove... Завершено
Следующие пакеты будут УДАЛЕНЫ:
  ImageMagick-tools advancecomp libjpeg-utils liblua5.1 liblua5.1-preinstall libmcpp libtolua++-lua5.1 optipng supertuxkart-data
0 будет обновлено, 0 новых установлено, 9 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 0B архивов.
После распаковки будет освобождено 729MB дискового пространства.
Продолжить? [Y/n] y
Совершаем изменения...
Подготовка...                                                   #################################################################################################### [100%]
Очистка / удаление... 
1: libtolua++-lua5.1-1.0.93-alt5                                #################################################################################################### [ 11%]
2: liblua5.1-5.1.5-alt17                                        #################################################################################################### [ 22%]
3: liblua5.1-preinstall-5.1.5-alt17                             #################################################################################################### [ 33%]
4: supertuxkart-data-1.4-alt1                                   #################################################################################################### [ 44%]
5: optipng-0.7.7-alt1                                           #################################################################################################### [ 56%]
6: libmcpp-2.7.2-alt3                                           #################################################################################################### [ 67%]
7: libjpeg-utils-2:2.0.6-alt3                                   #################################################################################################### [ 78%]
8: advancecomp-2.1-alt1_16                                      #################################################################################################### [ 89%]
9: ImageMagick-tools-6.9.12.64-alt1                             #################################################################################################### [100%]
Завершено.


Удаление ранее скачанных пакетов

Все пакеты, которые Вы устанавливаете или обновляете, скачиваются в папку кэша и хранятся на диске в папке /var/cache/apt/archives. После долгого времени использования системы они могут занимать много места.

Чтобы очистить кэш скачанных пакетов воспользуйтесь командой:

# apt-get clean 

Команда не очень информативна:

[root@comp-alt-petr ~]# apt-get clean

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

Чтобы удостовериться в отсутствии неудовлетворённых зависимостей введите команду:

# apt-get check
[root@comp-alt-petr ~]# apt-get check
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено

Удаление дубликатов

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

# apt-get dedup

Параметры

В конце команды Вы можете указать следующие параметры:

-qq Не показывать ничего кроме сообщений об ошибках
-d Получить пакеты и выйти БЕЗ их установки или распаковки
-s Симуляция установки
-y Автоматически отвечать "да" на все вопросы
-f Исправление неудовлетворенных зависимостей. Обычно используется с командой "apt-get install"
-m Начать установку пакетов, если их часть была недоступна и не скачалась
-u Показать список обновляемых пакетов
-D При удалении пакета удалить все его зависимости. Для команды "apt-get remove"
-V Показывать номера версий пакетов

apt-cache

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

С помощью apt-cache так же как и с apt-get можно удостовериться в отсутствии неудовлетворённых зависимостей.

# apt-cache gencaches
[root@comp-alt-petr ~]# apt-cache gencaches
Чтение списков пакетов... Завершено

Информация о пакетах и их зависимостях

С помощью apt-cache можно вывести информацию о перечисленных в командной строке пакетах и их зависимостях. Для этого используется команда showpkg. Остальные аргументы являются именами пакетов.

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

Прямые (обычные) зависимости - зависимости, от которых зависит данный пакет;

Обратные зависимости - указывают на то, что существуют другие пакеты, которые зависят от данного пакета.

Таким образом, прямые зависимости должны быть удовлетворены для установки пакета, а обратные могут и не быть удовлетворены.

# apt-cache showpkg имя_пакета имя_пакета ... 

Пример, где:

  • Reverse Depends - обратные зависимости,
  • Dependencies - прямые зависимости
[root@comp-alt-petr ~]# apt-cache showpkg ffmpeg
Package: ffmpeg
Versions: 
2:4.4.3-alt2:p10+314231.200.4.1@1676567363(/var/lib/apt/lists/ftp.altlinux.org_pub_distributions_ALTLinux_p10_branch_x86%5f64_base_pkglist.classic)

Reverse Depends: 
  tkffmpeg,ffmpeg
  screencaster,ffmpeg
  mithraen-utils,ffmpeg
  m4b-tool,ffmpeg
  zoneminder,ffmpeg
  winff,ffmpeg
  vcmi,ffmpeg
  shotcut,ffmpeg
  rosa-media-player,ffmpeg
  qwinff,ffmpeg
  povray-common,ffmpeg
  pencil2d,ffmpeg
  peek,ffmpeg
  imagination,ffmpeg
  dvdstyler,ffmpeg
  deadbeef-converter,ffmpeg
  GMT,ffmpeg
Dependencies: 
2:4.4.3-alt2:p10+314231.200.4.1@1676567363 - /lib64/ld-linux-x86-64.so.2 (0 (null)) libavdevice58 (5 2:4.4.3-alt2:p10+314231.200.4.1) 
Provides: 
2:4.4.3-alt2:p10+314231.200.4.1@1676567363 - /usr/bin/ffmpeg ffmpeg 
Reverse Provides: 
ffmpeg 2:4.4.3-alt2:p10+314231.200.4.1@1676567363

Информация о пакете с исходным кодом

С помощью apt-cache можно вывести информацию о перечисленных в командной строке пакетах с исходным кодом Для этого используется команда showsrc. Остальные аргументы являются именами пакетов.

# apt-cache showsrc