Цифровой садик - приветственная

Цифровой садик - приветственная | Полный список всего, что тут есть | RSS | Подписаться через follow.it

13.05.2025

aptitude-apt-dpkg

Установка и удаление программ и многое, что с этим связано.

file:///usr/share/doc/aptitude/html/ru/index.html - русскоязычная документация на компе.

Наиболее часто использую:

Полезности

добавить ключ репозитория

  • Скачать ключ.
  • Положить в /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

Но лучше сначала проверить дату на своём компе.


Если у вас есть мысли, комментарии, предложения или отклики по поводу этой страницы или этого цифрового сада в целом, напишите мне сообщение на agnessa@agnessa.pp.ru. Мне ооочень интересно!

Задонатить.


An IndieWeb Webring 🕸💍