LINUX.ORG.RU

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

 , , ,


0

1

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

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

★★★★★

Ответ на: комментарий от teod0r

Там же делов на полчаса с перекурами от установки до конечного результата.
Может расписать или скриншотов наделать?
Или еще чем помочь?

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

Почему вы не хотите взять несколько готовых бинарных пакетов, на ftp://ftp.pieskovisko.sk они в наличии? Их подпись легко проверить.

А про ошибку, вы забыли учесть, что сообщение написано 17.03.2016 и касается slackware-current, а эта ветка с тех пор очень сильно изменилась. Возьмите x11 из slackware-14.2/source/x/.

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

А про ошибку, вы забыли учесть, что сообщение написано 17.03.2016 и касается slackware-current, а эта ветка с тех пор очень сильно изменилась. Возьмите x11 из slackware-14.2/source/x/.

попробовал скачать с mirror.slackbuilds.org/slackware/slackware64-14.2/source/x/x11/ — та же ошибка

config.status: executing sdksyms commands
make: error while loading shared libraries: libgc.so.1: cannot open shared object file: No such file or directory

Почему вы не хотите взять несколько готовых бинарных пакетов, на ftp://ftp.pieskovisko.sk они в наличии?

там нету x86_64, только i586

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

там нету

Разве?
ftp://ftp.pieskovisko.sk/pub/slackware/slackware64-current/slackware64/x/

На зеркалах бинарные деревья имеют разные верхние каталоги, slackware у 32-разрядных и slackware64 у 64-разрядных.

А про отсутствие libgc.so.1 — у вас обрезанная установка Slackware?
Не хватает l/gc, да?

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

slackware64 у 64-разрядных

благодарю. нашёл

у вас обрезанная установка Slackware?

Не хватает l/gc, да?
действительно, не хватало. установил.

иксы успешно установились.

возникла необходимость установить rxvt-unicode, но команда slackpkg search rxvt-unicode вывела, что нет такого пакета, хотя гуглинг показал, что он есть на slackbuilds.org. как оттуда правильно установить?

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

slackbuilds.org. как оттуда правильно установить?

Вариантов масса.

Самый тривиальный — руками:

# export PKGTYPE=txz  # можно куда-то в ~/.bashrc или ~/.bash_profile

# mkdir ~/bld; cd ~/bld
# wget http://slackbuilds.org/slackbuilds/14.2/system/rxvt-unicode.tar.gz
# tar xf rxvt-unicode.tar.gz
# cd rxvt-unicode
# . *info
# wget $DOWNLOAD
# bash *Build

# upgradepkg --install-new /tmp/rxvt-unicode-$VERSION-*t?z

Можно поставить sbopkg (sbopkg.org), тогда команда будет несколько короче:
# export PKGTYPE=txz
# sbopkg -r   # обновление сведений о пакетах
# sbopkg -i rxvt-unicode

PKGTYPE — косметика, по-умолчанию SBo использует tgz, но они получаются несколько крупнее, чем txz. Если файл пакета не предполагается где-то сохранять, то смысла немного.

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

Ах да, на https://slackonly.com/ есть уже собранные пакеты с SBo. Для пакетов без вариантов сборки, вероятно, может иметь смысл. Для пакетов вроде ffmpeg — вряд ли, поскольку собирается умолчальный вариант, а он обычно почти бесполезен.

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

я второй раз запустил установщик с ключём --force. первый раз ругался, что нет какого-то .h файла в директории /lib/modules/4.5.7/build/что-то там... говорил, что нужны какие-то утилиты

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

надо какие-то?

Выше ссылку давал на тему на LQ, там было написано и про даунгрейд xorg как бинарными пакетами так и сборкой их исходнков, а также тарбол патчей и ссылка на соседнюю тему про то, как их накладывать.

Кстати, в 14.2 стоковое ядро 4.4.14, обновленное — 4.4.88.
Вы собираете для 4.5.7 — это самоуверенность или осведомленность?

Часть набора для версий посвежее можно в репе арча потянуть (только внимательнее, то что для systemd — то обычно брать не нужно).

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

под эту версию ядра в генте fglrx устанавливается.
буду смотреть как накладывать патчи.
и такой вопрос: в слаке синхронизацию патчей надо как-то отдельно делать? не командой slackpkg update; slackpkg upgrade-all? тут https://docs.slackware.com/slackware:beginners_guideсказано, что надо настраивать какую-то синхронизацию в кронтаб...

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

под эту версию ядра в генте fglrx устанавливается

Ок. Будем считать — осведомленность.

такой вопрос: в слаке синхронизацию патчей надо как-то отдельно делать?

Это к слаке вообще отношения никакого не имеет ;-)

Сборка:
https://www.linuxquestions.org/questions/slackware-14/amd-catalyst-15-9-and-s...

Набор патчей оттуда:
https://www.linuxquestions.org/questions/slackware-14/i-would-like-to-downgra...

Есть смысл предварительно собрать в пакет, установщик поддерживает.

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

Это к слаке вообще отношения никакого не имеет ;-)

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

Набор патчей оттуда:

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

Есть смысл предварительно собрать в пакет, установщик поддерживает.

а для чего это нужно?

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

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

Вполне логично.
На самом деле в 99,9% случаев это будут одни и те же патчи. По крайней мере в той части, что не специфична для конкретного дистрибутива.

ну там же по ссылке что я давал написано про синхронизацию патчей

Это совсем про другое. Речь о жизненном цикле выпуска Slackware. Выпуску дается номер, дерево slackware*-current на момент выпуска отделяется в номерную ветку, например, slackware64-14.2/. После этого любые изменения выпуска приходят в каталог /patches/ в виде пакетов в /patches/packages/ и исходников и слакбилдов в /patches/source/. Такие изменения обычно латают критические уязвимости, обнаруженные после выхода выпуска, и являются совместимыми с ПО выпуска (мажорные версии задирать не принято), что обеспечивает надежную работу выпуска на протяжении всего его жизненного цикла.
Устанавливать эти обновления необходимо для своевременного латания дыр безопасности.
Делать это автоматом по cron-у или руками — решать вам как администратору. Поскольку зачастую такие изменения затрагивают и конфиги, то лучше руками — для нетронутых конфигов слияние не требует ручной работы, но как смержить ваши индивидуальные настройки софта и насколько изменения совместимы с тем, что сделано у вас, апдейтер не знает.

По теме fglrx — поскольку есть часть в виде модуля ядра, то обновления ядра повлекут необходимость пересобрать ядерную часть драйвера.

собрать в пакет, установщик поддерживает.

а для чего это нужно?

Прежде всего, для корректного удаления.

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

Прежде всего, для корректного удаления.

а как правильно собрать в пакет? в приведённой ссылке для установки используется команда ./ati-installer.sh 15.201 --install

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

Установщик умеет собирать пакет Slackware:

# ./ati-installer 15.201 --buildpkg Slackware/Slackware
Ставить как обычно, в каталоге с пакетом:
# upgradepkg --install-new fglrx-15.201.1151-x86_64-1.tgz
Насколько могу видеть, укладывает в пакет сжатый модуль драйвера:
lib/modules/$(uname -r)/external/fglrx.ko.gz
в то время как Slackware использует несжатые. Если в этом будет проблема, можно пересобрать пакет либо через explodepkg, распаковку модуля и последующий makepkg, либо воспользоваться временным каталогом, который и был использован для создания поддерева под запаковку:
packages/Slackware/_working_directory_/
выполнив модификации в нем и собрав в пакет при помощи makepkg.

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

я ступил. надо было выполнить aticonfig --px-igpu для отключения дискретной карты. теперь температура в норме.
слака потребляет мегабайт на 50 меньше оперативы чем гента

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

слака потребляет мегабайт на 50 меньше оперативы чем гента

странная вещь. чрутнулся из генты на флешку со слакой — и там free и top показывают мегабайт на 70 меньше занятой памяти.
чрутнулся на флешку с гентой, а там показывает столько же занятой, сколько на корневой системе
cast bormant

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

В мегабайтах и мебибайтах?
Или в байтах такая разница?
В Slackware
free -m показывает в мебибайтах (байты/1024/1024),
free -mega покажет в мегабайтах (байты/1000/1000).

free -h при выводе использует бинарные множители (1024) для показа суффиксов K/M/G/T/P.

Исходники /bin/free непатченые ^): http://slackware.uk/slackware/slackware-14.2/source/a/procps-ng/

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

такой вопрос:
как можно почистить систему от библиотек, от которых ничего не зависит?
и как удалить пакеты, зависимости которых не установлены?
т.е. аналог команды emerge -c в генте

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

Автоматически — никак, пакеты не содержат сведений о зависимостях.

Для бинарных зависимостей рекомендую sbbdep, ведет базу прямых и обратных (ключик --whoneeds) зависимостей.
В бинарном пакете есть у Эрика:
http://www.slackware.com/~alien/slackbuilds/sbbdep/

Если установлен slackpkg+ и подключено хранилище alien:

# slackpkg install sbbdep

Если установлен slapt-get и подключено хранилище alien:
# slapt-get -i sbbdep


Можно посмотреть на хранилища Salix, они дополнены информацией о зависимостях и в отношении пакетов Slackware.

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

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

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

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

В чистом виде такого нет, подобная задача обычно решается обычным backup/restore. Но можно поставить руками при помощи pkgtool, без установщика (fstab и еще по мелочи придется создать ручками).
Набор пакетов задается tagfile-ами.

Из установщика аналогично можно задать нужное подмножество при помощи tagfile-ов.

Собрать tagfile-ы по текущей установке можно наколхозив небольшой скриптик (или поискав его на LQ, если правильно путаю, видел его там; или у Эрика, не помню уже точно). Ну или руками расставить ADD/SKP сообразно желаемому результату в копии slackware*/*/tagfile

Другой вариант: собираем шаблон по slackpkg --generate-template шаблон, ставим A, AP/slackpkg, грузим, используем slackpkg --install-template шаблон. Если не нужно ставить весь A, рихтуем соответственно a/tagfile, выбираем вариант установки tagfile.

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

такая проблема:
не работают комбинации CTRL+LEFT/RIGHT для перескакивания курсора между словами.
ещё бы хорошо чтоб работало SHIFT+UP/DOWN для прокрутки экрана вверх-вниз на одну строку, если это возможно. (SHIFT+PG_UP/PG_DOWN работает).
ещё почему-то курсор не мигает.

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

Про комбинации клавиш см. man readline

не работают комбинации CTRL+LEFT/RIGHT для перескакивания курсора между словами

Научите в консоли работать (комментарий)

ещё почему-то курсор не мигает

В консоли? В терминале (см. настройки терминала)?

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

ещё бы хорошо чтоб работало SHIFT+UP/DOWN для прокрутки экрана вверх-вниз на одну строку, если это возможно. (SHIFT+PG_UP/PG_DOWN работает)

Если речь про, например, Xfce Terminal, то
меню Правка -> Параметры или ПКМ -> Параметры, вкладка Общие, установить флажок
[x] Прокручивать при нажатии Shift+^/v

Как в других терминалах, смотреть в их настройках.

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

urxvt
стоит опция -bc. не мигает.

В 'man urxvt' пишут:

-bc|+bc
Blink the cursor; resource cursorBlink.

-uc|+uc
Make the cursor underlined; resource cursorUnderline.

urxvt -uc -bc

подчеркивание, мигает.


PS. Можно поиграть с console_codes:

echo -ne "\033[1 q"  # блок, мигание
echo -ne "\033[2 q"  # блок

echo -ne "\033[3 q"  # _, мигание
echo -ne "\033[4 q"  # _

echo -ne "\033[5 q"  # I, мигание
echo -ne "\033[6 q"  # I

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

2 вопроса:
при запуске slackpkg install-new предлагает установить кучу ненужных пакетов, куски kde и xfce, хотя ничего подобного tagfile'ами не задавалось. откуда он берёт список? где-то что-то надо отредактировать?

при запуске slackpkg clean-system предлагает удалить пакеты, которые я устанавливал после установки. ЧЯДНТ?

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

Читайте документацию ДО, не будет странных вопросов и попыток применить инструмент не по назначению.

slackpkg install-new
предлагает для установки пакеты, которые в актуальном ChangeLog.txt помечены как ":__Added" и не установлены в текущей системе.

slackpkg clean-system
предлагает для удаления пакеты, которых нет в официальном дереве пакетов.

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

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

возникла необходимость поставить свежую месу и иксы (хочу ещё раз попробовать открытый драйвер radeon, вдруг нормально заработает), sbopkg по запросу mesa ничего не находит. надо подключить какой-то репозиторий? или где вообще брать свежий софт?

sbopkg -r выдаёт:
Importing SBo repository for Slackware 14.2 GPG Key...
/usr/libexec/gnupg/gpgkeys_curl: error while loading shared libraries: libsasl2.so.3: cannot open shared object file: No such file or directory
gpg: no handler for keyserver scheme `https'
gpg: WARNING: unable to fetch URI https://www.slackbuilds.org/GPG-KEY: keyserver error

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

sbopkg по запросу mesa ничего не находит. надо подключить какой-то репозиторий?

В SBo есть только то, чего нет в дистрибутиве, а mesa в дистрибутиве той или иной версии есть.
Поэтому, если повезло, то в current слакбилд для свежей mesa есть (или подходящий для более свежей версии). А если не повезло, то обычно можно существующий поправить. Затем собираем. Помним, что в 15.0 (нынешний current) удаляют *.la файлы, а в 14.2 — нет, поэтому не забываем закомментировать соответствующую строчку.
http://slackware.osuosl.org/slackware64-current/source/x/mesa/

/usr/libexec/gnupg/gpgkeys_curl: error while loading shared libraries: libsasl2.so.3: cannot open shared object file: No such file or directory

ldd /usr/libexec/gnupg/gpgkeys_curl | grep libsasl2
  libsasl2.so.3 => not found


Пакетика cyrus-sasl не хватает:

/usr/sbin/slackpkf file-search libsasl2.so.3
...
  uninstalled  slackware64  cyrus-sasl-2.1.26-x86_64-1

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

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

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

как-то надо ещё патчи синхронизировать? он сам подберёт новые патчи?

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

В SBo есть только то, чего нет в дистрибутиве

какой-то более менее официальный репозиторий можно подключить, чтобы держать некоторые пакеты up to date? или так вручную из current ставить? хочется как-то более автоматизировано. или вообще на current сидеть?

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

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

Не совсем.
В официальном дереве исходников Slackware (ссылку на каталог с mesa давал) сценарий лежит отдельно, без тарбола. Предлагается забрать все содержимое каталога с необходимым для сборки, поправить сценарий .SlackBuild, собрать в пакет, поставить. Правда с «собрать в пакет» может оказаться не совсем гладко, все-таки в 14.2 остальному окружению уже три года...

То есть, в этом сценарии для творчества (часто вынужденного) слишком большой простор.

С другой стороны, если нужны свежие ядро, иксы и mesa, можно вполне пожить и на current. Только не кидаться за обновлениями сразу после их выхода, предварительно вдумчиво читать ChangeLog.txt. Но тут нужно понимать, что каждый .so-version bump в журнале — это потенциально пересборка стороннего софта, использующего такую библиотеку. Поэтому одной из стратегий вполне может быть: «поставить и не обновлять в течение разумно долгого периода времени», это позволит не тратить напрасно время на пересоборку стороннего софта. Не забыть, что слакбилды для current живут в хранилище у ponce, пытаться собирать из SBo затея плохая, слишком много изменений накопилось за три года.
Если же стороннего софта немного и он использует из системы немного часто меняющихся зависимостей, то вполне можно обновляться и чаще. Но мне этот вариант не сильно нравится.

Релиз 15.0 сделал бы все сильно проще, но его пока на горизонте не видать...


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

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