Quantcast
Channel: Библиотека знаний
Viewing all articles
Browse latest Browse all 1318

Менеджер пакетов Advanced Packaging Tool: вопросы и ответы - [Q: Downgrade или Как понизить версию пакета]

$
0
0

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

  • dpkg - работа с пакетами
  • Начиная с Debian 8 (apt 1.4~beta2 (amd64)) вместо ap-cache или apt-get можно использовать apt

Update apt-get

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

Upgrade aptitude

$ aptitude update
$ aptitude dist-upgrade
$ reboot
$ aptitude update
$ aptitude-finstall
$ reboot

Q: Downgrade или Как понизить версию пакета

Q: Что такое apt?

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

Q: В каких дистрибутивах используется apt?

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

Q: Как обновить дистрибутив

  • apt-get -f dist-upgrade

Q: Какие утилиты входят в состав пакета apt?

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

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 percona*****

Q: А после удаления точно ничего от пакета не останется?

  • A: Для того, чтобы точно не осталось, лучше пользоваться apt-get remove --purge<пакет>
  • A: или apt-get 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: Либо установив переменную окружения при помощи

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

Q: У меня стоит мешанина из stable, testing, unstable и даже кое-что из experimental установил. Как мне сделать, чтобы все в таком виде и обновлялось?

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

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

Q: Как узнать расширенное описание пакета

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

Q: Как исправить зависимости в пакетах

  • apt-get -f install

Q: Как apt-get заставить не обновлять пакет

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

Q: Как понизить версию пакета

Q: Как узнать, какие пакеты можно обновить?

  • apt-get install apt-show-versions
  • apt-show-versions

Q: Как узнать какие пакеты заморожены/стоит пометка о запрете обновления

  • dpkg --get-selections|grep hold

Q: Как обновить из конкретного репозитория?

  • apt-get install php5/sid
  • apt-get install php5/unstable
  • apt-get -t unstable install php5

Q: Как узнать версию пакета?

  • apt-cache show -t stable php5-common|grep "Version:"
    • -t stable - указывает на используемый репозиторий (stable, unstable, sid итд)

Q: Как обновить толь заданный пакет/программу?

  • apt-get install --only-upgrade bash :!:
  • apt-get install --only-upgrade postfix

Q: Как обновить обновить ключ?

  • apt-key list | grep "expired:"
    pub   2048R/7BD9BF62 2011-08-19 [expired: 2016-08-17]
  • apt-key adv --keyserver keys.gnupg.net --recv-keys 7BD9BF62

Viewing all articles
Browse latest Browse all 1318

Trending Articles


Vimeo 10.7.1 by Vimeo.com, Inc.


UPDATE SC IDOL: TWO BECOME ONE


KASAMBAHAY BILL IN THE HOUSE


Girasoles para colorear


Presence Quotes – Positive Quotes


EASY COME, EASY GO


Love with Heart Breaking Quotes


Re:Mutton Pies (lleechef)


Ka longiing longsem kaba skhem bad kaba khlain ka pynlong kein ia ka...


Vimeo 10.7.0 by Vimeo.com, Inc.


FORECLOSURE OF REAL ESTATE MORTGAGE


FORTUITOUS EVENT


Pokemon para colorear


Sapos para colorear


Smile Quotes


Letting Go Quotes


Love Song lyrics that marks your Heart


RE: Mutton Pies (frankie241)


Hato lada ym dei namar ka jingpyrshah jong U JJM Nichols Roy (Bah Joy) ngin...


Long Distance Relationship Tagalog Love Quotes