Sfs-get. Менеджер модулей .pfs и .sfs

Работа с модулями .pfs .sfs

  • Идея зародилась во время работы над LupuRus Bit.
  • Начал было решать проблему ярлыков вынесенного в модули софта. По замыслу - при отсутствии - предложить скачать и установить. Увлекся, и написал менеджер модулей.sfs (MM)
  • Далее был доработан и использовался в SFSl, ПапиРус21 Байт006a,008, AF
  • Последняя версия в LF*

Функционал

  • Позволяет разместить свой репозиторий модулей на бесплатных общедоступных ресурсах
  • Поиск локально или в репозитории по названию модуля
  • Скачать модуль
  • Подключить (выше, ниже базы, в память)
  • Стартовать
  • Отключить

Логика работы

  • Ищет по названию пакета или его части файл локально (на hdd). Если находит - запускает
  • Если не находит - ищет с maxdept=3 на подключенных носителях и в списке репозиториев /etc/sfs-get
  • При нахождении предлагает загрузить , подключить и запустить
  • Во всех конфигах можно экранировать строки : #

Ярлык для загрузки программы

  • Можно делать ярлык (/usr/share/applications/*.desktop) для программы, которой нет в базе. Например Exec=sfs-get gpartedsfs-get doublecmd
  • Название программы можно указывать не до конца. Версию и т.п. можно опускать.
  • При его вызове произойдет запуск программы (если модуль уже подключен) или предложение скачать и запустить

Конфигурация репозиториев

Назначение файлов:

  • /etc/sfs-get/*-list.txt - списки соответветствующих (конфиг, url, www репозиториев) именно Вашего дистрибутива
  • /etc/sfs-get/links/_up-links.txt - URL ссылки на скачивание *.bz2 файлов обновления соответствующих списков.
    • Например http://qwe.ru/pra-links.txt.bz2 обновит /etc/sfs-get/links/pra-links.txt
    • Для выключения обновления - удалите (закомментируйте #) все в /etc/sfs-get/links/_up-links.txt

Типы поддерживаемых репозиториев

  • C 2018 г. используются только WWW репозиторий.
  • git.com тоже рабочий

WWW репозиторий (ftp-http)

  • Все совсем просто - добавляем файлы на ftp-http.
  • В /etc/sfs-get/www.list добавляем свой http
  • Их список, обновление sfs-get делает сам
  • Недостаток - требуется ftp-http , поддерживающий выдачу списка файлов wget –no-remove-listing . Такие бесплатные ресурсы редки.

Пример:

mirror.yandex.ru/puppyrus/pfs/packages-Icewm
mirror.yandex.ru/puppyrus/pfs/packages-base

github.com репозиторий

  • Реализован в версиях sfs-get >= 221130
  • Модули.pfs нужно заливать в Releases. Только сюда можно залить файлы больше 25мб
  • В /etc/sfs-get/www.list добавляем api.github.com/repos/аккаунт/репозиторий/releases/tags/таг

Пример:

api.github.com/repos/sfs-pra/portable/releases/tags/portable64-23                                                               
api.github.com/repos/sfs-pra/portable/releases/tags/portable64 

Конфиг

Наиболее функциональный вариант. Часть функционала пока не реализована (зависимости). Трудозатратность - самая большая. Синтаксис конфига сложноват. Специального редактора конфига нет.

  • Использует любое www-хранилище с прямыми ссылками (например: https://one.ubuntu.com/).
  • Ссылки должны скачиваться wget URL. Поэтому с mediafire и т.п. не получится.
  • В URL не обязательно иметь имя программы. Оно будет в конфиге
  • /etc/sfs-get/sfs.list - список используемых репозиториев
  • Cоздавать можно только в текст. редакторе. Пример:
#1.  название \
#2.  версия \
#3.  url \
#4.  filename \
#5.  md5sum \
#6.  раздел(как в меню пуск) \
#7.  альтернативы \
#8.  размер Мб \
#9.  зависимости \
#10. комментарий \
#11. проверен под

Браузер ;\
;\
http://ubuntuone.com/75TTZ5LUS2CWpAPKCwsdsU ;\
firefox_7.0.1ab_520.sfs ;\
;\
Интернет ;\
firefox chromium-browser opera midori dillo links lynx ;\
17 ;\
;\
;\
LupuRus520 SFSL Slacko5.3

doublecmd ;\
0.5.0-1.gtk2.i386.lite ;\
http://ubuntuone.com/p/1F2w/ ;\
doublecmd_0.5.0-1.gtk2.i386.lite.sfs ;\
;\
Файловая система ;\
;\
5 ;\
;\
;\
LupuRus520 SFSL Slacko5.3
  • Пока обрабатываются только поля 1,3,4,7. Остальные - на перспективу. Затейливый формат - для удобства редактирования.
  • Вместо непосредственно программы, можно предлагать целый класс с альтернативами (см. Браузер) в sfs-user.list

URL репозиторий (список ссылок)

Наиболее прост в реализации и развертывании

  • Название файла со ссылками (без путей) в /etc/sfs-get/links.list. Этот файл находится в /etc/sfs-get/
  • Ссылки - любые, которые сможет скачать wget.
  • Имена файлов - не хэши. Т.к. конфига здесь нет - по URL нужно будет понять название программы и версию

Пример:

http://dl.dropbox.com/u/84540362/puppyrus/packages-pfs/abiword-2.9.1-i486.pfs
http://cdn.2safe.com/523226033048/OPERA-12.15f-s01.pfs

Эти же ссылке можно использовать в первом типе

Зависимости

  • sfs-get - это скрипт.
  • Должен работать в любом frugal-aufs дистрибутиве
  • Утилиты монтирования модулей можно менять в начале скрипта mnt_sfs
  • Необходимо наличие в дистрибутиве :
    • bash, grep, find
    • gtkdialog >0.83 , yad
    • wget. busybox wget - работать будет , но без прогрессбара загрузки
Печать/экспорт