Установка программ в Slackware
Модератор: Модераторы разделов
-
- Сообщения: 357
- ОС: GNU/Linux 4.x (Fedora, Debian)
Установка программ в Slackware
Здравствуйте. Решил вот кроме Debian освоить ещё один дистрибутив и пусть это будет Slackware как самый классический.
Такие вопросы есть:
1. Это правда, что слака настолько сурова что в ней нет подобной другим дистрам системы управления пакетами? А та, которая всё же есть не отслеживает зависимости пакетов?
2. Если по первому вопросу я ошибаюсь, то как тогда работать? Честно пытался поиском найти подходящую тему для этого вопроса, но не нашёл. Как установить программу из локально имеющегося на диске пакета? Как установить программу из репозитория? Как производить поиск в репозитории по имени пакета, по описанию пакета, по именем файлов, входящих в пакет?
3. Правда, что сборка собственных пакетов из исходников для пользователей Slackware является более простой задачей чем для пользователей других дистрибутивов благодаря так называемым слакбилдам? Как этим пользоваться? Допустим мне нужна программа EiskaltDC++ и я скачал её исходники вот отсюда. Какие мои дальнейшие действия?
Такие вопросы есть:
1. Это правда, что слака настолько сурова что в ней нет подобной другим дистрам системы управления пакетами? А та, которая всё же есть не отслеживает зависимости пакетов?
2. Если по первому вопросу я ошибаюсь, то как тогда работать? Честно пытался поиском найти подходящую тему для этого вопроса, но не нашёл. Как установить программу из локально имеющегося на диске пакета? Как установить программу из репозитория? Как производить поиск в репозитории по имени пакета, по описанию пакета, по именем файлов, входящих в пакет?
3. Правда, что сборка собственных пакетов из исходников для пользователей Slackware является более простой задачей чем для пользователей других дистрибутивов благодаря так называемым слакбилдам? Как этим пользоваться? Допустим мне нужна программа EiskaltDC++ и я скачал её исходники вот отсюда. Какие мои дальнейшие действия?
-
- Сообщения: 18
- ОС: Slackware & openSuSE
Re: Установка программ в Slackware
Вот тут можно почитать много интересного
-
- Сообщения: 357
- ОС: GNU/Linux 4.x (Fedora, Debian)
Re: Установка программ в Slackware
Работает. А вчера вечером slackware.ru лежал.
-
- Сообщения: 1354
Re: Установка программ в Slackware
Ну и SlackBook обязателен к прочтению, хоть и местами устарел. Лежит на диске в /slackbook (en). В сети
en: http://www.slackbook.org/html/index.html
ru: http://jack.kiev.ua/docs/slackbook/index.html
en: http://www.slackbook.org/html/index.html
ru: http://jack.kiev.ua/docs/slackbook/index.html
-
- Сообщения: 1354
Re: Установка программ в Slackware
sunny1983
Ответы на большинство заданных вопросов легко найдутся в слакбуке.
Несколько тривиальных советов.
0. KISS -- Keep it simple stupid. Не усложнять.
1. Для первого знакомства желательно сделать полную установку. В таком варианте заведомо нет неразрешённых зависимостей.
2. Пакеты в slackware традиционно крупные (без нарезки на -dev, -lib, ...), исходники преимущественно "ванильные".
3. Основные общеупотребительные библиотеки вынесены в отдельный пакет (a/aaa_elflibs).
4. Исходники, из которых собрана система, поставляются в каталоге /source на CD/DVD диске и репозитории. Набор команд, необходимый для получения пакета, записан в сценарий оболочки имя-пакета.SlackBuild. Соответственно, для пересборки пакета с теми же настройками достаточно выполнить названный сценарий. Для изменения параметров сборки достаточно изменить их в скрипте и пересобрать пакет, выполнив скрипт. Обычно, при выходе новой версии ПО (минорной -- практически всегда, мажорной -- довольно часто), отличия в порядке сборки состоят не более чем в изменении номера версии (version bump), сборка новой версии сводится к:
# cp -r /cdrom/source/серия/имя-пакета ./
# cd имя-пакета
# wget http://сайт/исходники.tar.bz2
# VERSION=new.version ./имя-пакета.SlackBuild --cleanup
# upgradepkg --install-new /tmp/имя-пакета-версия-*t?z
5. Сторонние репозитории для Slackware обычно придерживаются более или менее похожей структуры.
6. Пакетный менеджер хранит сведения о пакетах в /var/log/{packages,scripts,removed_packages,removed_scripts} в *packages -- текстовые файлы, содержащие описание пакета и список его файлов, в *scripts -- содержимое установочного скрипта. Соответственно, ответы на вопросы установлен ли пакет, какому пакету принадлежит файл получаются при помощи тривиальных ls/find/grep. Попакетный список всех файлов выпуска в /packages/MANIFEST.bz2 и иных MANIFEST.bz2 в /extra, /testing, /source.
7. Если кто-то уже написал SlackBuild, собрал пакет, почему б не воспользоваться тем или иным?
http://repository.slacky.eu/slackware-13.3...kaltdcpp/2.2.5/
http://repository.slacky.eu/slackware64-13...kaltdcpp/2.2.5/
8. Помимо slacky.eu, весьма неплох сборник только слакбилдов slackbuilds.org и удобный к нему клиент sbopkg (sbopkg.org).
9. Для поиска слакбилдов/пакетов неплох slackfind.net (по-моему, сейчас лежит).
Пока хватит ;-)
ps. Ах, да, чуть не забыл.
-1. На большинство вопросов универсальным ответом будет являться "Прочитать что-то (HOWTO/man/info/README/документацию)." Если такое положение вещей по каким-либо причинам неприемлемо, дистрибутив окажется некомфортным. Например, даже это сообщение начато с рекомендации прочитать SlackBook ;-). Я предупредил ;-)
pps. Кроме того, в корне DVD/CD и репозитория есть файлы, требующие прочтения: ANNOUNCE.13_37, README.TXT, RELEASE_NOTES, CHANGES_AND_HINTS.TXT, Slackware-HOWTO, BOOTING.TXT, FAQ.TXT, README.initrd, README_CRYPT.TXT, README_LVM.TXT, README_RAID.TXT, SPEAKUP_DOCS.TXT, SPEAK_INSTALL.TXT, UPGRADE.TXT.
Ответы на большинство заданных вопросов легко найдутся в слакбуке.
Несколько тривиальных советов.
0. KISS -- Keep it simple stupid. Не усложнять.
1. Для первого знакомства желательно сделать полную установку. В таком варианте заведомо нет неразрешённых зависимостей.
2. Пакеты в slackware традиционно крупные (без нарезки на -dev, -lib, ...), исходники преимущественно "ванильные".
3. Основные общеупотребительные библиотеки вынесены в отдельный пакет (a/aaa_elflibs).
4. Исходники, из которых собрана система, поставляются в каталоге /source на CD/DVD диске и репозитории. Набор команд, необходимый для получения пакета, записан в сценарий оболочки имя-пакета.SlackBuild. Соответственно, для пересборки пакета с теми же настройками достаточно выполнить названный сценарий. Для изменения параметров сборки достаточно изменить их в скрипте и пересобрать пакет, выполнив скрипт. Обычно, при выходе новой версии ПО (минорной -- практически всегда, мажорной -- довольно часто), отличия в порядке сборки состоят не более чем в изменении номера версии (version bump), сборка новой версии сводится к:
# cp -r /cdrom/source/серия/имя-пакета ./
# cd имя-пакета
# wget http://сайт/исходники.tar.bz2
# VERSION=new.version ./имя-пакета.SlackBuild --cleanup
# upgradepkg --install-new /tmp/имя-пакета-версия-*t?z
5. Сторонние репозитории для Slackware обычно придерживаются более или менее похожей структуры.
6. Пакетный менеджер хранит сведения о пакетах в /var/log/{packages,scripts,removed_packages,removed_scripts} в *packages -- текстовые файлы, содержащие описание пакета и список его файлов, в *scripts -- содержимое установочного скрипта. Соответственно, ответы на вопросы установлен ли пакет, какому пакету принадлежит файл получаются при помощи тривиальных ls/find/grep. Попакетный список всех файлов выпуска в /packages/MANIFEST.bz2 и иных MANIFEST.bz2 в /extra, /testing, /source.
7. Если кто-то уже написал SlackBuild, собрал пакет, почему б не воспользоваться тем или иным?
http://repository.slacky.eu/slackware-13.3...kaltdcpp/2.2.5/
http://repository.slacky.eu/slackware64-13...kaltdcpp/2.2.5/
8. Помимо slacky.eu, весьма неплох сборник только слакбилдов slackbuilds.org и удобный к нему клиент sbopkg (sbopkg.org).
9. Для поиска слакбилдов/пакетов неплох slackfind.net (по-моему, сейчас лежит).
Пока хватит ;-)
ps. Ах, да, чуть не забыл.
-1. На большинство вопросов универсальным ответом будет являться "Прочитать что-то (HOWTO/man/info/README/документацию)." Если такое положение вещей по каким-либо причинам неприемлемо, дистрибутив окажется некомфортным. Например, даже это сообщение начато с рекомендации прочитать SlackBook ;-). Я предупредил ;-)
pps. Кроме того, в корне DVD/CD и репозитория есть файлы, требующие прочтения: ANNOUNCE.13_37, README.TXT, RELEASE_NOTES, CHANGES_AND_HINTS.TXT, Slackware-HOWTO, BOOTING.TXT, FAQ.TXT, README.initrd, README_CRYPT.TXT, README_LVM.TXT, README_RAID.TXT, SPEAKUP_DOCS.TXT, SPEAK_INSTALL.TXT, UPGRADE.TXT.
-
- Сообщения: 989
- Статус: Чайник со свистком
- ОС: GNU/Linux
Re: Установка программ в Slackware
Подскажите пожалуйста. Если я новичок в *NIX вообще, но решила сейчас ставить Слаку и соответственно имею необходимость ставить/удалять/обновлять ПО, то с какой стратегии мне лучше начать? Если точнее, есть ли смысл впопыхах разбираться в тонкостях связки ./configure--make--install и метаскриптов (SlackBuild) для них? Или лучше начинать сразу с installpkg/removepkg/upgradepk, а то и еще "выше" - с slapt-get?...
Так понимаю, что "родовое" отсутствие автоматического отслеживания пакетных зависимостей - суть юзиминка данного дистрибутива, и посему нет смысла начинать с иной методики работы с пакетами. Или я ошибаюсь и вполне не крамольно начать изучение системы ставя и удаляя все на полном автомате?...
Сори за вопросы, если что. Весь день рыла гугл да разные slackware-форумы - какое-то смутное понимание общей механики работы с ПО пришло, но на описанные вопросы его не хватает...
Так понимаю, что "родовое" отсутствие автоматического отслеживания пакетных зависимостей - суть юзиминка данного дистрибутива, и посему нет смысла начинать с иной методики работы с пакетами. Или я ошибаюсь и вполне не крамольно начать изучение системы ставя и удаляя все на полном автомате?...
Сори за вопросы, если что. Весь день рыла гугл да разные slackware-форумы - какое-то смутное понимание общей механики работы с ПО пришло, но на описанные вопросы его не хватает...
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Установка программ в Slackware
QWERTYASDF писал(а): ↑04.07.2013 02:35но решила сейчас ставить Слаку и соответственно имею необходимость ставить/удалять/обновлять ПО, то с какой стратегии мне лучше начать?
full install
QWERTYASDF писал(а): ↑04.07.2013 02:35Если точнее, есть ли смысл впопыхах разбираться в тонкостях связки ./configure--make--install и метаскриптов (SlackBuild) для них? Или лучше начинать сразу с installpkg/removepkg/upgradepk, а то и еще "выше" - с slapt-get?...
ИМХО лучше installpkg, а там, где это невозможно sbopkg.
QWERTYASDF писал(а): ↑04.07.2013 02:35Так понимаю, что "родовое" отсутствие автоматического отслеживания пакетных зависимостей - суть юзиминка данного дистрибутива
зависимости есть. Они отслеживаются скриптом configure.
QWERTYASDF писал(а): ↑04.07.2013 02:35и посему нет смысла начинать с иной методики работы с пакетами. Или я ошибаюсь и вполне не крамольно начать изучение системы ставя и удаляя все на полном автомате?...
в пакетах тоже зависимости есть, но они просто не прописываются. Т.е. если вы будете экспериментировать, то столкнётесь с ситуацией, когда пакет поставиться, но работать НЕ будет, т.к. вы удалили какую-то зависимость.
И да, не нужно использовать установку через configure && make %% make install, иначе сделаете из системы помойку, которая начинается с корня.
ЗЫЖ общая механика проста: пакет в слаке, это простой архив, который распаковывается в корень. А "пакетный менеджер" просто распаковывает, и запоминает имя пакета и файлы в /var/log/package/*. Зависимости возможны, но ими никто не пользуется автоматически. Это не нужно.
Спасибо сказали:
-
- Сообщения: 1354
Re: Установка программ в Slackware
Спешка хороша лишь при ловле блох, поэтому впопыхах точно ничего делать не стоит.QWERTYASDF писал(а): ↑04.07.2013 02:35есть ли смысл впопыхах разбираться в тонкостях связки ./configure--make--install и метаскриптов (SlackBuild) для них? Или лучше начинать сразу с installpkg/removepkg/upgradepk, а то и еще "выше" - с slapt-get?
installpkg/removepkg/upgradepkg (входят в pkgtool) -- штатные инструменты установки/удаления/обновления готовых пакетов.
slackpkg / slapt-get -- инструменты, которые используют pkgtool для установки/удаления/обновления готовых пакетов, имея собственную дополнительную функциональность по поддержке сетевых хранилищ пакетов (одного или нескольких) и умея обновлять оттуда информацию о пакетах, сверять версии установленного и имеющегося, показывать новое, загружать файлы пакетов и т.п.
Пакеты Slackware, действительно, являясь упакованными архивами tar, содержат (в ./install) дополнительную метаинформацию о пакете, а также установочный сценарий, выполняемый после распаковки пакета в корневую ФС.
./configure && make && make install и сценарии .SlackBuild -- вещи взаимосвязанные, второе использует первое для сборки из исходных текстов тех самых готовых пакетов, которые уже потом устанавливаются штатными методами (см. выше). Имеющийся в наличии .SlackBuild позволяет ничего не забыть при сборке пакета (например портянку параметров для ./configure приличествующих конкретному случаю). И да, ./configure && make && make install именно в таком виде без особой на то нужды лучше не использовать.
0) Читать сопутствующую документацию, страницы руководств, http://docs.slackware.com, http://docs.slackware.com/ru:start.
1) Полная установка (рекомендую всё же не ставить весь KDEI, не отмечать его при установке, лучше потом доставить из него 1-2 нужных языка, это очень просто:
Код: Выделить всё
# mount /dev/cdrom /mnt/cdrom
# upgradepkg --install-new /mnt/cdrom/slackware*/kdei/*-ru*t?z
2) Отсутствующее в дистрибутиве ПО собирать по имеющимся на slackbuilds.org сценариям. Сильно поможет sbopkg.
Возможен вариант использования сторонних хранилищ пакетов, но тут как повезёт. Пожалуй, первый кандидат на подобное использование -- хранилища SalixOS.
Если речь не об установке нового пакета ядра/модулей ядра, то лучше вместо installpkg использовать upgradepkg --install-new.
Спасибо сказали:
-
- Сообщения: 989
- Статус: Чайник со свистком
- ОС: GNU/Linux
Re: Установка программ в Slackware
drBatty, bormant
Спасибо большое! Буду пытаться )
Спасибо большое! Буду пытаться )
-
- Сообщения: 357
- ОС: GNU/Linux 4.x (Fedora, Debian)
Re: Установка программ в Slackware
А ещё Slackware можно установить только целиком (набор пакетов по умолчанию с умолчальной средой KDE)? Это я вывод делаю из того, что на фициальном ftp-сервере есть только iso-образы DVD; CD и Live-CD нет. То есть установиться с другой системы Linux или с USB-flash невозможно? А без Live-CD как, вдруг что-нибудь починить понадобится, root-пароль, например, сбросить.
-
- Сообщения: 1354
Re: Установка программ в Slackware
sunny1983
вывод неправильный.
Родной установщик представляет из себя ядро и установочную среду в образе initrd. Запускать можно откуда угодно, хоть с жёсткого диска, описывал там: http://docs.slackware.com/howtos:slackware...nstall_from_hdd
Установщик умеет брать пакеты с
1) установочного диска CD/DVD
2) образа установочного диска
3) другого CD/DVD или его образа
4) дерева пакетов на разделе HDD
5) дерева пакетов, доступного по NFS/FTP/HTTP/SAMBA
Установщик без пакетов лежит в виде образа флешки USB в каталоге /usb-and-pxe-installers, iso легко собрать самостоятельно из содержимого /isolinux, /kernels, собранные можно найти у alien-а http://www.slackware.com/~alien/slackboot/mini/, у него же есть и сценарий для автоматического их создания.
Установочный диск, точнее его установочная часть, является и ремонтным диском, и внешним загрузчиком для установленной системы.
вывод неправильный.
Родной установщик представляет из себя ядро и установочную среду в образе initrd. Запускать можно откуда угодно, хоть с жёсткого диска, описывал там: http://docs.slackware.com/howtos:slackware...nstall_from_hdd
Установщик умеет брать пакеты с
1) установочного диска CD/DVD
2) образа установочного диска
3) другого CD/DVD или его образа
4) дерева пакетов на разделе HDD
5) дерева пакетов, доступного по NFS/FTP/HTTP/SAMBA
Установщик без пакетов лежит в виде образа флешки USB в каталоге /usb-and-pxe-installers, iso легко собрать самостоятельно из содержимого /isolinux, /kernels, собранные можно найти у alien-а http://www.slackware.com/~alien/slackboot/mini/, у него же есть и сценарий для автоматического их создания.
Установочный диск, точнее его установочная часть, является и ремонтным диском, и внешним загрузчиком для установленной системы.
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Установка программ в Slackware
нет.
можно. Вот например ссылка на usb/pxe установщики http://slackware.mirrors.tds.net/pub/slack...pxe-installers/
в любой другой ОС (Linux ессно. И 64/32 должны совпадать) наберите chroot slackware_rootfs, и потом сбрасывайте что хотите.
-
- Сообщения: 357
- ОС: GNU/Linux 4.x (Fedora, Debian)
Re: Установка программ в Slackware
Освоил я этот слакбук. Последняя версия оного, имеющаяся на DVD, не описывает ничего более нового чем русский перевод. А именно для управления пакетами предлагается использовать утилиту pkgtool с интерактивным интерфейсом или консольные: installpkg, removepkg и др.. А средства ддя поиска пакетов: по имени пакета, по описанию, по содержимому есть какие-нибудь?
-
- Сообщения: 1354
Re: Установка программ в Slackware
Простота устройства предполагает возможность использования для обычных задач обычных же инструментов *NIX: ls, grep, awk.
Но нужно знать где искать.
Человекочитаемые списки пакетов дерева с кратким описанием лежат в /{slackware,slackware64,extra,testing,pasture}/PACKAGES.TXT.
Для просмотра глазами вполне подходит даже less, вы же в курсе, что он умеет и искать и фильтровать, и раскраску и ... И самое главное -- клавиши/команды те же, что и при просмотре man-а.
Пофайловые списки содержимого пакетов дерева лежат в /{slackware,slackware64,extra,testing,pasture}/MANIFEST.bz2.
Пофайловые списки установленного в систему из пакетов и установочные сценарии: /var/log/{packages,scripts}/,
в том числе для удалённых из системы пакетов и установочные сценарии: /var/log/removed_{packages,scripts}/.
В состав дистрибутива уже довольно давно входит ap/slackpkg, упрощающий работу по поиску/установке/удалению пакетов. man slackpkg в помощь.
В slint есть русский man к нему и русифицированный (на самом деле не только русский) вариант самой утилиты (и не только её):
http://slint.fr/packages/slint/
Как обходились без неё? Да очень просто. Например, система поставлена без KDE, но захотелось доставить и попробовать? Шелл -- мощнейшая штука:Куда проще, правда?
Обратная задача, удалить KDE? И снова шелл (да, глобинг) сделает за нас основную работу:Сложно?
Например, посмотреть последние 15 установленных пакетов, поможет ls -t (упорядочивание по дате) и head для отрезания лишнего, в сухом остатке:
Но нужно знать где искать.
Человекочитаемые списки пакетов дерева с кратким описанием лежат в /{slackware,slackware64,extra,testing,pasture}/PACKAGES.TXT.
Для просмотра глазами вполне подходит даже less, вы же в курсе, что он умеет и искать и фильтровать, и раскраску и ... И самое главное -- клавиши/команды те же, что и при просмотре man-а.
Пофайловые списки содержимого пакетов дерева лежат в /{slackware,slackware64,extra,testing,pasture}/MANIFEST.bz2.
Пофайловые списки установленного в систему из пакетов и установочные сценарии: /var/log/{packages,scripts}/,
в том числе для удалённых из системы пакетов и установочные сценарии: /var/log/removed_{packages,scripts}/.
В состав дистрибутива уже довольно давно входит ap/slackpkg, упрощающий работу по поиску/установке/удалению пакетов. man slackpkg в помощь.
В slint есть русский man к нему и русифицированный (на самом деле не только русский) вариант самой утилиты (и не только её):
http://slint.fr/packages/slint/
Как обходились без неё? Да очень просто. Например, система поставлена без KDE, но захотелось доставить и попробовать? Шелл -- мощнейшая штука:
Код: Выделить всё
# mount /dev/cdrom /mnt/cdrom
# cd /mnt/cdrom/slackware*; upgradepkg --install-new kde/*t?z kdei/*-ru-*t?z
Обратная задача, удалить KDE? И снова шелл (да, глобинг) сделает за нас основную работу:
Код: Выделить всё
# mount /dev/cdrom /mnt/cdrom
# cd /mnt/cdrom/slackware*; removepkg kde/*t?z kdei/*-ru-*t?z
Например, посмотреть последние 15 установленных пакетов, поможет ls -t (упорядочивание по дате) и head для отрезания лишнего, в сухом остатке:
Код: Выделить всё
$ ls -t /var/log/packages | head -n 15
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
-
- Сообщения: 357
- ОС: GNU/Linux 4.x (Fedora, Debian)
Re: Установка программ в Slackware
Слаку кстати я поставил.
Вопрос по поиску пакетов. "slackpkg search" и "slackpkg file-search" выдают информацию о состоянии пакета и его полном имени. А как в результатах поиска получать ещё и описание?
Как искать пакеты по описанию?
Как искать пакеты по фрагменту полного пути файла?
Вопрос по поиску пакетов. "slackpkg search" и "slackpkg file-search" выдают информацию о состоянии пакета и его полном имени. А как в результатах поиска получать ещё и описание?
Как искать пакеты по описанию?
Как искать пакеты по фрагменту полного пути файла?
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Установка программ в Slackware
$
$ sed -n '/^PACKAGE DESCRIPTION/,/FILE LIST/p' /var/log/packages/* | grep 'zoo'
2555:geeqie: image formats, zooming, panning, thumbnails, and sorting images into
11974:zoo: zoo (archiving and compressing utility)
11975:zoo:
11976:zoo: Zoo is used to create and maintain collections of files in compressed
11977:zoo: form. It uses a Lempel-Ziv compression algorithm that gives space
11978:zoo: savings in the range of 20% to 80% depending on the type of file data.
11979:zoo: Zoo can store and selectively extract multiple generations of the same
11980:zoo: file. Data can be recovered from damaged archives by skipping the
11981:zoo: damaged portion and locating undamaged data with the help of fiz(1).
11982:zoo:
11983:zoo: Zoo was written by Rahul Dhesi.
11984:zoo:
в пакете?
$
$ grep 'man1/zoo.1.gz' /var/log/packages/*
/var/log/packages/zoo-2.10_22-i486-1:28:usr/man/man1/zoo.1.gz
-
- Сообщения: 1354
Re: Установка программ в Slackware
Вместо
grep ... /var/log/packages/*
практичнее
grep -R ... /var/log/packages/
но до тех пор, пока список пакетов, раскрытый по глобингу * влезает в командную строку, разницы нет.
По описанию можно ещё проще:
$ grep Berkeley /var/lib/slackpkg/PACKAGES.TXT
biff+comsat: living in Evans Hall at U.C. Berkeley.
cups: System V and Berkeley command-line interfaces, a PostScript RIP
db42: db42 (Berkeley database library version 4.2.x)
db42: The Berkeley Database (Berkeley DB) library provides embedded database
db42: databases created with the Berkeley DB version 4.2.x.
db44: db4 (Berkeley database library version 4.4.x)
db44: The Berkeley Database (Berkeley DB) library provides embedded database
db44: databases created with the Berkeley DB version 4.4.x.
db48: db4 (Berkeley database library version 4.8.x)
db48: The Berkeley Database (Berkeley DB) library provides embedded database
db48: databases created with the Berkeley DB version 4.8.x.
indent: and original Berkeley style) are supported as well.
mailx: Mailx is derived from Berkeley Mail and is intended provide the
p2c: Sun/Berkeley Pascal, Texas Instruments Pascal, Apollo Domain Pascal.
tcsh: tcsh is an enhanced but completely compatible version of the Berkeley
Если среди установленных, то
$ grep -R Berkeley /var/log/packages/
Для наглядности можно grep --color...
А можно
$ less /var/lib/slackpkg/PACKAGES.TXT
и там &Berkeley, отфильтруется то же самое, имена пакетов слева до двоеточия.
Поиск по файлам по всем (включая неустановленные) пакетам репозитория:
забираем MANIFEST.bz2
$ cd /tmp; wget http://slackware.osuosl.org/slackware-14.1...re/MANIFEST.bz2
ищем:
$ bzgrep in/fal /tmp/MANIFEST.bz2
grep ... /var/log/packages/*
практичнее
grep -R ... /var/log/packages/
но до тех пор, пока список пакетов, раскрытый по глобингу * влезает в командную строку, разницы нет.
По описанию можно ещё проще:
$ grep Berkeley /var/lib/slackpkg/PACKAGES.TXT
biff+comsat: living in Evans Hall at U.C. Berkeley.
cups: System V and Berkeley command-line interfaces, a PostScript RIP
db42: db42 (Berkeley database library version 4.2.x)
db42: The Berkeley Database (Berkeley DB) library provides embedded database
db42: databases created with the Berkeley DB version 4.2.x.
db44: db4 (Berkeley database library version 4.4.x)
db44: The Berkeley Database (Berkeley DB) library provides embedded database
db44: databases created with the Berkeley DB version 4.4.x.
db48: db4 (Berkeley database library version 4.8.x)
db48: The Berkeley Database (Berkeley DB) library provides embedded database
db48: databases created with the Berkeley DB version 4.8.x.
indent: and original Berkeley style) are supported as well.
mailx: Mailx is derived from Berkeley Mail and is intended provide the
p2c: Sun/Berkeley Pascal, Texas Instruments Pascal, Apollo Domain Pascal.
tcsh: tcsh is an enhanced but completely compatible version of the Berkeley
Если среди установленных, то
$ grep -R Berkeley /var/log/packages/
Для наглядности можно grep --color...
А можно
$ less /var/lib/slackpkg/PACKAGES.TXT
и там &Berkeley, отфильтруется то же самое, имена пакетов слева до двоеточия.
Поиск по файлам по всем (включая неустановленные) пакетам репозитория:
забираем MANIFEST.bz2
$ cd /tmp; wget http://slackware.osuosl.org/slackware-14.1...re/MANIFEST.bz2
ищем:
$ bzgrep in/fal /tmp/MANIFEST.bz2
Спасибо сказали:
-
- Сообщения: 1354
Re: Установка программ в Slackware
ps. Достаточно знать, как устроено хранение сведений, как искать по тексту, тогда решение произвольной задачи можно легко сконструировать в классическом подходе UNIX.
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Установка программ в Slackware
а он ВСЕГДА влезает. Последний раз я видел, что НЕ влезал, на первом пне и десятой слаке.
Но конечно вы правы, моя команда жрёт памяти немеренно, и потому работает заметно медленнее. И она ещё и сортирует ВЕСЬ этот массив, что нам здесь совсем и не нужно. Т.е. на моём слабеньком нетбуке это работает, но надо ждать где-то 400..800ms.
небольшая поправочка: искать удобнее простой less. Да, less в этой ОС умеет сама распаковывать bz2/gz файлы.
-
- Сообщения: 357
- ОС: GNU/Linux 4.x (Fedora, Debian)
Re: Установка программ в Slackware
В /var/log/packages хранятся файлы описаний установленых пакетов. А я спросил как искать по всем: и установленным и неустановленным.
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Установка программ в Slackware
точно также. Только искать нужно в дереве дистрибутива, в файлах package_name.txt. Это описание. Сами пакеты и их содержимое в MANIFEST.bz2
-
- Сообщения: 357
- ОС: GNU/Linux 4.x (Fedora, Debian)
Re: Установка программ в Slackware
MANIFEST.bz2 качается с репозитория, об этом я получаю сообщение когда делаю "slackpkg update". А что происходит потом, в какой локальный файл эта база записывается?
Спасибо конечно за намёки, но буду более благодарен если вы дадите полный текст скрипта выполняющего поиск по описанию в полной базе пакетов и поиск по фрагменту полного имени файла. Сами наверняка подобным скриптом пользуетесь.
Спасибо конечно за намёки, но буду более благодарен если вы дадите полный текст скрипта выполняющего поиск по описанию в полной базе пакетов и поиск по фрагменту полного имени файла. Сами наверняка подобным скриптом пользуетесь.
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Установка программ в Slackware
откуда я знаю? Смотрите документацию к slackpkg, которая вам так нравится. Мне лень.
неа, я не пользуюсь. А зачем нужен такой скрипт? Т.е. я понял, ЧТО должен делать этот скрипт, я не понял ЗАЧЕМ это надо?
-
- Сообщения: 357
- ОС: GNU/Linux 4.x (Fedora, Debian)
Re: Установка программ в Slackware
Ну допустим нужна тебе программа для прожига дисков, но ты не знаешь какие программы есть в репозитории - ты делаешь поиск по описанию по слову "burn", а затем выбираешь какую-нибудь одну из найденых.
-
- Сообщения: 1144
- Статус: Slacker!
- ОС: Slackware64-current
Re: Установка программ в Slackware
Я знаю, что это за программа - это браузер. У многих представителей сего класса программ есть такая возможность как поиск прямо из адресной строки. В Opera последней классической версии можно назначить букву или буквосочетание на поиск. Я добавил sbo для поиска на slackbuilds.org для 14.1 и sba для поиска там же, но только по всем версиям Slackware, для которых там есть ветка слакбилдов.
Как добавить - ПКМ на поле ввода строки для поиска > Создать поиск. Дальше и так понятно - задаем удобное сочетание букв, правим при необходимости адрес службы поиска и её параметры, название службы... А slapt-get с gslapt я не использую, меня slackpkg устраивает. Хотя и хочется пару вкусностей в него добавить. Он, кстати, и есть то, что нужно - умеет искать по имени пакета, по его содержимому, выводить описания пакетов. Что еще нужно? Кстати, в дистрибутиве из коробки только k3b, за другими писателями дисков нужно идти на SBo, в гугл, на slacky.eu, может, еще куда. Мне одного SBo да еще гугла хватает за глаза.
Как добавить - ПКМ на поле ввода строки для поиска > Создать поиск. Дальше и так понятно - задаем удобное сочетание букв, правим при необходимости адрес службы поиска и её параметры, название службы... А slapt-get с gslapt я не использую, меня slackpkg устраивает. Хотя и хочется пару вкусностей в него добавить. Он, кстати, и есть то, что нужно - умеет искать по имени пакета, по его содержимому, выводить описания пакетов. Что еще нужно? Кстати, в дистрибутиве из коробки только k3b, за другими писателями дисков нужно идти на SBo, в гугл, на slacky.eu, может, еще куда. Мне одного SBo да еще гугла хватает за глаза.
-
- Сообщения: 1354
Re: Установка программ в Slackware
Так?
А затем или поштучно, или для всех
Код: Выделить всё
$ grep -i burn /var/lib/slackpkg/PACKAGES.TXT
cdrdao: cdrdao (CD burning utility)
cdrdao: cdrdao burns proper disc-at-once (DAO) audio discs. In DAO mode the
cdrtools: cdrecord -- burn discs in most ATAPI and SCSI CD-R drives.
k3b: interface and supports CD burning (including on-the-fly), copying,
А затем или поштучно, или для всех
Код: Выделить всё
$ grep -i burn /var/lib/slackpkg/PACKAGES.TXT | cut -d: -f1 | sort -u | xargs -n1 /usr/sbin/slackpkg info
PACKAGE NAME: cdrdao-1.2.3-x86_64-2.txz
PACKAGE LOCATION: ./slackware64/ap
PACKAGE SIZE (compressed): 276 K
PACKAGE SIZE (uncompressed): 1210 K
PACKAGE DESCRIPTION:
cdrdao: cdrdao (CD burning utility)
cdrdao:
cdrdao: cdrdao burns proper disc-at-once (DAO) audio discs. In DAO mode the
cdrdao: disc is written in one shot, so you don't have to have irritating 2
cdrdao: second gaps interrupting a live recording.
cdrdao:
PACKAGE NAME: cdrtools-3.01a08-x86_64-1.txz
PACKAGE LOCATION: ./slackware64/ap
PACKAGE SIZE (compressed): 832 K
PACKAGE SIZE (uncompressed): 4070 K
PACKAGE DESCRIPTION:
cdrtools: cdrtools (CD-R, ISO and related tools)
cdrtools:
cdrtools: Tools for mastering and writing compact discs.
cdrtools:
cdrtools: cdda2wav -- CD audio sampling utility.
cdrtools: cdrecord -- burn discs in most ATAPI and SCSI CD-R drives.
cdrtools: mkisofs -- create ISO9660/HFS/Joliet CD-ROM images.
cdrtools: mkzftree -- compress a file tree to make a compressed CD-ROM.
cdrtools:
PACKAGE NAME: k3b-2.0.2_20120226.git-x86_64-1.txz
PACKAGE LOCATION: ./slackware64/kde
PACKAGE SIZE (compressed): 6688 K
PACKAGE SIZE (uncompressed): 16260 K
PACKAGE DESCRIPTION:
k3b: k3b (The CD Creator)
k3b:
k3b: K3b makes writing cds under Linux easy. It has an easy to use
k3b: interface and supports CD burning (including on-the-fly), copying,
k3b: erasing, ripping, and more.
k3b:
k3b: K3b was written by Sebastian Trueg, Thomas Froescher,
k3b: Christian Kvasny, and Klaus-Dieter Krannich.
k3b:
k3b: For more information, visit: http://www.k3b.org
k3b:
Спасибо сказали:
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Установка программ в Slackware
да я и так знаю, какие программы CD пишут. Ну и гугл подскажет. Да и вообще, в дистре _одна_ программа, остальное -- гуишные морды. Какая мне разница, какая морда?
делить на ноль нельзя: k3b не пишет диски.
-
- Сообщения: 1354
Re: Установка программ в Slackware
Тут slackpkg поступает вполне эгоистично: он из них делает /var/lib/{slackware*,extra,testing,patches,pasture}-filelist.gz, в которых по одной строке на пакет, начинается строка с имени пакета, затем через пробелы список файлов пакета. А потом по file-search он на него zgrep натравливает и имя пакета от начала выкусывает, вполне тривиально.
-
- Сообщения: 357
- ОС: GNU/Linux 4.x (Fedora, Debian)
Re: Установка программ в Slackware
Теперь, когда вопросы по работе с репозиторием исчерпаны, поговорим о доп. пакетах. Что всё-таки лучше: найти готовый пакет и установить его или найти слакбилд?
Вот нужет проприетарный драйвер broadcom-sta, нашёл готовый пакет тут и слакбилд тут. Вроде для сборки ддрайверы нужны kernel-headers, которые при каждой конфигурации ядра будут индивидуальны, наверное тогда лучше собирать?