Сайт | Скачать | Видео | Wiki

Автор Тема: pfs-get - консольный менеджер модулей.pfs .sfs  (Прочитано 34174 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: pfs-get - консольный менеджер модулей.pfs .sfs
« Ответ #225 : 30 Сентябрь 2020, 22:25:39 »
Начал работать и над обновлениями. Логику надо еще додумывать, но
pfsget ./модуль.pfs уже работать должно. Если модуль собран с INFO то искать будет не по имени модуля, а по NAME из INFO.

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: pfs-get - консольный менеджер модулей.pfs .sfs
« Ответ #226 : 30 Сентябрь 2020, 22:29:16 »
Krasnyh, а реполист у вас подписанный?
Или без подписи? Думаю правильнее запретить неподписанные по умолчанию, а разрешать с ключем или с настройкой в конфиге.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: pfs-get - консольный менеджер модулей.pfs .sfs
« Ответ #227 : 30 Сентябрь 2020, 23:10:13 »
Для подписи реполиста нужен gpg2. Ключи делаются так:
gpg2 --generate-key
После надо ответить на вопросы. В случае если установлен gpg2 и сгененрированы ключи у пользователя под которым делаете REPOLIST.
Этот самый реполист будет подписан автоматически. Если нет, то без подписи.
Для того чтоб проверялась подпись, у юзверей должен быть Ваш публичный ключ pubring.gpg. Ключ ищите в ~/.gnupg/  после генерации ключей. Его кладем в /etc/pfsget/ всем пользователям.
В Арче gpgme
Код
.gpgme-1.14.0-1.pfs/usr/bin $ ll
итого 5185
-rwxr-xr-x 1 root root    3075 сен  3 20:34 addgnupghome
-rwxr-xr-x 1 root root    2217 сен  3 20:34 applygnupgdefaults
-rwxr-xr-x 1 root root  583120 сен  3 20:34 dirmngr
-rwxr-xr-x 1 root root  117408 сен  3 20:34 dirmngr-client
-rwxr-xr-x 1 root root 1111912 сен  3 20:34 gpg
lrwxrwxrwx 1 root root       3 сен  3 20:34 gpg2 -> gpg
-rwxr-xr-x 1 root root  178624 сен  3 20:34 gpgconf
-rwxr-xr-x 1 root root    4920 июл 16 19:34 gpgme-config
-rwxr-xr-x 1 root root   83968 июл 16 19:34 gpgme-json
-rwxr-xr-x 1 root root   75920 июл 16 19:34 gpgme-tool
-rwxr-xr-x 1 root root   30544 сен  3 20:34 gpgparsemail
-rwxr-xr-x 1 root root  256240 сен  3 20:34 gpgscm
-rwxr-xr-x 1 root root  519184 сен  3 20:34 gpgsm
-rwxr-xr-x 1 root root   84328 сен  3 20:34 gpgsplit
-rwxr-xr-x 1 root root  154872 сен  3 20:34 gpgtar
-rwxr-xr-x 1 root root  457616 сен  3 20:34 gpgv
lrwxrwxrwx 1 root root       4 сен  3 20:34 gpgv2 -> gpgv
-rwxr-xr-x 1 root root  418464 сен  3 20:34 gpg-agent
-rwxr-xr-x 1 root root  162560 сен  3 20:34 gpg-connect-agent
-rwxr-xr-x 1 root root  207808 сен  3 20:34 gpg-wks-server
-rwxr-xr-x 1 root root  174656 сен  3 20:34 kbxutil
-rwxr-xr-x 1 root root    2815 авг 30 13:52 ksba-config
-rwxr-xr-x 1 root root    3102 ноя 13  2019 npth-config
-rwxr-xr-x 1 root root     122 ноя 13  2019 pinentry
-rwxr-xr-x 1 root root   72080 ноя 13  2019 pinentry-curses
-rwxr-xr-x 1 root root   63880 ноя 13  2019 pinentry-emacs
-rwxr-xr-x 1 root root   80272 ноя 13  2019 pinentry-gnome3
-rwxr-xr-x 1 root root   92560 ноя 13  2019 pinentry-gtk-2
-rwxr-xr-x 1 root root  129608 ноя 13  2019 pinentry-qt
-rwxr-xr-x 1 root root   67976 ноя 13  2019 pinentry-tty
-rwxr-xr-x 1 root root   22368 апр 14 20:49 secret-tool
-rwxr-xr-x 1 root root  121472 сен  3 20:34 symcryptrun
-rwxr-xr-x 1 root root   18184 сен  3 20:34 watchgnupg
После выполнения "gpg2 --generate-key"
Код
~/.gnupg $ ls **
pubring.kbx~  pubring.kbx  trustdb.gpg

openpgp-revocs.d:
CCB043B80643BD78F9E776E32C6B4453E994F8AD.rev

private-keys-v1.d:
215CE276EE382C9983324071198351C431AAE1FC.key
302A494A75FFCE1801F489855186BB1D2E2C9475.key

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: pfs-get - консольный менеджер модулей.pfs .sfs
« Ответ #228 : 01 Октябрь 2020, 06:01:33 »
Переделано на gpg (не 2). Переделал после того как sfs пробовал. Забыл отписаться, сорри.

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: pfs-get - консольный менеджер модулей.pfs .sfs
« Ответ #229 : 01 Октябрь 2020, 06:03:42 »
gpg --version
gpg (GnuPG) 1.4.23

 $ gpg2 --version
gpg (GnuPG) 2.2.17-unknown
libgcrypt 1.8.5
NOTE: THIS IS A DEVELOPMENT VERSION!

Переписать на gpg?
После этого решил, что правильнее gpg.

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: pfs-get - консольный менеджер модулей.pfs .sfs
« Ответ #230 : 17 Октябрь 2020, 13:08:25 »
Я снова с идеей.
Почему мы рассматриваем репозитории только для модулей. У нас же есть chroot2pfs и мы можем делать репозитории со скриптами для него. Ну или смешанные. Попробую расписать как это могло бы выглядеть.
Напомню скрипт для chroot2pfs это что-то вроде ваших скриптов для обновления браузеров. То есть он выполняет действия в чруте результат которых пакуется в модуль. Можно скачивать готовые бинари с оффициальных сайтов, можно качать и компилировать что-то, можно устанавливать софт с репозитория и после его "обезжиривать"  и т.д.
Скрипт может выполняться любым доступным в целевой системе интерпретатором, но думаю чаще всего это будет /bin/sh.
Теперь о том что нужно дописать.
Первое. Нужно продумать логику того что должен делать pfsget при скачивании таких скриптов, чтоб работало очень похоже на скачивание модулей. Приведу конкретные примеры и предположительно что должно произойти. Обсудим по каждой строке.
pfsget модуль - скачивает модуль в текущую папку
pfsget скрипт - ?

pfsget -l модуль - скачивает в текущую папку и подключает
pfsget -l скрипт - предлагаю: скачать в текущую скрипт, собрать здесь же модуль и подключить

pfsget -i модуль - качает в стандартную папку для модулей (modules) и подключает
pfsget -i скрипт - предлагаю: скачать срипт в текущую папку, собрать модуль, перенести в modules и  подключить

То есть не понятно с вариантами для скриптов: "проcто скачать" и "скачать и собрать"

Второе. Как донести pfsget инструкцию по сборке, то есть то что должно быть в cmdline для chroot2pfs при сборке. Тут вижу два варианта:
а. Простой. Имя генерируется из имени скрипта остальное для всех скриптов одинаково. Легко организовать, но не возможно передать доп. параметры. Список модулей для чрута, алгоритм сжатия, или еще что-то.
б. Второй. Записать в сам скрипт. Можно сразу после шебанга в закоменнтаренном виде, например.
#!/bin/bash
#chroot2pfs -o firefox.xzm -c nspawn -f --script ./firefox.sh
дальше
основной
код

То есть pfsget должен будет для сборки модуля запустить все, что закомментарено после шебанга. Можно как то посложнее выделить типа
#==> chroot2pfs -o firefox.xzm -c nspawn -f --script ./firefox.sh
чтобы не попутать с реальными комментами. Думаю не будет лишним разрешить выполнение нескольких таких строк, можно будет выполнять действия до и после сборки (пока не знаю зачем).

Думаю можно дать таким скриптам отдельное расширение, наприме script.c2p чтоб не путаться.

З.Ы. Нахрена это нужно.
- для софта который нельзя легально иметь в репозитории, к примеру скайп. То есть как аналог get пакетам.
- для софта которого нет в репе и его надо компилить. В случае скрипта вы будете уверены что все скачано с оф. источника и собрано на вашей машине
- для сборки модулей из пакетов, когда требуются действия после установки, например удаление лишнего.
З.З.Ы Напомню, что модули собранные чрут2пфс - пересобираемые. То есть если в скрипте предусмотренно скачивание не конкретной версии софтины, а новейшей версии, то chroo2pfs имя_модуля.pfs собрет вам обновленный модуль.

« Последнее редактирование: 17 Октябрь 2020, 13:26:47 от betcher »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: pfs-get - консольный менеджер модулей.pfs .sfs
« Ответ #231 : 17 Октябрь 2020, 15:34:58 »
#==> chroot2pfs -o firefox.xzm -c nspawn -f --script ./firefox.sh
Так конечно лучше, чтобы параметры были перед глазами. А то я когда составлял строку chroot2pfs для темы JWM, поднимал документацию, ибо подзабыл все.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: pfs-get - консольный менеджер модулей.pfs .sfs
« Ответ #232 : 19 Октябрь 2020, 09:37:55 »
У нас же есть chroot2pfs и мы можем делать репозитории со скриптами для него.
1. Скрипты будут дистрозависимыми, т.к. одинаковые пакеты в разных дитстрах называются по разному
Да и в пределах одного дистриба могут меняться
Для софта типа браузеров (качаются с сайта производителя) - может быть. Но проще написать скрипт автообновления на базе имеющегося модуля - что я и сделал
2. А как собрать базовый модуль...
По своему опыту - собираю базу средствами дистра (pacstrap debostrap) . Модуль ТК и DE в chroot2pfs
Модули софта мне удобнее собирать уже pacman2pfs (repo2pfs) в запущенном новом дистре, а не вслепую
3. Опять же - проще обновлять дистр по списку пакетов предыдущего : pacman2pfs "`pfspkg старый.pfs`"
4. Для кого это все? много народа собирает свои дистры

Я в prar2008 пришел к концепции :
Если дистр собран исключительно из родной репы (как MagOS) - ставьте стандартно фул. Удивить тут можно только нестандартной ДЕ
Хотите Frugal фич :  uird или пр initrd
Актуально на стационаре. Место экономить не надо. Ресурсы - не всегда
Юзер должен интересоваться свежим софтом и т.п.

Frugal имеет смысл на флэшках, слабом железе и т.п.
Тут может заинтересовать режим copy2ram - убирает проблемы медленных и жрущих батарею носителей типа hdd
Юзеру надо только несколько прог. Большинству - только браузер
Подготовка юзера - минимальная. Установка проще обычного линукса - скопировать модули
Тут надо сжимать и оптимизировать модули. Полностью автоматизировать сложно. Да и не нужно. Пока браузеры запускаются - обновлять смысла (кроме закрытия дыр) нет

В итоге prar2008 можно и так и так и есть смысл обновлять
lf - только фругал и обновлять смысла нет (как минимум пока)

Короче - итог : вряд ли многим это нужно
Всем фругальщикам нужен менеджер модулей с GUI. Но тут мы никак пока не можем договориться...
я когда составлял строку chroot2pfs для темы JWM, поднимал документацию, ибо подзабыл все.
Вот - уже местами сложно до необходимости чтения док. многие это будут делать?
Надо ли еще усложнять?
Лучше сделать максимально интуитивно понятным и документировать
« Последнее редактирование: 19 Октябрь 2020, 09:39:58 от sfs »

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: pfs-get - консольный менеджер модулей.pfs .sfs
« Ответ #233 : 19 Октябрь 2020, 10:49:28 »
Я предлагаю это как дополнение к тому, что есть. То есть в репе помимо модулей.pfs лежат еще скрипты.c2p. При этом для пользователя установка того и другого должна выглядеть максимально одинаково. Запустил pfsget opera, получил оперу, при этом он может даже не знать, что это был скрипт, а не модуль.
В некоторых случаях скрипт предпочтительнее модуля, а в некоторых и вообще не заменим, например по лицензионным соображениям. Так что лишним не будет.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: pfs-get - консольный менеджер модулей.pfs .sfs
« Ответ #234 : 19 Октябрь 2020, 10:51:22 »
Запустил pfsget opera.получил оперу
В любом линуксе? А как с зависимостями?
по лицензионным соображениям
можно подробнее

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: pfs-get - консольный менеджер модулей.pfs .sfs
« Ответ #235 : 19 Октябрь 2020, 10:55:08 »
Вот - уже местами сложно до необходимости чтения док. многие это будут делать?
Есть множество вполне стандартных утилит, синтаксис которых я ищу в доках всякий раз как понадобится. Просто потому, что они не каждодневно используются. Iptables например. Да теже sed и awk, если задача чуть сложнее обычного лезу в доки.

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: pfs-get - консольный менеджер модулей.pfs .sfs
« Ответ #236 : 19 Октябрь 2020, 10:57:49 »
В любом линуксе? А как с зависимостями
Причем здесь любой линукс? В конкретной репе, конкретного прар лежат конкретные модули. Я предлагаю расширить функционал и добавить в эту репу конкретные скрипты для установки конкретного софта для конкретно этого же прар.

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: pfs-get - консольный менеджер модулей.pfs .sfs
« Ответ #237 : 19 Октябрь 2020, 10:59:20 »
можно подробнее
Описывал выше уже. Пример скайп, вы не можете согласно его лицензии распространять скайп. Но вполне можете распространять скрипт, который качает официальный скайп и пакует в модуль.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: pfs-get - консольный менеджер модулей.pfs .sfs
« Ответ #238 : 19 Октябрь 2020, 11:01:24 »
расширить функционал и добавить в эту репу конкретные скрипты для установки конкретного софта
А не проще сделать мета пакет - пустой , только  со списком модулей в зависимостях и pacman2pfs  его
Уже так делал. Не очень прижилось. Мне со старого модуля обнловлять удобнее...

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: pfs-get - консольный менеджер модулей.pfs .sfs
« Ответ #239 : 19 Октябрь 2020, 11:04:07 »
не проще сделать мета пакет - пустой
С метапакетами задачи пересекаются лишь частично.