Как сделать, чтобы в Лило/Грубе было два варианта загрузки: один с очисткой /tmp, а другой другой без оной.
urimo: два варианта загрузки: один с очисткой /tmp, а другой другой без оной.
Не знаю, можно ли такое сделать на уровне загрузчика, но у меня очищается при перезагрузке, пример такой работы при выключении описан тут: http://www.nclug.ru/plugins/faq/faq.php?cat.14.16
Думус, это понятно, хотелось бы следующего:
1)В папке /tmp есть более-менее интересная информация.
2)Надо так: нажал reset на блоке (ой напряжение скачет) - выскакивает окно Лило (Груба) - выбираешь нужный пункт - папка /tmp очищена...
Через загрузчик это сделать нельзя. Засунь в rc.d скрипт с запросом об отчистке /tmp и не мучайся.
[quote=wlads]Через загрузчик это сделать нельзя. Засунь в rc.d скрипт с запросом об отчистке /tmp и не мучайся.[/quote]
Можно в крайнем случае поставить две системы линукса (с общими /usr /var /...) Но хотелось бы попроще. Нельзя ли в загрузчике прописать выполнение определенного скрипта (например форматирования раздела)
В загрузчике этого не сделаешь, скрипт, который ты хочешь выполнить, будет находится на жестком диске, дискете, флешке и т.д. но эти файловые системы монтируются после загрузки.
[quote=urimo]
1)В папке /tmp есть более-менее интересная информация.
[/quote]
Хранить интересную информацию в /tmp всё равно что в среде Windows хранить интересную инфу в корзине.
Как я понял, здесь смысл не только в том, чтобы сохранить информацию, а и в том, чтобы была возможность в форс-мажорных обстоятельствах ее уничтожить. Бывают и такие ситуации.
Средствами загрузчика эту проблему не решить, тем более, что для такой ситуации хорошо бы не просто убрать файло, а еще и записать нулями тот сектор, где оно лежало. А это возможно сделать только средствами операционной системы.
echo "none /tmp tmpfs defaults,mode=1777 0 0" >> /etc/fstab
Очень полезная вещь. /tmp держится в памяти, что дает общее ускорение работы, да плюс еще и чистится сам при перезагрузке.
А вот в МС ДОС (И в Винде следовательно) в файле autoexec.bat возможны ветвления. И тут у пиннгвина .... в окошке застряла. :-(
[quote=dennica]Как я понял, здесь смысл не только в том, чтобы сохранить информацию, а и в том, чтобы была возможность в форс-мажорных обстоятельствах ее уничтожить. Бывают и такие ситуации.
Средствами загрузчика эту проблему не решить, тем более, что для такой ситуации хорошо бы не просто убрать файло, а еще и записать нулями тот сектор, где оно лежало. А это возможно сделать только средствами операционной системы.[/quote]
На 100% верно!!! (3 восклицательных знака). А как забить нулями сектор?
[quote=urimo]А вот в МС ДОС (И в Винде следовательно) в файле autoexec.bat возможны ветвления. И тут у пиннгвина .... в окошке застряла. :-([/quote]
Ага, сделайте мне ветвление в autoexec.bat на загрузке Windows 2000/XP/2003. Мы ведь вроде о современных системах говорим или о надстройках над MS DOS для компьютеров с помойки?
Это не говоря уже о том, что сравнивать загрузчик со стартовыми скриптами некорректно. Вообще-то аналогом autoexec.bat являются сценарии /etc/rc.* (/etc/init.d/*). И скажите, что там недостаточно средств по сравнению с MS DOS. Скажите это громко.
<span class='smallblacktext'>[ Редактирование 23.02.2006 - 03:24:30 ]</span>
Файло держи на отдельном разделе жесткого. А нули в него можешь записать при помощи dd. Так будет проще всего. Все это будет на уровне скриптов. Но тогда будет проблема: как запустить его на выполнение.
Если за машиной работаешь только ты, то можешь сделать так, чтобы скрипт запускался автоматом минут через пять после загрузки, но была возможность остановить его выполнение вручную.
Вот только придется помнить о том, что каждый раз надо останавливать выполнение скрипта. Заморочно, но другого варианта мне в голову не приходит.
если уж так приспичило - создай файловую систему в файле и монтируй при загрузке вручную в каталог /tmp после перезагрузки каталог будет чистый а какой файл монтировался - пойди найди.
опять же если дело дойдет до утюга с паяльником будет возможность все быстренько отдать не доказывая что "все все удалилось безвозвратно"
[quote=urimo] Нельзя ли в загрузчике прописать выполнение определенного скрипта (например форматирования раздела)[/quote]
НЕЛЬЗЯ! Загрузчик загружает(извините за тафталогию) ядро и ничего больше. Дальше вступают в работу стартовые скрипты.
А в стартовых скриптах можно сделать ветви?
[quote=urimo]А в стартовых скриптах можно сделать ветви?[/quote]
2Nick боюсь ссылка не в тему. Дело в том что скрипты могут запускаться в двух режимах - интерактивном (это когда сам из командной строки ручками запускаешь) и неинтерактивном (когда по cron или из init.d). Так вот в неинтерактивном режиме всякие попытки получить чего либо с потока ввода обречены на неудачу.
Боюсь что нужно писать нечто на С чтобы опрашивать клавиатуру на предмет нажатых клавиш.
[quote=igorsia]2Nick боюсь ссылка не в тему. Дело в том что скрипты могут запускаться в двух режимах - интерактивном (это когда сам из командной строки ручками запускаешь) и неинтерактивном (когда по cron или из init.d). Так вот в неинтерактивном режиме всякие попытки получить чего либо с потока ввода обречены на неудачу.
Боюсь что нужно писать нечто на С чтобы опрашивать клавиатуру на предмет нажатых клавиш.[/quote]
В тему, в тему. crontab тут ни при чем, и команда read отработает нормально. Это точно.
Другое дело, что "ветвление" при загрузке -- вещь лишняя сама по себе. Компьютер должен а) грузиться без запросов, и б) перегружаться только при смене ядра. Моя машина последний раз перегружалась пару недель назад. Зачем тут ветвление?
[quote=urimo]А в стартовых скриптах можно сделать ветви?[/quote]
BASH в зубы и perl под хвост. Можно все, но кое с чем прийдется.
2Nick решил проверить а не идиот ли я... Пишу простейший скрипт
#!/bin/bash
read Nick
echo $Nick
втыкаю этот скрипт в кронтаб и жду... и тишина...
ну не спрашивают скрипты ничего когда они из кронтаба запускаются.
2igorsia:
А я говорил, что из crontab спрашивают? Когда? Я вообще-то знаю, как устроены демоны, как делается перенаправление ввода-вывода и как работает crond. Мне и пробовать не надо. Но какое отношение crontab имеет к теме разговора?
crond был приветен для примера.
при загрузке инициализационных скриптов ситуация аналогичная.
[quote=igorsia]crond был приветен для примера.
при загрузке инициализационных скриптов ситуация аналогичная.[/quote]
Нет
юзать initrd, в корень образа начального ram диска положить linuxrc с необходимыми командами, в грубовском menu.lst делаем две записи, одну с initrd другую без... фсё
з.ы. хотя идея с tmpfs намного лучше и в плане производительности и плане безопасности, рекомендую последовать совету Nick'а
А я не рекомендую, т.к. очистка происходит и при перезагрузке и при выключении - это может быть не всегда хорошо...
например? в каких случаях это не хорошо?
[quote=maax]юзать initrd, в корень образа начального ram диска положить linuxrc с необходимыми командами, в грубовском menu.lst делаем две записи, одну с initrd другую без... фсё
з.ы. хотя идея с tmpfs намного лучше и в плане производительности и плане безопасности, рекомендую последовать совету Nick'а[/quote]
Маакс а можно с этого момента и поподробнее.
если писать со всеми подробностями, то эт долго, капризно писать..
вкратце:
1. создаем образ initrd (dd if=/dev/zero of=/initrd.img bs=1k count=16384)
2. монтируем его mount -o loop /initrd.img /testramfs
3. компилим busybox с необходимыми инструментами (chroot, mknod, mkrootdewv, fsck, mount, umount и др.)
4. в /testramfs создаем минимальную структуру для загрузки линукса
5. суем в /testramfs/bin busybox и жесткие линки других программ на этот же самый busybox
6. создаем устройства в /testramfs/dev с помощь mknod (console, null и др.) хотя console наверно не надо
7. пишем linuxrc :) подробнее: монтируем proс sysfs, создаем устройства, включая блочные устройства mknod /dev/hda1, создаем корневую директорию через mkrootdev, монтируем ее с rw, чистим tmp, потом pivot_root, размонтировать sysfs и proc, всё.
если нужно подробнее, то смогу позже написать, когда время появится..
Было бы очень неплохо, если бы время появилось
[quote=maax]например? в каких случаях это не хорошо?[/quote]
Например, когда нужно быстро выключить комп, чтоб пойти попить пива - а тут очистка... %-6
где тут? :) tmpfs лежит в памяти, если нужно быстро выключить, то выключаешь и фсё... как там? энергозависимая память, выключил и все пропало...
[quote=maax]где тут? :) tmpfs лежит в памяти, если нужно быстро выключить, то выключаешь и фсё... как там? энергозависимая память, выключил и все пропало...[/quote]
Строго говоря, не совсем. tmpfs может свопится, и потом из свопа можно что-нибудь извлечь. Поэтому для действительно важных вещей такое не годится. Но думаю, что зачинатель темы вряд ли работает с гостайной или чем-то подобным, иначе не задавал бы таких вопорсов.
[quote=Nick]Строго говоря, не совсем. tmpfs может свопится, и потом из свопа можно что-нибудь извлечь. Поэтому для действительно важных вещей такое не годится. Но думаю, что зачинатель темы вряд ли работает с гостайной или чем-то подобным, иначе не задавал бы таких вопорсов.
[/quote]
можно шифровать своп-раздел, на моей памяти нативная поддержка есть в openbsd, и патч реализующий это под linux... собственно способность tmpfs свопится одна из фич этой псевдофайловой системы...
Последние комментарии
9 лет 42 недели назад
10 лет 9 недель назад
10 лет 19 недель назад
10 лет 19 недель назад
11 лет 8 недель назад
11 лет 8 недель назад
11 лет 9 недель назад
11 лет 9 недель назад
11 лет 9 недель назад
11 лет 11 недель назад