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

Автор Тема: PuppyRus Richy-219 - изменения  (Прочитано 11393 раз)

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

Оффлайн RoDoN

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 5568
  • Репутация: +122/-0
    • RoDoN
Re: PuppyRus Richy-219 - изменения
« Ответ #15 : 27 Февраль 2015, 21:41:13 »
Чуть выше я давал ссылку на облако.

Acer Aspire One AO751h (Atom Z520, Intel GMA500)
Acer Extensa 5620Z (T7500, Intel 965GM)
PuppyRus-JWM-13.12, PRA, Upup Precise, Tahr Puppy, Runtu 14.04 XFCE.

Оффлайн for_wov

  • Ветеран
  • *****
  • Сообщений: 464
  • Репутация: +13/-0
  • TRUE
Re: PuppyRus Richy-219 - изменения
« Ответ #16 : 27 Февраль 2015, 21:45:21 »
вопрос в том исправлен ли запуск иксов в новом образе? (если брать по частям [пока на стадии пред-Х] решен ли вопрос с пользователем и правами?) не любитель (в силу объективных причин) выкачивать каждый раз новый образ. можно ли докачивать с облака через wget -c или любым альтернативным(с возможностью докачки) способом.
« Последнее редактирование: 27 Февраль 2015, 21:47:51 от for_wov »
Опыт увеличивает нашу мудрость, но не уменьшает нашей глупости.

Оффлайн for_wov

  • Ветеран
  • *****
  • Сообщений: 464
  • Репутация: +13/-0
  • TRUE
Re: PuppyRus Richy-219 - изменения
« Ответ #17 : 03 Март 2015, 18:23:33 »
нашел способ докачки с mail.ru - получить прямую ссылку через консоль разработчика в браузере (F12 в palemoon)
имеется следующее:find 219
219
219/base
219/base/Richy-219-base.sfs
219/base/kernel-3.14.17-pf4.sfs
219/vmlinuz-3.14.17-pf4
219/initrd_new_Ri.gz
219/modules
219/modules/dillo-3.0.2.pfs
219/modules/autoNet.pfs
219/modules/pidgin-2.10.9.pfs
219/modules/drv_mount-0.3.pfs
запись меню
title Richy_219_k-3.14.17
set load=219
set home=UUID="9dc854a8-9ba9-4741-aabe-3ee181709fda"
kernel /%load%/vmlinuz-3.14.17-pf4 pdev1=sda6 dir=%load% pfix=copy %home%
initrd /%load%/initrd_new_Ri.gz
ошибка запуска bootinit.log
sh: write error: Device or resource busy
mount: mounting /dev/loop2 on /pup_z failed: Invalid argument
/init: line 356: tail: not found
/init: line 356: dmesg: not found
/init: line 356: tail: not found
папка пользователяblkid /dev/sda5
/dev/sda5: LABEL="data" UUID="9dc854a8-9ba9-4741-aabe-3ee181709fda" TYPE="ext4" PARTUUID="0001d179-05"
ls -a /mnt/sda5/live
.
..
вопрос: как запустить? если можно алгоритм диагностики что за чем по пунктам  проверять.
Опыт увеличивает нашу мудрость, но не уменьшает нашей глупости.

Оффлайн DdShurick

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 6381
  • Репутация: +162/-0
  • Старый чайник
Re: PuppyRus Richy-219 - изменения
« Ответ #18 : 03 Март 2015, 19:40:18 »
ошибка запуска bootinit.log
sh: write error: Device or resource busy
mount: mounting /dev/loop2 on /pup_z failed: Invalid argument
/init: line 356: tail: not found
/init: line 356: dmesg: not found
/init: line 356: tail: not found
Говорит о том, что kernel-3.14.17-pf4.sfs примонтировался с ошибкой. Попробую пошаманить с init.

Перезалил initrd_new_Ri.gz

Изменения: добавлены busybox dmesg и busybox tail
изменена строка монтирования /pup_z
параметр pdev1 можно указывать UUID (специально для флешек)
« Последнее редактирование: 05 Март 2015, 08:46:05 от DdShurick »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)

Оффлайн DdShurick

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 6381
  • Репутация: +162/-0
  • Старый чайник
Re: PuppyRus Richy-219 - изменения
« Ответ #19 : 14 Ноябрь 2015, 22:29:50 »
 Обновил mksavesfs
#!/bin/sh
# DdShurick GPL-v2 14.11.15 for Richy
if [ "$(whoami)" != "root" ]; then
loginroot $0
exit
fi
#Задаём переменные
. /etc/DISTRO_SPECS
. /etc/rc.d/PUPSTATE
SAVEPATH=$(grep $PDEV1 /proc/mounts | cut -f2 -d' ')$PSUBDIR/base
#SAVEPATH=/initrd$(dirname $(head -n 1 /initrd/tmp/PUPPYFILES)) 2>/dev/null &&
#Последовательно копируем 2 1 0 слои
mkdir -p /tmp/savesfs-root
[ "$(grep "pup_ro1 " /proc/mounts)" ] && cp -a /initrd/pup_ro1/* /tmp/savesfs-root/
[ "$(grep "pup_ro0 " /proc/mounts)" ] && cp -a /initrd/pup_ro0/* /tmp/savesfs-root/
cp -a $(ls -d /initrd/pup_rw/[!dimstv]*) /tmp/savesfs-root/
echo false > /tmp/savesfs-root/etc/.XLOADED
#Удаляем "затенённые" (отмеченные как удалённые) файлы и каталоги.
find /initrd/pup_rw -mindepth 2 -name .wh.*|sed 's/\/initrd\/pup_rw//;s/.wh.//g'|while read WH
do rm -r /tmp/savesfs-root$WH
done
#Создаём новый файл сохранения
mksquashfs /tmp/savesfs-root/ /tmp/${DISTRO_FILE_PREFIX}-save.sfs -comp xz
mv $SAVEPATH/${DISTRO_FILE_PREFIX}-save.sfs $SAVEPATH/${DISTRO_FILE_PREFIX}-save.sfs.old
mv /tmp/${DISTRO_FILE_PREFIX}-save.sfs $SAVEPATH/${DISTRO_FILE_PREFIX}-save.sfs
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)

Оффлайн ander

  • Активный участник
  • Старожил
  • ****
  • Сообщений: 300
  • Репутация: +16/-0
Re: PuppyRus Richy-219 - изменения
« Ответ #20 : 15 Ноябрь 2015, 12:42:03 »
Цитировать
#Удаляем "затенённые" (отмеченные как удалённые) файлы и каталоги.
find /initrd/pup_rw -mindepth 2 -name .wh.*|sed 's/\/initrd\/pup_rw//;s/.wh.//g'|while read WH
do rm -r /tmp/savesfs-root$WH
done

О!  А я вот об этом не подумал, надо тоже сделать.
Но тут еще вылезают несколько тонкостей. 
В вашем примере можно -name .wh.* заменить на -name '.wh.*',
разница ощущается, если скрипт запускать из /tmp (в pra это отдельная файловая система, может, у вас и не так, не смотрел) и существует какой-нибудь /tmp/.wh.abcd.
rm -r /tmp/savesfs-root$WH точно надо менять на rm -r "/tmp/savesfs-root$WH", посмотрел сейчас, несколько файлов с пробелами нашлись, у меня от chrome, но могут и еще откуда-нибудь взяться, мало ли.  И, даже, пожалуй, лучше rm -rf "/tmp/savesfs-root$WH", а то затенит .wh. какой-нибудь файл не из сохраненки, rm ругаться будет.

И еще возникает вопрос: а что делать с самими .wh. файлами?
Если существовали файлы, к примеру, /initrd/pup_ro0/abcd.txt и /initrd/pup_rw/.wh.abcd.txt, то abcd.txt из сохраненки можно удалять однозначно, а вот удалять ли .wh.abcd.txt - это будет зависеть от того, существует ли abcd.txt на более глубоких слоях.
Пока в голову приходит только перебор всех слоев.  В Richy, насколько понимаю, с этим сложностей особых нет, а вот в pra вылезает проблема - если .wh. затенял что-то из модуля, то нужно его в сохраненке оставлять, но что будет, если в следующий раз будет подключен другой модуль, но содержащий тот же файл?  Например, это были два модуля с разными вариантами настроек одной программы?
Ситуация, конечно, маловероятная, но пожалуй, возможная.

Оффлайн DdShurick

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 6381
  • Репутация: +162/-0
  • Старый чайник
Re: PuppyRus Richy-219 - изменения
« Ответ #21 : 15 Ноябрь 2015, 13:10:03 »
И еще возникает вопрос: а что делать с самими .wh. файлами?
Вопрос очень интересный. Richy в этом отношении покладистее, по меткому выражению neobht, pup_rw "прибит гвоздями" к tmpfs, поэтому всегда "белый и пушистый". В вашем случае для удаления ненужных .wh.-теней единственное, что приходит в голову, как вы и предлагаете, двойной цикл: поиск find /tmp/savesfs-root -name .wh.*, найденное в цикл поиска по всем небазовым слоям && удалить .wh.*. Хотя и тут могут быть накладки. ИМХО - проще отказаться от портеуса, чем под него извращаться.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)

Оффлайн DdShurick

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 6381
  • Репутация: +162/-0
  • Старый чайник
Re: PuppyRus Richy-219 - изменения
« Ответ #22 : 18 Ноябрь 2015, 21:07:08 »
 Вот, вроде бы и овцы целы, и волки сыты #Удаляем "затенённые" (отмеченные как удалённые) файлы и каталоги.
find /tmp/savesfs-root -mindepth 2 -name .wh.* | while read WH
do
F=$(echo $WH | sed 's/\/tmp\/savesfs-root//;s/.wh.//g')
if [ -e "/initrd/pup_rw$F" ]; then
rm $WH #если удалённый файл заново создан, удаляем .wh.*
else
[ -e "/tmp/savesfs-root$F" ] && rm -r /tmp/savesfs-root$F #если ранее сохранённый файл удалён, удаляем его.
fi # если .wh.* относится к нижним слоям - ничего не делаем
done
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)

Оффлайн ander

  • Активный участник
  • Старожил
  • ****
  • Сообщений: 300
  • Репутация: +16/-0
Re: PuppyRus Richy-219 - изменения
« Ответ #23 : 19 Ноябрь 2015, 12:41:42 »
Поэкспериментировал.
Получилось, что если имеющийся в старой сохраненке файл удалить, в rw слое появляется тень.  Если после этого файл вновь создать, то сам он появляется в rw, а тень исчезает.
Посему условие под if, как мне кажется, излишнее.
А вот тень в вашем коде не удаляется, причем тут нужна еще одна проверка, ведь тот факт, что файл нашелся в старой сохраненке еще не означает, что на нижнем слое его нет, файл мог быть изменен и попасть в сохраненку, а потом уже удален путем затенения.
У вас, насколько понимаю, нижний слой один, так что проверить несложно.
Итого получается:
#Удаляем "затенённые" (отмеченные как удалённые) файлы и каталоги.
find /tmp/savesfs-root -mindepth 2 -name ".wh.*" | while read WH
do
F=${WH//.wh.}
[ -e "$F" ] && rm -r "$F" #если ранее сохранённый файл затенен, удаляем его.
         [ ! -e "/путь к нижнему слою${F#/tmp/savesfs-root}" ] && rm -r "$WH"  # файла нет - удаляем ненужную тень
                                                                                # если .wh.* относится к нижним слоям - ничего не делаем
done

UPD. Нет, с ненужностью условия под if, я пожалуй, ошибся.
Итак.  Будем рассуждать тупо.  Какие ситуации c .wh. вообще возможны?  Надо составить табличку.

            1     2     3     4     5     6  
rw        .wh.  file  .wh.  .wh.    -   file
ro save   file  .wh.    -   file  .wh.  .wh.
ro base   file  file  file    -     -     -  


В сохраненку падают файлы со слоев rw и ro save
Действия                                      Признаки
1) Удалить файл, оставить тень     !f.rw && f.s
2) Удалить тень                             f.rw
3) Ничего не удалять                     !f.rw && !f.s
4) Удалить и файл и тень               !f.rw && f.s && !f.b
5) Удалить тень                             !f.rw && !f.s && !f.b
6) Удалить тень                             f.rw

#Удаляем "затенённые" (отмеченные как удалённые) файлы и каталоги.
find /tmp/savesfs-root -mindepth 2 -name ".wh.*" | while read WH
do
FS="${WH//.wh.}" ; F="${FS#/tmp/savesfs-root}"
     if [ -e "/initrd/pup_rw$F" ] ; then
        rm $WH # 2,6 если удалённый файл заново создан, удаляем .wh.*
     else
        [ -e "$FS" ] && rm -r "$FS" # 1,4 если ранее сохранённый файл затенен, удаляем его.
        [ ! -e "/путь к нижнему слою$F" ] && rm -r "$WH"  # 4,5 файла нет - удаляем ненужную тень
     fi              # 3 если .wh.* относится к нижним слоям - ничего не делаем
done
Вот, теперь вроде правильно.  Добавилось условие удаления ненужных теней.

Это я больше для себя разбираюсь с логикой работы с тенями.
« Последнее редактирование: 19 Ноябрь 2015, 17:45:10 от ander »

Оффлайн DdShurick

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 6381
  • Репутация: +162/-0
  • Старый чайник
Re: PuppyRus Richy-219 - изменения
« Ответ #24 : 19 Ноябрь 2015, 13:59:17 »
файл мог быть изменен и попасть в сохраненку, а потом уже удален путем затенения.
Исходя из логики работы обычной "плоской" системы: удалён, значит удалён. Для восстановления таких файлов нужны руки, а не автоматика.
У вас, насколько понимаю, нижний слой один, так что проверить несложно.
Нижних слоёв сколько угодно, только проверять не нужно.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)

Оффлайн ander

  • Активный участник
  • Старожил
  • ****
  • Сообщений: 300
  • Репутация: +16/-0
Re: PuppyRus Richy-219 - изменения
« Ответ #25 : 19 Ноябрь 2015, 22:29:19 »
Можно и не проверять, только тогда в сохраненке могут остаться лишние тени.
С другой стороны, места они займут немного, так что можно и плюнуть на них, мешать вроде не должны.

Оффлайн DdShurick

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 6381
  • Репутация: +162/-0
  • Старый чайник
Re: PuppyRus Richy-219 - изменения
« Ответ #26 : 30 Ноябрь 2015, 16:05:54 »
 Обновил ROX-Filer до последнего 2.3
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)

Оффлайн RoDoN

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 5568
  • Репутация: +122/-0
    • RoDoN
Re: PuppyRus Richy-219 - изменения
« Ответ #27 : 30 Ноябрь 2015, 17:38:49 »
Обновил ROX-Filer до последнего 2.3
Странно, на википедии такая инфа:
Цитировать
Последняя версия    2.11 (9 октября 2011)
:-[

Acer Aspire One AO751h (Atom Z520, Intel GMA500)
Acer Extensa 5620Z (T7500, Intel 965GM)
PuppyRus-JWM-13.12, PRA, Upup Precise, Tahr Puppy, Runtu 14.04 XFCE.

Оффлайн DdShurick

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 6381
  • Репутация: +162/-0
  • Старый чайник
Re: PuppyRus Richy-219 - изменения
« Ответ #28 : 02 Декабрь 2015, 07:13:35 »
 Да, ошибся, вернул 2.11
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)

Оффлайн RoDoN

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 5568
  • Репутация: +122/-0
    • RoDoN
Re: PuppyRus Richy-219 - изменения
« Ответ #29 : 02 Декабрь 2015, 09:31:04 »
DdShurick, хорошо бы ссылку на твое облако в шапку темы, чтоб не ломать голову, а где ж посмотреть твои изменения.

Acer Aspire One AO751h (Atom Z520, Intel GMA500)
Acer Extensa 5620Z (T7500, Intel 965GM)
PuppyRus-JWM-13.12, PRA, Upup Precise, Tahr Puppy, Runtu 14.04 XFCE.