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

Автор Тема: [Проблемы с каталогами, содержащими русские символы в имени]  (Прочитано 4961 раз)

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

Оффлайн Zloy_T

  • Почетный участник
  • Старожил
  • *
  • Сообщений: 326
  • Репутация: +74/-2
  • Автор темы
Проблемы с каталогами, содержащими русские символы в имени при сохранении на раздел с NTFS при FRUGAL установке

по мотивам http://forum.puppyrus.org/index.php/topic,633.15.html

После первого сохранения сессии на жесткий диск у меня на этом разделе перестали видны все папки с русскими
именами. Puppy установлена из под Windows в папку С:\Puppy, там же сохранен и файл pup_save.2fs. Так вот при загрузке Puppy только на этом разделе, который теперь стал называться home, папок с русскими именами не видно.

Происходит это потому, что монтирование раздела с save-файлом производится раньше других, ещё на этапе загрузки. Строка монтирования в fstab выглядит так:

Код
/dev/hda1   /mnt/home      vfat      defaults      0 0

Остальные разделы монтирует HotPup после завершения загрузки рабочего стола и уже с учётом русской локали. Получаются такие строки:

Код
dev/hda5   /mnt/hda5   vfat   shortname=mixed,iocharset=utf8,codepage=866   0 0
dev/sda1   /mnt/sda1   vfat   shortname=mixed,iocharset=utf8,codepage=866   0 0

Дописывать необходимые для чтения русских названий опции загрузки бесполезно, т. к. надо "перемонтировать" раздел, а его отмонтирование заблокировано.

Пуппи при второй и последующих загрузках не видит папки с русскими именами  по причине описанной DdShurick   только на NTFS, на других файловых системах проблем нет.

Выглядит это примерно так:

sda2 это тот диск, на котором и не видно некоторых папок.Обратите внимание на частично затемненный флажок


 Не зря не рекомендуют помещать файл сохранения Puppy на раздел ntfs. Дело в том, что раздел на котором находятся файлы Puppy монтируется в самом начале загрузки, сразу после загрузки ядра и initrd. Производится монтирование средствами busybox встроенной в initrd и ни о какой поддержке русского на разделе ntfs в этот момент говорить не приходится. Далее из примонтированных файлов происходит собственно загрузка Puppy, и монтирование других разделов в дальнейшем происходит средствами Puppy с поддержкой русского. Но первоначальный раздел отмонтировать нельзя, он используется. Поэтому он так и остаётся с директориями-"невидимками".

Выход один, помещать файлы Puppy либо на специально для этого созданный раздел с файловой системой ext2 размером не более 1 Gb, либо на fat32.

Однако, если при запуске PuppyRus задать параметр

Цитата
pfix=ram

то при запуске будет смонтирован только раздел SWAP, и накакие другие разделы смонтированы не будут. Минусы - не будет примонтирован сейв-файл.
« Последнее редактирование: 13 Май 2009, 05:37:21 от Zloy_T »

Оффлайн KG

  • Пользователь
  • **
  • Сообщений: 76
  • Репутация: +31/-0
Дополнение к  по поводу русских файлов в ntfs
Просьба не оценивать,потому как это просто копипаст,но  инфа тут важная ,потому и помещаю ;)

                                             Ремастеринг sfs.  
- Создаём пустой каталог в корне раздела, т. е. /mnt/home, и называем его как нибудь. например puppy-rem.
- Копируем туда всё содержимое каталога /initrd/pup_ro2. Просто выделяем всё и перетаскиваем мышкой в окно puppy-rem. Можно командой cp -r , но мышкой почему-то ссылки не бьёт, а командой - много битых ссылок.
- Точно так же копируем в puppy-rem содержимое /initrd/pup_rw. Главное при перетаскивании положить на пустое место, иначе скопирует не туда. Соглашаемся на замену всех файлов, кроме битой ссылки на мышь. Её почему-то всегда бьёт.
- Проверяем запись в /puppy-rem/etc/fstab раздела ntfs , если надо - исправляем.
- Открываем консоль и
Код
# cd /mnt/home
# mksquashfs puppy-rem pup_301-rem.sfs
- Ждём. Когда новый sfs "сквасится", заменяем им старый.
Теперь можно загружаться с опцией pfix=ram, настройки будут все на месте. И более того, можно безболезненно чистить pup_save, хоть под ноль. Единственный минус - железо менять после ремастеринга нежелательно. Фатальных последствий не будет, но при загрузке pfix=ram настроек нового железа не будет.
 
« Последнее редактирование: 13 Май 2009, 05:43:40 от Zloy_T »

Оффлайн azlk

  • Пользователь
  • **
  • Сообщений: 94
  • Репутация: +37/-0
Можно командой cp -r , но мышкой почему-то ссылки не бьёт, а командой - много битых ссылок.

Это потому что копировать надо с опцией . Самое интересное, что подсказка всегда под рукой: открываем консоль и пишем:
Код
cp --help
  -a, --archive             то же, что и -dpPR
  -d                        то же, что и --no-dereference --preserve=link
  -p                        то же, что --preserve=mode,ownership,timestamps
  -P, --no-dereference      никогда не следовать по ссылкам
  -R, -r, --recursive       копировать рекурсивно каталоги
(лишние параметры убрал для ясности)

Вот и всё. Одна буковка "-а" объединяет сразу несколько нужных параметров, чтобы копировались не только сами файлы, но и ссылки  :)