LINUX.ORG.RU

Как в Debian называются гентушные слоты?

 ,


0

1

Пакетный менеджер Gentoo позволяет устанавливать несколько версий одного пакета, или несколько экземпляров одного приложения, если для этого написать несколько .ebuild-файлов с разными значениями переменной SLOT. Как то же самое проделать в Debian?

Я сходу в интернете не нашел, там предлагают мусорить:
https://serverfault.com/questions/411630/install-multiple-instances-of-a-program-from-deb-file-to-different-locations
то есть устанавливать программу без внесения в базу данных установленных программ.

★★★★

Дебиане нет такого понятия, как слоты или аналога этого. Ты можешь установить куда-то в /opt аплеку и юзать ее оттуда

serg002 ★★★
()
Последнее исправление: serg002 (всего исправлений: 1)
Ответ на: комментарий от serg002

Не верю. Как они живут-то без этого?

The list of installed packages is stored in /var/lib/dpkg/status
https://unix.stackexchange.com/questions/654369/where-does-debian-store-the-list-of-installed-packages

Мнения о том, для чего нужна директория /var/lib/dpkg/status различаются (и это плохо, придётся выяснять долго и мучительно):
the local database used by apt-cache so that you can obtain such information faster and without internet access.
может это вообще не директория, а файл...

/var/lib/aptitude/pkgstates is only used by aptitude.

Shushundr ★★★★
() автор топика
Последнее исправление: Shushundr (всего исправлений: 3)
Ответ на: комментарий от Shushundr

Не верю. Как они живут-то без этого?

Это нужно очень редко, обычно для этого отдельные пакеты:

https://packages.debian.org/stretch/any/php7.0

https://packages.debian.org/buster/any/php7.3

nebularia ★★★
()
Последнее исправление: nebularia (всего исправлений: 3)
Ответ на: комментарий от nebularia

То есть, иметь одновременно установленными несколько версий одной библиотеки в разные места всё-таки можно. А слот они указывают тупо в имени пакета.

Мне пока неизвестно, куда записываются места установки пакетов (директории), чтобы потом было понятно, как пакеты деинсталлировать.

Shushundr ★★★★
() автор топика
Последнее исправление: Shushundr (всего исправлений: 1)
Ответ на: комментарий от Shushundr

В чём разница между установкой разных слотов и разных пакетов? Если зависимости идут именно на слоты обычно.

nebularia ★★★
()
Ответ на: комментарий от Shushundr

Мне пока неизвестно, куда записываются места установки пакетов (директории), чтобы потом было понятно, как пакеты деинсталлировать.

Средствами менеджера пакетов, не? Зачем руками?

nebularia ★★★
()
Ответ на: комментарий от nebularia

Разница в управлении. Когда пакеты совсем разные, неясно, что у них общего. А когда они отличаются только слотом, ясно что это одна и та же программа. Теперь понятно, почему в Debian больше пакетов чем в других дистрибутивах. Гордиться тут нечем.

Shushundr ★★★★
() автор топика
Ответ на: комментарий от nebularia

Я не собираюсь руками, мне нужно понимание того, как всё устроено.

В частности:

  1. как в пакете определяется место, куда программа будет установлена по-умолчанию.

  2. если пакет установлен не в место по-умолчанию, то как пакетный менеджер запоминает - куда именно.

Shushundr ★★★★
() автор топика
Последнее исправление: Shushundr (всего исправлений: 2)
Ответ на: комментарий от Shushundr

Теперь понятно, почему в Debian больше пакетов чем в других дистрибутивах.

Это довольно редкий случай, когда надо несколько версий держать. Мне пришлось вспоминать, где бы это было нужно.

Причина количества пакетов в другом - пакеты разбиваются на мелкие части, где-то исполняемые файлы, где-то либы отдельные. Так, чтобы при установке пакета, у которого есть зависимость от библиотеки, не тащить пакет целиком, как это сделано в Gentoo и в меньшей степени в других дистрибутивах.

Тем не менее, официальных пакетов всё равно больше, чем в генте или арче, и это плюс данного дистрибутива. Но могут быть тухлые, это его минус)

nebularia ★★★
()
Ответ на: комментарий от Shushundr

Не выбирается там никакое место пакетным менеджером. Всё это делается на этапе сборки, ПМ просто устанавливает всё туда, как лежит в пакете.

Сравни:

https://packages.debian.org/buster/amd64/php7.3-common/filelist

https://packages.debian.org/stretch/amd64/php7.0-common/filelist

nebularia ★★★
()
Ответ на: комментарий от Shushundr

Суть бинарных дистров в том, что такие вещи перекладываются на мейнтейнеров)

nebularia ★★★
()
Ответ на: комментарий от nebularia

Это довольно редкий случай, когда надо несколько версий держать. Мне пришлось вспоминать, где бы это было нужно.

Игори и какой-нибудь копролит.

utanho ★★★★★
()

Debian: слоты не нужны, мэйнтейнер ведь всегда может вручную собирать некоторые пакеты с разными именами и путями всего. А сверху обмазать альтернативами.

Gentoo: мдааа. слоты!

NixOS: вы все ещё распаковываете в /? ну вы даёте, ребята. слоты не нужны

t184256 ★★★★★
()
Ответ на: комментарий от Shushundr

надо было сразу подбирать палку по хиртоумные ходы своей попы %)
тож пытаюсь вспомнить необходимость требования разных пакетов.

как вариант ставить через dpkg –instdir=dir (хотя думаю лучше будет с –root) и потом костылить, наподобии никсоса, сборный корень под конкретную пограмку.

вообще лучше ставить лфс - он весь в твоей власти, без всяких лишних запудриваний мозгов от дистроделов.
сам фсё делаешь - сам за фсё отвечаешь :)

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.