Владимир Попов
И так далее…
По долгу службы я иногда описываю Linux-продукты, дабы сделать их более доступными для своих win-коллег. Большей частью это файрволы и сервера, коих в последнее время развелось столько, что просто диву даёшься: SMS, SME, e-box, Devil Linux. Попадаются, кстати, очень симпатичные. А вот по поводу rescue-cd, в качестве которого уже много лет использую RIP, до сих пор я отправлял желающих к собственным же опусам на citkit.ru. Вот, уж о RIP-то я, казалось, писал предостаточно… Но не тут-то было, однако: слишком уж часто он обновляется. Так что придётся и по этому поводу составить шпаргалку по преобразованию исходного RIP в то, что нужно для работы.
К сожалению, я не могу ни дать ссылки, ни даже перечислить написанное по поводу RIP на citkit.ru. Тем более, в мои планы не входит заново описывать постановку задачи и способы её реализации. То, что писалось для citkit, носило образовательный характер. Нижеследующее же – только шпаргалка по созданию уже давно зарекомендовавшей себя «самоделки». Если кратко, то речь о livecd, помогающем «ремонтировать» win-машины, регулярно поражаемые всевозможным malware, теряющие способность грузиться, читать собственную файловую систему и т.д. и т.п. Альтернативная ОС – лучший способ восстановления поражённой системы, а в данном случае «самоделка» к тому же предоставляет удалённый доступ к «больному» компьютеру.
Итак, на данный момент исходная версия RIP – 9.8. Приступим…
- Пункт первый – кириллица. Ну, отказывает Кент в праве на существование языкам кроме западноевропейских. А клиент – напротив. Всё норовит по-русски чего-нибудь обозвать. Оно и понятно: он, большей частью, и по-русски с трудом пишет. Одним словом: приходится преодолевать. Это – просто. Расширяем
/usr/lib/localeкаталогамиru_RU,ru_RU.koi8rиru_RU.utf8. Всё это заимствуем у «родителя», коим является SlackWare 13.1. Включаются полученные локали файликами/etc/profile.d/lang.sh.koiи/etc/profile.d/lang.sh.utf, сделанными «по образу и подобию» оригинальногоlang.sh. Сам жеlang.shпревращаем в симлинк, указывающий на первый или второй файл в зависимости от требуемой локали. - Вообще, недолюбливаю я utf-8 (вслед за Патриком, и Кентом). И не будь потребности читать кириллицу на FAT-разделах, соответствующей локали и не было бы. Основная локаль, наиболее подходящая для работы в консоли и вполне достаточная для чтения кириллицы на разделах NTFS –
koi8-r. К ней остаётся добавить фонт terminus (например:ter-k16n.psf.gz) и font-map (например:koi8-u.acm.gz), разместив их, скажем, в/usr/share/kbd/consolefonts.А активируем всё это в/etc/profile, добавив в его конец такие строки:/usr/bin/setfont -v /usr/share/kbd/consolefonts/ter-k16n -m /usr/share/kbd/consolefonts/koi8-u.acm.gz /usr/bin/unicode_stop
unicode_stop и unicode_start, выполняющие вывод в терминалы «магических» ESC-последовательностей, заимствованы из Red Hat.
- Совершенно не лишним будет включение gpm – драйвера консольной мыши. Для этого делаем исполняемым файл
/etc/rc.d/rc.gpm. - Можно включить в консоли раскладку ru4 (переключатель – Caps Lock), Вставив всё в тот же
/etc/profileстроку:loadkeys ru4.map
Но важнее сделать то же для Х-ов, отредактировав соответствующим образом
/etc/X11/xorg.conf– если кириллица во вводе и понадобится, то, скорее всего, при задании поиска в окне браузера. - Разумеется, можно настроить wi-fi под желаемую сеть (wificonfig), и переписать образовавшийся в результате настройки файл
/etc/wpa_supplicant.confв образ. А «активизация» файла/etc/rd.d/rc.wifiделает включение wi-fi при загрузке автоматическим. - Поскольку диск у нас rescue, а «ремонтировать» приходится всё больше windows, то чуть ли не самое важное – обеспечить правильное монтирование win-разделов. В текущей реализации за это отвечают выполняемый при загрузке
/etc/rc.d/rc.fstabи, выполняемый по инициативе оператора, скрипт/usr/bin/mumount. В оба добавляем для монтирования NTFS-разделов опциюlocale=ru_RU.koi8r(специфическая опция ntfs-3g). Во втором, помимо этого, «комментируем» ветку монтирования не-ntfs-3g. Аналогично: для монтирования FAT добавляем опциюutf8. - Что касается разделов FAT, то с ними в консоли – похуже. В текущем ядре Кента практически все nls отключены, но пересобирать ядро ради расширения списка допустимых nls нужды не вижу. Поступаем проще: задаём (когда нужно) локаль ru_RU.utf8 и переходим в Х-ы. Там с отображением кириллицы проблем нет. Учитывая то, что FAT-разделы нынче – редкость, решение можно считать приемлемым.
- «рихтуем» RIP под себя: переписываем в образ
/root/.vimrc,/root/.mc,/mnt/.mc.menu,/usr/share/vim/syntax/*. - Редактируем
/root/.fluxbox/menu: убираем везде «лишние» настройки xterm (-fn ...) и вставляем утерянную в последних версиях секцию pctool. Последнее связано с тем, что pcregedit.com нынче предоставляет свои замечательные утилиты на livecd. То есть, имеем выбор: либо при необходимости редактирования registry используем pcregedit-livecd, либо вставляем в образ (в/opt) ранее существовававшие самостоятельно утилиты от pcregedit.com. А можно и вовсе не выбирать: и утилиты вставить, и образ livecd (всего-то 58MB) иметь в rescue-наборе. Этот самый pcregedit-livecd – занятная вещица. С одной стороны, втискуть в пол-сотни с небольшим мегабайт ОС с gui – интересное решение. А с другой… 58 MB для одного приложения, да ещё конфигурация Х-ов подгуляла… Может: и не стоит внимания. Тем более, что, насколько я могу судить, версии утилит, предлагаемые Кентом и версии, входящие в состав livecd, – одни и те же. - Придуманная когда-то интеграция RIP с avast/f-prot никаких дополнительных операций над RIP не требует: просто в образ rescue-livecd включается каталог anvir, содержащий, в свою очередь, как используемые файлы, так и описание работы с ними.
- А вот включение сетевой поддержки опцией коммандной строки (именно это позволяет загрузить Linux на удалённом компьютере без участия оператора) требует «активизации» файла
/etc/rc.d/rc.sshdи модификации файла/etc/ssh/sshd_config. Кроме того, в образе «личного» livecd имеет смысл создать каталог/root/.sshи записать в него личныйautorized_keys. Тогда при удалённом подключении не потребуются ни логин, ни пароль. Разумеется, для дополнительной обработки командной строки требуются дополнительные команды. Их включаем в/etc/rc.d/rc/local.
Все модифицированные и добавленные файлы находятся в прилагаемом архиве.
Вроде, всё… Дополнительные операции предполагают исключение из состава RIP ПО «лишнего» (Thunderbird, например), и включение недостающего (Emelfm2, скажем). Неплохо бы заменить FireFox на Chrome. Но это всё – позднее…
Не настолько уж позднее, как выяснилось. Thunderbird убирается легко (не забыть убрать его и из меню). Найдётся ещё не один десяток кандидатов «на вынос», но смысл есть убирать только пакеты, «жадные» до дискового пространства (не забываем: корневая файловая система – в памяти).
Отказавшись от Thunderbird и Firefox, можем позволить себе Chrome. Памяти станет меньше: в 256 MB можем уже и не поместиться. Для Chrome уже придётся расширить список фонтов: иначе кириллицы в нём не увидеть. mscorefonts и terminus – вполне подходящий вариант. Не забываем отредактировать и /etc/fonts/fonts.conf.
А вот теперь, наверное, пришло время остановиться и определить: не нужно ли часть ПО вынести на CD, как это сделано с каталогом anvir? Тогда система вернётся к объёмам, помещающимся в 256 MB. При наличии же достаточной памяти перенести пару каталогов в
/opt трудности не составляет.
Итак, имеем, приблизительно:
-
/lib– 20MB -
/opt– 65MB -
/root– 10MB -
/usr– более 120MB - остальное в сумме – менее 15MB
Что касается /lib, то большую часть объёма составляют модули ядра и firmware – компоненты для rescue-livecd обязательные, хотя перенос их на CD возможен. Только вот стоит ли…
/opt – первейший кандидат на перенос. Вряд ли в rescue-операции одновременно могут потребоваться и Chrome, и pcregedit, и антивирусы. То есть: могут, но при дефиците RAM почему бы не загружать их по очереди?
С /root-ом можно разобраться: вероятнее всего, большую часть этого объёма составляет профайл Chrome. Только вот стоит ли экономия затрат времени…
Что касается /usr, то распределение следующее:
-
/bin– 28MB -
/lib– более 60MB -
/share– 20MB - остальное в сумме – около 10MB
Очевидно, что здесь нужно говорить о деинсталляции пакетов, причём наиболее крупные из них (Firefox и Thunderbird) уже деинсталлированы. Тут впору вспомнить, что следующий, наиболее вероятный за 256 MB, предел памяти – 128 MB. Для того, чтобы «уместиться» в него, нужно сократить чуть ли не сотню MB. А это при сохранении Х-ов уже проблематично. Впрочем, к этому можно вернуться после анализа no-X версии. Пока же, кроме /opt и «выносить»-то особенно нечего.
Итого, после реализации «выноса» /opt (теперь интегрируется в нативную файловою систему скриптиком /usr/bin/getopt) имеем систему, приблизительно такого же размера, как и версия 9.2 (~90MB). Это позволяет чувствовать себя «вольготно» в 256 MB, но по прежнему не размещаемся в 128 MB.
Кстати, для инсталляции Chrome потребовалось импортировать несколько библиотек из состава Firefox в /usr/lib. Прилагаются.
05.11.2010 at 11:39 дп
Русский RIP Linux 11.0: https://sites.google.com/site/smkuzmin/home/riplinux
05.11.2010 at 12:41 пп
2 smkuzmin
Не надо постить одно и то же в две темы, одна из которых, к тому же, к RIP’у никакого отношения не имеет.
05.11.2010 at 2:18 пп
2 smkuzmin
)… Я использую RIP лет семь. Структура менялась неоднократно. Думаю: будет и впредь. Так что, кто хочет и может – сделает ещё раз, а «чистым пользователям» придётся всегда оставаться несколько ущемлёнными. Утешаясь, возможно, сознанием собственной чистоты
.
Приятно было узнать, что мной написанное кому-то пригодилось. На добром слове – спасибо. Но…
Познакомившись с разработкой, я лишний раз убедился:
1. максимум проку от Linux-based систем получают те, кто хочет и может их модифицировать;
2. законченные системы возможны (Android – чем не пример?), но никогда не идеальны (в силу своей законченности, не иначе).
Вот и в частном случае… Почему 64-х разрядное ядро? Нешто, машинки прошлых поколений не встречаются в практике? Почему UTF-8? А если «объект ремонта» с локалью koi? И, наконец, воспоминания (поскольку первые два вопроса, в общем-то: гипотетические, о вероятных ответах я догадываюсь