- Пакетный менеджер APT
- Настройки
- apt.conf
- apt.conf.d
- auth.conf
- sources.list
- sources.list.d
- Использование
- apt-get
- Починка базы пакетов
- apt-cache
- apt-key
- Настройка apt-get.
- Package management with APT
- Introduction
- Commands
- Installation commands
- auto-apt
- Maintenance commands
- Removal commands
- Search commands
- Typical usage example
- Setting up apt-get to use a http-proxy
- Temporary proxy session
- APT configuration file method
- BASH rc method
- How to login a proxy user
- Useful additional packages
- Additional links
- Troubleshooting
Пакетный менеджер APT
Advanced Packaging Tool – набор утилит для управления программными пакетами в операционных системах основанных на Debian. APT предоставляет дружественную надстройку над DPKG и позволяет:
APT является одной из базовых программ и включена в состав Ubuntu.
Настройки
Все файлы настроек APT хранятся в директории /etc/apt.
apt.conf
/etc/apt/apt.conf – основной файл настроек, используемый всеми инструментами из состава APT. Описание всех возможных настроек и опций можно прочитать в документации к нему:
apt.conf.d
Директория содержащая в себе файлы конфигурации, аналогичные по синтаксису apt.conf. При помощи этой директории можно быстро и удобно манипулировать настройками APT добавляя или удаляя подготовленные файлы с настройками.
auth.conf
Файл, содержащий ключи, для авторизации в репозиториях. Например, туда добавляются логины и пароли от репозиториев к купленным в Центре приложений программам.
sources.list
sources.list.d
Директория с файлами репозиторий, по назначению аналогичных sources.list. Каждый репозиторий описывается в отдельном файле.
Использование
В APT входит несколько утилит, выполняющих отдельные задачи.
Начиная с версии Ubuntu 16.04 доступна новая утилита apt , которая содержит наиболее часто используемые команды из apt-get и apt-cache . Утилита apt предназначена для пользователей, в то время как apt-get можно рассматривать как как инструмент более низкого уровня.
apt-get
apt-get это утилита управления пакетами. apt-get требует прав суперпользователя для своей работы.
install foo — Установить пакет foo. Скачивание, установка и настройка происходят автоматически. Если для настройки пакета foo нужны дополнительные сведения, будет показан запрос к пользователю.
dist-upgrade — Обновление пакетов, требующих разрешения зависимостей (установка дополнительных или удаление конфликтующих пакетов).
purge foo — Удаление пакета foo и очистка системы от его конфигурационных файлов. Файлы настроек в домашних каталогах пользователей удалены не будут.
autoremove — Удаление пакета, который более не нужен в системе. Используется для очистки системы от ненужных пакетов. Факт, что пакет более не нужен, определяется следующим образом: если пакет был установлен не сам по себе, а как зависимость для другого пакета, который впоследствии был удалён, значит этот пакет тоже уже не нужен в системе.
Починка базы пакетов
apt-get также используется для устранения сбоев в базе пакетов вызванных нарушенными зависимостями. Разрешение зависимостей производится командой:
apt-cache
apt-cache – утилита, позволяющая выполнять запросы к кешу APT.
apt-key
apt-key служит для добавления ключей от репозиториев в систему. Ключи защищают репозитории от возможности подделки пакета. Подробнее смотрите в статье Репозитории.
Настройка apt-get.
если у Вас его нет берем на ftp.altlinux.ru/pub/distributions/ALTLinux/Sisyphus/i586/Mandrake/RPMS/ , или у меня на ftp://ftp.yaroslavl.ru/pub/Linux/Sisyphus/RPMS/ , далее идем в /etc/apt/source.list, сносим там все, если Вы конечно не хотите обновляться прямо с интернета и пишем:
rpm file:/home/ALTLinux/Sisyphus i586/Mandrake sisyphus
rpm-src file:/home/ALTLinux/Sisyphus i586/Mandrake sisyphus
далее делаем дерево каталогов: для Sisyphus /home/ALTLinux/Sisyphus/i586/ ----------- Mandrake ------- /base SRPMS ~SRPMS.sisyphus RPMS ~SRPMS.sisyphus ~RPMS.sisyphus ~SRPMS.sisyphus ссылки делаем так: ln -s SRPMS SRPMS.sisyphus ln -s ../SRPMS SRPMS.sisyphus ln -s RPMS RPMS.sisyphus ln -s ../../SRPMS SRPMS.sisyphus (не очень наглядно это все, но думаю понятно)
Далее, все ранее скачанное, раскладываем по каталогам, в RPMS — бинарные пакеты, в SRPMS пакеты с исходниками, если Вам оно конечно надо. Реально нужны будут исходники ядра при пересборке.
Далее, посидев на запотевших, руках пишем:
genbasedir —topdir=/home/ALTLinux/Sisyphus i586/Mandrake sisyphus
ну вот, у Вас готов депозиторий.
apt-get update
apt-get -f check
apt-get -f install
ага, просит обновиться, ну что ж надо дать, жмем «Yes», вот и все, apt-get готов к работе, только не надо забывать, что после добавления пакетов в каталоги надо повторить командочки
genbasedir —topdir=/home/ALTLinux/Sisyphus i586/Mandrake sisyphus
apt-get update
apt-get -f check
apt-get -f install
и еще полезно проверять пакеты, а то вдруг битые попадуться
сказать в каталоге с пакетами rpm -K ./*
linux samba mail postfix FreeBSD Unix doc linux howto ALTLinux PHP faq bind sendmail apache iptables firewall kernel rpm apt-get Slackware openssh Cisco debian vmware GNU oracle sun awk /etc/ passwd linux установка учебник книга скачать
Package management with APT
Package management via apt-get runs hand-in-hand with the /etc/apt/sources.list file. For information on editing or updating your sources list see SourcesList.
Introduction
This page describes how to handle the packages on your system using apt-get and related commands. For example, you can install a new package, remove an installed package, or update all installed packages to the latest versions.
Commands
- Example:
sudo apt-get install ubuntu-desktop
Installation commands
Use the -s flag to simulate an action. For example: «apt-get -s install » will simulate installing the package, showing you what packages will be installed and configured. |
auto-apt
This command runs
Maintenance commands
The same as the above, except add the «smart upgrade» checkbox. It tells APT to use «smart» conflict resolution system, and it will attempt to upgrade the most important packages at the expense of less important ones if necessary.
«apt-get dist-upgrade» does not upgrade from a previous version of Ubuntu. For more information of upgrading from a previous version of Ubuntu see http://www.ubuntu.com/getubuntu/upgrading . |
du -sh /var/cache/apt/archives
Reconfigure the named package. With many packages, you’ll be prompted with some configuration questions you may not have known were there.
- For example:
dpkg-reconfigure fontconfig-config
echo " hold" | dpkg --set-selections
This command may have the unintended side effect of preventing upgrades to packages that depend on updated versions of the pinned package. apt-get dist-upgrade will override this, but will warn you first. If you want to use this command with sudo, you need to use echo " hold" | sudo dpkg --set-selections not sudo echo " hold" | dpkg --set-selections. |
echo " install" | dpkg --set-selections
Removal commands
This command completely removes a package and the associated configuration files. Configuration files residing in ~ are not usually affected by this command.
- + operator
- If you want to remove package1 and install package2 in one step:
dpkg -l | grep '^rc' | awk '' | xargs dpkg --purge
Search commands
This command determines which installed package owns
. It shows files from installed packages that match , with the name of the package they came from. Consider this to be a «reverse lookup» utility. In order to use this command, the package dlocate must be installed on your system. dpkg -L package | grep /usr/bin
For more information on apt-get, apt-cache and dpkg consult their manual pages by using the man command. These manuals will provide a wider scope of information in addition to all of the options that you can use with each program.
- Example:
Typical usage example
I want to feel the wind in my hair, I want the adrenaline of speed. So let’s install a racing game. But what racing games are available?
apt-cache search racing game
It gives me a lot of answers. I see a game named «torcs». Let’s get some more information on this game.
Hmmm. it seems interesting. But is this game not already installed on my computer? And what is the available version? Which repository is it from (Universe or Main)?
Ok, so now, let’s install it!
What is the command I must type in the console to launch this game? In this example, it’s straightforward («torcs»), but that’s not always the case. One way of finding the name of the binary is to look at what files the package has installed in «/usr/bin». For games, the binary will be in «/usr/games». For administrative programs, it’s in «/usr/sbin».
dpkg -L torcs | grep /usr/games/
The first part of the command display all files installed by the package «torcs» (try it). With the second part, we ask to only display lines containing «/usr/games/».
Hmmm, that game is cool. Maybe there are some extra tracks?
But I’m running out of space. I will delete the apt cache!
Oh no, my mother asked me to remove all games from this computer. But I want to keep the configuration files so I can simply re-install it later.
If I want to also remove config files :
Setting up apt-get to use a http-proxy
These are three methods of using apt-get with a http-proxy.
Temporary proxy session
This is a temporary method that you can manually use each time you want to use apt-get through a http-proxy. This method is useful if you only want to temporarily use a http-proxy.
Enter this line in the terminal prior to using apt-get (substitute your details for yourproxyaddress and proxyport).
export http_proxy=http://yourproxyaddress:proxyport
If you normally use sudo to run apt-get you will need to login as root first for this to work unless you also add some explicit environment settings to /etc/sudoers, e.g.
Defaults env_keep = "http_proxy https_proxy ftp_proxy"
APT configuration file method
This method uses the apt.conf file which is found in your /etc/apt/ directory. This method is useful if you only want apt-get (and not other applications) to use a http-proxy permanently.
gksudo gedit /etc/apt/apt.conf
Add this line to your /etc/apt/apt.conf file (substitute your details for yourproxyaddress and proxyport).
Acquire::http::Proxy "http://yourproxyaddress:proxyport";
BASH rc method
This method adds a two lines to your .bashrc file in your $HOME directory. This method is useful if you would like apt-get and other applications for instance wget, to use a http-proxy.
Add these lines to the bottom of your ~/.bashrc file (substitute your details for yourproxyaddress and proxyport)
http_proxy=http://yourproxyaddress:proxyport export http_proxy
Save the file. Close your terminal window and then open another terminal window or source the ~/.bashrc file:
Test your proxy with sudo apt-get update and whatever networking tool you desire. You can use firestarter or conky to see active connections.
If you make a mistake and go back to edit the file again, you can close the terminal and reopen it or you can source ~/.bashrc as shown above.
How to login a proxy user
If you need to login to the Proxy server this can be achieved in most cases by using the following layout in specifying the proxy address in http-proxy. (substitute your details for username, password, yourproxyaddress and proxyport)
http_proxy=http://username:password@yourproxyaddress:proxyport
Useful additional packages
Additional links
Troubleshooting