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

Автор Тема: Универсальный менеджер монтирования модулей без aufs , overlayfs.  (Прочитано 3826 раз)

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

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Нет, наверно имеются в виду ссылки с такими же именами, но которые указывают на файлы из системы, а не из смонтированных модулей
тогда проверять, вот выше krasnyh ссылку дал на github.com/puppylinux-woof-CE
там у них довольно просто проверка организована
тыц
« Последнее редактирование: 20 Январь 2024, 21:16:53 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2573
  • Репутация: +33/-0
 - в гугле, по-порядку ('check broken links'):1, 2,...
-----------
+! (https://linuxhandbook.com/delete-links/)
Цитата
Never force remove a link to a directory with rm -f because it will delete the contents of the directory.
=========
зы
# "просто запрос" - в Тему пока не полезу.
в механизм-удаления 'ddog-overlay' не заглядывал ( а про то что мимолетно попадалось - несерьезно)
« Последнее редактирование: 20 Январь 2024, 21:03:14 от knn »
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5344
  • Репутация: +139/-1
В /opt будет работать?
Это кстати, самый простой вариант. Имхо. По сути "изолированный контейнер", и после отмонтирования, можно все скопом удалять не глядя. ) Систему это не сломает.


Но это не очень удобно, слишком много модулей придется переделывать под такой портабельный вариант.
Хотя, sfs экспериментировал в этом направлении. Репы - 32/pfs-portable, 64/pfs-portable.
« Последнее редактирование: 20 Январь 2024, 21:22:41 от krasnyh »

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Never force remove a link to a directory with rm -f because it will delete the contents of the directory.
поэтому и опасно в корне экспериментировать
поэтому и агитирую за то, чтоб компоненты программы не разбрасывать по всей системе, как в linux'ах принято, а все в одном каталоге держать(как в win), а каталог этот уже или в /usr/local или в /opt или даже юзеру в домашнюю(не рекомендую)
« Последнее редактирование: 20 Январь 2024, 21:18:50 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2573
  • Репутация: +33/-0
# сегодня побочно попалось (не совсем в тему и старенькое, но вдруг пригодится): http://www.pixelbeat.org/docs/unix_file_replacement.html
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн uropb

  • Старожил
  • ****
  • Сообщений: 234
  • Репутация: +12/-0
и после отмонтирования, можно все скопом удалять не глядя. )
Если он единственный
Tox1 s905x3

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5344
  • Репутация: +139/-1
Там подпапки создаются со всем содержимым - /opt/firefox/*, /opt/filezilla/*... Так что нет проблем с удалением скопом.

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

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5344
  • Репутация: +139/-1
Можешь глянуть
Сам глянул на примере filezilla-p-3.44.2_64-sf01.pfs (-p- в названии, означает portable), не такое оно и портабельное. ) Все равно в корень пишет (помимо /opt, там и папка /usr).
« Последнее редактирование: 20 Январь 2024, 22:42:46 от krasnyh »

Оффлайн uropb

  • Старожил
  • ****
  • Сообщений: 234
  • Репутация: +12/-0
Там подпапки создаются со всем содержимым - /opt/firefox/*, /opt/filezilla/*.
Т.е. все равно:
sudo cp -rs --no-clobber "$TARGET_DIR"/* /
но надо создавать портированный модуль,
а если:
 sudo cp -rs --no-clobber "$TARGET_DIR"/* /usr/local
модуль любой, но один? Или ссылки не удалять
« Последнее редактирование: 20 Январь 2024, 23:11:43 от uropb »
Tox1 s905x3

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5344
  • Репутация: +139/-1
не такое оно и портабельное. )
Классическое portable, это FileZillaPortable_3.66.4.paf.exe взятое с portableapps.com. После установки получаем папку:
Код
$ ls -l /mnt/sda3/Game/FileZillaPortable
итого 204
drwxr-xr-x 6 live live   4096 янв 20 23:23 App
drwxr-xr-x 2 live live   4096 янв 20 23:23 Data
-rwxr-xr-x 1 live live 186888 дек 24 01:57 FileZillaPortable.exe
drwxr-xr-x 4 live live   4096 янв 20 23:23 Other
-rw-r--r-- 1 live live   4847 июл 14  2020 help.html
Чем-то это близко к Appimage в линуксе. Но я слишком много хочу, ) так тоже не совсем удобно.
А без /usr (помимо /opt), как я понял не получится, надо же как-то скрипты запускать. Так что, никаких претензий к portable от sfs.
« Последнее редактирование: 21 Январь 2024, 00:07:17 от krasnyh »

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 886
  • Репутация: +24/-0
  • Автор темы
в шапке теперь финальная версия улучшеный работающий без ошибок скрипт
---------------------------------------------------------------------------------------------------------------


Бился несколько дней, поставил себе задачу получить портативные приложения, без aufs, без overlayfs,  если удастся закрепится то отпишусь инструкцией в соотвествующей теме . С помещением в /opt вот такая обвязка
Код
запрос для ИИ :
у меня есть каталог с ресурсами портативной программы например ~/atril/ в ней структура ~/atril/usr/bin , ~/atril/usr/lib как смонтировать этот каталог в /opt чтоб система увидела каталог /opt/atril как програмный и я смог запустить программу и компоненты из /opt/atri
ответ:
Вот один из вариантов как смонтировать каталог ~/atril/ в /opt/atril, чтобы система распознала его как отдельный программный каталог:

    Создайте целевой каталог для монтирования:

Copy code
sudo mkdir /opt/atril

    Смонтируйте каталог ~/atril/ в /opt/atril с помощью bind mount:

Copy code
sudo mount --bind ~/atril /opt/atril

    Добавьте запись в /etc/fstab чтобы монтирование сохранялось после перезагрузки:

Copy code
~/atril /opt/atril none bind 0 0

    Измените владельца смонтированного каталога:

Copy code
sudo chown -R $USER:$USER /opt/atril

Теперь каталог ~/atril доступен по пути /opt/atril и система должна распознать его как отдельный программный каталог. Вы можете запускать исполняемые файлы и компоненты из /opt/atril/usr/bin и /opt/atril/usr/lib.


 проверил вроде работает, можно писать лаунчеры,(с ними всётаки удобнее запуск) просто заходим в /opt/atril/usr/bin/atril и запускаем , десктоп файл естествено недоступен но его можно сделать мне такой вариант вобще очень по душе не курочу корень, если сделать лаунчер, то можно и без /opt  , пришлось прокинуть симлинк из /home/live/portapps/atril/usr/lib/x86_64-linux-gnu/atril/ на
 /usr/lib/x86_64-linux-gnu/atril/ и этот компромисный вариант сработал
« Последнее редактирование: 14 Апрель 2024, 18:43:03 от totiks2012 »

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Код
mount -o loop /где/то/там/atril.img /opt/atril \
&& ln -s /opt/atril/.../atril.desktop /usr/share/applications/atril.desktop \
&& перезагрузить_меню

Измените владельца смонтированного каталога:
sudo chown -R $USER:$USER /opt/atril
это лишнее, даже вредное,
пусть root каталогом владеет, на запуск это никак не влияет,
исполняемый код должен быть НЕ доступен на запись непривилегированному пользователю
« Последнее редактирование: 21 Январь 2024, 00:59:47 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 886
  • Репутация: +24/-0
  • Автор темы
это лишнее, даже вредное,
пусть root каталогом владеет, на запуск это никак не влияет,
исполняемый код должен быть НЕ доступен на запись непривилегированному пользователю
спасибо понял принял, с qbittorrent случилась закавыка, но это со всеми прложухами так , основаные на qt из за бешеных зависимостей, много сложнее делать портативными.
upd: Всё решилось созданием симлинков из /home/live/portapps/qbittorrent/usr/lib/x86_64-linux-gnu/ на /usr/lib/x86_64-linux-gnu/qt5 и qt-default , уррра вроде закрепляюсь , неужели орешек портативок раскололся. Спасибо вам ! ...на днях выложу все свои наработке, может подкоректриуем и может выйдет толк,  пока что симлинки в usr/lib/x86_64-linux-gnu/ ручками нужно но это не сложно и приемлимо
« Последнее редактирование: 21 Январь 2024, 01:33:22 от totiks2012 »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34009
  • Репутация: +231/-0
    • PuppyRus-A
прописана перезагрузка xfce панели (xfce4-panel -r). А ведь полно и других панелей - lxpanel, vala-panel, tint2...
Иначе подключенный софт не появится в меню
vala-panel - вроде подхватывает. В tint2 меню нет
yad использовать, ну такое...
Выбирать не из чего. gtkdialog автором брошен. Вряд ли будет под gtk4 и далее
Только если уже лезть в питон...

Упустил мысль - зачем это все , когда с aufs еще проблем нет?