akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
icastЕсли винда, то IMHO dd - это единственный надёжный вариант. Доступ к ntfs в линуксе несколько попсовый, поэтому tar и любое другое средство пофайлового копирования чревато, например, потерей потоков, связанных с файлами. Если и есть под линуксом программа, которая в полном объёме понимает ntfs, то я о такой не слыхал, и очень хотел бы услыхать.nafanja Если объём копии более критичен, чем время копирования, то можно перед копированием прописывать свободное место нулями, а образ сжимать. Но тут тоже не всё гладко на ntfs. Тупая запись нулей (типа dd if=/dev/zero bs=8M of=/mnt/$NAME/zero rm -f /mnt/$NAME/zero |
akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
arcanisПросто и эффективно, спасибо! А насчёт флэшек как sda, - это, возможно, от BIOS зависит. У меня, к счастью, флэшка никогда не определяется как sda, если загрузка с винчестера. Мой итог обсуждения: в правиле udev поменял "sd[a-z][0-9]" на "sd[b-z][0-9]", и забыл про фокусы с копирование и удалением. Ну и чтобы совсем закруглиться, привожу свои средства отмонтирования, заточенные на openbox. 1. Скрипт, генерирующий динамическое (под)меню openbox: [root@s2 bin]# cat umenu.py #!/usr/bin/python print("<openbox_pipe_menu>") n = 0 automount_dir = '/media/' print('<separator label="removables"/>') for s in open("/proc/self/mounts"): media = '' s = s.replace(chr(9), ' ') word = s.split(' ', 3) dev = word[0] i1 = s.find(automount_dir) if (dev != "") and (i1 >= 0): if media != dev[:len(automount_dir)]: if n != 0: print('<separator/>') # remove the number (f.e. sdb13 -> sdb), but not for sr0 media = dev if (media != '/dev/sr0'): while media[-1].isdigit(): media = media[:-1] print('<item label="eject ' + media[:-1] + '_' + media[-1] + '">') print(' <action name="Execute">') print(' <execute>') print(' d-eject ' + media) print(' </execute>') print(' </action>') print('</item>') n = n + 1 point = word[1] print('<item label="umount ' + ' ' + dev + ' -> ' + point + '">') print(' <action name="Execute">') print(' <execute>') print(' d-umount ' + dev) print(' </execute>') print(' </action>') print('</item>') if n == 0: print('<item label="none"/>') print("</openbox_pipe_menu>") <menu execute="umenu.py" id="umount_removable" label="_Unmount removable"/> <keybind key="W-u"> <action name="ShowMenu"> <menu>umount_removable</menu> </action> </keybind> |
akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
kurychПроясниилось. Оказалось, чтобы история писалась в ~/.local/share/recently-used.xbel, надо установить пакет libreoffice-gnome. |
akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
NatrioДо загрузки системы - в самом прямом смысле. Компьютер выключен, а на винте в /etc/udev/rules.d/ файл есть. NatrioКак-то не приходило в голову. У меня в fstab прописано монитирование разделов винта в /mnt, а в правиле udev - монтирование в /media. А перенацелить всё в одно место, чтобы результат не зависел от того, кто монтирует, - наверно, можно. Я эту мысль буду думать, спасибо. NatrioСкрипт парсит /proc/self/mounts и генерирует динамическое меню для openbox. Генерация и вызов этого меню повешена на горячую клавишу (Win+u, от Unmount). Так что в простейшем случае, когда воткнута всего одна флэшка, отмонтирование делается в три клавиши: Win+u, Enter. В общее иерархическое меню эта штука тоже вставлена, как подменю, - на случай, если рука к мышке приклеилась. Но сейчас этот скрипт выбирает из mounts то, что смонтировано в /media, а не в /mnt, так что если все монитирования валить в одно место, надо будет как-то иначе различать постоянные и временные носители. |
akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
Я люблю GUI, но не люблю десктоп. А ещё я не люблю линуксные гуёвые файловые менеджеры - не из идейных соображений, а просто из-за их убогости и неудобности по сравнению даже с mc. Так что живу под голым openbox, а с файлами работаю в mc. В связи с этим возникет проблема автомонтирования сменных носителей. Я эту проблему решаю при помощи правил udev, сделанных по мотивам чего-то, что гуглится по тексту "media-by-label-auto-mount.rules". Но тут возникает одна проблема: если файл правила присутствует в /etc/udev/rules.d/ до загрузки системы, то это правило работает наперегонки с системным монтированием через fstab, и результаты непредсказуемы. Я это выпрямляю при помощи безобразной затычки: в исходном состоянии на месте правила нет, оно копируется в /etc/udev/rules.d/ аж в автозапуске openbox, а перед завершением системы файл правила в /etc/udev/rules.d/ уничтожается. А как бы это сделать более цивилизованно? Если кому интересно - вот мой /etc/udev/rules.d/12-media-by-label-auto-mount.rules KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end" # Import FS infos IMPORT{program}="/sbin/blkid -o udev -p %N" # Get a label if present, otherwise specify one ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}" ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k" # Global mount options ACTION=="add", ENV{mount_options}="uid=1000,umask=022,dmask=0" # Filesystem-specific mount options ACTION=="add", ENV{ID_FS_TYPE}=="vfat", ENV{mount_options}="$env{mount_options},codepage=866,iocharset=utf8" ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", ENV{mount_options}="defaults,$env{mount_options}" # Mount the device ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}" # Clean up after removal ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}" # Exit LABEL="media_by_label_auto_mount_end" |
akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
NatrioТам мелкая ошибка по поводу расположения файла правила: написано /etc/udev/rules/96-fb-all-vcs-setup.rules /etc/udev/rules.d/96-fb-all-vcs-setup.rules |
akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
NatrioСпасибо! Всё объяснено, с пол-пинка работают оба метода! Ещё бы добавить ссылку на эту статью вот сюда: Internationalization (Русская) . А то там этот вопрос как-то не так изложен... |
akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
VonksilkЯ немного ориентируюсь в потрохах openbox как раз в части меню. Так вот, на уровне конфигов, без правки исходников openbox, такое сделать нельзя. А вообще, идея иметь разные действия для разных кнопок кажется интересной. |
akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
white_ghostУ меня всё точно то же, только plymouth нет, и нормально не стало :) . Более того, шрифт иногда при загрузке устанавливается, но как правило - нет. Установку шрифта хорошо видно сразу, поскольку в vconsole.conf я прописал шрифт немного крупнее, чем умолчательный. Точной закономерности я не установил; такое ощущение, что идут какие-то гонки. Например, шрифт почти всегда при загрузке устанавливается успешно, если чекается какой-то раздел (пришла пора по времени или по числу загрузок). Ну а решил я для себя проблему при помощи вот такого костыля в rc.local: for i in {1..7} ; do setfont ter-v20b -C /dev/tty$i done |
akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
akoropСегодня (17/12/12) обновился - проблема исчезла. |