5.4 Как определить, какому пакету принадлежит файл
Если вы хотите установить пакет и не можете найти его название с помощью
, но знаете имя программы этого пакета или имя любого
другого файла из этого пакета, то для поиска имени пакета вы можете
воспользоваться программой . Используется она примерно
так:
$ apt-file search имя-файла
Работает она примерно также как и dpkg -S, но будет показывать
также и неустановленные пакеты, которые содержат указанный файл. Команда может
применяться также для поиска заголовочных файлов, которые могут потребоваться
при компиляции программ, хотя в данном случае более
хорош, см. .
Также вы может посмотреть список файлов в пакете командой:
$ apt-file list имя-пакета
хранит базу данных, в которой отслеживает какие файлы
содержат пакеты также, как это делает auto-apt и ему нужно ее обновлять. Это
делается так:
# apt-file update
По умолчанию, использует базу данных
, см. .
Установка программ с помощью apt
Перед тем как говорить непосредственно про Debian, нужно рассмотреть apt. Этот пакетный менеджер был специально разработан для Debian и потом стал использоваться в других основанных на нем дистрибутивах. Синтаксис для работы с утилитой такой:
$ sudo apt опции команда имя_пакета
Вот основные команды apt, которые вы можете использовать для управления пакетами:
- download — скачать пакет, но не устанавливать;
- update — используется для обновления информации о списках пакетов в репозиториях;
- upgrade — обновление системы без удаления пакетов;
- full-upgrade — полное обновление системы с удалением конфликтующих зависимостей;
- install — установка пакета;
- remove — удаление пакета без удаления конфигурационных файлов;
- purge — полное удаление пакета;
- autoremove — автоматическое ненужных удаление пакетов;
- search — поиск пакета в локальной базе данных;
- show — посмотреть информацию о пакете.
Кроме того, утилите можно передать некоторые опции, основные:
- -c — сторонний конфигурационный файл;
- -o — строка конфигурации;
- -t — версия релиза для которой устанавливать пакет;
- -f — выполнить операцию принудительно.
Таким образом, для установки пакета из репозиториев достаточно набрать:
А для удаления пакета наберите:
Вы можете искать пакеты с помощью команды search:
Но куда более интересны политики управления репозиториями и установка отдельных пакетов из определенных хранилищ. Особенно это актуально для Debian, чтобы не добавлять нестабильный репозиторий полностью, а устанавливать из него только отдельные пакеты. Для решения таких задач существует настройка политики управления репозиториями.
С помощью политик вы можете настроить из каких репозиториев будет выполняться установка deb пакетов в debian в первую очередь. Мы рассматривали репозитории Debian и как их добавлять в отдельной статье. Допустим, вы добавили backports, testing и unstable. Теперь, чтобы настроить для них приоритеты откройте конфигурационный файл /etc/apt/preferences и добавьте в него строки:
Package: *
Pin: release a=stretch-backports
Pin-Priority: 650
Package: *
Pin: release a=testing
Pin-Priority: 600
Package: *
Pin: release a=unstable
Pin-Priority: 100
Чем выше значение Priority, тем выше приоритет. Сначала мы указываем с помощью инструкции Package имя пакета, а затем репозиторий и его приоритет. В нашем примере самый высокий приоритет имеет репозиторий stable, если там пакета нет, он будет установлен из backports, и только потом из testing и из unstable. Теперь добавление нестабильных репозиториев не будет ломать систему. А если вы захотите установить пакет из нестабильного репозитория, то просто укажите его с помощью опции -t. Например, для testing:
Очень удобно и не ломает систему.
Как пользоваться apt
1. Обновление пакетов
Сначала давайте обновим список пакетов apt из репозиториев. Репозитории находятся на удалённых серверах и когда утилита apt ищет пакет для установки, естественно, что она не обращается ко всем репозиториям подряд чтобы узнать где он находится. В системе уже есть сохранённых кэш информации о том, какие пакеты вообще есть и где их можно скачать. Для обновления этого кэша используйте команду update:
Во время загрузки URL репозиториев обозначаются специальными префиксами, вот что они означают:
- Hit (Сущ) — список не изменился с момента предыдущей загрузки;
- Ign (Игн) — репозиторий игнорируется, либо он слишком новый, либо произошла незначительная ошибка во время загрузки;
- Get (Пол) — доступна новая версия и она будет загружена.
Когда кэш обновлен вы можете посмотреть для каких пакетов доступны обновления:
Аналогично можно посмотреть установленные пакеты apt:
Или всех доступных:
Затем можно обновить все пакеты в системе:
2. Установка пакетов
Чтобы установить пакет apt используйте команду install, например, для установки программы Gimp используйте команду install:
Если пакет установился неверно и вы хотите его переустановить, можно использовать опцию —reinstall:
Как видите, опции можно указывать не только перед командой, но и после неё, аналогично можно установить несколько пакетов сразу, например:
Чтобы не подтверждать установку вручную используем опцию -y. Допустим вы установили пакет с помощью dpkg и теперь хотите установить для него зависимости, запустите команду install без параметров с опцией -f или —fix-broken:
Можно скачать deb пакет в текущую папку без установки:
Скачивать пакеты надо от имени обычного пользователя, иначе тогда они не будут доступны для работы с ними. Если вам нужно установить пакет из файла, просто передайте путь к файлу команде install:
Чтобы установить определенную версию пакета просто укажите нужную версию после имени пакета через знак =, например:
Чтобы найти доступные версии можно использовать команду policy. Она отображает информацию о том какая версия установлена, а также какие версии доступны:
Если вы не знаете как точно называется пакет, можно выполнить поиск пакетов apt с помощью команды search:
3. Удаление пакетов
Чтобы удалить ненужный пакет используйте команду remove:
Однако если вы изменяли какие-либо конфигурационные файлы из состава пакета, то при таком способе удаления они останутся в системе, чтобы удалить всё полностью используйте команду purge:
Чтобы удалить лишние пакеты, которые в системе больше не нужны выполните команду autoremove:
А для очистки кэша пакетов — autoclean:
Новые команды Apt
Вот список поддерживаемых apt команд, взятый прямо из вывода —help. Эти команды очень похожи на реализацию apt-get и apt-cache, но более упорядочены и сгруппированы.
Основные команды:
- list — список пакетов;
- search — поиск пакетов по имени;
- show — показать подробную информацию о пакете;
- update — обновить списки доступных пакетов;
- install — установить пакет;
- remove — удалить пакет;
- upgrade — установить доступные новые версии пакетов;
- full-upgrade — полное обновление системы;
- edit-sources — редактировать файл источников программного обеспечения.
Более подробную информацию вы найдете, выполнив man apt в терминале. Хранящаяся там информация поможет вам досконально изучить новую утилиту.
Использовать apt или apt-get
Для управления пакетами может применяться команда apt или apt-get. На самом деле, выбор ещё больше: dpkg, aptitude, synaptic, wajig, а также графические интерфейсы от авторов дистрибутивов. Но все эти менеджеры пакетов имеют свои чёткие особенности, а apt и apt-get очень похожи, у них практически одинаковые команды и опции, они выполняют одинаковые функции. Разберёмся, чем отличаются apt и apt-get.
Программа apt предназначена для интерактивного использования и её поведение может меняться с выходом новых версий. А программа apt-get предназначена для использования в скриптах и её поведение и вывод очень консервативны.
На самом деле, для большинства типичных задач (установка и удаление пакетов), программы очень похожи.
Я предпочитаю apt как более «свежую», но на самом деле практически во всех последующих примерах команд вы можете заменить «apt» на «apt-get» и не почувствуете никакой разницы.
Различия между командами apt и apt-get
Взглянув на краткую историю этих двух команд, давайте теперь сосредоточимся на различиях между ними.
1) Синтаксис команд apt и apt-get
Наиболее очевидным отличием является способ синтаксиса команды. Например, чтобы обновить списки пакетов или индекс пакетов с помощью apt, выполните следующую команду:
А при использовании команды apt-get требуется ввести команду:
Чтобы лучше понять, как вы можете выполнять другие операции с помощью команд apt и apt-get, вот краткое резюме в табличном формате.
Операция | apt-get | пригодный |
Списки пакетов обновления | apt-get update | apt update |
Установить пакет | apt-get install package-name | apt install package-name |
Удалить пакет | apt-get remove package-name | apt remove package-name |
Пакеты обновления | apt-get upgrade | apt upgrade |
Поисковые пакеты | apt-cache search package-name | apt search package-name |
Отображение информации о пакете | apt-cache show package-name | apt show package-name |
Удаление нежелательных пакетов | apt-get autoremove | apt autoremove |
Очистите пакет вместе с его конфигурационными файлами | apt-get purge | apt purge |
2) Интуитивно понятный и более информативный вывод
В дополнение к другим различиям между двумя инструментами командной строки. Команда apt это имеет удобочитаемость информации о количестве пакетов которые подлежат обновлению. Кроме того, команда позволяет вам узнать, как вы можете просматривать эти пакеты, делается это с помощью команды apt list –upgradable.
Команда sudo apt update
Далее введем команду upgradable
Ввод команды apt list —upgradable
С помощью команды apt upgrade в нижней части терминала будет введен индикатор выполнения, указывающий на ход процесса обновления пакетов.
Команда apt upgrade
3) Дополнительные команды с APT
Есть еще пара вариантов команды, которые поставляются вместе с APT.
apt list: эта команда перечисляет установленные, доступные и обновляемые пакеты.
apt edit-sources: когда команда выполняется в первый раз, она представляет вам список текстовых редакторов, которые вы можете использовать для открытия и редактирования файла списка источников – /etc/apt/sources.list. Как только вы выберете нужный вариант, вы сможете непосредственно отредактировать файл для последующего выполнения команды.
5.1 Нахождение имен пакетов
Например, допустим, что вы хотите вспомнить старые добрые денечки Atari 2600.
Вы хотите использовать APT для установки эмулятора Atari и скачивания некоторых
игр. Можете сделать так:
@[/] # apt-cache search atari atari-fdisk-cross - Partition editor for Atari (running on non-Atari) circuslinux - The clowns are trying to pop balloons to score points! madbomber - A Kaboom! clone tcs - Character set translator. atari800 - Atari emulator for svgalib/X/curses stella - Atari 2600 Emulator for X windows xmess-x - X binaries for Multi-Emulator Super System
Мы нашли несколько пакетов, имеющих отношение к тому, что нам требуется, вместе
с краткими описаниями. Чтобы посмотреть более полные описания, можно дать
команду:
@[/] # apt-cache show stella Package: stella Priority: extra Section: non-free/otherosfs Installed-Size: 830 Maintainer: Tom Lear <[email protected]> Architecture: i386 Version: 1.1-2 Depends: libc6 (>= 2.1), libstdc++2.10, xlib6g (>= 3.3.5-1) Filename: dists/potato/non-free/binary-i386/otherosfs/stella_1.1-2.deb Size: 483430 MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5 Description: Atari 2600 Emulator for X windows Stella - это portable emulator of the old Atari 2600 video-game console written in C++. You can play most Atari 2600 games with it. The latest news, code and binaries for Stella can be found at: http://www4.ncsu.edu/~bwmott/2600
В этом выводе мы получили множество сведений о пакете, который вы хотите (или
не хотите) установить, вместе с полным описанием пакета. Если пакет уже
установлен в системе или есть более новая версия, то вы увидите информацию об
обоих версиях. Например:
@[/] # apt-cache show lilo Package: lilo Priority: important Section: base Installed-Size: 271 Maintainer: Russell Coker <[email protected]> Architecture: i386 Version: 1:21.7-3 Depends: libc6 (>= 2.2.1-2), debconf (>=0.2.26), logrotate Suggests: lilo-doc Conflicts: manpages (<<1.29-3) Filename: pool/main/l/lilo/lilo_21.7-3_i386.deb Size: 143052 MD5sum: 63fe29b5317fe34ed8ec3ae955f8270e Description: LInux LOader - The Classic OS loader can load Linux and others This Package contains lilo (the installer) and boot-record-images to install Linux, OS/2, DOS and generic Boot Sectors of other OSes. . You can use Lilo to manage your Master Boot Record (with a simple text screen) or call Lilo from other Boot-Loaders to jump-start the Linux kernel. Package: lilo Status: install ok installed Priority: important Section: base Installed-Size: 190 Maintainer: Vincent Renardias <[email protected]> Version: 1:21.4.3-2 Depends: libc6 (>= 2.1.2) Recommends: mbr Suggests: lilo-doc Description: LInux LOader - The Classic OS loader can load Linux and others This Package contains lilo (the installer) and boot-record-images to install Linux, OS/2, DOS and generic Boot Sectors of other OSes. . You can use Lilo to manage your Master Boot Record (with a simple text screen) or call Lilo from other Boot-Loaders to jump-start the Linux kernel.
Обратите внимание, что первый в списке — доступный пакет, а второй — уже
установленный. Для получения более общей информации о пакете, вы можете
использовать:
@[/] # apt-cache showpkg penguin-command Package: penguin-command Versions: 1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_binary-i386_Packages)(/var/lib/dpkg/status) Reverse Depends: Dependencies: 1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 (null)) libsdl-mixer1.1 (2 1.1.0) libsdl1.1 (0 (null)) zlib1g (2 1:1.1.3) Provides: 1.4.5-1 - Reverse Provides:
А чтобы посмотреть только его зависимости:
@[/] # apt-cache depends penguin-command penguin-command Depends: libc6 Depends: libpng2 Depends: libsdl-mixer1.1 Depends: libsdl1.1 Depends: zlib1g
В общем, мы имеем полный арсенал для поиска имен нужных нам пакетов.
Как обновить свой дистрибутив
Обновление от одного стабильного выпуска к другому (к примеру, от Lenny к Squeeze) можно произвести, следуя release notes для вашей архитектуры. Большинству пользователей с 32-битными системами пригодятся Release Notes for Intel x86, а большинству пользователей 64-битных систем — Release Notes for AMD64.
Обычно использование full-upgrade не рекомендуется (если только вы не используете sid, в этом случае вы вряд ли будете читать эту статью).
Небольшие обновления выпусков (например, с lenny 5.0.1 до lenny 5.0.2) и обновления, связанные с безопасностью, можно произвести с помощью safe-upgrade.
Определите версию Debian, используемую вами в настоящий момент:
$ cat /etc/debian_version
Пример обновления с etch 4.0r1 до 4.0r2 … и т.д., или же обновления, связанного с безопасностью:
# aptitude update # aptitude safe-upgrade
Эволюция команды APT
Чтобы лучше понять эти две команды, давайте вернемся в прошлое и посмотрим, как команда apt развивалась с течением времени. До Debian 8 (Jessie) и Ubuntu 16.04 (Xenial Xerus) пользователи взаимодействовали с менеджером пакетов APT (Advanced Package Tool) с помощью команды apt-get. Однако инструмент командной строки не пользовался большой популярностью у пользователей, а большинство из них не использовали множество прилагаемых к нему опций.
С появлением Ubuntu 16.04 и Debian 8 произошла эволюция инструмента командной строки apt-get в apt. Команда APT стала более удобным инструментом и объединила функциональные возможности apt-get и apt-cache
8.5 Как определить пакет, которому принадлежит определённый файл?
Чтобы определить, в каком пакете содержится файл с именем
foo, выполните одну из следующих команд:
dpkg —search имя_файлаЭта команда ищет
имя_файлав установленных пакетах. (Это, в настоящий момент, эквивалентно поиску всех файлов с расширением
.listв каталоге
/var/lib/dpkg/info/и выводу имён всех пакетов, которые содержат заданное имя файла и отклонения (diversions).)
Более быстрая альтернатива этому — программа dlocate.
dlocate -S имя_файла
zgrep foo Contents-ARCH.gzЭта команда ищет файлы, содержащие в своих полных именах путей подстроку
foo. Файлы
Contents-ARCH.gz(где ARCH представляет нужную архитектуру) расположены в основных каталогах пакетов (main, non-free, contrib) на FTP-сайте Debian (то есть, в
/debian/dists/wheezy). Файл
Contentsотносится только к тем пакетам, что расположены в структуре подкаталогов того же каталога, где находится и он сам. Поэтому, чтобы найти пакет, содержащий файл
foo, пользователю нужно искать более чем в одном файле
Contents.
Преимущество этого метода над
dpkg —searchсостоит в том, что будут найденыфайлы в тех пакетах, которые могут быть не установлены в вашей системе.
apt-file search fooЕсли вы установите пакет apt-file, то приведённая выше команда выполнит поиск файлов, содержащих в своих полных путях подстроку или регулярное выражение
foo. Преимущество этой команды перед приведёнными ранее в том, что вам не нужно будет получать файлы
Contents-ARCH.gz, так как это будет сделано автоматически для всех источников, описанных в /etc/apt/sources.list, при запуске (с правами суперпользователя) команды
apt-file update.
Для чего нужны зависимости
Если вы уже устанавливали пакеты в Linux, то вы могли обратить внимание, что вы вводите имя одной программы для установки, но зачастую одновременно с ней устанавливаются ещё и другие пакеты — это зависимости.
Зависимости — это библиотеки, программы, драйверы и прочее, что необходимо для работы другой программы. Такой подход позволяет один и тот же код (библиотеку) использовать в различных программах. К примеру, мы пишем приложение, в которое ходим добавить сетевые функции с поддержкой различных протоколов — нам не нужно всё писать с нуля, мы можем воспользоваться библиотекой libcurl (от авторов программы cURL), которая уже поддерживает десятки сетевых протоколов. И так могут поступить многие другие программы — они все могут использовать одну библиотеку без необходимости дублировать код — достаточно установить библиотеку в ОС один раз.
Для работы некоторых программ необходимы другие программы, либо они являются обёртками, графическими интерфейсами для облегчения использования утилиты. Такие программы также являются зависимостями.
Как узнать, в каком пакете содержится файл
Если вы компилируете программы из исходных кодов, то вы, наверняка, сталкивались с ошибками компиляции, когда программа не находит какой-либо файл и компиляция обрывается. Что делать в данной ситуации? Понятно, что нужно установить пакет, который содержит требуемый файл. Но как узнать имя этого пакета?
С помощью программы apt-file можно искать по именам файлов в пакетах (как установленных, так и нет). Также она может показать все файлы в пакете.
Установка программы:
sudo apt install apt-file
Сразу после установки кэш данных о программах пуст. Чтобы его обновить нужно выполнить команду:
sudo apt-file update
Когда всё готово, то поиск осуществляется так:
apt-file search ИМЯ-ФАЙЛА
К примеру поиск файла ffi.h:
apt-file search ffi.h
У программы apt-file есть альтернативы, подробности смотрите в статье «Как в Linux узнать, в каком пакете содержится файл».
Обновление всех пакетов системе в Kali Linux
Чтобы обновить все пакеты, для которых вышли новые версии, а также установить необходимые зависимости и удалить мешающие пакеты, используется команда:
sudo apt update sudo apt full-upgrade
Среди удаляемых пакетов могут быть конфликтующие (мешающие установке требуемых зависимостей).
Аналогичный результат можно получить командами (это одна из немногих команд, которая различается для apt и apt-get):
sudo apt update sudo apt-get dist-upgrade # или sudo apt update sudo aptitude full-upgrade
Для удобства можно объединить команду обновления кэша и команду запуска полного обновления системы в одну, опция -y используется для того, чтобы у нас не спрашивалось подтверждение, а сразу начался процесс установки новых пакетов:
sudo apt update && sudo apt full-upgrade -y
Использование
В APT входит несколько утилит, выполняющих отдельные задачи.
Начиная с версии Ubuntu 16.04 доступна новая утилита , которая содержит наиболее часто используемые команды из и . Утилита предназначена для пользователей, в то время как можно рассматривать как как инструмент более низкого уровня.
apt-get
apt-get это утилита управления пакетами. apt-get требует прав суперпользователя для своей работы.
Основные команды:
- — Обновить информацию о пакетах, содержащихся в репозиториях.
- — Установить пакет foo. Скачивание, установка и настройка происходят автоматически. Если для настройки пакета foo нужны дополнительные сведения, будет показан запрос к пользователю.
- — Обновление пакетов, для которых в репозитории доступны новые версии.
- — Обновление пакетов, требующих разрешения зависимостей (установка дополнительных или удаление конфликтующих пакетов).
- — Удаление пакета foo из системы.
- — Удаление пакета foo и очистка системы от его конфигурационных файлов. Файлы настроек в домашних каталогах пользователей удалены не будут.
- — Удаление пакета, который более не нужен в системе. Используется для очистки системы от ненужных пакетов. Факт, что пакет более не нужен, определяется следующим образом: если пакет был установлен не сам по себе, а как зависимость для другого пакета, который впоследствии был удалён, значит этот пакет тоже уже не нужен в системе.
- — Получение исходных текстов пакета foo.
- — Получение зависимостей для сборки пакета foo.
Починка базы пакетов
apt-get также используется для устранения сбоев в базе пакетов вызванных нарушенными зависимостями. Разрешение зависимостей производится командой:
sudo apt-get install -f
apt-cache
apt-cache – утилита, позволяющая выполнять запросы к кешу APT.
Основные команды:
- — Поиск пакета по части названия или описания. Поддерживает регулярные выражения.
- — Информация о пакете: версия, размер, описание и т. п.
- — Зависимости указанного пакета.
- — Обратные зависимости пакета.
apt-key
apt-key служит для добавления ключей от репозиториев в систему. Ключи защищают репозитории от возможности подделки пакета. Подробнее смотрите в статье .
Основные команды:
- — Добавление ключа в базу доверенных ключей.
- — Удаление ключа из доверенных.
Как установить локальный .deb пакет
Иногда может потребоваться установка локальных .deb, то есть файлов не из репозиториев.
Следующая команда dpkg установит пакет без проверки зависимостей:
sudo dpkg -i <ФАЙЛ deb>
При выполнении операции менеджером пакетов, например, обновление кэша:
sudo apt update
может возникнуть сообщение об отсутствующих зависимостях, исправить это можно командой:
sudo apt install -f
Программа apt также умеет устанавливать пакеты из указанных файлов, при этом одновременно будут установлены необходимые зависимости для этого пакета:
sudo apt install ./ПАКЕТ.deb
Подробности смотрите в статье «Как установить локальный .deb пакет».
Утилита APT (Advanced Packaging Tool)
Основным же консольным инструментом работы с пакетами является . В некотором смысле это консольный аналог менеджера пакетов Synaptic, хотя на самом деле обладает куда как большим функционалом. В нее входят утилиты , и .
Сразу же вспомните про , поскольку как ни странно, для внесения изменений в установленные компоненты системы требует административных полномочий. Хотя работает и от имени обычного пользователя.
Начнём с того, что установить пакеты из репозиториев можно командой
sudo apt-get install имя_пакета1
Сколько бы вы не указали пакетов, автоматически разрешит все зависимости и предложит вам конечный вариант необходимых действий, вам останется только лишь согласиться, нажав Enter:
Обратите внимание, предлагает вам в квадратных скобочках два возможных варианта ответа на поставленный вопрос:
[Д/н]
означает Да, то есть согласие, — это Нет, то есть отказ. Вам нужно ввести символ, соответствующий вашему выбору и нажать Enter. Однако, есть вариант по умолчанию, выделенный в списке большой буквой, и если вам нужен именно он, то вы можете ничего не вводить, просто нажать Enter.
Аналогично установке, удалить пакеты можно одной из двух команд:
sudo apt-get remove имя_пакета1 sudo apt-get purge имя_пакета1
Первая удаляет только файлы пакета, оставляя настройки нетронутыми, вторая же удаляет пакет полностью (пользовательские настройки не удаляются).
Напоследок, несколько полезных команд:
- — обновление информацию о пакетах, содержащихся в репозиториях. Никаких новых пакетов скачано и установлено не будет. Система просто проверит, есть ли новые версии для установленных у вас пакетов.
- — обновление пакетов, для которых в репозитории доступны новые версии. Будут скачаны из репозиториев и установлены в систему новые версии пакетов.
- — удаление пакетов, которые больше не нужны. Если пакет А был установлен не сам по себе, а как зависимость для пакета В, то, после удаления пакета В, пакет А тоже не нужен.
- — используется для устранения сбоев в базе пакетов вызванных нарушенными зависимостями.
Более подробную информацию можно узнать командой .
Для получения информации о пакете используется утилита . Основные команды:
- — Поиск пакета по части названия или описания. Поддерживает регулярные выражения.
- — Информация о пакете: версия, размер, описание и т. п.
- — Зависимости указанного пакета.
- — Обратные зависимости пакета.
служит для добавления и удаления ключей от репозиториев в систему. Ключи защищают репозитории от возможности подделки пакета.
Основные команды:
- — Добавление ключа в базу доверенных ключей.
- — Удаление ключа из доверенных.
Обновления кэша с информацией о приложениях
Когда в репозиторий вносятся изменения, например, при обновлении пакета, необходимо синхронизировать эту информацию с локальным кэшем вашей операционной системы Linux. Это делается командой:
sudo apt update
Этого же результата (обновления кэша) можно достичь разными способами, в том числе имеется ещё несколько команд. Например, следующая команда также обновит кэш (нет принципиальной разницы, какую команду вы используете):
sudo apt-get update
Даже если вы не собираетесь выполнять полное обновление системы, обновление кэша необходимо выполнить перед установкой любых пакетов. В противном случае вы можете столкнуться с ошибкой, что требуемый пакет не найден. Эта ошибка возникает из-за того, что в вашей системе есть информация о предыдущей версии пакета и ссылка для его скачивания, и именно по этому адресу менеджер пакетов пытается получить файл пакета. Но в репозитории устаревшая версия уже могла быть удалена. В результате получается, что пакет есть в репозитории, но ваша система не узнает его новый адрес, пока не обновит свой кэш.
5.3 Установка пакетов «по запросу»
Вы собираете пакет, и вдруг, бах! Ошибка из-за того, что нет какого-то там
нужного файла .h. От такого поворота событий вас может спасти
программа . Она запрашивает какие пакеты установить, если
они нужны, останавливает соответствующий процесс и продолжает его после
установки пакета.
Для этого, в основном, запустите:
auto-apt run command
Где `command’ — это команда, при выполнении которой может обнаружиться
отстутствие некоего файла. Например:
auto-apt run ./configure
Она запросит установку необходимых пакетов и вызовет apt-get автоматически.
Если вы работаете в X, то графический интерфейс будет по умолчанию заменен на
текстовый.
Auto-apt сохраняет базы данных в обновленном состоянии, чтобы быть более
эффективной. Это достигается вызовом команд auto-apt update,
auto-apt updatedb и auto-apt update-local.