Менеджер пакетов APT: вопросы и ответы

Update apt-get

$ apt-get autoclean
$ apt-get autoremove
$ apt-get -f install
$ apt-key list | grep "expired:"
$ apt-get update
$ apt-get upgrade

Upgrade aptitude

$ aptitude update
$ aptitude dist-upgrade
$ reboot
$ aptitude update
$ aptitude -f install
$ reboot

A: apt - это Advanced Packaging Tool, система управления пакетами, то есть набор программ для установки, удаления, поиска бинарных пакетов определенных форматов.

A: apt первоначально был разработан для дистрибутива Debian и формата пакетов deb. Ныне используется во всех клонах Debian (Ubuntu, Kubuntu, Mepis, Xandros), а также в некоторыхх rpm based дистрибутивах (например, в Altlinux).

  • apt-get -f dist-upgrade

apt-cache - средство для работы с кэшами пакетов (например, поиса пакетов по ключевым словам), apt-extracttemplates, apt-sortpkgs, apt-cdrom, apt-ftparchive, apt-key, apt-config, apt-get - средство установки и удаления пакетов, apt-setup

A: apt-get update пройдет по всему списку указанному у вас в /etc/apt/sources.list и обновит списки пакетов по всем репозиториям.

A: apt-get upgrade - менее "интеллектуальный" вариант, обновляющий пакеты, которые есть в системе; apt-get dist-upgrade - более "интеллектуальный" вариант, который следит за тем, не сменили ли пакеты имя и пытающийся обновлять более важные пакеты даже ценой удаления менее важных.

A: Точно так же, как и установка пакета: apt-get install <пакет>

A: apt-get remove <пакет>

A: apt-get remove --purge percona*****

  • A: Для того, чтобы точно не осталось, лучше пользоваться apt-get remove --purge<пакет>
  • A: или apt-get purge <пакет>

A: Попробуйте поиск по ключевым словам при помощи apt-cache search <слова>

A: apt-cdrom add должно помочь

A: apt-get install --reinstall вернет пакет к изначальному состоянию, то есть такому, какой он был на свежеустановленной системе.

A: apt-move скорее всего решит полностью вашу проблему, для него достаточно указать, где лежит архив файлов и куда выложить ваше зеркало.

А: Можно: apt-move update - переносит из /var/cache/apt/archives пакеты в директорию локального зеркала (указывается в /etc/apt-move.conf как переменная LOCALDIR=path_to). По сути apt-move update является выполнением последовательности команд

$ apt-move get $ apt-move move $ apt-move delete $ apt-move packages apt-move get - формирует мастер-файл; apt-move move - переносит пакеты из кэша apt в локальное зеркало; apt-move delete - удаляет устаревшие пакеты; apt-move packages - создает Packages.gz и Sources.gz дерева локального зеркала Q: У меня пакеты все уже удалени из кэша, а друг тоже хочет весь "свежак", который у меня установлен... A: Простой скрипт, выполненный в пустом каталоге, соберет в нем пакеты, которые установлены в системе:

dpkg --get-selections | \

grep -v "deinstall" |  \
awk '{print $1}' | \
xargs dpkg-repack

A: Попробуйте пакет debfoster, он при первом запуске спросит у вас о необходимости пакетов и удалит все лишнее.

A: в /var/cache/apt/archives

A: При условии того, что удовлетворены все зависимости, dpkg -i <пакет> приведет к желаемому результату.

A: Либо установив переменную окружения при помощи

А: apt-file - утилита поиска по содержимому пакетов. apt-file update - получает файл Contents-<ARCH>.gz, следует учесть, что исходя из того, что проект Debian довольно большой, то и файл получится соответствующий. apt-file search <файл> - поиск пакета с указанным файлом.

Пример:

apt-file search libodbc.so
unixodbc: usr/lib/libodbc.so.1
unixodbc: usr/lib/libodbc.so.1.0.0
unixodbc-dev: usr/lib/libodbc.so

А: apt-file list <пакет> - отображает содержимое указанного пакета

А: apt-file purge удалить все Contents-<ARCH>.gz. По поводу дополнительных опций - man apt-file

А: deborphan без указания ключа осуществляет поиск в разделе библиотек, с указанием ключа -a поиск ведется во всех разделах. Имеется и интерфейс к deborphan - orphaner, поставляются в одном пакете.

A:

apt-ftparchive contents . | gzip > Contents-i386.gz также с помощью apt-ftparchive можно создавать Sources.gz и Packages.gz apt-ftparchive sources . | gzip > Sources.gz apt-ftparchive packages .| gzip > Packages.gz

  • A: Вариант номер один - посмотреть в сторону jidgo, возможно, он вас устроит
  • A: Вариант номер два - получить недостающие пакеты, но не устанавливать их в систему с помощью аpt-get install -d <пакеты>.

A: Чтобы этого добиться, поместите следующую строку в /etc/apt/apt.conf:

APT::Default-Release "testing"; Затем, при установке пакетов из, например, нестабильного дистрибутива, просто используйте ключ -t: $ apt-get -t unstable install имя_пакета

  • apt-cache -f search apache2-utils
  • apt-cache show sysstat
  • apt-get -f install

apt-get

  • sudo apt-mark hold package_name
  • sudo apt-mark unhold package_name

aptitude

  • sudo aptitude hold package_name
  • sudo aptitude unhold package_name

dpkg

  • echo “wine hold” | dpkg --set-selections
  • echo “wine install” | dpkg --set-selections

/etc/apt/preferences

  • A: Внести изменения в /etc/apt/preferences
  • A: или в /etc/apt/preferences.d/название_пакета_или_сходное_по_спыслу

Пример:

Package: firefox-3.0
Pin: release n=hardy
Pin-Priority: -10

Package: firefox-3.0
Pin: release n=intrepid
Pin-Priority: 900

Package: php5-fpm
Pin: version 5.4*
Pin-Priority: 991
  • apt-get install apt-show-versions
  • apt-show-versions
  • dpkg --get-selections|grep hold
  • apt-get install php5/sid
  • apt-get install php5/unstable
  • apt-get -t unstable install php5
  • apt-cache show -t stable php5-common|grep "Version:"
    • -t stable - указывает на используемый репозиторий (stable, unstable, sid итд)
  • apt-get install --only-upgrade bash :!:
  • apt-get install --only-upgrade postfix
  • apt-key list | grep "expired:"
    pub   2048R/7BD9BF62 2011-08-19 [expired: 2016-08-17]
$ apt-key adv --keyserver keys.gnupg.net --recv-keys F76221572C52609D
$ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F76221572C52609D