Q: Как обновить список пакетов?
A:
apt-get update
пройдет по всему списку указанному у вас в
/etc/apt/sources.list
и обновит списки пакетов по всем репозиториям.
Q: Списки я обновил, как теперь обновить сами пакеты?
A:
apt-get upgrade
- менее "интеллектуальный" вариант, обновляющий пакеты, которые есть в системе;
apt-get dist-upgrade
- более "интеллектуальный" вариант, который следит за тем, не сменили ли пакеты имя и пытающийся обновлять более важные пакеты даже ценой удаления менее важных.
Q: А я не хочу все обновлять, как мне обновить только один пакет?
A: Точно так же, как и установка пакета:
apt-get install
<пакет>
Q: Как удалить пакет?
A:
apt-get remove <пакет>
Q: А после удаления точно ничего от пакета не останется?
A: Для того, чтобы точно не осталось, лучше пользоваться
apt-get remove --purge <пакет>
Q: Как мне узнать, как называется пакет для какой-то определенной цели?
A: Попробуйте поиск по ключевым словам при помощи
apt-cache search <слова>
Q: Мне принесли компакты дистрибутива, которых у меня не было, как мне их добавить?
A:
apt-cdrom add
должно помочь
Q: Мне кажется, что меня взломали и что-то сделали с <пакетом>
A:
apt-get install --reinstall
вернет пакет к изначальному состоянию, то есть такому, какой он был на свежеустановленной системе.
Q: Очень хочется создать локальное зеркало, в какую сторону смотреть?
A:
apt-move
скорее всего решит полностью вашу проблему, для него достаточно указать, где лежит архив файлов и куда выложить ваше зеркало.
Q: А подробнее про 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
Q: Есть подозрение, что из-за моих экспериментов в системе много мусора...
A: Попробуйте пакет
debfoster
, он при первом запуске спросит у вас о необходимости пакетов и удалит все лишнее.
Q: Где по умолчанию лежат пакеты, которые мне скачал
apt-get
?
A: в
/var/cache/apt/archives
Q: Как мне поставить один
*.deb
пакет в систему?
A: При условии того, что удовлетворены все зависимости,
dpkg -i <пакет>
приведет к желаемому результату.
Q: Как заставит apt работать через proxy сервер?
A: Либо установив переменную окружения при помощи
export http_proxy="http://login:password@xxx.xxx.x.xx:yyyy"
либо прописав в файл
/etc/apt/apt.conf
строку
Acquire::http::Proxy "http://xxx.xxx.xx:yyyy";
где
xxx.xxx.xx
- имя вашего прокси,
yyyy
- порт
Q: Я хочу определить в каком пакете необходимый мне файл (например,
libodbc.so
).
А:
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
Q: А как просмотреть полный список содержимого пакета?
А:
apt-file list <пакет>
- отображает содержимое указанного пакета
Q: Я больше не собираюсь использовать apt-file, а Contents-
.gz занимает место на диске.
А: apt-file purge
удалить все Contents-<ARCH>.gz
.
По поводу дополнительных опций - man apt-file
Q: Как мне найти неиспользуемые (осиротевшие) пакеты?
А:
deborphan
без указания ключа осуществляет поиск в разделе библиотек, с указанием ключа
-a
поиск ведется во всех разделах. Имеется и интерфейс к
deborphan
-
orphaner
, поставляются в одном пакете.
Q: есть локальный репозиторий из дистрибутивных дисков.
Packages.gz
сделал, а вот как сделать
Contents-<ARCH>.gz
для того, чтобы
apt-file
'ом можно было пользоваться?
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
Q: хочется создать дистрибутив некоторых выбранных пакетов и залить его на болванки. При этом хочется поместить на болванки и пакеты, не установленные в моей системе. Как это объяснить
apt-move
?
A: Вариант номер один - посмотреть в сторону
jidgo
, возможно, он вас устроит, вариант номер два - получить недостающие пакеты, но не устанавливать их в систему с помощью
аpt-get install -d <пакеты>
.
Q: У меня стоит мешанина из
stable
,
testing
,
unstable
и даже кое-что из
experimental
установил. Как мне сделать, чтобы все в таком виде и обновлялось?
A: Чтобы этого добиться, поместите следующую строку в
/etc/apt/apt.conf
:
APT::Default-Release "testing";
Затем, при установке пакетов из, например, нестабильного дистрибутива, просто используйте ключ
-t
:
$ apt-get -t unstable install имя_пакета
Помимо этого рекомендуем прочитать
man apt-preferences
Всё честно взято отсюда: http://citkit.ru/articles/130/