apt
Содержание
Общее
/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 работает с информаций о каждом файле в пакете.
Список файлов в пакете и их расположение:
также средствами dpkg:
Узнать в каком пакете находится утилита:
Работа с репозиториями
Обновлять и доустанавливать пакеты можно и без доступа в интернет. Для этого:
а) кладём все доступные репозитории на один из локальных компьютеров (напр 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