LINUX.ORG.RU

Какие есть ещё source based пакетные менеджеры с проверкой зависимостей?

 , source based,


1

1

Кроме portage? Какие пакетные менеджеры есть на slackware-based дистрибутивы с разруливанием зависимостей?
Как обстоят дела с ABS и Sourcery?

P.S. Мне нужен fglrx (старая видюха), а это значит xorg-server не новее 1.17.49, если верить ебилду.

★★★★★

Хе, это не только старые иксы надо, это ещё ядро надо старое с не выпиленной user mode switch.

anonymous
()

Неужели никто не использует пакетные менеджеры на slackware ?
Кто нибудь пробовал ABS в арче или Sourcery?

teod0r ★★★★★
() автор топика
Ответ на: комментарий от rbh-17m

а как пользоваться этим asp? нужно будет вручную создавать рецепт для ./configure --опции для каждого пакета? есть готовые рецепты? он выполняет автоматическое разруливание зависимостей? можно ли выполнив что-то типа ROOT=/mnt asp install @world установить с нуля в пустом /mnt всю систему?

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

Тебя именно пакетные менеджеры интересуют или полностью source-based-дистрибутивы? А то pacman+yaourt или pacaur умеют в сорцы (PKGBUILD) и разруливание зависимостей одновременно. В принципе при желании можно и весь арч пересобрать с помощью pacman+yaourt: yaourt -Sb заставит собрать пакет из сорцов (удовлетворив зависимости, конечно), даже если это пакет из реп с наличием бинарной версии.

Psych218 ★★★★★
()

slapt-get и графическая морда к нему gslapt — для хранилищ бинарных пакетов.
slapt-src и графическая морда к нему sourcery — для хранилищ слакбилдов.
Эта «комбинация» штатно используется в Salix и SLINT.

Для слакбилдов также напридумывали в последнее время много чего: sbopkg, slpkg, еще что-то... Можно глянуть анонсы на оф.форуме http://www.linuxquestions.org/questions/slackware-14/ ...

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

Тебя именно пакетные менеджеры интересуют или полностью source-based-дистрибутивы?

source-based пакетные менеджеры с разруливанием зависимостей.

pacman+yaourt или pacaur умеют в сорцы (PKGBUILD) и разруливание зависимостей одновременно

посмотрю

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

с помощью pacman+yaourt: yaourt -Sb заставит собрать пакет из сорцов

Замечал, что при использовании -Sb порой выкачиваются сорсы более старой версии.

Radjah ★★★★★
()

Мне нужен fglrx (старая видюха), а это значит xorg-server не новее 1.17.49, если верить ебилду.

А это с ПМ вообще никак не связано.
.run умеет строить пакеты для Slackware самостоятельно.
Последняя Slackware, штатно удовлетворяющая версии xorg — 14.1.
В 14.2 уже штатно xorg-server-1.18.x и пользователи fglrx оказались за бортом.

Простой вариант — взять 14.1.
Сложнее — взять 14.1, взять в source/ слакбилд от xorg и пересобрать себе 1.17.x или любой из тех, что ниже.
Еще сложнее — взять 14.2 и попробовать сдаунгрейдить xorg-server до 1.17.х, попутно понижая версии того, с чем он откажется собираться.

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

sourcery это который в дистрибутиве sourcemage?

Нет, из Salix (писал же выше):
https://docs.salixos.org/wiki/Sourcery

Но для сборки xorg в Slackware он не нужен, там слакбилд и так довольно интеллектуальный, сильно не такой, как все прочие. Внутри всё написано...
http://slackware.uk/slackware/slackware64-14.2/source/x/x11/

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

Было такое после того как abs задепрекейтили, а yaourt ещё не обновился, примерно в момент выхода firefox 54. Сейчас пофикшено.

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

благодарю. посмотрю. буду пробовать.
какой-нибудь slackware или arch based дистрибутив.

teod0r ★★★★★
() автор топика

Какие есть ещё source based пакетные менеджеры с проверкой зависимостей?

alpine, yocto, freebsd, macports и сотни их! И да зависимости все умеют - тот же rpm не исключение.

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

есть ли slackware-based дистры, которые live и записываются с помощью dd на флешку? все которые пробовал не загружаются с флешки, на которую я делал dd образа

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

Slackware Live Edition:
https://alien.slackbook.org/blog/slackware-live-edition/

Сама Slackware — консольный live.

Salix имеет live варианты, см. SalixLive (про dd не знаю).

Puppy Linux (на базе 14.1).

bormant ★★★★★
()
Последнее исправление: bormant (всего исправлений: 2)

раньше были ports для линукса.

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

Не встречал.
Но если такой тарбол нужен, сделать его самостоятельно не составит труда:

# mkdir /cr
# ROOT=/cr installpkg список нужных для будущей системы пакетов
# for d in dev proc sys; do mount --bind /$d /cr/$d; done
# chroot /cr

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

ROOT=/cr installpkg список

возможно, то что мне нужно.

ещё же как-то можно распаковывать iso обрас, монтировать...
попробую вытащить окружение для чрута

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

iso обрас монтировать

# mkdir -p /куда/смонтировать
# mount -o loop /путь/до/образа.iso /куда/смонтировать
bormant ★★★★★
()
Ответ на: комментарий от teod0r

Вероятно, если более конкретно сформулировать желаемое (причем не предполагаемый путь к результату, а что именно в итоге хочется получить), то можно получить намного более конкретный совет по достижению желаемого...

Пока не совсем понятно, что же именно хочется сделать.

Если поставить 14.2 с поддержкой fglrx, то всё проще простого: ставим 14.2 (а ставится она в текстовом режиме, поддержка графики на этом этапе и далее для сборки не нужна вовсе), затем делаем upgradepkg /tmp/xorg-server-* пакетами с 1.17.4, где их взять — выше давал ссылку на LQ.

Если нет доверия тем бинарным пакетам, в поставленной 14.2 качаем содержимое /source/x/xorg-server без сырцов, качаем туда ванильные сырцы xorg-server-1.17.4, зовем слакбилд для сборки xorg-server-*, ставим полученные пакеты.
Нужно проверить собираемость xorg-server-* в актуальной 14.2?

Если вдруг хотелось загрузить установщик с HDD, то:
https://docs.slackware.com/howtos:slackware_admin:booting_install_from_hdd

Если по каким-то причинам задать подобные вопросы не представляется возможным здесь, то есть slackware.ru, slackware.su, тематические разделы на linuxforum.tech, unixforum.org, можно задать их там...

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

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

ещё вопрос по пакетным менеджерам слаковских дистров. какие есть пакетные менеджеры на слаку? что означают TXZ, XZ, slapt-get в графе Package Management на distrowatch.com? что-то, вроде, есть кроме slapt-get

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

в изо разных слаковых дистров squashfsы кусков файловой системы. цельной файловой системы не нашёл ни в одном из дистров

Такое только в livecd от Эрика, в Slax, может где-то еще. В стоковой слаке обычный initrd (cpio+gzip) в качестве установочной среды.

цельной файловой системы не нашёл ни в одном из дистров

Даже боюсь предположить, что же помешало смонтировать весь этот бутерброд из overlayfs, чтобы получить «цельную ФС» ?

пологаю есть какая-то консольная команда для запуска процесса установки.

В ярлыке на рабочем столе можно посмотреть.

вопрос по пакетным менеджерам слаковских дистров

pkgtools, который включает pkgtool, installpkg, removepkg, upgradepkg, explodepkg, makepkg — сценарии оболочки. Остальные, вроде slackpkg, slapt-get и т.д. хорошим тоном считают дёргать утилиты родного ПМ, и это правильно.

что означают TXZ, XZ, slapt-get в графе Package Management на distrowatch.com?

Да кто ж их разберёт, что они там себе выдумывают.
pkgtools поддерживает пакеты — сжатые тарболы, информация установщика в каталоге /install/ внутри тарбола. В суффиксе .t?z средняя буква обозначает компрессор: x — xz, g — gzip, l — lzma, b — bzip2.
slackpkg, slackpkg+, slapt-get — это не про формат пакета, это про формат репозитория. Они одинаковы (почти), текстовый файл PACKAGES.TXT (может быть пожат — PACKAGES.TXT.gz) с полями метаинформации, но slapt-get и некоторые умеют обрабатывать поля про зависимости пакета (PACKAGE REQUIRES, PACKAGE SUGGESTS, PACKAGE CONFLICTS), а slackpkg — нет.

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

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

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

pkgtools

странный путь пока не выбран. попробую в генте установить этот pkgtools заместо чрутаний и установок слаки на диск

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

я не нашёл сайта проекта pkgtools. нашёл только проекты slakpkg и slapt-get. последние не входят в pkgtools? где можно взять исходники pkgtools?

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

pkgtools

mina86/pkgtools на гитхабе это эно?

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

можешь рассказать чем pkgtools отличаются от slackpkg, slackpckg+, slapt-get, то есть какую функцию какой пакет из этих выполняет?

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

installpkg — устанавливает файл пакета в систему
removepkg — удаляет пакет по его имени (база установленных пакетов в /var/log/{packages,scripts,removed_packages,removed_scripts})
upgradepkg — обновляет из файла пакета ранее установленный пакет (installpkg+removepkg)
explodepkg — распаковывает файл пакета (почти tar xf)
makepkg — собирает в пакет дерево файлов от текущего каталога
pkgtool — показывает менюшку (dialog) для общеупотребительных действий.
Это были pkgtools — основной ПМ. Несложно заметить, что все они работают с файлами пакета (кроме remkvepkg). Все они шелл-сценарии, можно открыть и почитать. Соответственно исходники — на любом зеркале Slackware, например,
http://slackware.uk/slackware/slackware-14.2/source/a/pkgtools/
http://slackware.uk/slackware/slackware-current/source/a/pkgtools/
см. каталог scripts/

mina86/pkgtools на гитхабе это эно?

Тоже оно, но насколько соответствует тому, что в дистрибутиве — надо проверять.

slackpkg предназначен для работы с официальным хранилищем пакетов: синхронизировать кэш сведений о пакетах, вычислить, что нужно обновить или удалить, загрузить что-то из хранилища. Для непосредственно установки/удаления использует утилиты pkgtools (и правильно делает).

slackpkg+ — плагин для slackpkg, позволяющий работать с несколькими хранилищами.

slapt-get — написанный на Си аналог apt-get для Slackware. Задачи — как у slackpkg — общение с хранилищем пакетов.

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

благодарю.
если мне нужно самому создавать пакеты или править существующие, мне нужно смотреть скрипт makepkg?

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

если мне нужно самому создавать пакеты или править существующие, мне нужно смотреть скрипт makepkg?

Логично. Только что его смотреть? Его позвать надо в подготовленном дереве файлов пакета, он это дерево в пакет и соберет.
К этому желательно добавить бинарник /bin/tar-1.13 из любого пакета tar от Slackware.
Ну и почитать про весьма несложные требования к пакетам Slackware.

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

Если можно сделать как надо или абы-как, то лучше сделать как надо :-) После 1.13 было изменение в логике работы tar, ломавшее поведение ПМ.
Поэтому в Slackware до сих пор лежит отдельный бинарник /bin/tar-1.13, дабы такая важная часть дистрибутива, как пакетный менеджер, не зависела от любых будущих причуд разработчиков tar. Вполне обоснованное и взвешенное решение.

Подробности можно почитать на оф.форуме
https://www.linuxquestions.org/questions/slackware-14/
поиском по «tar-1.13».

bormant ★★★★★
()
28 сентября 2017 г.
Ответ на: комментарий от bormant

хочу попробовать загрузить грабом .iso напрямую.
что писать в строке linux (loop)/ конфига граба? и нужна ли строка с initrd?

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

складывается впечатление, что зачем-то выбран странный путь к гландам через неведомую жопу

всё потому, что у слаки нет распространения образом, который может быть записан на флешку командой dd, а также нет тарбола, в который можно просто чрутнуться. слака распространяется через неведомую жопу.

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

Nix/Guix

мне не нравится, что там структура каталогов как в виндовсе, под каждую программу отдельный каталог.

teod0r ★★★★★
() автор топика

pkgsrc из netbsd есть. линукс вроде поддерживается.

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

Пишите на здоровье, хоть при помощи dd — последние несколько лет (и выпусков) ISO-шки гибридные, хоть способом, описанным в /usb-and-pxe-installer, либо любым другим способом грузите ее установочное окружение (состоит из ядра и inird.img)...
Сам установщик к пакетам не привязан и может брать их где придется...

PS. Ты выглядишь так несовременно, у-у-у (q) В.Цой

PPS. Тарбол, в который можно просто чрутнуться — распакуйте initrd.img и чрутайтесь на здоровье... Все ж под носом лежит. Куриная слепота аль иная хворь какая застит?

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

Сейчас точно не вспомню, но идея проста — ядра в /kernels, установочное окружение в /isolinux/initrd.img, параметры, с которыми это грузится по умолчанию, см. в /isolinux/isolinux.cfg, а в 64-разрядном образе в /efi/boot лежит efi-шный бинарь GRUB, grub.cfg, копии ядра и initrd.img, параметры прописаны те же самые.

bormant ★★★★★
()
Последнее исправление: bormant (всего исправлений: 3)
12 ноября 2017 г.
Ответ на: комментарий от bormant

вобщем накатил я слаку.
но в одном месте я ошибся. я автоматом не подумав скопировал /etc/fstab из старой генты в новую слаку, даже не посмотрев, что там было по дефолту.
начал обновлять систему по слаковской вике и заметил, что тарболы качает в /var/cache, который, естественно, никак не в tmpfs.
можешь, пожалуйста скинуть дефолтный fstab, чтоб я знал, что там должно быть? или какой командой пакетного менеджера восстановить этот файл?

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

/etc/fstab формируется целиком при установке.

1. setup задает вопрос про обнаруженный swap-раздел (допустим, sda1), добавляет
/dev/sda1 swap swap defaults 0 0

2. setup задает вопрос про обнаруженные Linux-овые разделы, кто из них корень (допустим, ext4 sda2), добавляет
/dev/sda2 / ext4 defaults 1 1

3. setup задает вопрос про обнаруженные Linux-овые разделы, добавлять ли их в fstab и куда мантировать (допустим, ext4 sda3 /home), добавляет
/dev/sda3 /home ext4 defaults 1 2

4. setup задает вопрос про обнаруженные Wind-овые разделы, добавлять ли из, дает выбрать вариант монтирования (через ntfs как ro или ntfs-3g как rw)...

5. Помимо указанного только:

/dev/fd0         /mnt/floppy      auto        noauto,owner     0   0
#/dev/cdrom /mnt/cdrom auto noauto,owner,ro,comment=x-gvfs-show 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0

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

тарболы качает в /var/cache, который, естественно, никак не в tmpfs

В /var/cache — так указано в /etc/slackpkg/slackpkg.conf:

# Downloaded files will be in directory below:
TEMP=/var/cache/packages

После успешного обновления пакеты будут удалены, поменять можно там же:
# If DELALL is "on", all downloaded files will be removed after install.
DELALL=on

Сперва качается все необходимое для обновления. Можно перереключить на «скачал пакет, поставил пакет, ...», но это небезопасно:
# If this variable is set to "on", all files will be downloaded before the
# requested operation (install or upgrade) is performed.   If set to "off",
# then the files will be downloaded and the operation (install/upgrade)
# performed one by one.  Default=on
DOWNLOAD_ALL=on

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

мне не нравится, что там структура каталогов как в виндовсе, под каждую программу отдельный каталог.мне не нравится, что там структура каталогов как в виндовсе, под каждую программу отдельный каталог.

«Файлопомойка в слаке начинается с /». (C)

Суть Nix не в том, что каждая программа в отдельном каталоге, а в иммутабильности, декларативности и воспроизводимости. Если ты не понял, зачем это нужно, то ты от венды недалеко ушёл.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.