aptitude-apt-dpkg
Установка и удаление программ и многое, что с этим связано.
- aptitude - управление пакетами (консольный интерфейс)
- apt-listchanges - утилита для просмотра изменений в пакете
- apt-rdepends - программа для рекурсивного вывода списка зависимостей, в том числе в виде графа
- apt-xapian-index - про поиск и автодополнение. Предоставляет axi-cache - прога поиска в консоли, но я не использовала. Зря, наверное.
- apt-transport-https и apt-transport-tor — транспорты.
- dpkg - система управления пакетами Debian, подложка всех apt-утилит и aptitude
- dpkg-dev - инструменты сборки пакетов Debian
- debtree - представление зависимостей пакетов графами
- dctrl-tools - инструменты командной строки для работы с информацией из пакета Debian
- debtags - распаковывает информацию о метках пакетов из базы данных apt и предоставляет её системе или в /var/lib/debtags/debtags, или через apt-xapian-index. Также предоставляет некоторые удобные команды для запроса информации о метках.
file:///usr/share/doc/aptitude/html/ru/index.html - русскоязычная документация на компе.
Наиболее часто использую:
aptitude search pattern
- вывести список пакетов, соответствующих шаблону.aptitude update
- обновить сведения о пакетах.aptitude search ~U
- показать обновляемые пакеты (установлены и доступна более свежая версия)aptitude safe-upgrade
- обновить обновляемые пакеты.aptitude search ~N
- показать, какие появились новые пакетыaptitude forget-new
- забыть новые пакеты.aptitude search ~o
— найти устаревшие (obsolete) пакеты.aptitude install packagename
- установить пакет.dpkg -i filename
- установить пакет из файла.aptitude search ~i
- показать установленные пакеты (с пометками, где автоматически установленные), аdpkg-query -l
- с номерами версий. Начало описаний показывают оба.dpkg-query -L package-name
- список файлов, установленных пакетом (найти файлы по пакету).dpkg-query -S filename
- из какого пакета файл (соотв. найти пакет по файлу).aptitude purge packagename
- удалить пакет начисто.aptitude show packagename
- показать описание пакета.
- Установить конкретную версию пакета:
aptitude install <package name>=<version>
. Версия - из тех, что показала командаaptitude versions <package name>
. - Опции в sources.list в квадратных скобках пишутся через пробел. Типа
deb [option1=value1 option2=value2] uri suite component
Сейчас в процессе переход на другой формат, DEB822-STYLE, там расширение файла – .sources. Запись в файле выглядит примерно так
Types: deb deb-src URIs: uri Suites: suite Components: [component1] [component2] […] option1: value1 option2: value2
Полезности
- https://evgenykuznetsov.org/posts/2021/repo/ - мелкорепозиторий своими руками.
добавить ключ репозитория
- Скачать ключ.
- Положить в
/etc/apt/keyrings/
. - В
sources.list
илиsomething.sources
вписать опциюsigned-by=/path/to/keyname.gpg
илиsigned-by: /path/to/keyname.gpg
соответственно.
У меня в былые времена капризничало при добавлении в /etc/apt/keyrings/
, но работало при складывании в /etc/apt/trusted.gpg.d/
. Ключи оттуда apt пытается применить ко всем репозиториям. Сейчас норм, поэтому следую рекомендации так не делать :)
Recommended: Instead of placing keys into the /etc/apt/trusted.gpg.d directory, you can place them anywhere on your filesystem by using the Signed-By option in your sources.list and pointing to the filename of the key. See sources.list(5) for details. Since APT 2.4, /etc/apt/keyrings is provided as the recommended location for keys not managed by packages. When using a deb822-style sources.list, and with apt version >= 2.4, the Signed-By option can also be used to include the full ASCII armored keyring directly in the sources.list without an additional file (божечки, как?!).
Расширения файлов ключей. Make sure to use the "asc" extension for ASCII armored keys and the "gpg" extension for the binary OpenPGP format (also known as "GPG key public ring"). The binary OpenPGP format works for all apt versions, while the ASCII armored format works for apt version >= 1.4.
репозиторий изменил значение поля
Если изменение ок, то
sudo apt-get --allow-releaseinfo-change update
Обмануть dpkg или пересобрать пакет
Прочитала я вилинуховый пост про Scratch, и подумала, почему бы не поставить своему дитяти этакую забавку. Нарыла на сайте deb-пакет, скачала, вознамерилась поставить. И споткнулась об зависимость. Scratch хочет pulseaudio >= 1.0.9, а у меня всего-то 0.9.21-3 (у меня debian squeeze).
Тем не менее, работать недоустановленный Scratch вовсе не отказывался. И сын уже пришёл в восторг от такого способа обучения, временами приходится от компа оттаскивать. :) Подумалось мне, что достаточно будет просто "обмануть" dpkg, чтобы всё стало совсем хорошо.
Способ "обмана" простой. Нужно исправить два файла: /var/lib/dpkg/available и /var/lib/dpkg/status. Разумеется, сначала сделать резервную копию этих файлов, скажем, в available~ и status~ в том же каталоге - на всякий случай. Если что-нибудь внезапно пойдёт не так, можно будет вернуться к исходному варианту. Потом открыть "оригинальные" файлы и найти там строчку "Package: scratch". Немного ниже там же будет в начале строки "Depends:" и перечисление зависимостей, включая и "pulseaudio (>= 1.0.9)". Там-то я и заменила цифирки "1.0.9" на "0.9.21". В обоих файлах. Сохранила.
И велела dpkg таки наконец-то установить этот самый Scratch как следует. Проблем не наблюдаю. Правда, надо предупредить, что и звуком мы там не пользуемся за отсутствием колонок у этого компа. Но по слухам и звук работать должен. :)
Заметим, способ работает, но правильнее поступать иначе. Поставить fakeroot, если его у вас ещё нет, и следовать инструкции:
Распакуем содержимое пакета:
dpkg -x scratch_1.4.0.1-0ubuntu5_i386.deb scratch_1.4.0.1
dpkg -e scratch_1.4.0.1-0ubuntu5_i386.deb scratch_1.4.0.1/DEBIAN`
Откроем файл control c помощью редактора.
` vim scratch_1.4.0.1/DEBIAN/control`
или пройдемся sed.
` sed 's/ (>= 1.0.9)//g' -i scratch_1.4.0.1/DEBIAN/control`
Соберем пакет обратно.
` fakeroot dpkg -b scratch_1.4.0.1 scratch_1.4.0.1-0ubuntu5_fix_i386.deb`
добавить и убрать «архитектуру»
dpkg
- –add-architecture architecture
- Add architecture to the list of architectures for which packages can be installed without using –force-architecture (since dpkg 1.16.2). The architecture dpkg is built for (i.e. the output of –print-architecture) is always part of that list.
- –remove-architecture architecture
- Remove architecture from the list of architectures for which packages can be installed without using –force-architecture (since dpkg 1.16.2). If the architecture is currently in use in the database then the operation will be refused, except if –force-architecture is specified. The architecture dpkg is built for (i.e. the output of –print-architecture) can never be removed from that list.
PPA
On the page of the PPA, look for the heading that reads "Adding this PPA to your system" and click the "Technical details about this PPA" link.
Step 2: Use the Display sources.list entries drop-down box, and select here the latest version of Ubuntu
Step 3: You'll see that the text-box directly below reads something like this:
deb http://ppa.launchpad.net/pogo-dev/stable/ubuntu utopic main
Это добавляется в sources.list
To use this repository safely we also have to add the repository signing key, located on the same page. Here it reads:
Signing key:
1024R/0D4D9B55
The 0D4D9B55 part in the middle, is the key ID, that we will use to add this key to our list of trusted apted sources. As root:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0D4D9B55
Это мы добавили ключ.
Если хочется собрать этот пакет, то apt-get install devscripts build-essential, и затем Install the package source and build the package
All of this is possible with the magical command. As normal user:
apt-get source --build nameofpackage
Note: For this to work you need to uncomment the lines starting with deb-src in /etc/apt/sources.list, or you will get the error "E: You must put some 'source' URIs in your sources.list".
Install the resulting stuff
You have a package in the directory called something like nameofpackage_0.8.3-0-579-ubuntu14.10.1_all.deb You can install it with
dpkg -i nameofpackage_0.8.3-0-579-ubuntu14.10.1_all.deb
Release просрочен
Если вдруг при попытке обновить сведения о пакетах в репозиториях дебиана вылезло сообщение вроде ``E: Файл Release просрочен, игнорируется'', тогда…
Чтобы это дело проигнорировать и всё же обновиться, надо выполнить команду:
aptitude -o 'Acquire::Check-Valid-Until=false' update
Но лучше сначала проверить дату на своём компе.