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

Автор Тема: Модульный FRUGAL на симлинках  (Прочитано 2017 раз)

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

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 899
  • Репутация: +24/-0
  • Автор темы
Модульный FRUGAL на симлинках
« : 15 Январь 2024, 00:12:24 »
Мне очень понравилась идея с симлинками , работает достаточно быстро, удалось вместе с ИИ найти удоволетворительный код,
 
Код
#!/bin/bash
#set -x


# Сканируем ~/modules и выводим список в peco
selected_module="$(find ~/modules -maxdepth 1 -type f | sed 's|.*/||' | peco)"

# Если ничего не выбрано, завершаем скрипт
if [ -z "$selected_module" ]; then
    echo "Ничего не выбрано. Выход."
    exit 1
fi
#COR="/"
SOURCE_DIR="$HOME/modules/$selected_module"
TARGET_DIR="/mnt/$(basename $selected_module .sb)"

# Создаем каталог в /mnt с именем выбранного модуля
sudo mkdir -p "$TARGET_DIR"



# Монтируем выбранный модуль в /mnt
sudo mount -t squashfs -o loop "$SOURCE_DIR" "$TARGET_DIR"

sudo cp -rs --no-clobber "$TARGET_DIR"/* /
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
xfce4-panel -r

не использует ни overlay ни aufs , не критичен к ядру ,код рабочий, в ~/modules наши модули в моём случае sb , скрипту нужен peco , прошу теста , я думаю выйдет толк. Я наверно буду использовать.
ссылка Я-Д --  https://disk.yandex.ru/d/OUPaQKFsieIM9g
« Последнее редактирование: 15 Январь 2024, 00:57:50 от totiks2012 »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34035
  • Репутация: +231/-0
    • PuppyRus-A
Re: Модульный FRUGAL на симлинках
« Ответ #1 : 15 Январь 2024, 09:45:53 »
Идея не нова
По сравнению с aufs ofs - возможно меньше тратится памяти на поддержание слоев - хорошо бы это проверить
Не увидел в вашем скрипте создание ссылок. Еще надо написать удаление и понять насколько это удобно
В остальном пока aufs жив - надо ли что-то еще...

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8637
  • Репутация: +187/-2
  • Старый чайник
Re: Модульный FRUGAL на симлинках
« Ответ #2 : 15 Январь 2024, 11:11:33 »
В остальном пока aufs жив - надо ли что-то еще...
Обязательно надо быть готовым к переменам к худшему. Overlayfs явно хуже, но нам её усиленно навяливают, как и всё прочее непотребство.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34035
  • Репутация: +231/-0
    • PuppyRus-A
Re: Модульный FRUGAL на симлинках
« Ответ #3 : 15 Январь 2024, 11:29:13 »
Обязательно надо быть готовым к переменам к худшему
Тогда надо дорабатывать тему симлинков и добавить в chroot2pfs overlayfs
Не подключитесь? Сам пока занят изучением ALT linux

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8637
  • Репутация: +187/-2
  • Старый чайник
Re: Модульный FRUGAL на симлинках
« Ответ #4 : 15 Январь 2024, 11:43:09 »
Сам пока занят изучением ALT linux
Зря. У них чем дальше, тем хуже. Форум недружелюбный. Самомнение зашкаливает.
Не подключитесь?
Надо закончить с init. А так идея очень интересная и может быть применена в full-install linuxs.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8637
  • Репутация: +187/-2
  • Старый чайник
Re: Модульный FRUGAL на симлинках
« Ответ #5 : 15 Январь 2024, 12:01:59 »
Код
root@antix1:/mnt/sda1/lfd10/modules# mount -o loop deadbeef-static-p-0.7.2-3-sf02.pfs /mnt/pfs
root@antix1:/mnt/sda1/lfd10/modules# cp -rs --no-clobber /mnt/pfs/* /
root@antix1:/mnt/sda1/lfd10/modules# /opt/deadbeef/bin/deadbeef --version
starting deadbeef 0.7.2 [static]
DeaDBeeF 0.7.2 Copyright © 2009-2016 Alexey Yakovenko
root@antix1:/mnt/sda1/lfd10/modules# umount /mnt/pfs
root@antix1:/mnt/sda1/lfd10/modules# /opt/deadbeef/bin/deadbeef --version
bash: /opt/deadbeef/bin/deadbeef: Нет такого файла или каталога
После отмонтирования осталась туева хуча битых ссылок. А так - работает. Проверял на full установленном AntiX.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Модульный FRUGAL на симлинках
« Ответ #6 : 15 Январь 2024, 13:07:18 »
После отмонтирования осталась туева хуча битых ссылок
При следующем "копировании" тогоже самого модуля(каталога) они (попробую угадать) восстановятся?

Если "мозолят" глаза - копировать в каталог(не в корень), а когда не нужны(модуль отключили) - внутри каталога rm -rf
Это вариант для тех прог, которые как в винде - одна прога - один каталог, а не разбросаны по всей ФС.

Или, если край конец нужно монтировать копировать в корень( по другому не работает) - как вариант запоминать список файликов в модуле, после отмонтирования отключения модуля - по этому списку симлинки удалять
« Последнее редактирование: 15 Январь 2024, 13:53:54 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8637
  • Репутация: +187/-2
  • Старый чайник
Re: Модульный FRUGAL на симлинках
« Ответ #7 : 15 Январь 2024, 13:23:39 »
При следующем "копировании" тогоже самого модуля они (попробую угадать) восстановятся?
Должны. Почистил так:
Код
$ sudo find /etc /usr /opt -xtype l -exec rm {} \;
$ sudo find /etc /usr /opt -type d -empty -delete
Долго. Для frugal проще, надо чистить только save, или вообще оставить как есть, само удалится при перезагрузке.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Модульный FRUGAL на симлинках
« Ответ #8 : 15 Январь 2024, 13:35:15 »
Долго
Код
 
~/opt/eclipse$ time rm -rf *
real    0m0,071s
user    0m0,009s
sys     0m0,062s
было ~ 2200 файликов, ~ 700 папок, суммарно ~35Mb
размер как у обычной проги
пс на HDD наверное помедленней будет
пспс
а вот на RAM-диске скорости  :o :
Код
в каталоге /mnt/ramdisk/1 
10567 файлов
 3866 папок
 ~867 Mb
 
~ /mnt/ramdisk/1$ time rm -rf *

real    0m0,661s
user    0m0,028s
sys     0m0,621s
////////////////////////////
забыл предупредить:
с rm -rf * аккуратней, если кто не понимает что команда делает - не запускайте
////////////////////////////
« Последнее редактирование: 15 Январь 2024, 14:48:12 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34035
  • Репутация: +231/-0
    • PuppyRus-A
Re: Модульный FRUGAL на симлинках
« Ответ #9 : 15 Январь 2024, 13:45:57 »
cp -rs --no-clobber /mnt/pfs/* /
Это было красиво.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34035
  • Репутация: +231/-0
    • PuppyRus-A
Re: Модульный FRUGAL на симлинках
« Ответ #10 : 15 Январь 2024, 13:50:47 »
find /etc /usr /opt -type d -empty -delete
Так нельзя. Можно лишнее удалить. Лучше при отключении удалять симлинки по списку файлов модуля
Код
find /etc /usr /opt -xtype l -exec rm {} \;
- если только определить, что ссылка битая...
« Последнее редактирование: 15 Январь 2024, 13:53:43 от sfs »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5359
  • Репутация: +140/-1
Re: Модульный FRUGAL на симлинках
« Ответ #11 : 20 Январь 2024, 17:30:54 »
Не увидел в вашем скрипте создание ссылок.
У меня дежавю:
Не нашел у них ln
« Последнее редактирование: 20 Январь 2024, 17:32:54 от krasnyh »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5359
  • Репутация: +140/-1
Re: Модульный FRUGAL на симлинках
« Ответ #12 : 20 Январь 2024, 17:38:45 »
И да, в скрипте от totiks2012 (в первом посте), не учтено (не прописано) удаление симлинков после отмонтирования, что уже многие заметили. Впрочем, и само отмонтирование тоже не отражено.
« Последнее редактирование: 20 Январь 2024, 17:50:53 от krasnyh »

Оффлайн uropb

  • Старожил
  • ****
  • Сообщений: 234
  • Репутация: +12/-0
Re: Модульный FRUGAL на симлинках
« Ответ #13 : 20 Январь 2024, 18:47:14 »
удаление симлинков после отмонтирования
"... а можно утром стулья, а вечером деньги ?..."
Tox1 s905x3

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5359
  • Репутация: +140/-1
Re: Модульный FRUGAL на симлинках
« Ответ #14 : 20 Январь 2024, 18:52:15 »
а можно
Это тупиковая тема, переходи сюда.