Команды APT: различия между версиями

Материал из ALT Linux Wiki
(Отмена правки 83905, сделанной Petr-akhlamov (обсуждение))
Метка: отмена
 
(не показано 45 промежуточных версий 4 участников)
Строка 1: Строка 1:
[[en:APT commands]]
Все пакеты, из которых в систему ставятся программы, драйвера, ядра и пр. хранятся в специальных сетевых хранилищах - '''репозиториях'''. Они состоят из двух частей - индексов и хранилища. Сначала получаются файлы индексов, содержащие список всех пакетов и ссылки на них и, используя полученные индексы, пакеты скачиваются из хранилища во временный каталог и, по завершении загрузки, устанавливаются в систему или обновляются.  
Все пакеты, из которых в систему ставятся программы, драйвера, ядра и пр. хранятся в специальных сетевых хранилищах - '''репозиториях'''. Они состоят из двух частей - индексов и хранилища. Сначала получаются файлы индексов, содержащие список всех пакетов и ссылки на них и, используя полученные индексы, пакеты скачиваются из хранилища во временный каталог и, по завершении загрузки, устанавливаются в систему или обновляются.  


Строка 6: Строка 7:
*установить новые пакеты
*установить новые пакеты
*удалить установленные пакеты
*удалить установленные пакеты
*найти пакеты в репозитории


Эта "специальные команды" используются в консольной утилите '''APT'''.  
Эта "специальные команды" используются в консольной утилите '''APT'''. Все операции с пакетами с помощью этой утилиты проводятся в консольной строке. В ряде случаев это удобнее, а в некоторых просто является единственно возможным вариантом ввиду возможности рестарта некоторых ключевых компонент. В этом случае команда на обновление должна делаться в консоли, либо с использованием screen.


Для ее работы нужны [[su|права суперпользователя]].
Для ее работы нужны [[su|права суперпользователя]]. Хотя, для операции поиска, достаточно обычных прав пользователя.


==Команды apt-get==
==Команды apt-get==


Программа использует следующий синтаксис:
Программа использует следующий синтаксис:
apt-get [параметры] команда
<source lang="text" highlight="1">
apt-get [параметры] install|remove пакет1 [пакет2 ...]
apt-get [параметры] команда
apt-get [параметры] source пакет1 [пакет2 ...]
apt-get [параметры] install|remove пакет1 [пакет2 ...]
apt-get [параметры] source пакет1 [пакет2 ...]
</source>


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


===Обновление информации о репозиториях===
===Обновление информации о репозиториях===
Первым делом нужно получить индексы, содержащие актуальные наборы пакетов и ссылки на них. Это необходимо, при поиске новой версии пакета, установки пакетов или обновления установленных пакетов новыми версиями.
Первым делом нужно получить индексы, содержащие актуальные наборы пакетов и ссылки на них.
{{Note|Данную команду необходимо выполнять каждый раз:
*при поиске новой версии пакета
*установке пакетов
*обновлении установленных пакетов
*использовании apt-cache}}


Делается это следующей командой:
Делается это следующей командой:
# apt-get update
<source lang="text" highlight="1">
# apt-get update
</source>


Пример запуска:
Пример запуска:
<source lang="text" highlight="1">
<source lang="text" highlight="1">
[root@comp-alt-petr ~]# apt-get update
# apt-get update
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64 release [4223B]
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64 release [4223B]
Получено: 2 http://ftp.altlinux.org p10/branch/x86_64-i586 release [1665B]
Получено: 2 http://ftp.altlinux.org p10/branch/x86_64-i586 release [1665B]
Строка 48: Строка 59:


===Обновление системы===
===Обновление системы===
{{attention|В ALT Linux [[APT в ALT Linux/Советы по использованию#apt-get_upgrade|не принято выполнять частичное обновление системы]] через '''apt-get upgrade'''! Этой командой вы практически гарантировано свою систему поломаете! Используйте только '''apt-get dist-upgrade''' вместо неё.}}
{{attention|Не торопитесь нажимать {{button|ENTER}} или {{button|Y}} в ответ! Внимательно изучите, что APT предлагает удалить, заменить, обновить и установить нового. Вы правда согласны с его предложением!? Никогда не добавляйте «'''-y'''», чтобы контролировать намерения APT'а.}}
Чтобы обновить систему до актуального состояния ([[Обновление ядра|кроме ядра]]), используйте следующую команду:
Чтобы обновить систему до актуального состояния ([[Обновление ядра|кроме ядра]]), используйте следующую команду:
  # apt-get dist-upgrade
  # apt-get dist-upgrade
Строка 53: Строка 67:
{{Note|Обратите внимание, когда обновляется несколько пакетов, действие нужно подтвердить нажатием клавиши Y}}
{{Note|Обратите внимание, когда обновляется несколько пакетов, действие нужно подтвердить нажатием клавиши Y}}
<source lang="text" highlight="1">
<source lang="text" highlight="1">
[root@comp-alt-petr ~]# apt-get dist-upgrade
# apt-get dist-upgrade
Чтение списков пакетов... Завершено
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Построение дерева зависимостей... Завершено
Строка 78: Строка 92:


===Установка пакетов===
===Установка пакетов===
{{Note|Не забывайте перед установкой обновить список пакетов командой {{cmd|apt-get update}}}}
Установка пакетов производится следующей командой:
Установка пакетов производится следующей командой:
  # apt-get install имя_пакета
  # apt-get install имя_пакета
Строка 96: Строка 111:
Пример запуска:
Пример запуска:
<source lang="text" highlight="1">
<source lang="text" highlight="1">
[root@comp-alt-petr ~]# apt-get install stellarium
# apt-get install stellarium
Чтение списков пакетов... Завершено
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Построение дерева зависимостей... Завершено
Строка 112: Строка 127:
Завершено.
Завершено.
</source>
</source>
====Дополнительные варианты====
====Дополнительные варианты====
*Установка RPM-пакета из файловой системы:
*Установка RPM-пакета из файловой системы:
<source lang="text" highlight="1">
<source lang="text" highlight="1">
[root@comp-alt-petr ~]# apt-get install /home/user/Загрузки/whois-5.5.0-alt1.x86_64.rpm</source>
# apt-get install /home/user/Загрузки/whois-5.5.0-alt1.x86_64.rpm</source>
*Установка пакета по его URL:
*Установка пакета по его URL:
<source lang="text" highlight="1">
<source lang="text" highlight="1">
[root@comp-alt-petr ~]# apt-get install http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/files/x86_64/RPMS/whois-5.5.0-alt1.x86_64.rpm</source>
# apt-get install http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/files/x86_64/RPMS/whois-5.5.0-alt1.x86_64.rpm</source>
*Установка по имени исполняемого файла или библиотеки:
*Установка по имени исполняемого файла или библиотеки:
<source lang="text" highlight="1">
<source lang="text" highlight="1">
[root@comp-alt-petr ~]# apt-get install /usr/bin/whois</source>
# apt-get install /usr/bin/whois</source>
 
<source lang="text" highlight="1">
# apt-get install /usr/lib64/lib3dkit.so.1</source>
 
====Некоторые ситуации====
=====Пакет установлен, в репозитории новая версия, запускается повторная установка =====
*Если пакет уже установлен и в подключённом репозитории нет обновлений для данного пакета, система сообщит об уже установленном пакете последней версии.
<source lang="text" highlight="1">
# apt-get install supertuxkart
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Последняя версия supertuxkart уже установлена.
0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
</source>
 
*Если в репозитории присутствует более новая версия или новое обновление - программа начнёт процесс установки.
**Менеджер apt, при установки пакета проверяет все зависимости и если необходимо обновить пакеты или заменить - предложит провести необходимые действия
<source lang="text" highlight="1">
# apt-get install alterator
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие дополнительные пакеты будут установлены:
  alterator-l10n rpm-macros-alterator
Следующие пакеты будут ОБНОВЛЕНЫ:
  alterator alterator-l10n rpm-macros-alterator
3 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 178 не будет обновлено.
Необходимо получить 630kB архивов.
После распаковки потребуется дополнительно 4686B дискового пространства.
Продолжить? [Y/n]
</source>
 
===Починка сломанной системы===
Если у Вас по некоторым причинам (зависание, отключение электричества и пр.) была нарушена работа APT и система говорит что нужно выполнить "починку", воспользуйтесь следующей командой:
<source lang="text" highlight="1">
# apt-get install -f
</source>
 
===Переустановка пакетов===
Чтобы принудительно переустановить указанные пакеты, выполните следующую команду:
<source lang="text" highlight="1">
# apt-get install --reinstall имена пакетов
</source>
 
Пример использования:
<source lang="text" highlight="1">
# apt-get install --reinstall supertuxkart
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
0 будет обновлено, 0 новых установлено, 1 пакетов будет переустановлено, 0 пакетов будет удалено и 2 не будет обновлено.
Необходимо получить 25,2MB архивов.
После распаковки потребуется дополнительно 0B дискового пространства.
Продолжить? [Y/n] y
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64/classic supertuxkart 1.4-alt1:p10+310551.200.2.1@1669897162 [25,2MB]
Получено 25,2MB за 1s (20,7MB/s).     
Совершаем изменения...
Подготовка...                                                  #################################################################################################### [100%]
Обновление / установка...
1: supertuxkart-1.4-alt1                                        #################################################################################################### [100%]
Завершено.
</source>
 
===Скачивание пакетов в кэш без установки===
Чтобы скачать пакеты без установки, используйте следующую команду:
<source lang="text" highlight="1">
# apt-get install -d пакеты
</source>
 
Пример использования:
<source lang="text" highlight="1">
# apt-get install -d boswars
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие дополнительные пакеты будут установлены:
  liblua5.1 liblua5.1-preinstall libtolua++-lua5.1
Следующие НОВЫЕ пакеты будут установлены:
  boswars liblua5.1 liblua5.1-preinstall libtolua++-lua5.1
0 будет обновлено, 4 новых установлено, 0 пакетов будет удалено и 2 не будет обновлено.
Необходимо получить 74,8MB архивов.
После распаковки потребуется дополнительно 92,1MB дискового пространства.
Продолжить? [Y/n] y
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64/classic liblua5.1-preinstall 5.1.5-alt17:sisyphus+278018.100.1.2@1625976910 [10,8kB]
Получено: 2 http://ftp.altlinux.org p10/branch/x86_64/classic liblua5.1 5.1.5-alt17:sisyphus+278018.100.1.2@1625976910 [93,9kB]
Получено: 3 http://ftp.altlinux.org p10/branch/x86_64/classic libtolua++-lua5.1 1.0.93-alt5:sisyphus+249325.100.1.1@1585937317 [15,8kB]
Получено: 4 http://ftp.altlinux.org p10/branch/x86_64/classic boswars 2.7-alt1_24.svn160110:sisyphus+264006.100.1.2@1609002965 [74,7MB]
Получено 74,8MB за 3s (18,9MB/s). 
Скачивание пакетов завершено в режиме 'только скачать'.
</source>


===Удаление пакетов===
===Удаление пакетов===
====Примечание====
Удаление пакета не намного сложнее, чем установка. Достаточно знать имя пакета, который необходимо удалить и обращать внимание на сообщения системы <tt>apt</tt>.
Чтобы что-то удалить, необходимо знать, что можно удалить. Например пакеты программ, которыми Вы перестали пользоваться или программ из дистрибутива, которыми Вы не пользовались вообще.
При удалении пакетов имеется простое правило, которому желательно следовать:
* '''Не все пакеты, которыми вы не пользуетесь, являются ненужными.'''
Правило говорит о том, что программа, которой вы пользуетесь, может явно использовать пакет, который вы хотите удалить. Обычно зависимости выставлены корректно, и система <tt>apt</tt> всегда предупредит, какие пакеты придётся удалить дополнительно при удалении указанного. Не стоит пытаться удалить общесистемные пакеты, вы можете необратимо испортить нормальное функционирование операционной системы. В таких случаях '''apt''' настоятельно спросит, действительно ли пользователь уверен в своих действиях.
Например:
<source lang="text" highlight="1">
# apt-get remove coreutils
<большой список пакетов>
...
WARNING: The following essential packages will be removed
This should NOT be done unless you know exactly what you are doing!
...
You are about to do something potentially harmful
To continue type in the phrase 'Yes, do as I say!'
</source>
====Команды====
Удаление пакетов происходит аналогично установке:
Удаление пакетов происходит аналогично установке:
# apt-get remove имя_пакета
<source lang="text" highlight="1">
# apt-get remove имя_пакета
</source>


# apt-get remove 0ad  
<source lang="text" highlight="1">
# apt-get remove 0ad
</source>
И так же Вы можете указать несколько или большое количество пакетов через пробел.
И так же Вы можете указать несколько или большое количество пакетов через пробел.
# apt-get remove 0ad supertuxkart boswars
<source lang="text" highlight="1">
 
# apt-get remove 0ad supertuxkart boswars
</source>
Пример запуска:
Пример запуска:
{{Note|Обратите внимание, когда удаляется несколько пакетов, действие нужно подтвердить нажатием клавиши Y}}
{{Note|Обратите внимание, когда удаляется несколько пакетов, действие нужно подтвердить нажатием клавиши Y}}
<source lang="text" highlight="1">
<source lang="text" highlight="1">
[root@comp-alt-petr ~]# apt-get remove supertuxkart boswars
# apt-get remove supertuxkart boswars
Чтение списков пакетов... Завершено
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Построение дерева зависимостей... Завершено
Строка 152: Строка 284:


{{Note|Если Вы не помните полное имя пакета, можете воспользоваться командой RPM}}
{{Note|Если Вы не помните полное имя пакета, можете воспользоваться командой RPM}}
<source lang="bash">
<source lang="text" highlight="1">
# rpm -qa | grep часть_названия
# rpm -qa | grep часть_названия
</source>
</source>


Пример:
Пример:
<source lang="bash">
<source lang="text" highlight="1">
[root@comp-alt-petr ~]# rpm -qa | grep tux
# rpm -qa | grep tux
supertuxkart-data-1.4-alt1.noarch
supertuxkart-data-1.4-alt1.noarch
tuxcmd-0.6.70-alt2.x86_64
tuxcmd-0.6.70-alt2.x86_64
Строка 167: Строка 299:


===Удаление неиспользуемых пакетов===
===Удаление неиспользуемых пакетов===
{{Note|Данную команду нужно использовать с осторожностью, т.к. она может удалить нужные пакеты}}
{{Attention|Данную команду нужно использовать с осторожностью, т.к. она может удалить нужные пакеты}}
Чтобы удалить лишние пакеты, которые не используются в системе выполните следующую команду:
Чтобы удалить лишние пакеты, которые не используются в системе выполните следующую команду:
  # apt-get autoremove
  # apt-get autoremove
{{Note|Обратите внимание, когда удаляется несколько пакетов, действие нужно подтвердить нажатием клавиши Y}}
{{Note|Обратите внимание, когда удаляется несколько пакетов, действие нужно подтвердить нажатием клавиши Y}}
<source lang="text" highlight="1">
<source lang="text" highlight="1">
[root@comp-alt-petr ~]# apt-get autoremove
# apt-get autoremove
Чтение списков пакетов... Завершено
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Построение дерева зависимостей... Завершено
Строка 196: Строка 328:
Завершено.
Завершено.
</source>
</source>
<!--
<!--


Строка 211: Строка 342:


===Удаление ранее скачанных пакетов===
===Удаление ранее скачанных пакетов===
Все пакеты, которые Вы устанавливаете или обновляете, скачиваются в папку кэша и хранятся на диске в папке /var/cache/apt/archives. После долгого времени использования системы они могут занимать много места.
Все пакеты, которые Вы устанавливаете или обновляете, скачиваются в папку кэша и хранятся на диске в папке /var/cache/apt/archives. После долгого времени использования системы они могут занимать много места. Так как объём свободного пространства на жёстком диске конечен, может возникнуть ситуация, когда apt не сможет сохранить полученные по сети пакеты, и установка будет прервана, о чём система apt известит пользователя. Чтобы избежать такой ситуации, требуется очистка диска от старых установленных пакетов.  


Чтобы очистить кэш скачанных пакетов воспользуйтесь командой:
Чтобы очистить кэш скачанных пакетов воспользуйтесь командой:
Строка 218: Строка 349:
Команда не очень информативна:
Команда не очень информативна:
<source lang="text" highlight="1">
<source lang="text" highlight="1">
[root@comp-alt-petr ~]# apt-get clean
# apt-get clean
</source>
 
Если после выполнения данной операции, система <tt>apt</tt>, всё равно прерывает установку по причине нехватки места на диске - значит, диск скорее всего занят пользовательскими файлами. Попробуйте удалить (перенести) ненужные файлы или удалить ненужные вам программы и приложения.
 
===Удаление пакета с конфигурацией===
Программа во время работы создает конфигурационные файлы в каталоге {{path|/etc}}, в которых хранит некоторые настройки, произведенные во время работы. Если Вы хотите переустановить программу так, чтобы эти файлы были удалены, Вы можете воспользоваться следующей командой:
<source lang="text" highlight="1">
# apt-get remove --purge имя_пакета
</source>
 
Пример выполения:
<source lang="text" highlight="1">
# apt-get remove --purge wine
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие пакеты будут УДАЛЕНЫ:
  i586-wine.32bit* wine*
0 будет обновлено, 0 новых установлено, 2 пакетов будет удалено и 2 не будет обновлено.
Необходимо получить 0B архивов.
После распаковки будет освобождено 900MB дискового пространства.
Продолжить? [Y/n] y
Совершаем изменения...
Подготовка...                                                  #################################################################################################### [100%]
Очистка / удаление...
1: i586-wine-1:7.22.1-alt1                                      #################################################################################################### [ 50%]
2: wine-1:7.22.1-alt1                                          #################################################################################################### [100%]
Завершено.
</source>
</source>


Строка 226: Строка 384:


<source lang="text" highlight="1">
<source lang="text" highlight="1">
[root@comp-alt-petr ~]# apt-get check
# apt-get check
Чтение списков пакетов... Завершено
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Построение дерева зависимостей... Завершено
Строка 237: Строка 395:
===Параметры===
===Параметры===
В конце команды Вы можете указать следующие параметры:
В конце команды Вы можете указать следующие параметры:
<pre>
<source lang="text" highlight="1">
-qq Не показывать ничего кроме сообщений об ошибках
-qq Не показывать ничего кроме сообщений об ошибках
-d Получить пакеты и выйти БЕЗ их установки или распаковки. Для команд "apt-get install" и "apt-get dist-upgrade"
-d Получить пакеты и выйти БЕЗ их установки или распаковки. Для команд "apt-get install" и "apt-get dist-upgrade"
Строка 247: Строка 405:
-D При удалении пакета удалить все его зависимости. Для команды "apt-get remove"
-D При удалении пакета удалить все его зависимости. Для команды "apt-get remove"
-V Показывать номера версий пакетов
-V Показывать номера версий пакетов
</pre>
</source>
 
===Отладка===
Чтобы разобраться в причинах конфликтов и отказе APT'а выполнять ваши команды, чтобы отправить баг в багзиллу или в список рассылки, используйте ключ '''-oDebug::pkgProblemResolver=1''', например, так:
<source lang="text" highlight="1">
# apt-get install -oDebug::pkgProblemResolver=1 PACKAGES
# apt-get dist-upgrade -oDebug::pkgProblemResolver=1
</source>


==Команды apt-repo==
==Команды apt-repo==
[[apt-repo]] — утилита для управления списком репозиториев APT. Она существует с 2011 года и включена в дистрибутивы начиная с [[P7]].
Если утилита оказалась у Вас не установлена, установите её следующей командой:
<source lang="text" highlight="1">
# apt-get install apt-repo
</source>
===Вывод текущих репозиториев===
Чтобы вывести список репозиториев, подключенных в системе, достаточно просто ввести команду:
<source lang="text" highlight="1">
# apt-repo
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64 classic gostcrypto
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64-i586 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/noarch classic
</source>
Если указать параметр -a, будут показаны все доступные репозитории (неактивные будут закомментированы ‘#’
{|class="mw-collapsible mw-collapsed"
!Полный вывод:
|-
|
<source lang="text" highlight="1">
# apt-repo -a
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
# rpm-src [p10] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64 classic gostcrypto
# rpm-src [p10] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64-i586 classic
# rpm-src [p10] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/noarch classic
#rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64 classic gostcrypto
#rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64-i586 classic
#rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/noarch classic
# rpm-src [p10] rsync://ftp.altlinux.org/ALTLinux/ p10/branch/x86_64 classic gostcrypto
# rpm-src [p10] rsync://ftp.altlinux.org/ALTLinux/ p10/branch/x86_64-i586 classic
# rpm-src [p10] rsync://ftp.altlinux.org/ALTLinux/ p10/branch/noarch classic
# rpm [p10] ftp://ftp.heanet.ie/mirrors/ftp.altlinux.org/ p10/branch/x86_64 classic gostcrypto
# rpm [p10] ftp://ftp.heanet.ie/mirrors/ftp.altlinux.org/ p10/branch/x86_64-i586 classic
# rpm-src [p10] ftp://ftp.heanet.ie/mirrors/ftp.altlinux.org/ p10/branch/noarch classic
# rpm-src [p10] http://ftp.heanet.ie/mirrors/ftp.altlinux.org/ p10/branch/x86_64 classic gostcrypto
# rpm-src [p10] http://ftp.heanet.ie/mirrors/ftp.altlinux.org/ p10/branch/x86_64-i586 classic
# rpm [p10] http://ftp.heanet.ie/mirrors/ftp.altlinux.org/ p10/branch/noarch classic
# rpm [p10] rsync://ftp.heanet.ie/mirrors/ftp.altlinux.org/ p10/branch/x86_64 classic gostcrypto
# rpm [p10] rsync://ftp.heanet.ie/mirrors/ftp.altlinux.org/ p10/branch/x86_64-i586 classic
# rpm [p10] rsync://ftp.heanet.ie/mirrors/ftp.altlinux.org/ p10/branch/noarch classic
# rpm [p10] ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ p10/branch/x86_64 classic gostcrypto
# rpm [p10] ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ p10/branch/x86_64-i586 classic
# rpm [p10] ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ p10/branch/noarch classic
# rpm [p10] http://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ p10/branch/x86_64 classic gostcrypto
# rpm [p10] http://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ p10/branch/x86_64-i586 classic
# rpm [p10] http://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ p10/branch/noarch classic
# rpm [p10] rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ p10/branch/x86_64 classic gostcrypto
# rpm [p10] rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ p10/branch/x86_64-i586 classic
# rpm [p10] rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ p10/branch/noarch classic
# rpm [p10] ftp://mirror.yandex.ru/altlinux/ p10/branch/x86_64 classic gostcrypto
# rpm [p10] ftp://mirror.yandex.ru/altlinux/ p10/branch/x86_64-i586 classic
# rpm [p10] ftp://mirror.yandex.ru/altlinux/ p10/branch/noarch classic
# rpm [p10] http://mirror.yandex.ru/altlinux/ p10/branch/x86_64 classic gostcrypto
# rpm [p10] http://mirror.yandex.ru/altlinux/ p10/branch/x86_64-i586 classic
# rpm [p10] http://mirror.yandex.ru/altlinux/ p10/branch/noarch classic
# rpm [p10] rsync://mirror.yandex.ru/altlinux/ p10/branch/x86_64 classic gostcrypto
# rpm [p10] rsync://mirror.yandex.ru/altlinux/ p10/branch/x86_64-i586 classic
# rpm [p10] rsync://mirror.yandex.ru/altlinux/ p10/branch/noarch classic
</source>
|}
===Удаление репозиториев===
Чтобы удалить все активные источники репозиториев, выполните следующую команду:
<source lang="text" highlight="1">
# apt-repo rm all
</source>
Проверяем:
<source lang="text" highlight="1">
# apt-repo
</source>
Ничего нет.
При указании ключевого слова all, за которым следует необязательный <тип>, удаляются все активные источники указанного типа:
*‘branch’ или ‘branches’ - удаляются все ветки,
*‘task’ или ‘tasks’ - удаляются все хранилища задач,
*‘cdrom’ или ‘cdroms’ - удаляются все источники типа cdrom.
Чтобы удалить репозитории конкретной платформы, введите следующую команду:
<source lang="text" highlight="1">
# apt-repo rm источник</source>
Например:
<source lang="text" highlight="1">
# apt-repo rm p10</source>
===Добавить репозитории конкретной платформы===
Чтобы добавить репозитории конкретной платформы, выполните следующую команду:
<source lang="text" highlight="1">
# apt-repo add платформа
</source>
Пример:
<source lang="text" highlight="1">
# apt-repo add p10
</source>
Проверяем:
<source lang="text" highlight="1">
# apt-repo
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
</source>
===Добавить репозиторий задачи (task)===
Чтобы добавить репозитории конкретной задачи, выполните следующую команду:
<source lang="text" highlight="1">
# apt-repo add task номер_задачи
</source>
Пример:
<source lang="text" highlight="1">
# apt-repo add task 329850
</source>
Проверяем:
<source lang="text" highlight="1">
# apt-repo
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
rpm http://git.altlinux.org repo/329850/x86_64 task
</source>
===Удалить все существующие источники и добавить репозитории конкретной платформы===
Выполните команду:
<source lang="text" highlight="1">
apt-repo set ветка
</source>
Пример:
<source lang="bash" highlight="1">
# apt-repo
rpm [p9] http://ftp.altlinux.org/pub/distributions/ALTLinux p9/branch/x86_64 classic
rpm [p9] http://ftp.altlinux.org/pub/distributions/ALTLinux p9/branch/noarch classic
rpm [p9] http://ftp.altlinux.org/pub/distributions/ALTLinux p9/branch/x86_64-i586 classic
# apt-repo set p10
# apt-repo
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
</source>
===Удалить источники cdrom и tasks===
Удалить все источники типа cdrom и все хранилища задач (tasks) выполните следующую команду:
<source lang="text" highlight="1">
apt-repo clean
</source>
Пример выполнения:
<source lang="text" highlight="1">
# apt-repo
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
rpm http://git.altlinux.org repo/8537/x86_64 task
# apt-repo clean
# apt-repo
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
</source>
===Обновление кэша APT===
Чтобы запустить команду {{cmd|apt-get update}} для обновления кэша APT из активных источников можно ввести следующую команду:
<source lang="text" highlight="1">
# apt-repo update
</source>
<source lang="text" highlight="1">
# apt-repo update
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64 release [4223B]
Получено: 2 http://ftp.altlinux.org p10/branch/noarch release [2844B]
Получено: 3 http://ftp.altlinux.org p10/branch/x86_64-i586 release [1665B]
Получено 8732B за 5s (1716B/s).
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64/classic pkglist [23,3MB]
Получено: 2 http://ftp.altlinux.org p10/branch/x86_64/classic release [137B]                                   
Получено: 3 http://ftp.altlinux.org p10/branch/noarch/classic pkglist [6422kB]                                 
Получено: 4 http://ftp.altlinux.org p10/branch/noarch/classic release [137B]                                   
Получено: 5 http://ftp.altlinux.org p10/branch/x86_64-i586/classic pkglist [17,1MB]                           
Получено: 6 http://ftp.altlinux.org p10/branch/x86_64-i586/classic release [142B]                             
Получено 46,8MB за 19s (2434kB/s).                                                                             
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
</source>
===Обновление всех пакетов===
Чтобы выполнить обновление всех пакетов, можно так же, вместо {{cmd|apt-get dist-upgrade}} выполнить следующую команду:
<source lang="text" highlight="1">
# apt-repo upgrade
</source>
Она сразу проверит обновления и предложит их установить.
<source lang="text" highlight="1">
# apt-repo upgrade
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64 release [4223B]
Получено: 2 http://ftp.altlinux.org p10/branch/noarch release [2844B]
Получено: 3 http://ftp.altlinux.org p10/branch/x86_64-i586 release [1665B]
Получено 8732B за 5s (1725B/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/noarch/classic pkglist
Найдено http://ftp.altlinux.org p10/branch/noarch/classic release
Найдено http://ftp.altlinux.org p10/branch/x86_64-i586/classic pkglist
Найдено http://ftp.altlinux.org p10/branch/x86_64-i586/classic release
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Подсчет обновлений... Завершено
Следующие пакеты будут ОБНОВЛЕНЫ:
  appstream-data curl libcolorcorrect5 libcrypto1.1 libcurl libheif libjasper libkfontinst5 libkfontinstui5
  libkrdb5 libkworkspace55 libnotificationmanager1 libplasma-geolocation-interface5 libpq5 libssl1.1
  libtaskmanager6 libweather_ion7 openssl plasma5-workspace plasma5-workspace-common plasma5-workspace-qml
  polkit-kde-plasma-workspace sddm-theme-breeze
Следующие НОВЫЕ пакеты будут установлены:
  libgsasl libidn libntlm
23 будет обновлено, 3 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 65,0MB архивов.
После распаковки потребуется дополнительно 968kB дискового пространства.
Продолжить? [Y/n] n
</source>


==Команды apt-cache==
==Команды apt-cache==
{{note|Программа работает '''без''' прав суперпользователя}}
apt-cache - инструмент для поиска и извлечения полезной информации из индекса подключенных репозиториев, получаемого командой {{cmd|apt-get update}}
===Поиск по выражению или части названия пакета===
<source lang="text" highlight="1">
$ apt-cache search часть_названия
</source>
Пример выполнения:
<source lang="text" highlight="1">
[petr@comp-alt-petr ~]$ apt-cache search tux
extreme-tuxracer - High speed arctic racing game based on Tux Racer
freedroidrpg - Isometric action game with RPG elements
ghc8.6.4-clock - High-resolution clock functions: monotonic, realtime, cputime.
<...>
i586-tuxcmd-gvfs - GVFS module for Tux Commander file manager
i586-tuxcmd-modules - Modules for Tux Commander file manager
i586-tuxpaint - A drawing program for young children
i586-tuxvsclippy - Tux vs Clippy originated as an xbox game
</source>
===Вывод подробной информации о пакете(ах)===
<source lang="text" highlight="1">
$ apt-cache show пакет_или_пакеты_через_пробел
</source>
Пример выполнения:
<source lang="text" highlight="1">
$ apt-cache show stellarium
Package: stellarium
Section: Education
Installed Size: 334355418
Maintainer: Arseny Maslennikov <arseny@altlinux.org>
Version: 0.21.0-alt1.1:sisyphus+279564.100.1.3@1626602684
Pre-Depends: rpmlib(SetVersions), rpmlib(PayloadIsXz)
Depends: /lib64/ld-linux-x86-64.so.2, libQt5Core.so.5()(64bit) (>= set: ), libQt5Widgets.so.5(Qt_5)(64bit), libc.so.6(GLIBC_2.11)(64bit), libc.so.6(GLIBC_2.14)(64bit), libc.so.6(GLIBC_2.15)(64bit), libc.so.6(GLIBC_2.2.5)(64bit), libc.so.6(GLIBC_2.3)(64bit), libc.so.6(GLIBC_2.3.4)(64bit), libc.so.6(GLIBC_2.4)(64bit), libc.so.6(GLIBC_2.7)(64bit), libgcc_s.so.1(GCC_3.0)(64bit), libm.so.6(GLIBC_2.2.5)(64bit), libm.so.6(GLIBC_2.27)(64bit), libm.so.6(GLIBC_2.29)(64bit), libpthread.so.0(GLIBC_2.2.5)(64bit), libstdc++.so.6(CXXABI_1.3)(64bit), libstdc++.so.6(CXXABI_1.3.8)(64bit), libstdc++.so.6(GLIBCXX_3.4)(64bit), libstdc++.so.6(GLIBCXX_3.4.11)(64bit), libstdc++.so.6(GLIBCXX_3.4.14)(64bit), libstdc++.so.6(GLIBCXX_3.4.15)(64bit), libstdc++.so.6(GLIBCXX_3.4.20)(64bit), libstdc++.so.6(GLIBCXX_3.4.21)(64bit), libstdc++.so.6(GLIBCXX_3.4.22)(64bit), libstdc++.so.6(GLIBCXX_3.4.9)(64bit), libz.so.1()(64bit) (>= set:kgb6dgbWdAhpAO8J790tGE6), rtld(GNU_HASH), rtld(GNU_UNIQUE)
Provides: stellarium (= 0.21.0-alt1.1:sisyphus+279564.100.1.3)
Architecture: x86_64
Size: 211602196
MD5Sum: 94be05fb3050f0d0f41a6846d7439844
Filename: stellarium-0.21.0-alt1.1.x86_64.rpm
Description: Astronomical Sky Simulator
Stellarium is a free software available for Windows, Linux/Unix and MacOSX.
It renders 3D photo-realistic skies in real time. With stellarium, you
really see what you can see with your eyes, binoculars or a small
telescope.
Changelog:
* Ср апр 28 2021 Arseny Maslennikov <arseny@altlinux.org> 0.21.0-alt1.1
- NMU: spec: adapted to new cmake macros.
* Чт апр 01 2021 Grigory Ustinov <grenka@altlinux.org> 0.21.0-alt1
- Build new version.
* Чт янв 14 2021 Grigory Ustinov <grenka@altlinux.org> 0.20.4-alt1
- Build new version.
* Пн сен 28 2020 Grigory Ustinov <grenka@altlinux.org> 0.20.3-alt1
- Build new version.
* Чт июн 25 2020 Grigory Ustinov <grenka@altlinux.org> 0.20.2-alt1
- Build new version.
* Пн апр 27 2020 Grigory Ustinov <grenka@altlinux.org> 0.20.1-alt1
- Build new version.
* Пн мар 30 2020 Grigory Ustinov <grenka@altlinux.org> 0.20.0-alt1
- Build new version.
* Вт дек 24 2019 Grigory Ustinov <grenka@altlinux.org> 0.19.3-alt1
</source>
===Проверка системы на наличие неудовлетворённых зависимостей===
<source lang="text" highlight="1">
$ apt-cache unmet
</source>
===Вывод списка установленных пакетов, непосредственно зависящих от указанного===
<source lang="text" highlight="1">
$ apt-cache showpkg имя_пакета
</source>
Пример выполнения:
<source lang="text" highlight="1">
$ apt-cache showpkg bash
Package: bash
Versions:
4.4.23-alt1:sisyphus+221902.500.4.1@1550587242(/var/lib/apt/lists/ftp.altlinux.org_pub_distributions_ALTLinux_p10_branch_noarch_base_pkglist.classic)(/var/lib/rpm/Packages)
Reverse Depends:
  i586-steam.32bit,bash 4.4
  i586-playonlinux.32bit,bash
  wondershaper,bash
  wgetpaste,bash
  python3-module-tpm2-pkcs11,bash
  texlive-collection-basic,bash
  syslog-ng-debun,bash
  <...>
  drawswf,bash
  dracut,bash 4
  clickhouse-test,bash
  ceph-common,bash
  burp,bash
  bash3,bash 3.2.57-alt4
  bash-devel,bash 4.4.23-alt1:sisyphus+221902.500.4.1
  awesome,bash
  atsar_linux,bash
  apachkconfig,bash
  afl,bash
Dependencies:
4.4.23-alt1:sisyphus+221902.500.4.1@1550587242 - /bin/bash4 (0 (null)) /bin/rbash4 (0 (null)) /usr/bin/bash4bug (0 (null)) sh (5 4.4.23-alt1:sisyphus+221902.500.4.1)
Provides:
4.4.23-alt1:sisyphus+221902.500.4.1@1550587242 - bash /bin/bash
Reverse Provides:
bash 4.4.23-alt1:sisyphus+221902.500.4.1@1550587242
</source>
===Вывод графа зависимостей указанного пакета===
<source lang="text" highlight="1">
$ apt-cache depends имя_пакета
</source>
Пример выполнения:
<source lang="text" highlight="1">
$ apt-cache depends supertuxkart
supertuxkart-1.4-alt1:p10+310551.200.2.1@1669897162
  Требует: supertuxkart-data >= 1.4
  Требует: </lib64/ld-linux-x86-64.so.2>
    glibc-core-6:2.32-alt5:p10+307861.300.4.1@1666645909
  Требует: </usr/bin/convert>
    ImageMagick-tools-6.9.12.64-alt1:p10+307930.100.3.1@1665675916
    GraphicsMagick-ImageMagick-compat-1.3.36-alt1.1:sisyphus+279676.100.1.2@1626659058
  Требует: advancecomp
  Требует: coreutils
  Требует: findutils
  Требует: gawk
  Требует: <libSDL2-2.0.so.0()(64bit)>
    libSDL2-2.0.18-alt2:p10+293067.140.5.1@1643829073
  Требует: <libbluetooth.so.3()(64bit)>
    libbluez-5.66-alt1:p10+312153.100.3.1@1672814289
  Требует: <libc.so.6(GLIBC_2.11)(64bit)>
    glibc-core-6:2.32-alt5:p10+307861.300.4.1@1666645909
  Требует: <libc.so.6(GLIBC_2.14)(64bit)>
    glibc-core-6:2.32-alt5:p10+307861.300.4.1@1666645909
  Требует: <libc.so.6(GLIBC_2.15)(64bit)>
    glibc-core-6:2.32-alt5:p10+307861.300.4.1@1666645909
  Требует: <libc.so.6(GLIBC_2.16)(64bit)>
    glibc-core-6:2.32-alt5:p10+307861.300.4.1@1666645909
  Требует: <libc.so.6(GLIBC_2.17)(64bit)>
    glibc-core-6:2.32-alt5:p10+307861.300.4.1@1666645909
  <...>
  Требует: <libstdc++.so.6(GLIBCXX_3.4.19)(64bit)>
    libstdc++6-10.3.1-alt2:sisyphus+277353.100.2.1@1625525890
  Требует: <libstdc++.so.6(GLIBCXX_3.4.20)(64bit)>
    libstdc++6-10.3.1-alt2:sisyphus+277353.100.2.1@1625525890
  Требует: <libstdc++.so.6(GLIBCXX_3.4.21)(64bit)>
    libstdc++6-10.3.1-alt2:sisyphus+277353.100.2.1@1625525890
  Требует: <libstdc++.so.6(GLIBCXX_3.4.22)(64bit)>
    libstdc++6-10.3.1-alt2:sisyphus+277353.100.2.1@1625525890
  Требует: <libstdc++.so.6(GLIBCXX_3.4.26)(64bit)>
    libstdc++6-10.3.1-alt2:sisyphus+277353.100.2.1@1625525890
  Требует: <libstdc++.so.6(GLIBCXX_3.4.9)(64bit)>
    libstdc++6-10.3.1-alt2:sisyphus+277353.100.2.1@1625525890
  Требует: <libvorbisfile.so.3()(64bit)>
    libvorbis-1.3.7-alt1:sisyphus+275738.100.1.1@1624751601
  Требует: <libz.so.1()(64bit)>
    zlib-1.2.13-alt1:p10+318109.100.2.1@1682690580
  Требует: optipng
  Требует: <python3(os)>
    python3-base-3.9.16-alt1:p10+317117.100.3.1@1679922167
  Требует: <python3(re)>
    python3-base-3.9.16-alt1:p10+317117.100.3.1@1679922167
  Требует: <python3(shutil)>
    python3-base-3.9.16-alt1:p10+317117.100.3.1@1679922167
  Требует: <rtld(GNU_HASH)>
    glibc-core-6:2.32-alt5:p10+307861.300.4.1@1666645909
  Требует: <rtld(GNU_UNIQUE)>
    glibc-core-6:2.32-alt5:p10+307861.300.4.1@1666645909
  Требует: sed
</source>
===Вывод обратного графа зависимостей от указанного пакета для всего индекса===
<source lang="text" highlight="1">
$ apt-cache whatdepends имя_пакета
</source>
Пример выполнения:
<source lang="text" highlight="1">
[petr@comp-alt-petr ~]$ apt-cache whatdepends 0ad-data
0ad-data-1:0.0.26-alt0_3_alpha:p10+307479.200.5.1@1665496739
  0ad-1:0.0.26-alt0_1_alpha.p10:p10+307479.400.5.1@1665497068
    Требует: 0ad-data >= 0.0.26-alt0_1_rc1
</source>
===Вывод списка установленных пакетов, отсутствующих в репозитории (возможно устаревших)===
<source lang="text" highlight="1">
$ apt-cache list-extras
</source>
Пример выполнения:
<source lang="text" highlight="1">
$ apt-cache list-extras
kernel-modules-r8125-un-def#9.003.05-alt1.331592.1:p10+307900.1700.2.1@1665419938
kernel-modules-rtl8821ce-un-def#5.5.2-alt4.331592.1:p10+307900.2600.2.1@1665420146
kernel-modules-drm-un-def#1:5.15.72-alt1:p10+307900.100.2.1@1665419124
kernel-modules-rtw89-un-def#0.0-alt1.git.250c6f4.331592.1:p10+307900.3000.2.1@1665420201
kernel-modules-staging-un-def#1:5.15.72-alt1:p10+307900.100.2.1@1665419124
kernel-modules-nvidia-un-def#525.105.17-alt1.393500.1:p10+320306.1000.2.1@1683912114
kernel-modules-rtw89-un-def#0.0-alt4.git.4f3464d.393500.1:p10+320306.1500.1.1@1683831143
anydesk
openvpn-gostcrypto
kernel-modules-rtl8188fu-un-def#1.0-alt1.331592.1:p10+307900.2100.2.1@1665419998
kernel-modules-rtl8723bu-un-def#4.3.6.11-alt1.331592.1:p10+307900.2300.2.1@1665420055
kernel-modules-nvidia-un-def#515.65.01-alt1.331592.1:p10+307900.1500.2.1@1665419859
apt-conf-branch-gostcrypto
kernel-modules-virtualbox-un-def#6.1.44-alt1.393500.1:p10+320306.2100.1.1@1683831292
kernel-modules-rtl8821cu-un-def#5.4.1-alt3.331592.1:p10+307900.2700.2.1@1665420176
kernel-modules-drm-un-def#1:6.1.28-alt1:p10+320306.100.1.1@1683830382
kernel-modules-staging-un-def#1:6.1.28-alt1:p10+320306.100.1.1@1683830382
kernel-modules-rtl8812au-un-def#7502.20210405-alt1.331592.1:p10+307900.2500.2.1@1665420115
kernel-modules-rtl8821ce-un-def#5.5.2-alt4.393500.1:p10+320306.1400.1.1@1683831116
kernel-image-un-def#1:5.15.72-alt1:p10+307900.100.2.1@1665419380
kernel-image-un-def#1:6.1.28-alt1:p10+320306.100.1.1@1683830625
kernel-modules-virtualbox-un-def#6.1.38-alt1.331592.1:p10+307900.3500.2.1@1665420364
kernel-modules-rtl8812au-un-def#1:5.6.4.2-alt1.393500.1:p10+320306.1300.1.1@1683831086
</source>
===Вывод списка установленных пакетов, от которых не зависят никакие другие пакеты===
Возможно, установленных по зависимостям, которые уже неактуальны, однако, прежде чем их удалять, стоит взвесить все ЗА и ПРОТИВ.
<source lang="text" highlight="1">
$ apt-cache list-nodeps
</source>
Пример выполнения:
<source lang="text" highlight="1">
$ apt-cache list-nodeps
fonts-ttf-google-noto-emoji-color
pam-limits-desktop
accountsservice
libgtkglext
vkd3d-utils
memtest86+
kernel-modules-r8125-un-def#9.003.05-alt1.331592.1:p10+307900.1700.2.1@1665419938
alterator-notes
ocl-nvidia
xorg-conf-synaptics
branding-xalt-kworkstation-bootloader
pm-utils
minidlna
<...>
xkill
udev-rule-generator-net
i2c-tools
fonts-ttf-google-crosextra-carlito
doublecmd-qt
screen
alterator-services
apt-scripts
kde5-printing
i586-xorg-dri-nouveau.32bit
</source>
===Фильтрация запросов===
APT в ALT Linux по умолчанию ищет информацию не только в названиях пакетов, но и в описаниях, вследствие чего выводится более подробная информация. Уточнить запрос можно фильтрацией вывода, например, так:
<source lang="text" highlight="1">
$ apt-cache search bash | grep -E ^bash
</source>
Пример вывода:
<source lang="text" highlight="1">
$ apt-cache search bash | grep -E ^bash
bash-builtin-lockf - lockf bash builtin
bash-devel - Bash loadable builtins development files
bash3 - The GNU Bourne Again SHell (Bash)
bash3-devel - Bash loadable builtins development files
bash4 - The GNU Bourne Again SHell (Bash)
bash4-devel - Bash loadable builtins development files
bashdb - BASH with Debugger and Improved Debug Support and Error Handling
bash-completion - bash-completion offers programmable completion for bash
bash - The GNU Bourne Again SHell (/bin/bash)
bash3-doc - Documentation for the GNU Bourne Again SHell
bash3-examples - Examples for the GNU Bourne Again SHell
bash4-doc - Documentation for the GNU Bourne Again SHell
bash4-examples - Examples for the GNU Bourne Again SHell
bashrc - bashrc files for the GNU Bourne Again SHell (Bash)
bash-completion-cmake - bash completion for CMake
bash-completion-fzf - Bash completion for fzf
bash-completion-gammu - bash completion for gammu
bash-completion-libsixel - Bash completion for libsixel
bash-completion-mercurial - Bash completion for mercurial
bash-completion-mpv - Bash completion for mpv
bash-completion-nvme - Bash completion for nvme
bash-completion-source-highlight - Bash completion for source-highlight
bash-completion-util-linux - Bash completion for util-linux utils
bash-completion-xss-lock - bash completion for xss-lock
</source>
либо так:
Программа будет искать только по названиям пакетов:
<source lang="text" highlight="1">
$ apt-cache search --names-only ^bash
</source>
Пример вывода:
<source lang="text" highlight="1">
$ apt-cache search --names-only ^bash
bash-builtin-lockf - lockf bash builtin
bash-devel - Bash loadable builtins development files
bash3 - The GNU Bourne Again SHell (Bash)
bash3-devel - Bash loadable builtins development files
bash4 - The GNU Bourne Again SHell (Bash)
bash4-devel - Bash loadable builtins development files
bashdb - BASH with Debugger and Improved Debug Support and Error Handling
lldpd - Link Layer Discovery Protocol Daemon
bash-completion - bash-completion offers programmable completion for bash
bash - The GNU Bourne Again SHell (/bin/bash)
bash3-doc - Documentation for the GNU Bourne Again SHell
bash3-examples - Examples for the GNU Bourne Again SHell
bash4-doc - Documentation for the GNU Bourne Again SHell
bash4-examples - Examples for the GNU Bourne Again SHell
bashrc - bashrc files for the GNU Bourne Again SHell (Bash)
bash-completion-cmake - bash completion for CMake
bash-completion-fzf - Bash completion for fzf
bash-completion-gammu - bash completion for gammu
bash-completion-libsixel - Bash completion for libsixel
bash-completion-mercurial - Bash completion for mercurial
bash-completion-mpv - Bash completion for mpv
bash-completion-nvme - Bash completion for nvme
quilt - Scripts for working with series of patches
bash-completion-source-highlight - Bash completion for source-highlight
bash-completion-util-linux - Bash completion for util-linux utils
bash-completion-xss-lock - bash completion for xss-lock
</source>


==Команды apf==
==Команды apf==
apf - autonomous package finder - автономный поисковик пакетов - это утилита командной строки для поиска пакета, содержащего заданный файл, или для перечисления содержимого пакета, доступного в репозитории.
===Поиск пакетов по шаблону сопоставления файлов===
<source lang="text" highlight="1">
apf search /путь/до/файла
</source>
Пример использования:
<source lang="text" highlight="1">
$ apf search /usr/share/alsa/alsa.conf
libalsa
alsa-plugins
pipewire
alsa-plugins-pulse
</source>
Аналог данной команды:
<source lang="text" highlight="1">
apf find /путь/до/файла
</source>
<source lang="text" highlight="1">
$ apf find /usr/share/alsa/alsa.conf
libalsa
alsa-plugins
pipewire
alsa-plugins-pulse
</source>
===Поиск файлов по имени пакета содержащего указанное имя===
<source lang="text" highlight="1">
apf list имя
</source>
<source lang="text" highlight="1">
$ apf list ffmpeg
tkffmpeg:      /usr/bin/tkffmpeg
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/PKG-INFO
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/SOURCES.txt
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/dependency_links.txt
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/not-zip-safe
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/requires.txt
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/top_level.txt
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__init__.py
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/__init__.cpython-38.opt-1.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/__init__.cpython-38.opt-2.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/__init__.cpython-38.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/camera.cpython-38.opt
<...>
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/tools.cpython-38.opt-1.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/tools.cpython-38.opt-2.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/tools.cpython-38.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/camera.py
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/core.py
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/sensor.py
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/tools.py
tkffmpeg:      /usr/share/applications/tkffmpeg.desktop
ffmpeg-doc:    /usr/share/doc/ffmpeg-doc-4.4.3
ffmpeg-doc:    /usr/share/doc/ffmpeg-doc-4.4.3/faq.html
ffmpeg-doc:    /usr/share/doc/ffmpeg-doc-4.4.3/fate.html
ffmpeg-doc:    /usr/share/doc/ffmpeg-doc-4.4.3/ffmpeg-all.html
ffmpeg-doc:    /usr/share/doc/ffmpeg-doc-4.4.3/ffmpeg-bitstream-filters.html
</source>
Аналог данной команды
<source lang="text" highlight="1">
$ apf show имя
</source>
Пример выполнения:
<source lang="text" highlight="1">
$ apf show ffmpeg
tkffmpeg:      /usr/bin/tkffmpeg
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/PKG-INFO
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/SOURCES.txt
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/dependency_links.txt
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/not-zip-safe
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/requires.txt
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/top_level.txt
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__init__.py
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__
<...>
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/__init__.cpython-38.opt-1.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/__init__.cpython-38.opt-2.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/__init__.cpython-38.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/camera.cpython-38.opt-1.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/camera.cpython-38.opt-2.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/camera.cpython-38.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/core.cpython-38.opt-1.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/core.cpython-38.opt-2.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/core.cpython-38.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/sensor.cpython-38.opt-1.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/sensor.cpython-38.opt-2.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/sensor.cpython-38.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/tools.cpython-38.opt-1.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/tools.cpython-38.opt-2.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/__pycache__/tools.cpython-38.pyc
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/camera.py
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/core.py
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/sensor.py
python3-module-ha-ffmpeg:      /usr/lib/python3/site-packages/haffmpeg/tools.py
</source>
===Обновление базы===
<source lang="text" highlight="1">
# apf update
</source>
Пример выполнения:
<source lang="text" highlight="1">
# apf update
Fetching /var/cache/apf/index.x86_64 from rsync://rsync.altlinux.ru/ALTLinux/p10/branch/x86_64/base/contents_index
Welcome to ALT Linux Team public rsync archive!
contents_index
    180.104.552 100%  87,63MB/s    0:00:01 (xfr#1, to-chk=0/1)
Fetching /var/cache/apf/index.noarch from rsync://rsync.altlinux.ru/ALTLinux/p10/branch/noarch/base/contents_index
Welcome to ALT Linux Team public rsync archive!
contents_index
    467.629.229 100%  136,55MB/s    0:00:03 (xfr#1, to-chk=0/1)
Fetching /var/cache/apf/index.i586 from rsync://rsync.altlinux.ru/ALTLinux/p10/branch/i586/base/contents_index
Welcome to ALT Linux Team public rsync archive!


contents_index
    140.974.426 100%  87,41MB/s    0:00:01 (xfr#1, to-chk=0/1)
</source>
<noinclude>
<noinclude>
[[Категория:APT]]
[[Категория:APT]]
{{Category navigation|title=Управление пакетами|category=Управление пакетами|sortkey=*}}
{{Category navigation|title=Управление пакетами|category=Управление пакетами|sortkey=*}}
</noinclude>
</noinclude>
[[Категория:Управление ПО]]

Текущая версия от 01:33, 20 ноября 2024

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

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

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

Эта "специальные команды" используются в консольной утилите APT. Все операции с пакетами с помощью этой утилиты проводятся в консольной строке. В ряде случаев это удобнее, а в некоторых просто является единственно возможным вариантом ввиду возможности рестарта некоторых ключевых компонент. В этом случае команда на обновление должна делаться в консоли, либо с использованием screen.

Для ее работы нужны права суперпользователя. Хотя, для операции поиска, достаточно обычных прав пользователя.

Команды apt-get

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

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

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

Обновление информации о репозиториях

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

Примечание: Данную команду необходимо выполнять каждый раз:
  • при поиске новой версии пакета
  • установке пакетов
  • обновлении установленных пакетов
  • использовании apt-cache


Делается это следующей командой:

# apt-get update

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

# 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 обновит свой кеш новой информацией.

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

Внимание! В ALT Linux не принято выполнять частичное обновление системы через apt-get upgrade! Этой командой вы практически гарантировано свою систему поломаете! Используйте только apt-get dist-upgrade вместо неё.
Внимание! Не торопитесь нажимать ENTER или Y в ответ! Внимательно изучите, что APT предлагает удалить, заменить, обновить и установить нового. Вы правда согласны с его предложением!? Никогда не добавляйте «-y», чтобы контролировать намерения APT'а.


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

# apt-get dist-upgrade

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

Примечание: Обратите внимание, когда обновляется несколько пакетов, действие нужно подтвердить нажатием клавиши Y
# 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 update

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

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

Например:

 # apt-get install chromium

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

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

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

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

# 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%]
Завершено.

Дополнительные варианты

  • Установка RPM-пакета из файловой системы:
# apt-get install /home/user/Загрузки/whois-5.5.0-alt1.x86_64.rpm
  • Установка пакета по его URL:
# apt-get install http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/files/x86_64/RPMS/whois-5.5.0-alt1.x86_64.rpm
  • Установка по имени исполняемого файла или библиотеки:
# apt-get install /usr/bin/whois
# apt-get install /usr/lib64/lib3dkit.so.1

Некоторые ситуации

Пакет установлен, в репозитории новая версия, запускается повторная установка
  • Если пакет уже установлен и в подключённом репозитории нет обновлений для данного пакета, система сообщит об уже установленном пакете последней версии.
# apt-get install supertuxkart
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Последняя версия supertuxkart уже установлена.
0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
  • Если в репозитории присутствует более новая версия или новое обновление - программа начнёт процесс установки.
    • Менеджер apt, при установки пакета проверяет все зависимости и если необходимо обновить пакеты или заменить - предложит провести необходимые действия
# apt-get install alterator
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие дополнительные пакеты будут установлены:
  alterator-l10n rpm-macros-alterator
Следующие пакеты будут ОБНОВЛЕНЫ:
  alterator alterator-l10n rpm-macros-alterator
3 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 178 не будет обновлено.
Необходимо получить 630kB архивов.
После распаковки потребуется дополнительно 4686B дискового пространства.
Продолжить? [Y/n]

Починка сломанной системы

Если у Вас по некоторым причинам (зависание, отключение электричества и пр.) была нарушена работа APT и система говорит что нужно выполнить "починку", воспользуйтесь следующей командой:

# apt-get install -f

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

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

# apt-get install --reinstall имена пакетов

Пример использования:

# apt-get install --reinstall supertuxkart
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
0 будет обновлено, 0 новых установлено, 1 пакетов будет переустановлено, 0 пакетов будет удалено и 2 не будет обновлено.
Необходимо получить 25,2MB архивов.
После распаковки потребуется дополнительно 0B дискового пространства.
Продолжить? [Y/n] y
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64/classic supertuxkart 1.4-alt1:p10+310551.200.2.1@1669897162 [25,2MB]
Получено 25,2MB за 1s (20,7MB/s).       
Совершаем изменения...
Подготовка...                                                   #################################################################################################### [100%]
Обновление / установка...
1: supertuxkart-1.4-alt1                                        #################################################################################################### [100%]
Завершено.

Скачивание пакетов в кэш без установки

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

# apt-get install -d пакеты

Пример использования:

# apt-get install -d boswars
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие дополнительные пакеты будут установлены:
  liblua5.1 liblua5.1-preinstall libtolua++-lua5.1
Следующие НОВЫЕ пакеты будут установлены:
  boswars liblua5.1 liblua5.1-preinstall libtolua++-lua5.1
0 будет обновлено, 4 новых установлено, 0 пакетов будет удалено и 2 не будет обновлено.
Необходимо получить 74,8MB архивов.
После распаковки потребуется дополнительно 92,1MB дискового пространства.
Продолжить? [Y/n] y
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64/classic liblua5.1-preinstall 5.1.5-alt17:sisyphus+278018.100.1.2@1625976910 [10,8kB]
Получено: 2 http://ftp.altlinux.org p10/branch/x86_64/classic liblua5.1 5.1.5-alt17:sisyphus+278018.100.1.2@1625976910 [93,9kB]
Получено: 3 http://ftp.altlinux.org p10/branch/x86_64/classic libtolua++-lua5.1 1.0.93-alt5:sisyphus+249325.100.1.1@1585937317 [15,8kB]
Получено: 4 http://ftp.altlinux.org p10/branch/x86_64/classic boswars 2.7-alt1_24.svn160110:sisyphus+264006.100.1.2@1609002965 [74,7MB]
Получено 74,8MB за 3s (18,9MB/s).  
Скачивание пакетов завершено в режиме 'только скачать'.

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

Примечание

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

Чтобы что-то удалить, необходимо знать, что можно удалить. Например пакеты программ, которыми Вы перестали пользоваться или программ из дистрибутива, которыми Вы не пользовались вообще.

При удалении пакетов имеется простое правило, которому желательно следовать:

  • Не все пакеты, которыми вы не пользуетесь, являются ненужными.

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

Например:

# apt-get remove coreutils
<большой список пакетов>
...
WARNING: The following essential packages will be removed
This should NOT be done unless you know exactly what you are doing!
...
You are about to do something potentially harmful
To continue type in the phrase 'Yes, do as I say!'

Команды

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

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

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

# apt-get remove 0ad supertuxkart boswars

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

Примечание: Обратите внимание, когда удаляется несколько пакетов, действие нужно подтвердить нажатием клавиши Y
# 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%]
Завершено.
Примечание: Если Вы не помните полное имя пакета, можете воспользоваться командой RPM
# rpm -qa | grep часть_названия

Пример:

# rpm -qa | grep tux
supertuxkart-data-1.4-alt1.noarch
tuxcmd-0.6.70-alt2.x86_64
supertux2-0.6.3-alt2.x86_64
supertuxkart-1.4-alt1.x86_64
supertux2-data-0.6.3-alt2.noarch

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

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

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

# apt-get autoremove
Примечание: Обратите внимание, когда удаляется несколько пакетов, действие нужно подтвердить нажатием клавиши Y
# 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 не сможет сохранить полученные по сети пакеты, и установка будет прервана, о чём система apt известит пользователя. Чтобы избежать такой ситуации, требуется очистка диска от старых установленных пакетов.

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

# apt-get clean 

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

# apt-get clean

Если после выполнения данной операции, система apt, всё равно прерывает установку по причине нехватки места на диске - значит, диск скорее всего занят пользовательскими файлами. Попробуйте удалить (перенести) ненужные файлы или удалить ненужные вам программы и приложения.

Удаление пакета с конфигурацией

Программа во время работы создает конфигурационные файлы в каталоге /etc, в которых хранит некоторые настройки, произведенные во время работы. Если Вы хотите переустановить программу так, чтобы эти файлы были удалены, Вы можете воспользоваться следующей командой:

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

Пример выполения:

# apt-get remove --purge wine
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие пакеты будут УДАЛЕНЫ:
  i586-wine.32bit* wine*
0 будет обновлено, 0 новых установлено, 2 пакетов будет удалено и 2 не будет обновлено.
Необходимо получить 0B архивов.
После распаковки будет освобождено 900MB дискового пространства.
Продолжить? [Y/n] y
Совершаем изменения...
Подготовка...                                                   #################################################################################################### [100%]
Очистка / удаление... 
1: i586-wine-1:7.22.1-alt1                                      #################################################################################################### [ 50%]
2: wine-1:7.22.1-alt1                                           #################################################################################################### [100%]
Завершено.

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

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

# apt-get check
# apt-get check
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено

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

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

# apt-get dedup

Параметры

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

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

Отладка

Чтобы разобраться в причинах конфликтов и отказе APT'а выполнять ваши команды, чтобы отправить баг в багзиллу или в список рассылки, используйте ключ -oDebug::pkgProblemResolver=1, например, так:

# apt-get install -oDebug::pkgProblemResolver=1 PACKAGES
# apt-get dist-upgrade -oDebug::pkgProblemResolver=1

Команды apt-repo

apt-repo — утилита для управления списком репозиториев APT. Она существует с 2011 года и включена в дистрибутивы начиная с P7.

Если утилита оказалась у Вас не установлена, установите её следующей командой:

 # apt-get install apt-repo

Вывод текущих репозиториев

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

# apt-repo
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64 classic gostcrypto
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64-i586 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/noarch classic

Если указать параметр -a, будут показаны все доступные репозитории (неактивные будут закомментированы ‘#’

Полный вывод:
# apt-repo -a
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
# rpm-src [p10] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64 classic gostcrypto
# rpm-src [p10] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64-i586 classic
# rpm-src [p10] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/noarch classic
#rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64 classic gostcrypto
#rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64-i586 classic
#rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/noarch classic
# rpm-src [p10] rsync://ftp.altlinux.org/ALTLinux/ p10/branch/x86_64 classic gostcrypto
# rpm-src [p10] rsync://ftp.altlinux.org/ALTLinux/ p10/branch/x86_64-i586 classic
# rpm-src [p10] rsync://ftp.altlinux.org/ALTLinux/ p10/branch/noarch classic
# rpm [p10] ftp://ftp.heanet.ie/mirrors/ftp.altlinux.org/ p10/branch/x86_64 classic gostcrypto
# rpm [p10] ftp://ftp.heanet.ie/mirrors/ftp.altlinux.org/ p10/branch/x86_64-i586 classic
# rpm-src [p10] ftp://ftp.heanet.ie/mirrors/ftp.altlinux.org/ p10/branch/noarch classic
# rpm-src [p10] http://ftp.heanet.ie/mirrors/ftp.altlinux.org/ p10/branch/x86_64 classic gostcrypto
# rpm-src [p10] http://ftp.heanet.ie/mirrors/ftp.altlinux.org/ p10/branch/x86_64-i586 classic
# rpm [p10] http://ftp.heanet.ie/mirrors/ftp.altlinux.org/ p10/branch/noarch classic
# rpm [p10] rsync://ftp.heanet.ie/mirrors/ftp.altlinux.org/ p10/branch/x86_64 classic gostcrypto
# rpm [p10] rsync://ftp.heanet.ie/mirrors/ftp.altlinux.org/ p10/branch/x86_64-i586 classic
# rpm [p10] rsync://ftp.heanet.ie/mirrors/ftp.altlinux.org/ p10/branch/noarch classic
# rpm [p10] ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ p10/branch/x86_64 classic gostcrypto
# rpm [p10] ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ p10/branch/x86_64-i586 classic
# rpm [p10] ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ p10/branch/noarch classic
# rpm [p10] http://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ p10/branch/x86_64 classic gostcrypto
# rpm [p10] http://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ p10/branch/x86_64-i586 classic
# rpm [p10] http://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ p10/branch/noarch classic
# rpm [p10] rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ p10/branch/x86_64 classic gostcrypto
# rpm [p10] rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ p10/branch/x86_64-i586 classic
# rpm [p10] rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/ p10/branch/noarch classic
# rpm [p10] ftp://mirror.yandex.ru/altlinux/ p10/branch/x86_64 classic gostcrypto
# rpm [p10] ftp://mirror.yandex.ru/altlinux/ p10/branch/x86_64-i586 classic
# rpm [p10] ftp://mirror.yandex.ru/altlinux/ p10/branch/noarch classic
# rpm [p10] http://mirror.yandex.ru/altlinux/ p10/branch/x86_64 classic gostcrypto
# rpm [p10] http://mirror.yandex.ru/altlinux/ p10/branch/x86_64-i586 classic
# rpm [p10] http://mirror.yandex.ru/altlinux/ p10/branch/noarch classic
# rpm [p10] rsync://mirror.yandex.ru/altlinux/ p10/branch/x86_64 classic gostcrypto
# rpm [p10] rsync://mirror.yandex.ru/altlinux/ p10/branch/x86_64-i586 classic
# rpm [p10] rsync://mirror.yandex.ru/altlinux/ p10/branch/noarch classic

Удаление репозиториев

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

# apt-repo rm all

Проверяем:

# apt-repo

Ничего нет.

При указании ключевого слова all, за которым следует необязательный <тип>, удаляются все активные источники указанного типа:

  • ‘branch’ или ‘branches’ - удаляются все ветки,
  • ‘task’ или ‘tasks’ - удаляются все хранилища задач,
  • ‘cdrom’ или ‘cdroms’ - удаляются все источники типа cdrom.

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

# apt-repo rm источник

Например:

# apt-repo rm p10

Добавить репозитории конкретной платформы

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

# apt-repo add платформа

Пример:

# apt-repo add p10

Проверяем:

# apt-repo
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic

Добавить репозиторий задачи (task)

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

# apt-repo add task номер_задачи

Пример:

# apt-repo add task 329850

Проверяем:

# apt-repo
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
rpm http://git.altlinux.org repo/329850/x86_64 task

Удалить все существующие источники и добавить репозитории конкретной платформы

Выполните команду:

apt-repo set ветка

Пример:

# apt-repo
rpm [p9] http://ftp.altlinux.org/pub/distributions/ALTLinux p9/branch/x86_64 classic
rpm [p9] http://ftp.altlinux.org/pub/distributions/ALTLinux p9/branch/noarch classic
rpm [p9] http://ftp.altlinux.org/pub/distributions/ALTLinux p9/branch/x86_64-i586 classic
# apt-repo set p10
# apt-repo
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic

Удалить источники cdrom и tasks

Удалить все источники типа cdrom и все хранилища задач (tasks) выполните следующую команду:

apt-repo clean

Пример выполнения:

# apt-repo 
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
rpm http://git.altlinux.org repo/8537/x86_64 task
# apt-repo clean
# apt-repo 
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic

Обновление кэша APT

Чтобы запустить команду apt-get update для обновления кэша APT из активных источников можно ввести следующую команду:

# apt-repo update
# apt-repo update
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64 release [4223B]
Получено: 2 http://ftp.altlinux.org p10/branch/noarch release [2844B]
Получено: 3 http://ftp.altlinux.org p10/branch/x86_64-i586 release [1665B]
Получено 8732B за 5s (1716B/s).
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64/classic pkglist [23,3MB]
Получено: 2 http://ftp.altlinux.org p10/branch/x86_64/classic release [137B]                                    
Получено: 3 http://ftp.altlinux.org p10/branch/noarch/classic pkglist [6422kB]                                  
Получено: 4 http://ftp.altlinux.org p10/branch/noarch/classic release [137B]                                    
Получено: 5 http://ftp.altlinux.org p10/branch/x86_64-i586/classic pkglist [17,1MB]                             
Получено: 6 http://ftp.altlinux.org p10/branch/x86_64-i586/classic release [142B]                               
Получено 46,8MB за 19s (2434kB/s).                                                                              
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено

Обновление всех пакетов

Чтобы выполнить обновление всех пакетов, можно так же, вместо apt-get dist-upgrade выполнить следующую команду:

# apt-repo upgrade

Она сразу проверит обновления и предложит их установить.

# apt-repo upgrade
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64 release [4223B]
Получено: 2 http://ftp.altlinux.org p10/branch/noarch release [2844B]
Получено: 3 http://ftp.altlinux.org p10/branch/x86_64-i586 release [1665B]
Получено 8732B за 5s (1725B/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/noarch/classic pkglist
Найдено http://ftp.altlinux.org p10/branch/noarch/classic release
Найдено http://ftp.altlinux.org p10/branch/x86_64-i586/classic pkglist
Найдено http://ftp.altlinux.org p10/branch/x86_64-i586/classic release
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Подсчет обновлений... Завершено
Следующие пакеты будут ОБНОВЛЕНЫ:
  appstream-data curl libcolorcorrect5 libcrypto1.1 libcurl libheif libjasper libkfontinst5 libkfontinstui5
  libkrdb5 libkworkspace55 libnotificationmanager1 libplasma-geolocation-interface5 libpq5 libssl1.1
  libtaskmanager6 libweather_ion7 openssl plasma5-workspace plasma5-workspace-common plasma5-workspace-qml
  polkit-kde-plasma-workspace sddm-theme-breeze
Следующие НОВЫЕ пакеты будут установлены:
  libgsasl libidn libntlm
23 будет обновлено, 3 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 65,0MB архивов.
После распаковки потребуется дополнительно 968kB дискового пространства.
Продолжить? [Y/n] n

Команды apt-cache

Примечание: Программа работает без прав суперпользователя

apt-cache - инструмент для поиска и извлечения полезной информации из индекса подключенных репозиториев, получаемого командой apt-get update

Поиск по выражению или части названия пакета

$ apt-cache search часть_названия

Пример выполнения:

[petr@comp-alt-petr ~]$ apt-cache search tux
extreme-tuxracer - High speed arctic racing game based on Tux Racer
freedroidrpg - Isometric action game with RPG elements
ghc8.6.4-clock - High-resolution clock functions: monotonic, realtime, cputime.
<...>
i586-tuxcmd-gvfs - GVFS module for Tux Commander file manager
i586-tuxcmd-modules - Modules for Tux Commander file manager
i586-tuxpaint - A drawing program for young children
i586-tuxvsclippy - Tux vs Clippy originated as an xbox game

Вывод подробной информации о пакете(ах)

$ apt-cache show пакет_или_пакеты_через_пробел

Пример выполнения:

$ apt-cache show stellarium
Package: stellarium
Section: Education
Installed Size: 334355418
Maintainer: Arseny Maslennikov <arseny@altlinux.org>
Version: 0.21.0-alt1.1:sisyphus+279564.100.1.3@1626602684
Pre-Depends: rpmlib(SetVersions), rpmlib(PayloadIsXz)
Depends: /lib64/ld-linux-x86-64.so.2, libQt5Core.so.5()(64bit) (>= set: ), libQt5Widgets.so.5(Qt_5)(64bit), libc.so.6(GLIBC_2.11)(64bit), libc.so.6(GLIBC_2.14)(64bit), libc.so.6(GLIBC_2.15)(64bit), libc.so.6(GLIBC_2.2.5)(64bit), libc.so.6(GLIBC_2.3)(64bit), libc.so.6(GLIBC_2.3.4)(64bit), libc.so.6(GLIBC_2.4)(64bit), libc.so.6(GLIBC_2.7)(64bit), libgcc_s.so.1(GCC_3.0)(64bit), libm.so.6(GLIBC_2.2.5)(64bit), libm.so.6(GLIBC_2.27)(64bit), libm.so.6(GLIBC_2.29)(64bit), libpthread.so.0(GLIBC_2.2.5)(64bit), libstdc++.so.6(CXXABI_1.3)(64bit), libstdc++.so.6(CXXABI_1.3.8)(64bit), libstdc++.so.6(GLIBCXX_3.4)(64bit), libstdc++.so.6(GLIBCXX_3.4.11)(64bit), libstdc++.so.6(GLIBCXX_3.4.14)(64bit), libstdc++.so.6(GLIBCXX_3.4.15)(64bit), libstdc++.so.6(GLIBCXX_3.4.20)(64bit), libstdc++.so.6(GLIBCXX_3.4.21)(64bit), libstdc++.so.6(GLIBCXX_3.4.22)(64bit), libstdc++.so.6(GLIBCXX_3.4.9)(64bit), libz.so.1()(64bit) (>= set:kgb6dgbWdAhpAO8J790tGE6), rtld(GNU_HASH), rtld(GNU_UNIQUE)
Provides: stellarium (= 0.21.0-alt1.1:sisyphus+279564.100.1.3)
Architecture: x86_64
Size: 211602196
MD5Sum: 94be05fb3050f0d0f41a6846d7439844
Filename: stellarium-0.21.0-alt1.1.x86_64.rpm
Description: Astronomical Sky Simulator
 Stellarium is a free software available for Windows, Linux/Unix and MacOSX.
 It renders 3D photo-realistic skies in real time. With stellarium, you
 really see what you can see with your eyes, binoculars or a small
 telescope.
Changelog:
 * Ср апр 28 2021 Arseny Maslennikov <arseny@altlinux.org> 0.21.0-alt1.1
 - NMU: spec: adapted to new cmake macros.
 * Чт апр 01 2021 Grigory Ustinov <grenka@altlinux.org> 0.21.0-alt1
 - Build new version.
 * Чт янв 14 2021 Grigory Ustinov <grenka@altlinux.org> 0.20.4-alt1
 - Build new version.
 * Пн сен 28 2020 Grigory Ustinov <grenka@altlinux.org> 0.20.3-alt1
 - Build new version.
 * Чт июн 25 2020 Grigory Ustinov <grenka@altlinux.org> 0.20.2-alt1
 - Build new version.
 * Пн апр 27 2020 Grigory Ustinov <grenka@altlinux.org> 0.20.1-alt1
 - Build new version.
 * Пн мар 30 2020 Grigory Ustinov <grenka@altlinux.org> 0.20.0-alt1
 - Build new version.
 * Вт дек 24 2019 Grigory Ustinov <grenka@altlinux.org> 0.19.3-alt1

Проверка системы на наличие неудовлетворённых зависимостей

$ apt-cache unmet

Вывод списка установленных пакетов, непосредственно зависящих от указанного

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

Пример выполнения:

$ apt-cache showpkg bash
Package: bash
Versions: 
4.4.23-alt1:sisyphus+221902.500.4.1@1550587242(/var/lib/apt/lists/ftp.altlinux.org_pub_distributions_ALTLinux_p10_branch_noarch_base_pkglist.classic)(/var/lib/rpm/Packages)

Reverse Depends: 
  i586-steam.32bit,bash 4.4
  i586-playonlinux.32bit,bash
  wondershaper,bash
  wgetpaste,bash
  python3-module-tpm2-pkcs11,bash
  texlive-collection-basic,bash
  syslog-ng-debun,bash
  <...>
  drawswf,bash
  dracut,bash 4
  clickhouse-test,bash
  ceph-common,bash
  burp,bash
  bash3,bash 3.2.57-alt4
  bash-devel,bash 4.4.23-alt1:sisyphus+221902.500.4.1
  awesome,bash
  atsar_linux,bash
  apachkconfig,bash
  afl,bash
Dependencies: 
4.4.23-alt1:sisyphus+221902.500.4.1@1550587242 - /bin/bash4 (0 (null)) /bin/rbash4 (0 (null)) /usr/bin/bash4bug (0 (null)) sh (5 4.4.23-alt1:sisyphus+221902.500.4.1) 
Provides: 
4.4.23-alt1:sisyphus+221902.500.4.1@1550587242 - bash /bin/bash 
Reverse Provides: 
bash 4.4.23-alt1:sisyphus+221902.500.4.1@1550587242

Вывод графа зависимостей указанного пакета

$ apt-cache depends имя_пакета

Пример выполнения:

$ apt-cache depends supertuxkart
supertuxkart-1.4-alt1:p10+310551.200.2.1@1669897162
  Требует: supertuxkart-data >= 1.4
  Требует: </lib64/ld-linux-x86-64.so.2>
    glibc-core-6:2.32-alt5:p10+307861.300.4.1@1666645909
  Требует: </usr/bin/convert>
    ImageMagick-tools-6.9.12.64-alt1:p10+307930.100.3.1@1665675916
    GraphicsMagick-ImageMagick-compat-1.3.36-alt1.1:sisyphus+279676.100.1.2@1626659058
  Требует: advancecomp
  Требует: coreutils
  Требует: findutils
  Требует: gawk
  Требует: <libSDL2-2.0.so.0()(64bit)>
    libSDL2-2.0.18-alt2:p10+293067.140.5.1@1643829073
  Требует: <libbluetooth.so.3()(64bit)>
    libbluez-5.66-alt1:p10+312153.100.3.1@1672814289
  Требует: <libc.so.6(GLIBC_2.11)(64bit)>
    glibc-core-6:2.32-alt5:p10+307861.300.4.1@1666645909
  Требует: <libc.so.6(GLIBC_2.14)(64bit)>
    glibc-core-6:2.32-alt5:p10+307861.300.4.1@1666645909
  Требует: <libc.so.6(GLIBC_2.15)(64bit)>
    glibc-core-6:2.32-alt5:p10+307861.300.4.1@1666645909
  Требует: <libc.so.6(GLIBC_2.16)(64bit)>
    glibc-core-6:2.32-alt5:p10+307861.300.4.1@1666645909
  Требует: <libc.so.6(GLIBC_2.17)(64bit)>
    glibc-core-6:2.32-alt5:p10+307861.300.4.1@1666645909
   <...>
  Требует: <libstdc++.so.6(GLIBCXX_3.4.19)(64bit)>
    libstdc++6-10.3.1-alt2:sisyphus+277353.100.2.1@1625525890
  Требует: <libstdc++.so.6(GLIBCXX_3.4.20)(64bit)>
    libstdc++6-10.3.1-alt2:sisyphus+277353.100.2.1@1625525890
  Требует: <libstdc++.so.6(GLIBCXX_3.4.21)(64bit)>
    libstdc++6-10.3.1-alt2:sisyphus+277353.100.2.1@1625525890
  Требует: <libstdc++.so.6(GLIBCXX_3.4.22)(64bit)>
    libstdc++6-10.3.1-alt2:sisyphus+277353.100.2.1@1625525890
  Требует: <libstdc++.so.6(GLIBCXX_3.4.26)(64bit)>
    libstdc++6-10.3.1-alt2:sisyphus+277353.100.2.1@1625525890
  Требует: <libstdc++.so.6(GLIBCXX_3.4.9)(64bit)>
    libstdc++6-10.3.1-alt2:sisyphus+277353.100.2.1@1625525890
  Требует: <libvorbisfile.so.3()(64bit)>
    libvorbis-1.3.7-alt1:sisyphus+275738.100.1.1@1624751601
  Требует: <libz.so.1()(64bit)>
    zlib-1.2.13-alt1:p10+318109.100.2.1@1682690580
  Требует: optipng
  Требует: <python3(os)>
    python3-base-3.9.16-alt1:p10+317117.100.3.1@1679922167
  Требует: <python3(re)>
    python3-base-3.9.16-alt1:p10+317117.100.3.1@1679922167
  Требует: <python3(shutil)>
    python3-base-3.9.16-alt1:p10+317117.100.3.1@1679922167
  Требует: <rtld(GNU_HASH)>
    glibc-core-6:2.32-alt5:p10+307861.300.4.1@1666645909
  Требует: <rtld(GNU_UNIQUE)>
    glibc-core-6:2.32-alt5:p10+307861.300.4.1@1666645909
  Требует: sed

Вывод обратного графа зависимостей от указанного пакета для всего индекса

$ apt-cache whatdepends имя_пакета

Пример выполнения:

[petr@comp-alt-petr ~]$ apt-cache whatdepends 0ad-data
0ad-data-1:0.0.26-alt0_3_alpha:p10+307479.200.5.1@1665496739
  0ad-1:0.0.26-alt0_1_alpha.p10:p10+307479.400.5.1@1665497068
    Требует: 0ad-data >= 0.0.26-alt0_1_rc1

Вывод списка установленных пакетов, отсутствующих в репозитории (возможно устаревших)

$ apt-cache list-extras

Пример выполнения:

$ apt-cache list-extras
kernel-modules-r8125-un-def#9.003.05-alt1.331592.1:p10+307900.1700.2.1@1665419938
kernel-modules-rtl8821ce-un-def#5.5.2-alt4.331592.1:p10+307900.2600.2.1@1665420146
kernel-modules-drm-un-def#1:5.15.72-alt1:p10+307900.100.2.1@1665419124
kernel-modules-rtw89-un-def#0.0-alt1.git.250c6f4.331592.1:p10+307900.3000.2.1@1665420201
kernel-modules-staging-un-def#1:5.15.72-alt1:p10+307900.100.2.1@1665419124
kernel-modules-nvidia-un-def#525.105.17-alt1.393500.1:p10+320306.1000.2.1@1683912114
kernel-modules-rtw89-un-def#0.0-alt4.git.4f3464d.393500.1:p10+320306.1500.1.1@1683831143
anydesk
openvpn-gostcrypto
kernel-modules-rtl8188fu-un-def#1.0-alt1.331592.1:p10+307900.2100.2.1@1665419998
kernel-modules-rtl8723bu-un-def#4.3.6.11-alt1.331592.1:p10+307900.2300.2.1@1665420055
kernel-modules-nvidia-un-def#515.65.01-alt1.331592.1:p10+307900.1500.2.1@1665419859
apt-conf-branch-gostcrypto
kernel-modules-virtualbox-un-def#6.1.44-alt1.393500.1:p10+320306.2100.1.1@1683831292
kernel-modules-rtl8821cu-un-def#5.4.1-alt3.331592.1:p10+307900.2700.2.1@1665420176
kernel-modules-drm-un-def#1:6.1.28-alt1:p10+320306.100.1.1@1683830382
kernel-modules-staging-un-def#1:6.1.28-alt1:p10+320306.100.1.1@1683830382
kernel-modules-rtl8812au-un-def#7502.20210405-alt1.331592.1:p10+307900.2500.2.1@1665420115
kernel-modules-rtl8821ce-un-def#5.5.2-alt4.393500.1:p10+320306.1400.1.1@1683831116
kernel-image-un-def#1:5.15.72-alt1:p10+307900.100.2.1@1665419380
kernel-image-un-def#1:6.1.28-alt1:p10+320306.100.1.1@1683830625
kernel-modules-virtualbox-un-def#6.1.38-alt1.331592.1:p10+307900.3500.2.1@1665420364
kernel-modules-rtl8812au-un-def#1:5.6.4.2-alt1.393500.1:p10+320306.1300.1.1@1683831086

Вывод списка установленных пакетов, от которых не зависят никакие другие пакеты

Возможно, установленных по зависимостям, которые уже неактуальны, однако, прежде чем их удалять, стоит взвесить все ЗА и ПРОТИВ.

$ apt-cache list-nodeps

Пример выполнения:

$ apt-cache list-nodeps
fonts-ttf-google-noto-emoji-color
pam-limits-desktop
accountsservice
libgtkglext
vkd3d-utils
memtest86+
kernel-modules-r8125-un-def#9.003.05-alt1.331592.1:p10+307900.1700.2.1@1665419938
alterator-notes
ocl-nvidia
xorg-conf-synaptics
branding-xalt-kworkstation-bootloader
pm-utils
minidlna
<...>
xkill
udev-rule-generator-net
i2c-tools
fonts-ttf-google-crosextra-carlito
doublecmd-qt
screen
alterator-services
apt-scripts
kde5-printing
i586-xorg-dri-nouveau.32bit

Фильтрация запросов

APT в ALT Linux по умолчанию ищет информацию не только в названиях пакетов, но и в описаниях, вследствие чего выводится более подробная информация. Уточнить запрос можно фильтрацией вывода, например, так:

$ apt-cache search bash | grep -E ^bash

Пример вывода:

$ apt-cache search bash | grep -E ^bash
bash-builtin-lockf - lockf bash builtin
bash-devel - Bash loadable builtins development files
bash3 - The GNU Bourne Again SHell (Bash)
bash3-devel - Bash loadable builtins development files
bash4 - The GNU Bourne Again SHell (Bash)
bash4-devel - Bash loadable builtins development files
bashdb - BASH with Debugger and Improved Debug Support and Error Handling
bash-completion - bash-completion offers programmable completion for bash
bash - The GNU Bourne Again SHell (/bin/bash)
bash3-doc - Documentation for the GNU Bourne Again SHell
bash3-examples - Examples for the GNU Bourne Again SHell
bash4-doc - Documentation for the GNU Bourne Again SHell
bash4-examples - Examples for the GNU Bourne Again SHell
bashrc - bashrc files for the GNU Bourne Again SHell (Bash)
bash-completion-cmake - bash completion for CMake
bash-completion-fzf - Bash completion for fzf
bash-completion-gammu - bash completion for gammu
bash-completion-libsixel - Bash completion for libsixel
bash-completion-mercurial - Bash completion for mercurial
bash-completion-mpv - Bash completion for mpv
bash-completion-nvme - Bash completion for nvme
bash-completion-source-highlight - Bash completion for source-highlight
bash-completion-util-linux - Bash completion for util-linux utils
bash-completion-xss-lock - bash completion for xss-lock

либо так:

Программа будет искать только по названиям пакетов:

$ apt-cache search --names-only ^bash

Пример вывода:

$ apt-cache search --names-only ^bash
bash-builtin-lockf - lockf bash builtin
bash-devel - Bash loadable builtins development files
bash3 - The GNU Bourne Again SHell (Bash)
bash3-devel - Bash loadable builtins development files
bash4 - The GNU Bourne Again SHell (Bash)
bash4-devel - Bash loadable builtins development files
bashdb - BASH with Debugger and Improved Debug Support and Error Handling
lldpd - Link Layer Discovery Protocol Daemon
bash-completion - bash-completion offers programmable completion for bash
bash - The GNU Bourne Again SHell (/bin/bash)
bash3-doc - Documentation for the GNU Bourne Again SHell
bash3-examples - Examples for the GNU Bourne Again SHell
bash4-doc - Documentation for the GNU Bourne Again SHell
bash4-examples - Examples for the GNU Bourne Again SHell
bashrc - bashrc files for the GNU Bourne Again SHell (Bash)
bash-completion-cmake - bash completion for CMake
bash-completion-fzf - Bash completion for fzf
bash-completion-gammu - bash completion for gammu
bash-completion-libsixel - Bash completion for libsixel
bash-completion-mercurial - Bash completion for mercurial
bash-completion-mpv - Bash completion for mpv
bash-completion-nvme - Bash completion for nvme
quilt - Scripts for working with series of patches
bash-completion-source-highlight - Bash completion for source-highlight
bash-completion-util-linux - Bash completion for util-linux utils
bash-completion-xss-lock - bash completion for xss-lock

Команды apf

apf - autonomous package finder - автономный поисковик пакетов - это утилита командной строки для поиска пакета, содержащего заданный файл, или для перечисления содержимого пакета, доступного в репозитории.

Поиск пакетов по шаблону сопоставления файлов

apf search /путь/до/файла

Пример использования:

$ apf search /usr/share/alsa/alsa.conf
libalsa
alsa-plugins
pipewire
alsa-plugins-pulse

Аналог данной команды:

apf find /путь/до/файла
$ apf find /usr/share/alsa/alsa.conf
libalsa
alsa-plugins
pipewire
alsa-plugins-pulse

Поиск файлов по имени пакета содержащего указанное имя

apf list имя
$ apf list ffmpeg
tkffmpeg:       /usr/bin/tkffmpeg
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/PKG-INFO
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/SOURCES.txt
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/dependency_links.txt
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/not-zip-safe
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/requires.txt
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/top_level.txt
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__init__.py
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/__init__.cpython-38.opt-1.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/__init__.cpython-38.opt-2.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/__init__.cpython-38.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/camera.cpython-38.opt
<...>
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/tools.cpython-38.opt-1.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/tools.cpython-38.opt-2.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/tools.cpython-38.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/camera.py
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/core.py
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/sensor.py
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/tools.py
tkffmpeg:       /usr/share/applications/tkffmpeg.desktop
ffmpeg-doc:     /usr/share/doc/ffmpeg-doc-4.4.3
ffmpeg-doc:     /usr/share/doc/ffmpeg-doc-4.4.3/faq.html
ffmpeg-doc:     /usr/share/doc/ffmpeg-doc-4.4.3/fate.html
ffmpeg-doc:     /usr/share/doc/ffmpeg-doc-4.4.3/ffmpeg-all.html
ffmpeg-doc:     /usr/share/doc/ffmpeg-doc-4.4.3/ffmpeg-bitstream-filters.html

Аналог данной команды

$ apf show имя

Пример выполнения:

$ apf show ffmpeg
tkffmpeg:       /usr/bin/tkffmpeg
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/PKG-INFO
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/SOURCES.txt
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/dependency_links.txt
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/not-zip-safe
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/requires.txt
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/ha_ffmpeg-2.0-py3.8.egg-info/top_level.txt
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__init__.py
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__
<...>
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/__init__.cpython-38.opt-1.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/__init__.cpython-38.opt-2.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/__init__.cpython-38.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/camera.cpython-38.opt-1.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/camera.cpython-38.opt-2.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/camera.cpython-38.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/core.cpython-38.opt-1.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/core.cpython-38.opt-2.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/core.cpython-38.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/sensor.cpython-38.opt-1.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/sensor.cpython-38.opt-2.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/sensor.cpython-38.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/tools.cpython-38.opt-1.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/tools.cpython-38.opt-2.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/__pycache__/tools.cpython-38.pyc
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/camera.py
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/core.py
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/sensor.py
python3-module-ha-ffmpeg:       /usr/lib/python3/site-packages/haffmpeg/tools.py

Обновление базы

# apf update

Пример выполнения:

# apf update
Fetching /var/cache/apf/index.x86_64 from rsync://rsync.altlinux.ru/ALTLinux/p10/branch/x86_64/base/contents_index
Welcome to ALT Linux Team public rsync archive!

contents_index
    180.104.552 100%   87,63MB/s    0:00:01 (xfr#1, to-chk=0/1)
Fetching /var/cache/apf/index.noarch from rsync://rsync.altlinux.ru/ALTLinux/p10/branch/noarch/base/contents_index
Welcome to ALT Linux Team public rsync archive!

contents_index
    467.629.229 100%  136,55MB/s    0:00:03 (xfr#1, to-chk=0/1)
Fetching /var/cache/apf/index.i586 from rsync://rsync.altlinux.ru/ALTLinux/p10/branch/i586/base/contents_index
Welcome to ALT Linux Team public rsync archive!

contents_index
    140.974.426 100%   87,41MB/s    0:00:01 (xfr#1, to-chk=0/1)