apt

Материал из СисадминВики (SysadminWiki.ru)
Перейти к: навигация, поиск

Общее

/etc/apt/sources.list - список используемых репозиториев пакетов

/var/cache/apt/archives - место расположения скаченных пакетов


Команды

apt-get update обновление репозитария
apt-get dist-upgrade полное обновление ОС
apt-get check проверить текущее состояние системы
apt-get install package установить пакет. Всё скаченное apt-get лежит в /var/cache/apt/archives.
apt-get -f install package исправить зависимости
apt-get install -d package скачать пакет не устанавливая. Лежать будет в /var/cache/apt/archives.
apt-get source package скачать исходный текст пакета
apt-get remove package удалить пакет. Результаты можно посмотреть в /var/log/user/info
apt-get autoremove удалить все не используемые пакеты (чистка системы)
apt-cache search package найти в репозитории пакеты в названии или описании которых есть слово "string"
apt-cache show package показать описание пакета
apt-cache showpkg package показать зависимости пакета

Работа через прокси

Если сервер не имеет прямого подключения к Интернет, то можно обновиться и через прокси-сервер (пусть ip прокси 10.0.0.1, порт 3128). Для этого есть 2 способа:

1) определим переменные окружения:

# export http_proxy="http://10.0.0.1:3128"
# export ftp_proxy="http://10.0.0.1:3128"

Если прокси требует пароля, то:

# export http_proxy="http://username:password@host:port"


2) Добавим в /etc/apt/apt.conf строку:

Acquire::http::Proxy "http://10.0.0.1:3128";

Работа с пакетами

Утилита apt-file работает с информаций о каждом файле в пакете.

sudo apt-get install apt-file sudo apt-file update

Список файлов в пакете и их расположение:

apt-file list <package_name> apt-file list goldendict

также средствами dpkg:

dpkg -L <package_name> dpkg --contents /path/to/package.deb

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

apt-file search /path/to/file dpkg -S /path/to/file

Работа с репозиториями

Обновлять и доустанавливать пакеты можно и без доступа в интернет. Для этого:

а) кладём все доступные репозитории на один из локальных компьютеров (напр 10.0.0.239 в каталог /usr/dvd-1-apt) и заносим этот источник в список просматриваемых, т.е. создаём файл

# vi /etc/apt/sources.list.d/local.list

и добавляем туда строку (для баз: base classic kernel)

rpm ssh://10.0.0.239/usr/dvd-1-apt/ i586 base classic kernel

б) если CD-ROM есть, то добавляем содержимое диска:

# Apt-cdrom add 

в) можно положить образ установочного диска на локальный жёсткий диск и смонтировать его.

Для Alt Linux:

# mkdir /mnt/alt4dvd
# mount -o loop /home/pavel/distrib/alt4dvd.iso /mnt/alt4dvd

Добавим в /etc/apt/sources.list строку:

rpm file:/mnt/alt4dvd ALTLinux base disk contrib

где ALTLinux - каталог на DVD с дистрибутивом, а в ALTLinux/base находятся файлы pkglist.base, pkglist.contrib, pkglist.disk, описывающие имеющиеся на диске 3 набора пакетов. Эти наборы мы и подключили. Сами пакеты находятся в каталогах ALTLinux/RPMS.имя_набора.

Для Debian:

# mkdir /mnt/debian_dvd1 /mnt/debian_dvd2 /mnt/debian_dvd3
# mount -o loop /data/distrib/OS/Debian4.0r5/debian-40r5-i386-DVD-1.iso /mnt/debian_dvd1
# mount -o loop /data/distrib/OS/Debian4.0r5/debian-40r5-i386-DVD-2.iso /mnt/debian_dvd2
# mount -o loop /data/distrib/OS/Debian4.0r5/debian-40r5-i386-DVD-3.iso /mnt/debian_dvd3

В /etc/apt/sources.list добавляем:

deb file:/mnt/debian_dvd1 stable main contrib
deb file:/mnt/debian_dvd2 stable main contrib
deb file:/mnt/debian_dvd3 stable main contrib

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

# apt-get update

Теперь, можно устанавливать пакеты как обычно через "apt-get install".

Установка устаревших пакетов

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

# apt-get install liblzo-devel

The following packages have unmet dependencies:
liblzo-devel: Depends: liblzo (= 1.08-alt2) but 1.08-alt3 is to be installed
E: Broken packages

# apt-get install liblzo=1.08-alt2

Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be DOWNGRADED

Но прежде чем опускаться до более старый версий стоит попробовать обновить информацию о репозитории:

# apt-get update

И установить ещё раз. Если даунгрейд потянет за собой много других пакетов, то может быть имеет смысл открыть в /etc/apt/sources.list доступ к большему числу репозитариев и после команды update, попытаться установить пакет ещё раз, в надежде получить более новую версию с обновлёнными зависимостями.

Так в Alt Linux репозиторий Sysiphus хоть и не стабильный, но имеет более свежие пакеты.

Переустановка всех пакетов системы

# aptitude -F%p search ~i |xargs aptitude reinstall