Главная > Программы Утилита APTВ этой статье объясняется, как вы можете быстро научиться устанавливать, удалять, обновлять и искать пакеты программного обеспечения с помощью команд apt-get и apt-cache прямо из командной строки. Ниже мы приведем примеры полезных опций, которые помогут вам справиться с управлением пакетами в системах на базе Debian/Ubuntu Linux. Что такое apt-get?Утилита apt-get представляет собой мощную и бесплатную программу командной строки для управления пакетами, которая используется для работы с библиотекой APT (Advanced Packaging Tool) Ubuntu для установки, удаления и обновления существующих пакетов программного обеспечения и даже для обновления всей операционной системы. Что такое apt-cache?Инструмент командной строки apt-cache используется для поиска по кешу программного пакета apt. Говоря простыми словами, этот инструмент используется для поиска пакетов программного обеспечения, сбора информации о пакетах, а также для поиска готовых для установки пакетов в системах на базе Debian или Ubuntu. APT-CACHE — 5 полезных базовых команд1. Как я могу просмотреть все доступные пакеты?Чтобы перечислить все доступные пакеты, введите следующую команду. # apt-cache pkgnames В результате, будет выведен полный список пакетов: esseract-ocr-epo
pipenightdreams
mumudvb
tbb-examples
libsvm-java
libmrpt-hmtslam0.9
libboost-timer1.50-dev
kcm-touchpad
g++-4.5-multilib
...
2. Как узнать имя пакета и описание программного обеспечения?Чтобы узнать имя пакета и его описание перед установкой, используйте опцию search. При использовании search с apt-cache, отобразится список согласованных пакетов с кратким описанием. Предположим, вы хотели бы узнать описание пакета vsftpd, тогда команда будет выглядеть так. # apt-cache search vsftpd Будет выведет результат поиск пакетов: vsftpd - lightweight, efficient FTP server written for security
ccze - A robust, modular log coloriser
ftpd - File Transfer Protocol (FTP) server
yasat - simple stupid audit tool
Чтобы найти и отобразить все пакеты, имя которых начинается с vsftpd, вы можете использовать следующую команду. # apt-cache pkgnames vsftpd В результате будет найден пакет vsftpd: vsttpd
3. Как я могу посмотреть информацию о пакете?Например, если вы хотите посмотреть информацию о пакете вместе с его коротким описанием (номер версии, размер и т.д.). Используйте команду show, как показано ниже. # apt-cache show netcat В результате будет выведена информация по пакету netcat: Package: netcat
Priority: optional
Section: universe/net
Installed-Size: 30
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Ruben Molina <[email protected]>
Architecture: all
Version: 1.10-40
Depends: netcat-traditional (>= 1.10-39)
Filename: pool/universe/n/netcat/netcat_1.10-40_all.deb
Size: 3340
MD5sum: 37c303f02b260481fa4fc9fb8b2c1004
SHA1: 0371a3950d6967480985aa014fbb6fb898bcea3a
SHA256: eeecb4c93f03f455d2c3f57b0a1e83b54dbeced0918ae563784e86a37bcc16c9
Description-en: TCP/IP swiss army knife -- transitional package
This is a "dummy" package that depends on lenny's default version of
netcat, to ease upgrades. It may be safely removed.
Description-md5: 1353f8c1d079348417c2180319bdde09
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
4. Как проверить зависимости для конкретных пакетов?Используйте опцию «showpkg» для проверки зависимостей для определенных пакетов программного обеспечения. Установлены ли эти пакеты зависимостей или нет. Например, используйте команду showpkg вместе с vsftpd. # apt-cache showpkg vsftpd В результате будет отображена информация о пакете и его зависимости: Package: vsftpd
Versions:
2.3.5-3ubuntu1 (/var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_binary-i386_Packages)
Description Language:
File: /var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_binary-i386_Packages
MD5: 81386f72ac91a5ea48f8db0b023f3f9b
Description Language: en
File: /var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_i18n_Translation-en
MD5: 81386f72ac91a5ea48f8db0b023f3f9b
Reverse Depends:
ubumirror,vsftpd
harden-servers,vsftpd
Dependencies:
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-server (0 (null)) ftp-server (0 (null))
Provides:
2.3.5-3ubuntu1 - ftp-server
Reverse Provides:
5. Как проверить статистику кеша?Опция stats будет отображать общую статистику о кеше. Следующая команда, отобразит итоговые имена пакетов. Итоговые имена пакетов — это количество пакетов, найденных в кеше. # apt-cache stats В результате будет отображена статистика кеша: Total package names: 51868 (1,037 k)
Total package structures: 51868 (2,490 k)
Normal packages: 39505
Pure virtual packages: 602
Single virtual packages: 3819
Mixed virtual packages: 1052
Missing: 6890
Total distinct versions: 43015 (2,753 k)
Total distinct descriptions: 81048 (1,945 k)
Total dependencies: 252299 (7,064 k)
Total ver/file relations: 45567 (729 k)
Total Desc/File relations: 81048 (1,297 k)
Total Provides mappings: 8228 (165 k)
Total globbed strings: 286 (3,518 )
Total dependency version space: 1,145 k
Total slack space: 62.6 k
Total space accounted for: 13.3 M
APT-GET — 20 полезных базовых команд для управления пакетами6. Как обновить системные пакеты?Опция update используется для повторной синхронизации кеша пакетов и их источников, указанных в файле /etc/apt/sources.list. Опция update извлекает кеш из своих репозиториев и обновит их до более новых версий. # sudo apt-get update В результате будет отображен процесс синхронизации кеша пакетов: Ign http://security.ubuntu.com quantal-security InRelease
Get:1 http://security.ubuntu.com quantal-security Release.gpg [933 B]
Get:2 http://security.ubuntu.com quantal-security Release [49.6 kB]
Ign http://in.archive.ubuntu.com quantal InRelease
Ign http://in.archive.ubuntu.com quantal-updates InRelease
Get:3 http://repo.varnish-cache.org precise InRelease [13.7 kB]
Ign http://in.archive.ubuntu.com quantal-backports InRelease
Hit http://in.archive.ubuntu.com quantal Release.gpg
Get:4 http://security.ubuntu.com quantal-security/main Sources [34.8 kB]
Get:5 http://in.archive.ubuntu.com quantal-updates Release.gpg [933 B]
...
7. Как обновить пакеты программного обеспечения?Опция upgrade используется для обновления всех установленных пакетов программного обеспечения в системе. В любом случае установленные в настоящий момент пакеты не удаляются. Пакеты, которые еще не установлены, не загружаются и не устанавливаются для удовлетворения зависимостей обновления. # sudo apt-get upgrade В результате будет отображен процесс обновления пакетов: Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
linux-headers-generic linux-image-generic wine1.5 wine1.5-i386
The following packages will be upgraded:
activity-log-manager-common activity-log-manager-control-center adium-theme-ubuntu alacarte
alsa-base app-install-data-partner appmenu-gtk appmenu-gtk3 apport apport-gtk apt
apt-transport-https apt-utils aptdaemon aptdaemon-data at-spi2-core bamfdaemon base-files bind9-host
...
Однако, если вы хотите произвести обновление, не думая о том, будут ли добавлены или удалены пакеты программного обеспечения для сохранения зависимостей, используйте подпрограмму dist-upgrade. # sudo apt-get dist-upgrade 8. Как установить или обновить конкретные пакеты?Опция install позволяет установить или обновить конкретные пакеты. # sudo apt-get install netcat В результате будетотображен процесс установки пакета netcat: Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
netcat-traditional
The following NEW packages will be installed:
netcat netcat-traditional
0 upgraded, 2 newly installed, 0 to remove and 328 not upgraded.
Need to get 67.1 kB of archives.
After this operation, 186 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/universe netcat-traditional i386 1.10-40 [63.8 kB]
Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/universe netcat all 1.10-40 [3,340 B]
Fetched 67.1 kB in 1s (37.5 kB/s)
Selecting previously unselected package netcat-traditional.
(Reading database ... 216118 files and directories currently installed.)
Unpacking netcat-traditional (from .../netcat-traditional_1.10-40_i386.deb) ...
Selecting previously unselected package netcat.
Unpacking netcat (from .../netcat_1.10-40_all.deb) ...
Processing triggers for man-db ...
Setting up netcat-traditional (1.10-40) ...
Setting up netcat (1.10-40) ...
9. Как я могу установить одновременно несколько пакетов?Вы можете добавить несколько имен пакетов вместе с опцией install для одновременной установки нескольких пакетов. Например, следующая команда будет устанавливать пакеты nethogs и goaccess. # sudo apt-get install nethogs goaccess В результате будет отображен процесс установки пакетов nethogs и goaccess: Reading package lists... Done
Building dependency tree
Reading state information... Done
goaccess is already the newest version.
nethogs is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.
10. Как установить несколько пакетов с помощью шаблонной маски?С помощью регулярного выражения вы можете добавить несколько пакетов в одной строке. Например, мы используем * (знак звдочки или умножения — шаблонная маска или регулярное выражение) для установки нескольких пакетов, содержащих строку *name* (имя искомого пакета будет package—name). # sudo apt-get install *name* 11. Как установить пакеты без обновления?Использование опции -no-upgrade предотвратит обновление уже установленных пакетов. # sudo apt-get install packageName --no-upgrade В результате будет отображен процесс установки пакета packageName без обновления уже установленых пакетов: Reading package lists... Done
Building dependency tree
Reading state information... Done
Skipping vsftpd, it is already installed and upgrade is not set.
0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.
12. Как не устанавливать, а только обновить пакеты?Опция –only-upgrade не устанавливает новые пакеты, а только обновляет уже установленные пакеты и отключает установку новых пакетов. # sudo apt-get install packageName --only-upgrade В результате будет отображен процесс обновления уже установленых пакетов: Reading package lists... Done
Building dependency tree
Reading state information... Done
vsftpd is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.
13. Как установить конкретную версию пакета?Предположим, вы хотите установить только определенную версию пакета, просто используйте знак рвенства ( = ) с именем пакета и добавьте желаемую версию. # sudo apt-get install vsftpd=2.3.5-3ubuntu1 В результате будет отображен процесс установки пакета с опеределенной версией: Reading package lists... Done
Building dependency tree
Reading state information... Done
vsftpd is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.
14. Как удалить пакет без удаления его конфигурации?Чтобы удалить пакеты программного обеспечения, не удаляя их файлы конфигурации (для последующего повторного использования той же конфигурации). Используйте опцию remove, как показано ниже. # sudo apt-get remove vsftpd В результате будет отображен процесс удаления пакета с сохранением файла кофигурации: Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
vsftpd
0 upgraded, 0 newly installed, 1 to remove and 328 not upgraded.
After this operation, 364 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 216156 files and directories currently installed.)
Removing vsftpd ...
vsftpd stop/waiting
Processing triggers for ureadahead ...
Processing triggers for man-db ...
15. Как удалить пакет полностью?Чтобы удалить программные пакеты, включая их файлы конфигурации, используйте опцию purge, как показано ниже. # sudo apt-get purge vsftpd В результате будет отображен процесс полного удаления пакета: Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
vsftpd*
0 upgraded, 0 newly installed, 1 to remove and 328 not upgraded.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
(Reading database ... 216107 files and directories currently installed.)
Removing vsftpd ...
Purging configuration files for vsftpd ...
Processing triggers for ureadahead ...
Кроме того, вы можете объединить обе команды вместе, как показано на примере ниже. # sudo apt-get remove --purge vsftpd В результате будет отображен процесс полного удаления пакета: Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
vsftpd*
0 upgraded, 0 newly installed, 1 to remove and 328 not upgraded.
After this operation, 364 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 216156 files and directories currently installed.)
Removing vsftpd ...
vsftpd stop/waiting
Purging configuration files for vsftpd ...
Processing triggers for ureadahead ...
Processing triggers for man-db ...
16. Как я могу очистить дисковое пространство?Опция clean используется для освобождения дискового пространства путем очистки извлеченных/загруженных .deb файлов/пакетов из локального репозитория. # sudo apt-get clean 17. Как загрузить только исходный код пакета?Чтобы загрузить только исходный код конкретного пакета, используйте опцию –download-only source с именем пакета, как в примере приведенном ниже. # sudo apt-get --download-only source vsftpd В результате будет отображен процес загрузки исходных кодов пакета vsftpd: Reading package lists... Done
Building dependency tree
Reading state information... Done
Need to get 220 kB of source archives.
Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (dsc) [1,883 B]
Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (tar) [188 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (diff) [30.5 kB]
Fetched 220 kB in 4s (49.1 kB/s)
Download complete and in download only mode
18. Как я могу загрузить и распаковать пакет?Чтобы загрузить и распаковать исходный код пакета в конкретный каталог, введите следующую команду. # sudo apt-get source vsftpd В результате будет отображен процес загрузки исходных кодов пакета в конкретный каталог: Reading package lists... Done
Building dependency tree
Reading state information... Done
Need to get 220 kB of source archives.
Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (dsc) [1,883 B]
Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (tar) [188 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (diff) [30.5 kB]
Fetched 220 kB in 1s (112 kB/s)
gpgv: Signature made Thursday 24 May 2012 02:35:09 AM IST using RSA key ID 2C48EE4E
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./vsftpd_2.3.5-3ubuntu1.dsc
dpkg-source: info: extracting vsftpd in vsftpd-2.3.5
dpkg-source: info: unpacking vsftpd_2.3.5.orig.tar.gz
dpkg-source: info: unpacking vsftpd_2.3.5-3ubuntu1.debian.tar.gz
dpkg-source: info: applying 01-builddefs.patch
dpkg-source: info: applying 02-config.patch
dpkg-source: info: applying 03-db-doc.patch
dpkg-source: info: applying 04-link-local.patch
dpkg-source: info: applying 05-whitespaces.patch
dpkg-source: info: applying 06-greedy.patch
dpkg-source: info: applying 07-utf8.patch
dpkg-source: info: applying 08-manpage.patch
dpkg-source: info: applying 09-s390.patch
dpkg-source: info: applying 10-remote-dos.patch
dpkg-source: info: applying 11-alpha.patch
dpkg-source: info: applying 09-disable-anonymous.patch
dpkg-source: info: applying 12-ubuntu-use-snakeoil-ssl.patch
19. Как я могу загрузить, распаковать и скомпилировать пакет?Вы также можете загружать, распаковывать и компилировать исходный код, используя опцию —compile, как показано в примере ниже. # sudo apt-get --compile source goaccess В результате будет отображен процесс компиляции пакета goaccess: Reading package lists... Done
Building dependency tree
Reading state information... Done
Need to get 130 kB of source archives.
Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/universe goaccess 1:0.5-1 (dsc) [1,120 B]
Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/universe goaccess 1:0.5-1 (tar) [127 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu/ quantal/universe goaccess 1:0.5-1 (diff) [2,075 B]
Fetched 130 kB in 1s (68.0 kB/s)
gpgv: Signature made Tuesday 26 June 2012 09:38:24 AM IST using DSA key ID A9FD4821
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./goaccess_0.5-1.dsc
dpkg-source: info: extracting goaccess in goaccess-0.5
dpkg-source: info: unpacking goaccess_0.5.orig.tar.gz
dpkg-source: info: unpacking goaccess_0.5-1.debian.tar.gz
dpkg-buildpackage: source package goaccess
dpkg-buildpackage: source version 1:0.5-1
dpkg-buildpackage: source changed by Chris Taylor <[email protected]>
dpkg-buildpackage: host architecture i386
dpkg-source --before-build goaccess-0.5
dpkg-checkbuilddeps: Unmet build dependencies: debhelper (>= 9) autotools-dev libncurses5-dev libglib2.0-dev libgeoip-dev autoconf
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
...
20. Как загружать пакеты и не устанавливать их?Используя опцию download, вы можете скачать любой пакет без его установки. Например, следующая команда будет исключительно загружать пакет nethogs в текущий рабочий каталог. # sudo apt-get download nethogs В результате будет отображен процесс скачивания пакета nethogs: Get:1 Downloading nethogs 0.8.0-1 [27.1 kB]
Fetched 27.1 kB in 3s (7,506 B/s)
21. Как проверить журнал изменений пакетов?Опция changelog загружает журнал изменений пакетов и показывает установленную версию пакета. # sudo apt-get changelog vsftpd В результате будет отображен процесс загрузки журнала изминений: vsftpd (2.3.5-3ubuntu1) quantal; urgency=low
* Merge from Debian testing (LP: #1003644). Remaining changes:
+ debian/vsftpd.upstart: migrate vsftpd to upstart.
+ Add apport hook (LP: #513978):
- debian/vsftpd.apport: Added.
- debian/control: Build-depends on dh-apport.
- debian/rules: Add --with apport.
+ Add debian/watch file.
+ debian/patches/09-disable-anonymous.patch: Disable anonymous login
by default. (LP: #528860)
* debian/patches/12-ubuntu-us-snakeoil-ssl.patch: Use snakeoil SSL
certificates and key.
-- Andres Rodriguez <[email protected]> Wed, 23 May 2012 16:59:36 -0400
...
22. Как произвести проверку на поиск неисправностей?Опция check является диагностическим инструментом. Она используется для обновления кэша пакетов и проверки на наличие неполадок. # sudo apt-get check В результате будет отображен процесс поиска неисправнойстей
Reading package lists... Done
Building dependency tree
Reading state information... Done
23. Как мне искать и строить зависимости?Опция build-dep выполняет поиск локальных репозиториев в системе и устанавливает зависимости сборки для пакета. Если пакет не существует в локальном репозитории, эта команда вернет код ошибки. # sudo apt-get build-dep netcat
В результате будет отображен процесс поиска зависимостей для пакета netcat: The following NEW packages will be installed:
debhelper dh-apparmor html2text po-debconf quilt
0 upgraded, 5 newly installed, 0 to remove and 328 not upgraded.
Need to get 1,219 kB of archives.
After this operation, 2,592 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/main html2text i386 1.3.2a-15build1 [91.4 kB]
Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/main po-debconf all 1.0.16+nmu2ubuntu1 [210 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu/ quantal/main dh-apparmor all 2.8.0-0ubuntu5 [9,846 B]
Get:4 http://in.archive.ubuntu.com/ubuntu/ quantal/main debhelper all 9.20120608ubuntu1 [623 kB]
Get:5 http://in.archive.ubuntu.com/ubuntu/ quantal/main quilt all 0.60-2 [285 kB]
Fetched 1,219 kB in 4s (285 kB/s)
...
24. Как я могу быстро очистить Apt-Get Cache?Опция autoclean удаляет все файлы .deb из /var/cache/apt/archives, чтобы освободить значительный объем дискового пространства. # sudo apt-get autoclean В результате будет отображен процесс очистки загруженных пакетов: Reading package lists... Done
Building dependency tree
Reading state information... Done
25. Как я могу автоматически удалить установленные пакеты?Опция autoremove используется для автоматического удаления пакетов, которые были установлены для удовлетворения зависимостей других пакетов, но теперь они больше не требуются. Например, следующая команда удалит установленный пакет со всеми его зависимостями. # sudo apt-get autoremove vsftpd В результате будетотображен процесс удаления пакета vsftpd с его зависимостями: Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'vsftpd' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.
Мы рассмотрели большинство доступных опций с командами apt-get и apt-cache, но это далеко не все опции. Вы можете ознакомится с остальными опциями воспользовавшись страницами man: man apt-get или man apt-cache. Спасибо за уделенное время на прочтение статьи! Материал взят с сайта:Главная > Программы |