Как использовать apt-get: Диспетчер пакетов в Ubuntu, LinuxMint, Debian

{title}

{title}


Что такое apt-get?
Команда apt-get является очень мощным инструментом, который поставляется по умолчанию в таких дистрибутивах, как Debian, LinuxMint, Ubuntu отвечает за управление библиотекой пакетов и, таким образом, установку, удаление, обновление и поиск пакетов для операционной системы с линии команд.
Что такое apt-кеш?
Он является производным от apt-get, его основной функцией является поиск пакетов, которые мы хотим установить, используя кеш после обновления нашего репозитория. Но мы можем не только выполнить поиск для установки, но и проверить, какие пакеты установлены, или информацию о пакете, такую ​​как установленная версия или наличие обновления. Он включен, как и apt-get во многих дистрибутивах с deb parcel.

Как отобразить список пакетов?


Мы можем перечислить все пакеты, доступные для системы (это очень длинный список).
 apt-cache pkgnames esseract-ocr-epo pipenightdreams mumudvb tbb-examples libsvm-java libmrpt-hmtslam0.9 libboost-timer1.50-dev kcm-сенсорная панель g ++ - 4.5-мультилиб ... 

Как отфильтровать запросы по имени?


Для поиска пакета с кратким описанием без его установки мы используем команду apt-cache вместе с опцией поиска. В нем будут перечислены все пакеты, которые соответствуют вашему запросу, например, если мы хотим установить FTP-сервер, нам нужен пакет vsftpd.
 apt-cache search vsftpd 
Но если нам нужно только имя без описания, мы используем
 apt-cache pkgnames vsftpd 

Получить больше информации о пакете?


Если мы хотим получить больше информации о пакете, его версии или размере в КБ, мы используем
 apt-cache show netcat 
 Пакет: netcat Приоритет: необязательный Раздел: Universe / Net Установленный размер: 30 Поддержка: Разработчики Ubuntu Оригинал-Поддержка: Ruben Molina Архитектура: все Версия: 1.10-40 Зависит: netcat-Traditional (> = 1.10-39) Имя файла: pool / вселенная / п / Netcat / netcat_1.10-40_all.deb Размер: 3340 MD5sum: 37c303f02b260481fa4fc9fb8b2c1004 SHA1: 0371a3950d6967480985aa014fbb6fb898bcea3a SHA256: eeecb4c93f03f455d2c3f57b0a1e83b54dbeced0918ae563784e86a37bcc16c9 Описание в: TCP / IP швейцарский армейский нож - переходный пакет Это «фиктивный» пакет зависит от Ленни Это версия по умолчанию netcat, чтобы облегчить обновления. Это может быть безопасно удалено. Описание-md5: 1353f8c1d079348417c2180319bdde09 Ошибки: https://bugs.launchpad.net/ubuntu/+filebug Происхождение: Ubuntu 

Проверьте зависимости, необходимые для пакетов


В этом случае мы используем showpkg, и он перечислит все зависимости, необходимые для правильной работы, независимо от того, установлены они или нет.
 apt-cache showpkg vsftpd 
 Пакет: vsftpd Версии: 2.3.5-3ubuntu1 (/var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_binary-i386_Packages) Описание Язык: Файл: /var/lib/apt/lists/in.archive.ubuntu. com_ubuntu_dists_quantal_main_binary-i386_Packages MD5: 81386f72ac91a5ea48f8db0b023f3f9b Описание Язык: Файл: /var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_i18n_Translation-en MD5: 81386f72ac91a5ea48f8db0b023f3f9b Reverse Зависит: ubumirror, VSFTPD затвердевают-сервера, VSFTPD зависимости: 2.3.5- 3ubuntu1 - debconf (18 0.5) debconf-2.0 (0 (null)) upstart-job (0 (null)) libc6 (2 2.15) libcap2 (2 2.10) libpam0g (2 0.99.7.1) libssl1.0.0 (2 1.0.0 ) libwrap0 (2 7.6-4 ~) adduser (0 (null)) libpam-modules (0 (null)) netbase (0 (null)) logrotate (0 (null)) ftp-сервер (0 (null)) ftp- server (0 (null)) Предоставляет: 2.3.5-3ubuntu1 - ftp-сервер 
В разделе будут перечислены зависимости, в случае, если они у вас есть, они сообщат нам версию, в противном случае будет указано значение null.

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


Мы знаем, что команда apt-cache зависит от загруженного кеша, полезно знать, что у нас в кеше для этого мы используем статистику.
 apt-cache stats 
 Всего имен пакетов: 51868 (1 037 k) Всего структур пакетов: 51868 (2490 k) Обычных пакетов: 39505 Чистых виртуальных пакетов: 602 Одиночных виртуальных пакетов: 3819 Смешанных виртуальных пакетов: 1052 Отсутствует: 6890 Всего отдельных версий: 43015 (2 753 k) Всего Отдельные описания: 81048 (1 945 k) Всего зависимостей: 252299 (7 ​​064 k) Всего отношений просмотра / файла: 45567 (729 k) Всего отношений дескриптора / файла: 81048 (1 297 k) Всего Обеспечивает сопоставления: 8228 (165 k) Всего строк с неровной поверхностью : 286 (3 518) Общее пространство версии зависимости: 1 145 k Общее свободное пространство: 62, 6 k Общее количество пространства: 13, 3 M 
Мы видим занятое пространство и количество доступных пакетов, отфильтрованных по полному или смешанному.

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


При использовании update мы синхронизируем наш список пакетов со списком официального репозитория, поэтому, если доступна новая версия ssh, мы можем обновить ее.
 sudo apt-get update 
 Ign http://security.ubuntu.com Quantal-Security InRelease Получить: 1 http://security.ubuntu.com Quantal-Security Release.gpg [933 B] Получить: 2 http://security.ubuntu.com Quantal- релиз безопасности [49, 6 КБ] Ign http://in.archive.ubuntu.com количественный InRelease Ign http://in.archive.ubuntu.com количественный обновления InRelease Получить: 3 http://repo.varnish-cache.org указать InRelease [13, 7 кБ] Ign http://in.archive.ubuntu.com количественные обратные порты InRelease Hit http://in.archive.ubuntu.com количественный выпуск.gpg Получить: 4 http://security.ubuntu.com квантовая безопасность / основные источники [34, 8 кБ] Получить: 5 http://in.archive.ubuntu.com количественные обновления Release.gpg [933 Б] 
...

$config[ads_text6] not found

Обновите операционную систему последней версией пакетов.


Если с помощью apt-update мы обновляем список доступных пакетов, то с помощью apt-get upgrade мы устанавливаем все обновления, доступные для системы.
 apt-get upgrade 
 Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово Следующие пакеты были сохранены: linux-headers-generic linux-image-generic wine1.5 wine1.5-i386 Следующие пакеты будут обновлены: деятельность-журнал-менеджер-общий-деятельность-журнал-менеджер-центр управления-контроля adium-theme-ubuntu alacarte alsa-base app-install-data-partner appmenu-gtk appmenu-gtk3 apport apport-gtk apt apt-transport-https apt- Использует aptdaemon aptdaemon-data at-spi2-core Базовые файлы bamfdaemon bind9-host ... 
Желательно использовать две команды вместе, мы обновляем список и пакеты, используя
 sudo apt-get update && sudo apt-get update 

$config[ads_text5] not found

Обновите систему и при необходимости установите новые пакеты.


Когда мы используем обновление, устанавливаются новые версии пакетов и их зависимостей, в некоторых случаях пакет, который требует новой зависимости, не будет установлен. В этом случае мы используем dist-upgrade для обновления и установки новых зависимостей, если необходимо, будьте осторожны с этой опцией В производственной среде.
 sudo apt-get dist-upgrade 

Как установить или обновить конкретный пакет?


При этом мы избегаем обновления всей системы и экономим небольшую полосу пропускания на случай, если мы хотим установить только один пакет.
 sudo apt-get установить netcat 
 Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово Следующие дополнительные пакеты будут установлены: netcat-Traditional Будут установлены следующие НОВЫЕ пакеты: netcat netcat-Traditional 0 обновлено, 2 недавно установлено, 0 удалено и 328 не обновлены. Нужно достать 67, 1 кБ архивов. После этой операции будет использовано 186 КБ дополнительного дискового пространства. Вы хотите продолжить [Да / Нет]? и получите: 1 http://in.archive.ubuntu.com/ubuntu/ Quantal / Universe Netcat-Traditional i386 1.10-40 [63, 8 КБ] Получить: 2 http://in.archive.ubuntu.com/ubuntu/ Quantal / universe netcat all 1.10-40 [3340 B] Извлечено 67, 1 кБ за 1 с (37, 5 кБ / с) Выбор ранее невыбранного пакета netcat-Traditional. (Чтение базы данных ... 216118 файлов и каталогов, установленных в настоящее время.) Распаковка netcat-Traditional (from ... / netcat-Traditional_1.10-40_i386.deb) ... Выбор ранее невыбранного пакета netcat. Распаковка netcat (из ... / netcat_1.10-40_all.deb) ... Обработка триггеров для man-db ... Настройка традиционного netcat (1.10-40) ... Настройка netcat (1.10-40). .. 

$config[ads_text6] not found

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


Мы должны продолжать использовать apt-get install, но использовать пакеты для установки.
 sudo apt-get установить nethogs goaccess 
 Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово goaccess уже самая новая версия. nethogs уже самая новая версия. 0 обновлено, 0 вновь установлено, 0 для удаления и 328 не обновлено. 

Установите пакеты, используя подстановочный знак


Используя регулярные выражения, мы можем установить несколько пакетов, содержащих одно и то же слово, например * ssh * install client, server и add-ons.
 sudo apt-get install '* ssh *' 

Установить пакеты без обновления.


Используя опцию –no-upgrade, мы установим базовую версию пакета, но не его обновление.
 sudo apt-get установить packageName --no-upgrade 
 Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Завершено Пропуск vsftpd, он уже установлен и обновление не установлено. 0 обновлено, 0 вновь установлено, 0 для удаления и 328 не обновлено. Обновлять пакет, только если он установлен. Мы используем –only-upgrade для обновления пакета, только если он установлен, в противном случае он не очень полезен в сценариях. sudo apt-get install packageName --only-upgrade Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово vsftpd уже самая новая версия. 0 обновлено, 0 вновь установлено, 0 для удаления и 328 не обновлено. 

Обновлять пакет, только если он установлен.


Мы используем –only-upgrade для обновления пакета, только если он установлен, в противном случае он не очень полезен в сценариях.
 sudo apt-get установить packageName - только-обновление 
 Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово vsftpd уже самая новая версия. 0 обновлено, 0 вновь установлено, 0 для удаления и 328 не обновлено. 

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


Мы даже можем установить конкретную версию пакета, это обычная практика, например, для Java или NGINX.
 sudo apt-get install vsftpd = 2.3.5-3ubuntu1 
 Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово vsftpd уже самая новая версия. 0 обновлено, 0 вновь установлено, 0 для удаления и 328 не обновлено. 

Удалить пакет, но не трогая его настройки


Мы можем удалить его, но сохранить все его конфигурационные файлы на случай, если нам понадобится установить его в будущем.
 sudo apt-get удалить vsftpd 
 Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово Следующие пакеты будут УДАЛЕНЫ: vsftpd 0 обновлено, 0 вновь установлено, 1 удалено и 328 не обновлено. После этой операции освободится 364 кБ дискового пространства. Вы хотите продолжить [Да / Нет]? и (Чтение базы данных ... 216156 файлов и каталогов, установленных в настоящее время.) Удаление vsftpd ... vsftpd остановка / ожидание Обработка триггеров для ureadahead ... Обработка триггеров для man-db ... 

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


Чтобы удалить пакет со всеми его файлами и зависимостями, мы используем опцию очистки.
 sudo apt-get purge vsftpd 
 Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово Следующие пакеты будут УДАЛЕНЫ: vsftpd * 0 обновлено, 0 вновь установлено, 1 удалено и 328 не обновлено. После этой операции будет использовано 0 B дополнительного дискового пространства. Вы хотите продолжить [Да / Нет]? и (Чтение базы данных ... 216107 файлов и каталогов, установленных в настоящее время.) Удаление vsftpd ... Очистка файлов конфигурации для vsftpd ... Обработка триггеров для ureadahead ... 
Мы можем комбинировать его с удалением, всегда рекомендуем эту опцию для очистки.
 sudo apt-get удалить --purge vsftpd 
 Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово Следующие пакеты будут УДАЛЕНЫ: vsftpd * 0 обновлено, 0 вновь установлено, 1 удалено и 328 не обновлено. После этой операции освободится 364 кБ дискового пространства. Вы хотите продолжить [Да / Нет]? и (Чтение базы данных ... 216156 файлов и каталогов, установленных в настоящее время.) Удаление vsftpd ... vsftpd остановка / ожидание Очистка файлов конфигурации для vsftpd ... Обработка триггеров для ureadahead ... Обработка триггеров для man-db ... 

Очистите менеджер пакетов, чтобы освободить место на диске


Когда мы загружаем пакет, файл .deb сохраняется как кеш, мы можем удалить все эти пакеты с помощью опции clean.
 sudo apt-get clean 

Как скачать исходный код пакета?


В некоторых случаях мы не можем установить из deb, и нам нужно установить его, скомпилировав напрямую, мы можем сделать это, используя источник -download-only
 sudo apt-get - источник только для загрузки vsftpd 
 Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово Необходимо получить 220 кБ исходных архивов. Получить: 1 http://in.archive.ubuntu.com/ubuntu/ quantal / main vsftpd 2.3.5-3ubuntu1 (dsc) [1883 B] Получить: 2 http://in.archive.ubuntu.com/ubuntu/ количественный / основной vsftpd 2.3.5-3ubuntu1 (tar) [188 кБ] Получить: 3 http://in.archive.ubuntu.com/ubuntu/ количественный / основной vsftpd 2.3.5-3ubuntu1 (diff) [30, 5 кБ] извлечено 220 кБ в 4 с (49, 1 кБ / с) Загрузка завершена и доступна только в режиме загрузки 
Если вы хотите скачать и скомпилировать из того же apt-get, который мы используем
 sudo apt-get - скомпилировать исходный код goaccess 
 Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово Необходимо получить 130 КБ исходных архивов. Получить: 1 http://in.archive.ubuntu.com/ubuntu/ количественный / вселенная goaccess 1: 0.5-1 (dsc) [1120 В] Получить: 2 http://in.archive.ubuntu.com/ubuntu/ Квантовый / вселенский доступ 1: 0, 5-1 (смола) [127 кБ] Получить: 3 http://in.archive.ubuntu.com/ubuntu/ Квантовый / вселенный доступ 1: 0, 5-1 (различие) [2, 075 B] Получено 130 кБ за 1 с (68, 0 кБ / с) gpgv: подпись сделана вторник, 26 июня 2012 г. 09:38:24 IST использует идентификатор ключа DSA A9FD4821 gpgv: не удается проверить подпись: открытый ключ не найден dpkg-source: предупреждение: не удалось проверить подпись на ./goaccess_0.5-1.dsc dpkg-source: info: извлечение goaccess в goaccess-0.5 dpkg-source: info: распаковка goaccess_0.5.orig.tar.gz dpkg-source: info: распаковка goaccess_0.5 -1.debian.tar.gz dpkg-buildpackage: пакет исходного кода goaccess dpkg-buildpackage: версия источника 1: 0.5-1 dpkg-buildpackage: источник изменен Крисом Тейлором dpkg-buildpackage: архитектура хоста i386 dpkg-source --before-build goaccess-0.5 dpkg-checkbuilddeps: невыполненные зависимости сборки: debhelper (> = 9) autotools-dev libncurses5-dev lib glib2.0-dev libgeoip-dev autoconf dpkg-buildpackage: предупреждение: несоблюдение зависимостей / конфликтов сборки; прерывание dpkg-buildpackage: предупреждение: (используйте флаг -d для переопределения.) ... 

Как я могу скачать пакет без его установки?


Много раз мы хотим построить локальное РЕПО, чтобы распространять их среди других клиентов локально и экономить пропускную способность. Эта опция очень полезна.
 sudo apt-get скачать nethogs 
 Получите: 1 Скачивание nethogs 0.8.0-1 [27.1 kB] Извлечено 27.1 kB за 3 с (7 506 B / s) 

Как проверить нарушенные зависимости?


Эта команда очень полезна, если нам нужно скомпилировать, но нам не хватает библиотек, поэтому мы можем проверить и установить недостающие.
 sudo apt-get check 
 Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово 

выводы
Мы говорили о наиболее полезных опциях с apt-get и apt-cache, в которых отсутствуют некоторые из них, которые можно увидеть с помощью man apt-get, man apt-cache. Нет необходимости изучать их наизусть, но хорошо иметь этот список под рукой. Если я оставлю команду снаружи или у меня есть предложение, не стесняйтесь оставлять его в комментариях.

  • 0