Установка программ в Slackware

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

Аватара пользователя
bormant
Сообщения: 1184

Re: Установка программ в Slackware

Сообщение bormant » 20.07.2016 14:03

QWERTYASDF писал(а):
19.07.2016 22:57
Не хочу ставить категории KDE и KDEI (данной средой рабочего стола вообще не пользуюсь), однако не помню какие отдельные ихние пакеты за год пользования Слакой могла установить.

Вспомнить это проще простого:

Код: Выделить всё

# slackpkg remove kde kdei
или
# slackpkg -onoff=off remove kde kdei
или
# slackpkg -dialog=off remove kde kdei
и не соглашаться с собственно удалением :)
Спасибо сказали:

QWERTYASDF
Сообщения: 905
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Установка программ в Slackware

Сообщение QWERTYASDF » 20.07.2016 14:27

Спасибо.

Ой, пока печатала, Вы успели еще написать - может это и есть ответ на вопрос ниже )) Сейчас попытаюсь разобраться )

Вы уж извините, но а все-таки - как проще и надежнее всего вывести список всех установленных пакетов определенной категории, например той-же kde?

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

К тому-же все необходимые и самодостаточные средства для такого поиска наверняка находятся локально! Касаемо локального списка установленных пакетов в /var/log/packages, то там отсутствует в явном виде указание категории пакета. Ну например:

Код: Выделить всё

$head -20 kdelibs-4.10.5-i486-2
PACKAGE NAME:     kdelibs-4.10.5-i486-2
COMPRESSED PACKAGE SIZE:     13M
UNCOMPRESSED PACKAGE SIZE:     50M
PACKAGE LOCATION: kdelibs-4.10.5-i486-2.txz
PACKAGE DESCRIPTION:
kdelibs: kdelibs (KDE libraries)
kdelibs:
kdelibs: System libraries and other resources required for the KDE Platform.
kdelibs:
kdelibs:
kdelibs:
kdelibs:
kdelibs:
kdelibs:
kdelibs:
kdelibs:
FILE LIST:
./
install/
install/slack-desc
...


Предвижу глупость вопроса - по вхождениям "kde" в названия многих установочных каталогов, в файлы - вроде как должно быть очевидна категория пакета. Однако не дает покоя мысль о том, что kde-пакет может иметь совсем не очевидное название, и с другой стороны - НЕ kde пакет может где-то на протяжении своего описательного файла иметь подстроки "kde". Строка после PACKAGE DESCRIPTION для kde-пакета вроде должна содержать "kde", а с другой стороны оно также может входить в содержание строки пакета другой категории...
Спасибо сказали:

QWERTYASDF
Сообщения: 905
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Установка программ в Slackware

Сообщение QWERTYASDF » 20.07.2016 14:39

bormant писал(а):
20.07.2016 14:03
QWERTYASDF писал(а):
19.07.2016 22:57
Не хочу ставить категории KDE и KDEI (данной средой рабочего стола вообще не пользуюсь), однако не помню какие отдельные ихние пакеты за год пользования Слакой могла установить.

Вспомнить это проще простого:

Код: Выделить всё

# slackpkg remove kde kdei
или
# slackpkg -onoff=off remove kde kdei
или
# slackpkg -dialog=off remove kde kdei
и не соглашаться с собственно удалением :)


Ага! А откуда slackpkg берет в данном случае список пакетов? Из /var/log/package? Допустим, что они ставились не через него.
Спасибо сказали:

Аватара пользователя
bormant
Сообщения: 1184

Re: Установка программ в Slackware

Сообщение bormant » 20.07.2016 14:49

QWERTYASDF писал(а):
20.07.2016 14:39
откуда slackpkg берет в данном случае список пакетов?

Когда вы командуете 'slackpkg update', slackpkg наполняет свой кеш в /var/lib/slackpkg/ сведениями о пакетах.
По загруженным сведениям формируются *-filelist.gz, в slackware64-filelist.gz первым столбцом идет имя пакета с каталогом набора:

Код: Выделить всё

less /var/lib/slackpkg/slackware*-filelist.gz


Там же лежит построенный pkglist, 7-я колонка которого содержит хранилище/набор.

Вообще говоря, slackpkg целиком на bash-е, его можно почитать, чтобы увидеть, что и как именно он делает.
Спасибо сказали:

QWERTYASDF
Сообщения: 905
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Установка программ в Slackware

Сообщение QWERTYASDF » 20.07.2016 16:47

Т.е. slackpkg после "синхронизации" с зеркалом репозитория найдет в моей системе абсолютно любые пакеты, существующие сейчас и/или когда-либо существовавшие в репозитории Slackware данной (допустим 14.1) версии релиза?

Ну допустим, в 14.1 был пакет xfce/xfce4-mixer-4.10.0-i586-2.txz, потом он был отмечен как REMOVED. Причем прочесть об этом можно уже в slackware-14.2/ChangeLog.txt т.к., насколько понимаю, с выходом 14.2 все записи об удалениях и добавлениях пакетов 14.1 были перемещены в Changelog 14.2. В slackware-14.1/slackware/xfce/ и файле slackware/slackware-14.1/PACKAGES.TXT репозитория упоминаний о данном пакете тоже уже соответственно нету.

Если бы я установила xfce4-mixer-4.10.0-i586-2.txz и не обновляла бы с тех пор систему, а после выхода 14.2 сделала бы slackware-update и slackpkg -dialog=off remove xfce - то данный пакет бы нашелся?
Спасибо сказали:

Аватара пользователя
bormant
Сообщения: 1184

Re: Установка программ в Slackware

Сообщение bormant » 20.07.2016 21:04

Для пакетов, исключенных из дерева системы, "slackpkg remove набор" ничего не найдет.
Именно для таких случаев предназначен "slackpkg clean-system", предлагающий к удалению пакеты, отсутствующие в дереве системы.

Кроме того, никто вам не запретит сделать, чтобы посмотреть:

Код: Выделить всё

$ grep ^xfce /var/lib/ChangeLog.txt | grep -F ':  Removed.'

чтобы удалить:

Код: Выделить всё

# grep ^xfce /var/lib/ChangeLog.txt | grep -F ':  Removed.' | cut -d: -f1 | xargs removepkg
Спасибо сказали:

QWERTYASDF
Сообщения: 905
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Установка программ в Slackware

Сообщение QWERTYASDF » 22.07.2016 23:18

А касаемо обновления sbo:

1. Обновляю sbopkg
2. Устанавливаю в sbopkg.conf номер ветки репозитория - 14.2
3. sbopkg -r
4. sbopkg -c

?
Спасибо сказали:

Аватара пользователя
bormant
Сообщения: 1184

Re: Установка программ в Slackware

Сообщение bormant » 23.07.2016 00:24

sbopkg -c даст список, где изменилась версия софта.
Если хотите все сторонние _SBo пересобрать, то список может быть полнее.
В любом случае, нужно особое внимание обратить на последовательность очереди на пересборку с учётом того, что от чего зависит.
Если в этом списке есть пакеты с ветвистыми зависимостями, вероятно, есть смысл при помощи sqg сгенерировать файлы очередей и пересобрать (или хотя бы составить задание на сборку) при их помощи.

Ну и ветку от 14.1 можно удалить с диска из /var/lib/sbopkg/SBo/14.1


PS. Если хотите, можем вместе посмотреть на ваш список установленного:

Код: Выделить всё

( cd /var/adm/packages; ls *SBo )

PPS. В свежем sbopkg.conf уже 14.2, можно заменить новым конфигом вручную или по
slackpkg new-config
Спасибо сказали:

QWERTYASDF
Сообщения: 905
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Установка программ в Slackware

Сообщение QWERTYASDF » 23.07.2016 00:40

Код: Выделить всё

( cd /var/adm/packages; ls *SBo )
ORBit2-2.14.19-i486-3_SBo
a52dec-0.7.4-i486-1_SBo
acpi-1.7-i486-1_SBo
avahi-0.6.31-i486-1_SBo
awesome-3.5.6-i486-1_SBo
chromaprint-1.2-i486-1_SBo
dirac-1.0.2-i486-3_SBo
djview4-4.10-i486-1_SBo
eigen3-3.2.4-i486-1_SBo
evince-3.12.2-i486-1_SBo
faac-1.28-i486-3_SBo
faad2-2.7-i486-2_SBo
feh-2.14-i486-1_SBo
ffmpeg-2.6.3-i686_custom-1_SBo
fluidsynth-1.1.6-i486-1_SBo
freerdp-1.2.0_beta1_android9-i486-4_SBo
ftgl-2.1.3_rc5-i486-3_SBo
giblib-1.2.4-i486-3_SBo
glfw-2.7.8-i486-1_SBo
gnome-mime-data-2.18.0-i486-2_SBo
gnome-vfs-2.24.4-i486-3_SBo
gsm-1.0.13-i486-2_SBo
gst1-plugins-base-1.4.5-i486-1_SBo
gstreamer1-1.4.5-i486-1_SBo
imlib2-1.4.7-i486-1_SBo
jack-audio-connection-kit-0.124.1-i486-1_SBo
jdk-8u66-i586-1_SBo
jpegoptim-1.4.3-i486-1_SBo
lgi-0.9.0-i486-1_SBo
libass-0.12.1-i486-1_SBo
libavc1394-0.5.4-i486-1_SBo
libbonobo-2.32.1-i486-3_SBo
libcuefile-r475-i486-1_SBo
libdaemon-0.14-i486-1_SBo
libdc1394-2.2.3-i486-1_SBo
libdca-0.0.5-i486-1_SBo
libdvbpsi-1.1.1-i486-1_SBo
libdvdcss-1.2.13-i486-1_SBo
libdvdnav-4.2.0-i486-1_SBo
libebml-1.3.1-i486-1_SBo
libjpeg-turbo-1.4.2-i486-1_SBo
libkate-0.4.1-i486-1_SBo
libmatroska-1.4.2-i486-1_SBo
libminizip-1.2.8-i486-1_SBo
libmodplug-0.8.8.5-i486-1_SBo
libmp4v2-2.0.0-i486-1_SBo
libmpeg2-0.5.1-i486-1_SBo
libreoffice-5.0.1-i586-1_SBo
libreplaygain-r475-i486-1_SBo
libshout-2.3.1-i486-1_SBo
libsidplay2-2.1.1-i486-3_SBo
libssh2-1.4.3-i486-1_SBo
libtar-1.2.20-i486-1_SBo
libtorrent-0.13.6-i486-1_SBo
libupnp-1.6.17-i486-1_SBo
libva-1.6.2-i486-1_SBo
libvpx-1.3.0-i486-1_SBo
libxdg-basedir-1.2.0-i486-1_SBo
live555-2015.12.22-i486-1_SBo
lua-5.1.5-i486-1_SBo
medit-1.2.0-i486-1_SBo
ms-sys-2.5.1-i486-1_SBo
musepack-tools-r475-i486-2_SBo
opencv-3.0.0-i486-2_SBo
opera-12.16-i686-1_SBo
opera-next-12.16-i486-1_SBo
opus-1.1.1-i486-1_SBo
orc-0.4.23-i486-1_SBo
pentadactyl-20160101_38.7.1-i486-1_SBo
physlock-0.4.5-i486-1_SBo
portaudio-v19_20140130-i486-1_SBo
projectM-2.1.0-i486-1_SBo
psftools-1.0.7-i486-1_SBo
rtmpdump-20150115_a107cef-i486-1_SBo
rtorrent-0.9.6-i486-1_SBo
sbbdep-0.2.5-i486-1_SBo
schroedinger-1.0.11-i486-1_SBo
scrot-0.8-i486-4_SBo
skb-0.4-i486-1_SBo
speex-1.2rc2-i486-4_SBo
twolame-0.3.13-i486-1_SBo
unrar-5.2.6-i486-1_SBo
vcdimager-0.7.24-i486-1_SBo
vlc-2.1.6-i486-3_SBo
vlock-2.2.3-i486-2_SBo
vsxu-0.4.2-i486-1_SBo
x265-1.8-i486-1_SBo
xclip-0.12-i486-1_SBo
xtrlock-2.7-i486-1_SBo
zvbi-0.2.35-i486-1_SBo


Если хотите все сторонние _SBo пересобрать

Ну, я не знаю ) Зачем это может понадобиться делать?
Спасибо сказали:

Аватара пользователя
bormant
Сообщения: 1184

Re: Установка программ в Slackware

Сообщение bormant » 23.07.2016 20:49

Включены в Slackware 14.2:

Код: Выделить всё

a52dec-0.7.4-i486-1_SBo     a52dec-0.7.4-i586-2
eigen3-3.2.4-i486-1_SBo        eigen3-3.2.7-i586-2.txz
libdvdnav-4.2.0-i486-1_SBo    libdvdnav-5.0.3-i486-1
libjpeg-turbo-1.4.2-i486-1_SBo    libjpeg-turbo-1.5.0-i586-1
libssh2-1.4.3-i486-1_SBo    libssh2-1.7.0-i586-1
libva-1.6.2-i486-1_SBo        libva-1.6.2-i586-1
libvpx-1.3.0-i486-1_SBo        libvpx-1.5.0-i586-1
orc-0.4.23-i486-1_SBo        orc-0.4.24-i586-1


Требуют обновления (снизу вверх):

Код: Выделить всё

djview4-4.10-i486-1_SBo            4.10.6
evince-3.12.2-i486-1_SBo        3.20.0
feh-2.14-i486-1_SBo            2.14
  imlib2-1.4.7-i486-1_SBo        1.4.9
jdk-8u66-i586-1_SBo            8u102
pentadactyl-20160101_38.7.1-i486-1_SBo    201604030
unrar-5.2.6-i486-1_SBo            5.3.7
vlc-2.1.6-i486-3_SBo            2.2.3
  avahi-0.6.31-i486-1_SBo        0.6.31
  libdvbpsi-1.1.1-i486-1_SBo        1.3.0
  opus-1.1.1-i486-1_SBo            1.1.3
  opencv-3.0.0-i486-2_SBo        3.1.0
  live555-2015.12.22-i486-1_SBo        2016.06.26
  libdvdcss-1.2.13-i486-1_SBo        1.4.0


У vlc есть дополнительные зависимости, отсутствующие у вас, возможно что-то из них покажется интересным (собирать до vlc).

Ах да, LibreOffice 5.1.2.2 на SBo в виде сборки из исходников вместо прежнего варианта с перепаковкой из бинарников. Собирается это дело зело небыстро и требует немало ресурсов, есть смысл посмотреть в сторону бинарного пакета от Эрика (сейчас там 5.1.4):
http://www.slackware.com/~alien/slackbuild...ffice/pkg/14.2/
Спасибо сказали:

Аватара пользователя
bormant
Сообщения: 1184

Re: Установка программ в Slackware

Сообщение bormant » 24.07.2016 12:01

Аналогично и с vlc с его длинным списком зависимостей, посмотрите у Эрика, если вам его вариант подойдет, количество самосборного сильно уменьшится:
http://taper.alienbase.nl/mirrors/people/a...s/vlc/pkg/14.2/

Аналогично и с ffmpeg:
http://taper.alienbase.nl/mirrors/people/a...fmpeg/pkg/14.2/

Там vlc и ffmpeg собраны статически, зависимостей не имеют, вся портянка их зависимостей с SBo станет не нужна (если только не будете собирать еще что-то, их требующее).

slackpkg+ сделает обновление этих пакетов простым и приятным, 'slackpkg upgrade-all' будет и их предлагать к обновлению.
/etc/slackpkg/slackpkgplus.conf

Код: Выделить всё

...
REPOPLUS=( slackpkgplus restricted alienbob )
MIRRORPLUS['alienbob']=http://bear.alienbase.nl/mirrors/people/alien/sbrepos/14.2/x86/
MIRRORPLUS['restricted']=http://bear.alienbase.nl/mirrors/people/alien/restricted_sbrepos/14.2/x86/
MIRRORPLUS['slackpkgplus']=http://slakfinder.org/slackpkg+/
...


PS. Уточню про LO на SBo: там 2 слакбилда:
LibreOffice 5.1.2.2 -- из исходников
libreoffice 5.1.4 -- перепаковкой
Соответственно про смену перепаковки на пересборку -- это я погорячился (имена пакетов разные). Тем не менее, совет про LO от Эрика в силе -- он именно собирает LO под Slackware, а не перепаковывает официальные бинарники.
Спасибо сказали:

QWERTYASDF
Сообщения: 905
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Установка программ в Slackware

Сообщение QWERTYASDF » 24.07.2016 13:13

Спасибо Вам огромное, bormant.

Насчет пакетов от Эрика и slackpkg+ - не знаю, не знаю...Думаю, не потяну сейчас. Я в то, что имею - въезжаю со скрипом. Еще до обновления до 14.2 неделя или больше - до некоторых вопросов еще не дошла. А пока они (вопросы) есть - бездумно обновляться не хочу. Наверняка еще новые появятся...

bormant писал(а):
23.07.2016 20:49
Включены в Slackware 14.2:

Код: Выделить всё

a52dec-0.7.4-i486-1_SBo     a52dec-0.7.4-i586-2
eigen3-3.2.4-i486-1_SBo        eigen3-3.2.7-i586-2.txz
libdvdnav-4.2.0-i486-1_SBo    libdvdnav-5.0.3-i486-1
libjpeg-turbo-1.4.2-i486-1_SBo    libjpeg-turbo-1.5.0-i586-1
libssh2-1.4.3-i486-1_SBo    libssh2-1.7.0-i586-1
libva-1.6.2-i486-1_SBo        libva-1.6.2-i586-1
libvpx-1.3.0-i486-1_SBo        libvpx-1.5.0-i586-1
orc-0.4.23-i486-1_SBo        orc-0.4.24-i586-1


В таком случае, эти SBo пакеты лучше удалять до обновления на следующий релиз или после? Или без разницы?
Спасибо сказали:

Аватара пользователя
bormant
Сообщения: 1184

Re: Установка программ в Slackware

Сообщение bormant » 24.07.2016 14:04

Они у вас по "slackpkg upgrade-all" обновились бы сами (на самом деле это произойдет раньше, по "slackpkg install-new", черный список при этом не используется) или при обновлении по UPGRADE.TXT -- на стадии "upgradepkg --install new ...".

Родовое имя пакета -- то что после третьего дефиса справа.

"upgradepkg --install-new путь/имя-пакета-версия-архитектура-сборка_и_метка.txz" проверяет, установлен ли в системе пакет с родовым именем "имя-пакета", если не установлен (только с --install-new) или установлен, но версия, сборка, метка отличаются (проверка на "не равно", а не на больше-меньше), ставит предложенный и сносит старый, то есть выполняет замену файлов одного пакета файлами другого.

slackpkg upgrade пакет -- замена пакетов с одинаковыми родовыми именами, одного на другой.
Например, установленный libjpeg-turbo-1.4.2-i486-1_SBo -- имя "libjpeg-turbo", в дистрибутиве 14.2 "libjpeg-turbo" версии 1.5.0, следовательно будет кандидатом на замену на дистрибутивный (если только не включен в /etc/slackpkg/blacklist индивидуально или по маске).

Соответственно, "slackpkg upgrade libjpeg-turbo" смотрит, отличается ли установленный пакет по версии от дистрибутивного. Поскольку отличается, предлагает заменить.

"slackpkg upgrade-all" -- это по сути "slackpkg upgrade список пакетов с отличающимися версиями", где список пакетов вычисляет сам slackpkg.
Спасибо сказали:

Аватара пользователя
bormant
Сообщения: 1184

Re: Установка программ в Slackware

Сообщение bormant » 24.07.2016 14:32

QWERTYASDF писал(а):
24.07.2016 13:13
Насчет пакетов от Эрика и slackpkg+ - не знаю, не знаю...Думаю, не потяну сейчас.
Поверьте, это намного проще того, с чем вы уже справились.

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

Сейчас вы собираете vlc из исходников сами, основная масса вашего списка собранных с SBo пакетов -- сборочные зависимости vlc.
Если вас устраивает вариант сборки от Эрика, вы просто ставите его бинарный пакет (и зависимости, если такие были бы нужны). Чтобы не проверять обновление пакета руками, вы просто ставите расширение slackpkg+, показываете ему дополнительные хранилища, slackpkg начинает проверять не только установленные из официального зеркала пакеты, но и пакеты из сторонних хранилищ. Ваши действия при этом не меняются, просто по "slackpkg upgrade-all" теперь будут предлагаться обновления не только дистрибутивных пакетов, но и сторонних.
Если хочется иметь сторонние пакеты неотмеченными в списке на обновление, достаточно внести их маски в серый список slackpkg+ (/etc/slackpkg/greylist), синтаксис тот же, что и для blacklist.

На самом деле проще сначала поставить и настроить slackpkg+, затем сказать "slackpkg upgrade vlc" для обновления вашего самосборного vlc на бинарный vlc из хранилища Эрика. Прелесть slackpkg+ в том, что он не меняет вашего сценария работы со slackpkg (только добавление хранилищ требует одноразово "slackpkg update gpg").

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

Аватара пользователя
bormant
Сообщения: 1184

Re: Установка программ в Slackware

Сообщение bormant » 24.07.2016 15:12

Хозяйке на заметку.
Поскольку список пакетов выдает ls, не грех воспользоваться ее ключиками:

Код: Выделить всё

( cd /var/adm/packages; ls -t *SBo )
даст список пакетов не в алфавитном, а в обратном хронологическом порядке (от свежих до давно установленных). В таком варианте, как правило, зависимости идут не вразноброд, а оказываются сразу после требующего их пакета.

Код: Выделить всё

( cd /var/adm/packages; ls -to *SBo )
даст возможность эти даты увидеть. И т.д., и т.п.
Спасибо сказали:

QWERTYASDF
Сообщения: 905
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Установка программ в Slackware

Сообщение QWERTYASDF » 24.07.2016 23:48

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

А есть способ достаточно просто посмотреть что однозначно зависит от данного пакета, прежде чем его удалить как уже бесполезный? ...Хм, кажется мне, что нет такого способа, но спросить стоило ☺
Спасибо сказали:

Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: Установка программ в Slackware

Сообщение yars » 25.07.2016 14:27

В принципе, раз пакеты в выводе ls перечислены рядышком, то они, скорее всего, и будут "кандидатами" на проверку. Можно вручную посмотреть, скажем, вывод ldd $(which vlc), затем погрепать /var/adm/packages на предмет выданного им списка файлов... но это не очень-то удобно, особенно если бинарников и библиотек в пакете много. Для этого, к счастью, есть sbbdep. Запустите его без параметров, от рута, он построит свой кэш, потом спросите у него: # sbbdep /var/adm/packages/vlc*SBo и увидите зависимости vlc. Хотите узнать, кто от vlc зависит -- пожалуйста: # sbbdep --whoneeds /var/adm/packages/vlc*SBo. Хотите, можете посмотреть дерево зависимостей: # sbbdep --bdtree /var/adm/packages/vlc*SBo (осторожно, информации не просто много, а очень-очень много!). Если регулярно обновлять кэш sbbdep, то получение ответа на вопрос, кто и от кого зависит , не потребует много времени.
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:

Аватара пользователя
bormant
Сообщения: 1184

Re: Установка программ в Slackware

Сообщение bormant » 25.07.2016 14:29

Если речь о бинарных зависимостях времени исполнения, поможет
sbbdep --whoneeds /var/adm/packages/пакет-…

Собранный sbbdep есть у Эрика, слакбилд есть на SBo.

PS. Опоздал.
Спасибо сказали:

QWERTYASDF
Сообщения: 905
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Установка программ в Slackware

Сообщение QWERTYASDF » 27.07.2016 23:19

Касательно вопроса "Сборка пакетов из исходников VS установка готовых бинарных пакетов" - одни говорят о преимуществе одного над другими, другие говорят наоборот. Понимаю, что тема заезженная и вопрос мой скорей всего не имеет смысла, если сама не понимаю что конкретно мне надо и не смогу указать это в виде параметров компиляции/сборки..но все-таки...Есть ли смысл рассчитывать на большую производительность софта, установленного через сборку из исходников на локальной системе?

P.S: в чем смысл использования в аргументах-каталожных путях вместо /var/log симлинка на него - /var/adm? Например - /var/adm/packages.
Спасибо сказали:

Аватара пользователя
bormant
Сообщения: 1184

Re: Установка программ в Slackware

Сообщение bormant » 28.07.2016 00:07

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

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

В остальном же решать вам.
Спасибо сказали:

QWERTYASDF
Сообщения: 905
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Установка программ в Slackware

Сообщение QWERTYASDF » 28.07.2016 00:20

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

Например, сейчас решила немного поэксперементировать:

Код: Выделить всё

#sbbdep --whoneeds /var/adm/packages/libvpx-1.3.0-i486-1_SBo
sync cache /root/sbbdep.cache
cache up to date

libvpx-1.3.0-i486-1_SBo


Ничего кроме самого пакета-аргумента не указано - значит, что пакет не нужный или что sbbdep просто не может определить зависимости от него?
Спасибо сказали:

Аватара пользователя
bormant
Сообщения: 1184

Re: Установка программ в Slackware

Сообщение bormant » 28.07.2016 08:21

Да, sbbdep умеет показывать только определённые зависимости -- от общих объектов времени выполнения, указанных редактором связей в теле бинарника (другими словами те, которые показывает ldd).

Посмотрим, какие не умеет (те, что не видит ldd):
1. Использование .so как плагина, возможно, необязательного. Вызов dlopen() не отслеживается.
2. Вызов исполнимого бинарника из сценария или кода, например, system(...)

Кроме того, есть зависимости времени сборки, то есть утилиты и библиотеки, необходимые для сборки, но не требующиеся для исполнения собранного. То есть, для времени исполнения это и не зависимость вовсе. Да, sbbdep их не видит.

Почему в системе может быть установлено большое число библиотек? Есть библиотеки, весьма широко используемые, средства сборки обычно умеют настраивать сборку в зависимости от наличия библиотек, реализующих те или иные возможности. Не будет библиотеки во время сборки -- не будет возможности в собранном, либо сборка и вовсе будет прервана.

Поскольку libvpx -- это кодек, есть ненулевые шансы на использование его как плагина (с попыткой открыть библиотеку при выполнении при помощи dlopen()). Кроме того, libvpx включён в базовую поставку Slackware 14.2, можно считать (или проверить), что эта библиотека в 14.2 кому-то нужна. Нужен ли этот кто-то вам, это отдельный вопрос. В системе без KDE:

Код: Выделить всё

sbbdep --whoneeds --short /var/log/packages/libvpx-1.5.0-x86_64-1

MPlayer, gst-plugins-good, libvpx, php, xine-lib


Каким конкретным образом используется libvpx в vlc можно посмотреть в исходниках последнего.

Этот пакет вы, скорее всего, могли ставить как зависимость для vlc или ffmpeg.
Кому с SBo для 14.1 он необходим, можно глянуть по
( cd /var/lib/sbopkg/SBo/; grep -w ^REQ.*libvpx 14.1/*/*/*.info )
или
find /var/lib/sbopkg/SBo/14.1 -name \*.info | xargs grep -w ^REQ.*libvpx
Спасибо сказали:

Аватара пользователя
bormant
Сообщения: 1184

Re: Установка программ в Slackware

Сообщение bormant » 28.07.2016 08:41

в чем смысл использования в аргументах-каталожных путях вместо /var/log симлинка на него - /var/adm? Например - /var/adm/packages

Если только потешить склероз. FHS писался не одномоментно, и однажды, в версии 1.2
http://www.ru.j-npcs.org/usoft/WWW/www_pat...fsstnd-5_1.html
5.1 /var/adm : System logging and accounting files (obsolete)

This directory has been superseded by /var/log and other directories. It should be a symbolic link to /var/log until all programs no longer refer to any files in /var/adm.

Так что, /var/adm -- это с налетом старины и риском удаления симлинка. Нехорошо, в общем.
Зато, /v{Tab}a{Tab}/p{Tab} ;)
Спасибо сказали:

QWERTYASDF
Сообщения: 905
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Установка программ в Slackware

Сообщение QWERTYASDF » 20.08.2016 15:53

bormant писал(а):
24.07.2016 14:04
Они у вас по "slackpkg upgrade-all" обновились бы сами (на самом деле это произойдет раньше, по "slackpkg install-new", черный список при этом не используется)

Здесь немного недопонимаю логику slackpkg. C одной стороны (из man):
Blacklisted packages will not be installed, upgraded, or removed by slackpkg.

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

С другой стороны slackpkg (install-new и/или upgrade имя.пакета и/или upgrade-all ?) заменяет таки пакет, включенный в черный список, иной его версией из офф-репозитория.

Усугубляется дело тем, что такие нюансы почему-то опускаются в man, info и в иных прочитанных мною руководствах по Slackware... :mellow:
Спасибо сказали:

Аватара пользователя
bormant
Сообщения: 1184

Re: Установка программ в Slackware

Сообщение bormant » 20.08.2016 22:15

QWERTYASDF
хм, насчет "slackpkg install-new" и blacklist извините, ввел в заблуждение, каюсь, виноват.

Как оказалось, вполне себе используется, поэтому перед обновлением с версии на версию нужно не забывать смотреть, не конфликтует ли его содержимое с добавленныхми вновь пакетами.
Включение в blacklist наборов целиком также поддерживается, так что для исключения kde в том числе и при обновлениях на очередной выпуск вполне можно пользоваться парой строк в черном списке:

Код: Выделить всё

kde
kdei
Спасибо сказали:

QWERTYASDF
Сообщения: 905
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Установка программ в Slackware

Сообщение QWERTYASDF » 20.08.2016 22:55

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

QWERTYASDF
Сообщения: 905
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Установка программ в Slackware

Сообщение QWERTYASDF » 20.08.2016 23:08

Как понимаю, серый список после установки slackpkg+ - можно рассматривать как замену черного списка. Т.е. все то, что у меня сейчас в черном списке (модули ядра и SBo-пакеты) могу смело перенести в серый список - случайно (т.е. без отметки руками) ничего из указанного не обновится, зато смогу получить через slackpkg информацию об появившихся альтернативах?
Спасибо сказали:

Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: Установка программ в Slackware

Сообщение yars » 21.08.2016 01:00

В принципе, да, эту фичу можно использовать и в качестве замены черному списку, хотя задумывалась она немного для другого -- черный список заставляет slackpkg вообще забыть о помещенных туда пакетах, а вот пакеты в graylist-е он таки покажет, но сам обновлять не будет. В частности, переносить в серый список, скажем, kdei, смысла нет -- все равно у kde-l10n-ru альтернатив нету.
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:

QWERTYASDF
Сообщения: 905
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Установка программ в Slackware

Сообщение QWERTYASDF » 21.08.2016 22:08

Отсюда:
Учтите, что пакеты сторонних хранилищ, присутствующие в официальных
хранилищах, не будут отображаться (см. ниже).

* Опционально, установите PKGS_PRIORITY, чтобы задать порядок предпочтения
пакетов, присутствующих в нескольких хранилищах, или чтобы разрешить
хранилищу перекрывать официальные пакеты Slackware.

...

Если пакет присутствует более чем в одном хранилище, поиск производится
в следующем порядке:

1) по списку PKGS_PRIORITY (перекрывать официальные пакеты разрешено)
2) по списку официального хранилища Slackware
(заданному в /etc/slackpkg/mirrors)
3) по списку REPOPLUS (перекрывать официальные пакеты не разрешено)
4) все остальные по списку MIRRORPLUS


Не могу понять - как все-таки происходит поиск? В итоге предлагаются для установки пакеты, найденные по всем 4 пунктам, или дальнейший поиск прекращается при обнаружении пакета на одном из пунктов? Почему в п.4 не указано разрешение/запрет перекрывать офф-пакеты - будут таки показываться пакеты сторонних хранилищ, не указаных в PKGS_PRIORITY?? "Перекрывать" - означает показывать дополнительно к имеющимся в офф-хранилище?

***********************

Еще такой вопрос. Вот есть у меня текстовый файлик, содержащий строки с shell-директивами навроде:

Код: Выделить всё

upgradepkg /mnt/hd/slackware/a/glibc-solibs-*.txz

Как мне кажется, мне было-бы удобно в процессе обновления до следующего релиза "двигаться" по списку набросанного мною сценария, содержащегося в этом файлике. Не будет ли в чем-то более плохо, находясь в vim выполнять подобные строчки ex-директивой вроде:

Код: Выделить всё

:. w !sh

, а не ... ну не знаю...например, вручную печатать в tty, или передавать директивы bash-у по конвееру от cat/sed/etc?...
Спасибо сказали:

QWERTYASDF
Сообщения: 905
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Установка программ в Slackware

Сообщение QWERTYASDF » 27.08.2016 23:02

Подскажите, как в новом, 0.38.0 sbopkg воспользоваться sqg?

https://sbopkg.org/queues.php
Queuefiles

Since 0.38.0, sbopkg includes sqg - sbopkg queueu generator which can be used to generate queue file(s) to help users building packages which requires another package(s). This simple tool can be used in two ways:

sbopkg -p <package> # this will build queue file for a single package

sbopkg -a # this will build queue files for all packages in the repository

All queue files will be stored in /var/lib/sbopkg/queues (default) or it can be modified via sbopkg.conf: QUEUEDIR=${QUEUEDIR:-/var/lib/sbopkg/queues}



Код: Выделить всё

#sbopkg -a
sbopkg 0.38.0
Usage: sbopkg [OPTIONS] <packagename(s)>
Options are:
  -b pkg/queue(s) Build the specified package(s). If one or more queuefiles
                  are specified, build the packages they refer to.
  -B              Bulk process the queue without confirmation.
  -c              Check for updates to installed packages.
  -D localdir     Location of local copy of the repositories.
  -d pkg/queue(s) Like '-b', but only download sources.
  -e error_action Specify what sbopkg is supposed to do on build errors.
                  Valid options are: ask (default), continue, stop.
  -f file         Override default configuration file with specified file.
  -g package(s)   General search for packages matching string.
  -h              Display this help message.
  -i pkg/queue(s) Like '-b', but also install built packages.
  -k              Skip installed packages when building.
  -l              Display the repo's ChangeLog.txt and then quit.
  -o              Display the obsolete source files & prompt for deletion.
  -P              List uninstalled cached package files & prompt for deletion.
  -p              List installed packages from active repo.
  -q              Quiet some of the command-line output.
  -R              When combined with -b or -i, preview the READMEs of the
                  packages to be built/installed before starting the build
                  process. When combined with -p, show the READMEs of all
                  installed packages from the active repo.
  -r              Sync the remote repository with the local mirror and then
                  quit.
  -s package(s)   Specific search by specific package and, if found,
                  display package information.
  -u              Check for an update to sbopkg.
  -V repo/branch  Set the repository/branch. The repo is optional and, if
                  not given, sbopkg will try to make the best match,
                  starting with the default repo. For a list of valid repos,
                  issue '-V ?'
  -v              Print sbopkg's version on stdout.

Note: multiple arguments to -b, -g, -i, and -s must be quoted ("pkg1 pkg2") or
can be specified multiple times (-i foo -i bar). If using the latter syntax,
build options may also be passed on the command line on a per app basis using
the -b or -i flags in colon-separated groups (where whitespace must also be
quoted). For example, '-i app:opt1="arg1 arg2":opt2=arg1 app2'
Спасибо сказали: