RSS

Компьютерная терминология    1_9  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  .....  A  Б  В  Г  Д  Ж  З  И  К  Л  М  Н  О  П  Р  С  Т  У  Ф  Х  Ц  Ч

Linux

  • Установка Linux
  • Настройка Linux
  •  lilo
  • Cеть в Linux
  • Русификация Linux
  • Midnight Commander
  • BSD
  • Pабота в Unix
  • Linux   
    Установка Linux
    Настройка Linux
    lilo
    Cеть в Linux
    Русификация Linux
    Midnight Commander
    BSD
    Pабота в Unix
    Linux faq
    Атрибуты файлов
    Каталоги файловой системы Linux.
    Настройка ppp-соединения в Linux
    Hyper-Threading для процессоров P4 в Линуксе
    Как установить Linux Red Hat 9, если на компьютере уже стоят WinХР и Win98
    Hастройкa модемного подключения с "нуля" & faq
    Kомпьютер не выключается
    Как с фотоаппаратa скопировать фотографии на компьютер?
    Kак устанавливается софт в *nix?
    Изменились права доступа к моим файлам и каталогам?

     

     Бесплатная консультация специалиста
    Loading…
     
    03.07.2003

    C какого дистрибутива лучше начать свой путь в мире Linux. На счет того, с какого именно дистрибутива именно начать идут большие споры, но лично моё мнение, что для начала полностью подойдёт Linux Mandrake 9.0.
    Для начала вопрос: где его достать? Я например купил в переходе метро, хотя можно купить и где-нибудь в компьютерном магазине. Тут у вас возникает выбор купить 3cd и 6cd!, если ты хочешь целиком и полностью углубиться в мир исходных текстов, то второе, а если же нет, то однозначно 3cd.И вот и принёс его домой, возникает соответственно вопрос: а как его установить? На самом деле не сложно, единственный недостаток установки это разбиение на разделы жесткого диска, хотя и тут есть шанс обойтись без этого. У вас есть возможность установить Линукс в раздел Windows! Но и соответственно с этим немного упадёт производительность «пингвина». Ладно, разговор разговором, а мы перейдём к наглядному пособию установки Mandrake.
    Приступаем! Надо загрузиться с диска №1, первое меню – жмём “Enter”. Вот теперь появляется окно с выбором языка. Ну как впечатляет количество доступных языков?
    Но нам нужен наш родной русский язык, нашли, но вот фигня, какую кодировку выбрать?
    Не советую выбирать cp1251(win1251), так потом возникнет куча проблем со шрифтами, так что выбираем koi8! Хотя полностью их всё-равно не удасться избежать, в некоторых приложениях надо будет ручками прописывать
    .

    Окно выбора языка
    рис.1 (Окно выбора языка)

    Далее выводиться вопрос, о том согласны ли вы с лицензионным соглашением, думаю, все ответят «ДА», хотя может, есть и такие кто нажмёт на «НЕТ». Следующее окно спрашивает, какой тип установки вы хотите и в каком режиме, есть три вида: «Установить», «Обновить» и «Только обновить пакеты», могут производиться в режимах «Рекомендуемая» или «Эксперт».

    Окно выбора установки
    Рис.2(Окно выбора установки)

    Следующим шагом будет выбор «грызуна»(мыши) и клавиатуры

    Окно выбора клавиатуры
    Рис.3(Окно выбора клавиатуры)

    Теперь вам предлагают выбрать переключение раскладки клавиатуры, очень не советую использовать winkey, так как например в KDE, эта клавиша вызов меню аля «Пуск».
    Настаёт самый сложным или "задумчивый" момент в установке – это «разделывание» жесткого диска на разделы, вам необходимо два раздела, один основной, другой для подкачки, его лучше располагать в начале винчестера. Выбор файловой системы, сложный вопрос, но я предпочитаю ext3(Журналируемая ФС), так как она меня не раз выручала. После того как вы разметили диск, нужно выбрать на какой раздел вы будете устанавливать ОСь, это делается так: выделить нужный раздел, а затем нажать на кнопку «Точка монтирования».
    Кстати как я упоминал выше, можно установить Линух на раздел Windows. Всё, жмём на кнопку «Готово», у вас спросят какие разделы форматировать выберите нужный раздел.

    Окно программы для «разбиения» жесткого диска
    Рис.4(Окно программы для «разбиения» жесткого диска)

    Выбор пакетов - здесь я вам помочь ничем не могу, так как это для каждого индивидуальный вопрос, хотя можно сказать, что обязательно надо установить: Midnight Commander (mc) аналог Norton Commander, без него как без рук:)!. Может производиться полностью ручной выбор пакетов, проверяются все зависимости пакетов. После этого следует установка. А где же надпись откиньтесь в спинку кресла:)?

    Окно выбора устанавливаемых пакетов
    Рис.5(Окно выбора устанавливаемых пакетов)

    Установка закончена, теперь следует настроить некоторые параметры.
    Установка пароля root: root – это «бог» системы, он может всё, так что серьёзно отнеситесь к выбору пароля, хотя у многих не замечал его вовсе.
    Установка пользователей – надо вписать хотя бы еще одного пользователя, для того чтобы работать под ним. После того как заполните все поля, нажмите «принять пользователя», а уж затем «Готово».
    Далее у вас спросят загружать ли X-ы(графический интерфейс) после перезагрузки, конечно вы можете сказать «ДА», чтобы не мучиться с консолью и её командами, но я лучше будет если вы ответите нет и будете запускать X-ы в ручную(вводом команды startx), это избавит от некоторых проблем в дальнейшем.
    Настройка тех самых X-ов – предлагается выбрать оборудование(видеокарту, монитор) и настроить его. Этой теме надо уделить много времени, но лучше выбрать пока то что предлагают по умолчанию, а потом настроить, тем более что всё равно прийдёться устанавливать новые «дрова»(О установке драйвера для видео карт nVidia поговорим в следующем выпуске).Но в любом случае решать вам.
    Настройка сети – опять же для каждого пользователя индивидуальна, хотя здесь есть такая фигня: в Windows’е мой модем висел на COM3, а под Линухом на COM5(или на ttyS4). Потом, можно будет задетектить его с помощью linuxconf
    Настройка запуска сервисов – здесь вам предлагают посмотреть и изменить запускаемые при загрузке сервисы. Половину, так точно можно отключить, но всё-таки, это только моё мнение, вы должны выбрать это персонально.
    Настройка начального загрузчика – вам предлагается на выбор два загрузчика, grub и lilo, мне больше нравиться lilo, да вроде и по функциональности он по мощнее будет, но выбор опять таки за вами.
    Создание загрузочного диска – очень полезная штука и очень рекомендую создать.
    Ну, всё установка завершена, перезагружаемся и радуемся вновь установленной  Linux.


    На чем размещается Linux. Рассуждения о файловых системах

    Понятие файловой системы - одно из самых многозначных в околокомпьютерной терминологии; больше значений имеет, пожалуй, только просто слово "система". Во-первых, файловая система - это система устройства файлов как таковых: в этом аспекте говорят о файловой системе UNIX или вариациях на тему FAT, например. 

    Во-вторых, файловая система - это физический способ организации данных на дисковом разделе. Он часто специфичен для конкретной ОС, и потому здесь уместны такие термины, как файловая система Linux или там BSD. Хотя, некоторые ОС (и Linux тут - один из самых ярких примеров) могут работать с различными файловыми системами, как с родными.

    Заметим вскользь, что, помимо физических (так называемых disk-based) файловых систем, существуют виртуальные файловые системы. Их множество: от памятных по DOS RAM-дисков до файловой системы устройств (devfs) и даже файловых систем, отображающих процессы в системе (procfs).

    В третьих, файловая система - это логическая структура каталогов и файлов, объединяющая в себе базируемые на дисках (вернее, их разделах) и виртуальные файловые системы.

    В современном Linux структура файловой системы обычно специфична для конкретного дистрибутива, поэтому можно столкнуться с выражениями, типа файловая система Red Hat или Debian (будем надеяться, что усилия стандартизирующих организаций переведут эти выражения в разряд нецензурных).

    Наконец, во всех "юниксах" (и это отличает их от любых других ОС) файловая система - универсальный интерфейс доступа ко всему, что только имеется в системе: от текстовых и исполнимых файлов до физических устройств (дисков, принтеров, модемов) и даже (через помянутую procfs) к протекающим в ней процессам.

    Осветить все аспекты файловых систем за один раз мне возможным не представляется. И потому нынче разговор будет только о том, что имеет отношение к процессу установки Linux - о disk-based файловых системах (второе значение слова).

    Хотя для начала придется затронуть аспект организации хранения данных в Linux (файловая система в первом понимании), а под занавес - чуть коснуться и логической структуры файловой системы (в третьем значении термина). При этом - все время держа в голове четвертый аспект этого понятия.

    Файловая прелюдия

    В этом разделе будет говориться о предметах, общих для всех "юниксов". А все, что ни на есть в работающей UNIX-системе (вспомним последнюю фразу преамбулы), суть файлы. Столь многогранное употребление этого слова требует некоторого упорядочивания. И файлы в UNIX разделяются на несколько типов, примером чему - упомянутые ранее файлы устройств.

    Рассмотрение их далеко выходит за намеченные на сегодня рамки, однако о двух типах упомянуть необходимо. Это обычные (так называемые регулярные) файлы, к которым относятся все файлы в понимании DOS / Windows (текстовые, исполняемые, файлы данных в собственных форматах), и каталоги, важность которых в UNIX станет ясной из дальнейшего.

    Обычные файлы (впрочем, это относится и ко всем прочим их типам) в UNIX состоят как бы из двух частей, разобщенных в пространстве на диске (но обязательно находящихся в одном дисковом разделе, сиречь файловой системе во втором понимании термина).

    Первая часть - область метаданных, в которой записываются идентификатор диска (это просто некое уникальное число), сведения об атрибутах файла (принадлежности, правах доступа, времени модификации и т. д. - это очень важные понятия, но говорить о них здесь неуместно), а также информация о том, в каких блоках дискового раздела физически размещена область данных файла.

    Последняя же содержит те самые последовательности байтов, которые образуют доступный пользователю текст в формате ASCII или откомпилированный бинарник.

    Заостряю внимание - имя файла не обнаруживается ни в его метаданных, ни среди данных. Откуда же оно берется? Имя - атрибут не файла, а файловой системы (в третьем понимании термина). И именно для его хранения предназначены файлы особого типа - каталоги (сиречь директории, по-досовски).

    Поэтому, хотя каталог являет собой просто список файловых идентификаторов и соответствующих им имен (почему поведшийся от Windows (или - от Mac OS?) эвфемизм для каталога как папки с документами в UNIX только затемняет суть дела: здесь это скорее "каталожный" ящик в библиотеке; или, если угодно, простая база данных), роль его трудно переоценить.

    Имена файлов, через которые они включаются в файловую систему (и через которые пользователь получает доступ к их содержимому), фигурируют только в составе каталога, к которому файл приписан - и больше нигде (!) в системе. И потому удаление файла в UNIX - это манипулирование не с ним самим, а с данными его каталога. Который, конечно, также имеет свои метаданные и идентификатор, приписанный к каталогу, расположенному уровнем выше в иерархии файловой системы.

    Такой способ организации связи между контентом файла (данными и метаданными) и его именем называется жесткой ссылкой (hard link). Из него следует, что один и тот же набор данных и метаданных может иметь любое количество имен.

    Именно это подразумевается, когда речь идет о файлах дисковых устройств: файлы /dev/ide/host0/bus0/target0/lun0/part1 и /dev/discs/disc0/part1 по сути своей не более, чем один и тот же набор данных, приписанных к разным каталогам. Впрочем, об этом здесь упоминаю лишь в порядке информации к размышлению.

    И эти сведения (каюсь - очень неполные) потребуются нам при размещении файловых систем на ранее созданных разделах и их монтировании в файловую систему Linux - надеюсь, уже не нужно добавлять, где этот термин выступает во втором значении, а где - в третьем?

    Файловая фуга

    Надеюсь, опять-таки, что наша конкретно-шкурная задача - понять процесс установки Linux - не была забыта в ходе затянувшейся прелюдии. Обращаемся к фуге, то есть посмотрим, какие же файловые системы мы можем создать на давешних разделах.

    До недавнего времени истинно родной для Linux была одна-единственная файловая система - ext2fs. По способу организации хранения данных это - типичная представительница UNIX-клана. За счет эффективного кэширования дисковых операций она обеспечивает замечательное их быстродействие - суммарно чуть ли не рекордное, среди известных мне.

    Оборотная сторона чего - относительно слабая устойчивость к сбоям, типа аварийной остановки или отключения питания. Ведь если в этот момент происходит запись файлов, то вероятность нарушения связи между областями метаданных и данных (сиречь нарушение целостности файловой системы) достаточно велика.

    Времена, когда некорректный останов Linux-машины грозил полным разрушением файловой системы, слава Богу, остались в далеком прошлом. Однако в любом случае он чреват ожиданием проверки дисковых накопителей соответствующей утилитой, что при нынешних их объемах может затянуться на неприлично долгое время. И потому в UNIX с давних пор развиваются журналируемые файловые системы.

    Обсуждать механизм журналирования еще не время. В контексте темы замечу только, что журнал - это нечто вроде лог-файла дисковых операций, в котором фиксируются не выполненные, а только предстоящие манипуляции с метаданными, вследствие чего оказывается возможным самовосстановление целостности файловой системы после сбоя (подчеркиваю - именно целостности файловой системы, но не данных как таковых: не следует ожидать, что журналирование волшебным образом восстановит не сохраненные перед сбоем изменения файла).

    Разумеется, повышение надежности за счет журналирования оплачивается снижением быстродействия.

    Ныне журналируемые файловые системы добрались и до Linux - причем практически все поддерживаются как родные. Однако наибольшее признание получили три - ReiserFS, ext3fs, XFS. Первая из перечисленных - была и исторически первой в Linux, однако обзор их целесообразно начать со второй позиции списка. Ибо ext3fs - не более чем журналируемая надстройка над классической ext3fs, сохраняющая с ней полную совместимость, в том числе и на уровне утилит обслуживания (типа создания файловых систем, проверки их целостности и т. д.).

    Из чего вытекает первое ее преимущество. Второе же - чуть ли не максимальная надежность: ext3fs является единственной системой из рассмотренных, в которой возможно журналирование операций не только с метаданными, но и с данными файлов, полное или частичное (по умолчанию).

    Как всегда в этой жизни, расплата не замедлит последовать: в виде низкой производительности дисковых операций. В режиме полного журналирования возможны ситуации, вызывающие на некоторое время полный паралич машины (примерно как в Windows при одновременной проверке диска и форматировании дискеты).

    Конечно, режим экстремальной надежности может быть отключен, но и в более либеральных модах быстродействие ext3fs оставляет желать лучшего.
    По иному в этом плане выглядит ReiserFS - не смотря на затраты ресурсов при ведении журнала, по быстродействию она не очень отличается от ext2fs.

    А на некоторых операциях (например, копировании большого количества мелких файлов - согласитесь, достаточно частая пользовательская задача) так и оставляет старушку позади. Кроме того, ReiserFS обладает уникальной (и по умолчанию задействованной) возможностью оптимизации дискового пространства, занимаемого мелкими (менее одного дискового блока) файлами (а в любом UNIX таких файлов величайшие множества): они целиком хранятся в области метаданных.

    А "хвосты" (конечные части файлов, меньшие, чем один блок) могут быть подвергнуты упаковке, и это - тоже умолчальная ее фича. Правда, ReiserFS не совместима с ext2fs на уровне обслуживающих утилит, но соответствующий инструментарий уже давно включается в штатный комплект современных дистрибутивов.

    Оборотная сторона медали: распространенные загрузчики Linux (и Lilo, и GRUB) часто не способны загрузить ядро Linux с раздела ReiserFS, оптимизированного в отношении объема. Как обычно бывает в Linux, этот режим можно отключить, что приведет еще и к росту быстродействия.

    Однако следует учесть - после пересборки ядра умолчальные возможности оптимизации будут задействованы вновь. И в результате пользователь, перед которым со временем возникла потребность в перекомпиляции ядра (а поверьте, это произойдет с фатальной неотвратимостью), может с удивлением обнаружить, что правильно собранное им ядро отказывается загружаться (я с такой ситуацией сталкивался и был поначалу обескуражен, пока не понял, в чем дело). Именно поэтому создание отдельного раздела под каталог /boot может быть необходимым.

    И, наконец, XFS. В отличие от прочих, порожденных миром свободного софта (ReiserFS - творение Ханса Райзера, немца, рискнувшего выбрать для ПМЖ и работы наше отечество, а ext3fs - создана в Red Hat), эта файловая система пришла от проприетарных "юниксов" (конкретно - из компании SCI, в коей давно уже разрабатывалась для собственной ОС Irix).

    Однако ныне это такой же Open Sources, что и другие, условия лицензирования которого не вызовут претензий у самого строгого ГНУ-пуриста.

    Чем же она, XFS, замечательна? В первую очередь, сбалансированностью: за счет хитрого механизма журналирования она почти столь же надежна, как ext3fs, и не очень уступает ReiserFS в быстродействии на большинстве файловых операций. Ну и собственная коронка - работа с (очень) большими файлами.

    Здесь XFS держит прочное первенство по быстродействию: как легко догадаться по ее родословной, именно под работу с мультимедийными файлами она и затачивалась. Имеет XFS и еще некоторые маленькие, но приятные особенности, типа расширенной атрибутики файлов.

    Некоторый недостаток ее - низкая скорость удаления файлов; но, хотелось бы верить, мало кому потребуется тотально стирать гигабайты данных. Если же вспомнить, что никто и нигде не упоминал о проблемах совместимости XFS - она становится первым кандидатом на титул абсолютной файловой системы, не так ли?

    Так оно и было бы, если б не очередное пятно на солнце: в отличие от ReiserFS и ext2fs, штатно встраиваемых в ядро Linux (начиная с версий 2.4.4 и 2.4.16, если не ошибаюсь, соответственно), XFS по сию пору не поддерживается каноническим ядром "Линуса" (тем самым, которое можно получить с.

    Конечно, обеспечить поддержку XFS можно посредством патча с SGI's XFS page (здесь же берется и инструментарий для работы с XFS - традиционный, рассчитанный на ext2fs, для нее также не пригоден), а некоторые дистрибутивы уже комплектуются соответствующим ядром.

    Однако при предварительной разметке диска о такой возможности следует помнить.

    Подведем итог: каждая из четырех рассмотренных файловых систем имеет свою уникальную положительную особенность (даже ext2fs - как бы то ни было, лидером по суммарному быстродействию остается она) и как минимум один недостаток (который, тем не менее, не служит препятствием к ее использованию). И потому любая из наших героинь заслуживает почетного места на десктопе пользователя.

    Практическая интермедия

    Надеюсь, предыдущий раздел дал вдоволь информации к размышлению на тему: а какая же файловая система подойдет именно мне? Не предугадывая ответа, намечу порядок действий в каждом из возможных случаев.

    В принципе при установке дистрибутива Linux создание файловых систем - компетенция инсталлятора, который далеко не всегда допускает ручное вмешательство пользователя.

    Однако создает он файловые системы с некоторыми умолчальными характеристиками, не всегда лучшими с точки зрения быстродействия. А изменить их без переформатирования (влекущего, понятно, потерю данных) нет ни малейшей возможности. Так что если в программе установки возможность ручного вмешательства предусмотрена - иногда имеет смысл ею воспользоваться.

    Если нет желания ломать голову над сравнительными достоинствами, для пользовательского десктопа (а о серверах у нас речи нет) ext2fs остается нормальным выбором для всех разделов. Она может быть создана любой из следующих команд - /sbin/mke2fs, /sbin/mkfs, /sbin/mkfs.ext2 с указанием файла устройства в качестве аргумента, например:        $ /sbin/mke2fs /dev/hda1.

    Каждая из этих команд имеет некоторые опции, однако обычно необходимости в них не возникает.
    Для создания файловой системы ext3fs можно применить ту же команду mke2fs с опцией -j или специальную команду mkfs.ext3. Замечу, что можно и преобразовать в нее ранее созданную ext2fs - не только без потери данных, но и без перезапуска системы.

    Да и избавление от журнала (то есть откат к первозданной ext2fs) - процедура ничуть не более сложная.

    Файловая система ReiserFS создается предназначенной для этого командой - /sbin/mkreiserfs. И во избежание уже упомянутых неожиданностей (и которые потому неожиданностями быть не должны), напомню: если корневой раздел форматируется как ReiserFS, совсем не худо предусмотреть небольшой раздел под каталог /boot и разместить на нем файловую систему ext2fs, от которой неожиданностей ждать не приходится.
    Аналогично и XFS - для ее создания существует собственная команда mkfs.xfs.

    Однако (и это тот самый случай, который я имел в виду в начале раздела) для достижения максимальной производительности она может применяться с некоторыми опциями: $ -d agcount=# -l size=##m /dev/hda1,где # и ## - численные значения соответствующих опций.

    Значение первой указывает на число allocation group (тот самый хитрый механизм XFS, о котором я упоминал выше) и выбирается из расчета: одна группа на 4 Гб объема раздела с округлением в большую сторону. А опция -l size устанавливает ограничение на объем журнала (m - в мегабайтах), рекомендованное значение - 32 Мб. Монтировочный финал

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

    Сейчас не место и не время вдаваться в детали иерархии каталогов. Тем более, что в большинстве дистрибутивов за монтирование файловых систем отвечает их собственный инсталлятор, который, как и в случае с файловыми системами, не обязан приветствовать вмешательство пользователя.

    И хотя он также не всегда действует идеально - не беда: уж тут-то любые умолчальные недоработки легко могут быть исправлены в последующем. Так что буду предельно краток.

    Монтирование осуществляется командой mount, требующей двух аргументов - имени монтируемого устройства (сиречь раздела) и точки монтирования. Не худо, хотя обычно и не обязательно, указать также тип монтируемой файловой системы посредством соответствующей опции. То есть в общем случае это будет выглядеть так: $ mount -t ext3fs /dev/hd?# /mount_point.

    Из всего упомянутого мы не затрагивали только понятие точки монтирования. Суть очень проста: это каталог корневой файловой системы, к которому приписывается содержимое файловой системы монтируемой. Что легко понять, вспомнив о многократно поминаемых ранее разделах для грядущих каталогов /, /boot, /home и прочих.

    Каталог, в который монтируется файловая система, должен быть создан заблаговременно и желательно пустым: монтирование в каталог с файлами ныне фатальных последствий не повлечет, но все его содержимое станет недоступным.

    Очевидно также, что первым должен монтироваться корневой каталог (/), поскольку и /boot, и /home, и /usr и прочие представляют собой ветви на его древе. Собственно, свои имена (/boot etc.) они и обретут только после монтирования.

    И здесь возникнет вопрос - как же монтировать раздел, зарезервированный под корневой, к уже существующему корневому разделу. Или, хуже того, к корневому разделу системы, которая еще не инсталлирована. Нет ли здесь противоречия? Его действительно нет. Вернее, оно не учитывается - ибо установщик ОС Linux работает под управлением ее же самой.

    И система, управляющая программой установки, обязана иметь многие атрибуты полноценной операционки, в том числе, и корневую файловую систему. Другое дело, что базируется она не на каком-либо дисковом устройстве - таковое может в начале инсталляции сохранять девственную чистоту, а в оперативной памяти (я не зря упомянул в преамбуле RAM-disk). И наш новый раздел, которому суждено стать корневым, монтируется в некий каталог этой самой виртуальной корневой файловой системы.

    Возможно, все сказанное по первости не очень понятно. Но к вопросу смены корневого каталога я надеюсь еще вернуться - когда мы попробуем установить систему с нуля, опираясь на материалы этих (и еще нескольких последующих) заметок. А пока, подобно поручику Ржевскому - прошу поверить на слово.

    И, главное, вспомнить, что наша сиюминутная цель - просто проиллюстрировать, что же скрывается за графическими красотами инсталляторов операционки Red Hat или соплеменной ей Mandrake, когда нам предлагается щелкнуть на метафоре диска с целью его реорганизации под Linux.

    Те, кто подобные дистрибутивы устанавливал, думаю, меня уже поняли.

    Когда не хватает места...

    Данный материал предназначен для тех, у кого Linux соседствует с Windows на одном жестком диске или установлен на второй диск небольшого объема.

    Еще одной отличительной чертой этого момента является то, что решив прпробовать Linux, пользователь выделяет для него немного дискового пространства (да и не все еще являются обладателями многогигабайтных винтов). А вот потом, когда к Linux уже привык, а винду сносить еще страшновато, появляются вопросы. И возникают они, в частности, при самостоятельной сборке программ, требующих значительного дискового пространства при компиляции (например, XFree86 и т.д.)... Места не хватает и компиляция прекращается с соответствующим сообщением...

    И что делать в этом случае? Можно, конечно, перезагрузиться в винду и при помощи Partition Magic увеличить размер раздела, а можно поступить следующим образом :

    Начальные условия - допустим исходники распаковываются для компиляции в /tmp/sources ... места мало. Имеется достаточно свободного пространства на одном из разделов Windows(например на диске D:, смонтированном в /mnt/d)

    Что делаем?
    - Создаем на виндовом разделе пустой файл нужного нам размера (назовем его, к примеру, space.fs):
    dd if=/dev/zero of=/mnt/d/space.fs bs=1024 count=1000000 (... в этом случае 1000000 блоков размером 1кб)
    - форматируем этот файл (да-да, вы не ослышались):
    mke2fs /mnt/d/space.fs (на вопросы отвечаем "y")
    - монтируем получившуюся файловую систему:
    mount -t ext2 /mnt/d/space.fs /tmp/sources -o rw,loop
    - проверяем, сколько у нас теперь места:
    df -h
    и видим, что в /tmp/sources у нас места стало поболее (в нашем случае чуть меньше гигабайта)

    После этого распаковываем наши исходники в /tmp/sources и компилируем, компилируем, компилируем... :-)

    Да, и еще... Можно прописать в /etc/fstab, чтобы данный файл монтировался при загрузке системы автоматически.

    Дополнительная информация: man dd, man mke2fs, man fstab

    Можно спросить, а почему бы не распаковывать софт прямо на виндовый раздел... ан нет, не получится: при компиляции получаются исполняемые файлы Unix, а файловая система FAT32 не позволяет работать с исполняемыми файлами так как это нужно и права назначать там не получится.


    12.02.2003          Шарим память пингвина

    Все началось примерно месяц назад, когда места на жестком диске для виртуальной памяти Windows стало катастрофически не хватать (HDD все еще 3 Гб, и это в наше время :-)). Linux же, напротив, работал без «тормозов» - у него был свой раздел подкачки, который я заботливо создал еще до установки. Существовало два выхода: или увеличить раздел Windows за счет раздела Linux (никогда! :-)), или же заставить Windows использовать этот самый свап-раздел. Но Windows этот раздел в упор не видела...
    Я начал просматривать HOWTO (документы, в которых одни линуксоиды описывают решение проблем других линуксоидов, обычно /usr/share/doc/HOWTO) и таки нашел то, что искал: Swap-Space-miniHOWTO. Рекомендации этого документа я испробовал самолично; без лишней скромности скажу, что намного все упростил и теперь представляю вам свою инструкцию.

    Уничтожаем еще один аргумент противников Linux - отдельный swap-раздел «только для Linux».

    В чем суть?

    Обе операционные системы при нехватке ОЗУ начинают использовать виртуальную память (swap - «обменивать», в компьютерной терминологии swap file - файл подкачки) на жестком диске (у меня сложилось мнение, что Windows начинает писать в своп-файл информацию уже при загрузке). В большинстве случаев на одном компьютере одновременно исполняется только одна ОС, а после завершения работы любой из swap представляет собой кучу мусора - сохранять нет смысла. За тип раздела (Windows FAT16 или Linux Swap) отвечает всего лишь несколько первых секторов этого раздела, которые можно перезаписывать (читай: изменять файловую систему). Наша задача - заставить Linux при загрузке создавать для себя swap-раздел, а при выгрузке - восстанавливать энное количество секторов, тем самым превращая Linux Swap снова в FAT16.

    Скрипты работают так: при загрузке проверяется, следует ли Linux создавать Swap-раздел или же использовать уже имеющийся (последнее происходит, когда при работе в Линуксе компьютер «падает», или если выключили электричество). Второй скрипт будет работать при завершении сессии в Linux и восстанавливать информацию для Windows.

    Ни я, ни МК не несут ответственности за возможную порчу информации при соблюдении или не соблюдении всех инструкций.

    Что нужно:

    права root (суперпользователя) и его пароль. Все дальнейшие действия будем производить с root-аккаунта;

    программа mkdosfs (make DOS filesystem - создать файловую систему DOS, входит в стандартный пакет любого дистрибутива);

    любой текстовый редактор и примерно полчаса драгоценного свободного времени.

    Начинаем

    Для начала следует уяснить, хватит ли Windows объема диска подкачки. Если вы работаете с приложениями, жадно пожирающими оперативную память (сама Windows, например), то чем больше вы выделите, тем лучше. У меня 152 Мб реальной памяти, и свопа в 100 Мб хватает обеим ОС сполна. Скажу даже, что такой объем памяти позволяет запустить (и работать) восемь Word’ов, восемь Excel’ей, Outlook, два Far Manager’а и три Сапера. Если вы посчитаете, что этого вам недостаточно (нужен еще один сапер?), то придется или увеличить раздел подкачки, или отказаться от этой затеи вообще.

    Следующие скрипты нам будут жизненно необходимы в работе:

    Файл swapinit.sh

    Файл swaphalt.sh

    Файл info.sh

    Делаем их исполняемыми (chmod +x swap* info.sh). Файлы swapinit.sh и swaphalt.sh помещаем в директорию /etc/rc.d/init.d/.

    Все, подготовка окончена, приступаем к делу. Привожу инструкции «шаг за шагом». Чтобы не получилось никаких глюков, все действия очень желательно производить в «голой» консоли (меньше нагрузка на память). Если вы абсолютно незнакомы с такой темной лошадкой как Консоль или ее эмуляторами xterm, konsole в KDE или эмулятором терминала в GNOME, почитайте статьи «Консоль для линуксоида» Петра Roxton’а Семилетова. Все равно от командной строки вам никуда не деться.

    0. Входим в систему как root. Если вы сейчас рядовой пользователь, используйте команду su:

    и введите пароль.

    Рис. 11. Создаем символическую ссылку с вашего раздела свап на /dev/winswap. Эта ссылка используется в скриптах, к тому же при изменении расположения Swap раздела достаточно будет изменить только ее. Если не знаете, как зовут ваш swap-раздел, ни в коем случае не пользуйтесь методом научного тыка - опасно для жизни и здоровья информации на винчестере! Лучше откройте файл /etc/fstab, там найдите строчку, содержащую слово swap (Рис. 1), - первые несколько символов (до пробела) будут именем вашего swap-раздела:

    2. Отключаем swap Линукса.

    3. Делаем из своп-раздела DOS-диск и параллельно присваиваем ему необходимую метку (ключ -n). Необходимую потому, что по наличию этой метки наши скрипты будут определять свои действия:

    4. Перезагружаем компьютер.

    5. Переходим туда, где сидит msinfo.sh, запускаем:

    Нас интересует только число специальных секторов (у меня 447, но обозначим его как XXX).


    Linux 9.1


    27.04.2003  Несмотря на большие финансовые затруднения, 25 марта французская компания MandrakeSoft  выпустила новый релиз своего дистрибутива Linux, а именно версию 9.1.


    Linux Mandrake традиционно считается одним из самых дружественных к пользователю Линуксов. Хотя на его основе создан российский дистрибутив, ALT Linux, лично я предпочитаю все же Mandrake, при том, что у меня установлен также софт из RedHat, Alt и Debian. Итак, вставляю в CD-ROM первый из трех дисков download-версии (существует еще несколько версий — например, ProSuite на девяти CD и одном DVD, которой у меня, к сожалению, нет) и начинаю инсталляцию.

    Установка стала еще проще — меньше экранов, уже не предлагается режим «Эксперт», теперь вы просто по ходу можете выбирать разные опции. Все мое железо (даже подключенный по USB бесперебойник) определилось автоматически, разве что для звуковой карты Live! почему-то выбрался модуль под Audigy. Когда будут подводиться итоги установки, не забудьте, если у вас тоже Live!, нажать кнопочку Настроить и выбрать драйвер snd-emu10k1. И еще небольшое разочарование. Я ожидал, что в дистрибутив включили XFree-сервер с поддержкой 3D-акселерации для Radeon'ов. Не включили.

    Завершая тему инсталляции, отмечу, что с ней справится даже неподготовленный пользователь. Все на русском (если при установке вы выбрали этот язык), с многочисленными разъяснениями. По сути, установка может занять у вас минут пятнадцать. Я же делал апдейт с версии 9.0, и на это ушло гораздо больше времени. Кстати, о языках. Если в старой версии я мог выбрать кодировку KOI8-R или CP 1251, то в этой — ничего подобного. Если вы выбираете русскую локаль, то подразумевается юникод.

    Немного бэкграунда — что такое юникод и зачем он нужен? Как вы знаете (ох уж этот лекторский тон!), каждый символ (буква) имеет свой код. По старому, однако наиболее распространенному стандарту ANSI, такой код может быть числом от 0 до 255. Зачем этот код? Опишу в двух словах, не углубляясь в подробности. Просто идея. Есть шрифт. Каждое изображение буквы в этом шрифте имеет свой номер. Таким образом, когда нужно вывести на экран букву, берется код буквы и по нему ищется картинка буквы. А потом рисуется на экране.

    Но. У нас только 256 номеров-кодов. Английский алфавит имеет свой диапазон кодов, русский — свой, немецкий — свой, китайский — тоже свой. Понятно, разместить их все в этих 256 номерах просто невозможно. Максимум два алфавита одновременно, например, английский/русский. А теперь о том, что такое юникод. Каждая буква в нем имеет код, лежащий в диапазоне не от 0 до 255, а от 0 до 65535. На практике это дает вот что: коды разных алфавитов могут сосуществовать в одном шрифте и документе. То есть, ближайшее будущее, очевидно, за юникодом. Однако значительная часть софта, в том числе и современного, его не поддерживает.

    Итак, как и последняя RedHat, Mandrake 9.1 сделала большой шаг в сторону юникода. Лично мне удобнее было работать в KOI8-R. Все попытки выбрать эту локаль путем ввода команды set LANG=ru_RU.KOI8-R; export LANG завершились неудачей. Похоже, единственная нормально работающая локаль для нового Mandrake — это ru_RU.UTF-8. Она же просто ru_RU. Ладно, я не консерватор. Простым же юзерам с юникодом и вовсе будет проще — включил и работай.

    Второй «удар» мне нанесла графическая оболочка KDE, которую я предпочитал Гному. Спору нет, новая KDE выглядит и ощущается лучше старой, но ее переключатель клавиатуры... Короче, сначала он не работал циклически. Нажимаю стандартную Ctrl+Alt+K, раскладка переключается на русскую. Нажимаю снова — эффект нулевой. После некоторых манипуляций с настройками KDE я добился вообще гениального результата. Раскладки вообще не переключались. Даже мышью. А потом начали переключаться. Но только мышью :-).

    В три часа ночи мне совершенно не хотелось искать причины столь странного поведения переключалки, а возиться с настройкой системной xkb было лень. Поэтому я вышел из KDE и запустил Гном — другую графическую среду, аналог KDE. Новый Гном мне очень понравился. Во-первых, он загрузился быстрее, чем KDE, а во-вторых, в нем была нормальная переключалка клавиатуры, причем с НОРМАЛЬНОЙ настройкой клавиш переключения. Я выбрал себе правый Ctrl. Еще небольшая тонкость — чтобы русская раскладка была привычного типа (запятые и точки на своих местах), надо выбрать в список активных раскладок Russian xkb keymap, а не Plain Russian и тому подобные. Короче говоря, Гном мне так понравился, что я избрал его своей основной графической оболочкой и принялся изучать новинки Mandrake.

    Среди нового софта я обнаружил много любопытных вещей, показывающих, как серьезно разработчики дистрибутива относятся к разным категориям пользователей. Для слепых имеется консольный драйвер азбуки Брайля (под специальные мониторы для этого). Владельцы записывающих дисководов DVD получают набор утилит для записи таких дисков. Разработчики софта могут обрадоваться пакету gcc-gpc, который добавляет в компилятор GCC поддержку языка Pascal. Любители кино, специально для вас в дистрибутив включен MPlayer, один из самых совершенных видео-плейеров, а также дополнение к нему — утилита mencoder, с помощью которого вы можете конвертировать видео из одного формата в другой. Mplayer умеет показывать фильмы DivX на самых слабых машинах, более того — даже на неграфических дисплеях (хотя это уже явное извращение :-)).

    Но в целом нового софта в дистрибутиве мало, большей частью он укомплектован свежими версиями того, что уже было ранее. Замечу, что я говорю только о Linux Mandrake download edition (которую по жизни юзаю), а с составом пакетов в других вариантах дистрибутива я еще не успел ознакомиться.

    Касательно обновленного ПО. Много интересных вещей. Редактор Gedit стал поддерживать кучу русских кодировок. Знаменитый Midnight Commander, без которого настоящему линуксоиду туго, тоже получил эту возможность — теперь можно работать с любой русской кодировкой прямо во встроенном в MC редакторе.

    Из редакторов HTML-кода мне ОЧЕНЬ понравились новые версии Screem и Quanta. Первый поддерживает разработку сайта по CSS (система, позволяющая через Интернет работать над проектом целой группе людей). А Quanta... Можно сказать, что это линуксовый аналог HomeSite. Я не преувеличиваю. К тому же у Quanta есть русский интерфейс. Кстати, часть его основных разработчиков — россияне. Quanta тоже поддерживает работу с CSS.

    Многие помнят, что в Mandrake 9.0 пакет OpenOffice.org был странным образом русифицирован, и при использовании локализации вместо букв в менюшках и диалоговых окнах были квадратики. Кто-то начинал ковыряться в файлах конфигурации, кто-то (я!) сносил локализацию и работал с английским интерфейсом, а иные и вовсе переходили на KOffice. Теперь для всей этой суеты нет повода. Потому что русский интерфейс в OpenOffice.org уже нормальный. А в целом этот продукт настолько удобен и богат функциями, что... Думаете, я когда-нибудь поставлю себе MS Office XP :-)?

    Что еще меня впечатлило? Новый KDE вместе с идущим в его составе пакетом KOffice. Во-первых, редактор векторной графики Karbon из KOffice хотя и не конкурирует с CorelDraw! по возможностям, однако дает возможность любому «чайнику» без труда нарисовать что-нибудь векторное и вставить рисунок в документ. Браузер Konqueror — выше всяких похвал. Наконец-то он обзавелся многостраничным интерфейсом а-ля Опера или Мозилла, стал поддерживать плагины от Mozilla, научился делить окно на несколько частей (в каждой из которых можно показывать отдельную страницу) и архивировать веб-страницы (вся страница вместе с графикой пакуется в один файл). В интерфейсе несколько раздражает слово «плугины» через «у», а в документации — обилие слова «данный» и его вариаций вместо более корректных по правилам русского языка местоимений «этот», «эта» и прочих, но это уже субъективное мнение. Если вы обращали внимание, в моих статьях НИКОГДА не бывает слова «данный».

    Возвращаясь к KDE... Разработчики основательно поработали над интерфейсом — появилась очень любопытная тема-движок Keramik. Наверное, именно таким будет интерфейс Windows лет через пять. Если бы не загадочное поведение переключателя клавиатуры, а бы назвал KDE самой совершенной графической средой из всех существующих. Это уже искусство.

    Гном тоже меня обрадовал. Его штатный браузер/файловый менеджер Наутилус стал ощутимо быстрее и по функциональности встал вровень с Konqueror (ну почти...), а по эстетике интерфейса, на мой взгляд, даже лучше. Konqueror — для технарей, Наутилус — для художников. Другой браузер, ассоциирующийся у пользователей с Гномом — Галеон — такого положительного впечатления не произвел. Некогда Галеон мне понравился отрывными менюшками и возможностью назначения горячих клавиш, как во всех приложениях на движке GTK — вы подводите мышь к пункту меню, нажимаете нужные вам клавиши, и они ассоциируются с этим пунктом. В новом Галеоне ни того, ни другого нет. Впрочем, можно пережить и это. В конце концов, дистрибутив укомплектован уймой браузеров — от Мозиллы до терминального текстового Lynx. Ассортимент на любой вкус.

    Оставим «посторонний» софт и обратим внимание на сам Mandrake. Что изменилось в нем? Из очевидных и явных новшеств — безглючный supermount. Раньше он глючил колоссально — при вставке новых дисков в CD-ROM и при простом обращении к ним. Например, играл-играл плейер эмпешки с компакта, а потом вдруг перестал, а само устройство оказывалось не монтировано. Это глючил supermount. Теперь не глючит. Ура! Другие новости — добавилось изменение разделов NTFS и поддержка ACPI (чтобы гибче управлять питанием ноутбуков).

    Внешние изменения более очевидны. Центр Управления в который раз упорядочился. Думаю, что человек, впервые севший не то что за Линукс, а вообще за компьютер, с помощью Центра Управления сможет запросто настроить систему. Если, конечно, возникнет такое желание. Потому что Mandrake почти все делает сам, автоматически. После установки вы получаете полностью работоспособную систему. Вот представьте две ситуации. Первая — среднестатистический пользователь домашнего ПК купил новый компьютер и ставит на него Windows. Затем начинается установка софта. Юзер, будто диджей какой, меняет CD в драйве, ставит софт и крэкает, ставит и крэкает. И так всего софта тысяч эдак на сто самых настоящих американских долларов. А если юзер инсталлирует себе Линукс, то СРАЗУ, в дистрибутиве системы, получает БЕСПЛАТНЫЙ софт на все случаи жизни. Совершенно легальный и вместе с тем качественный софт. Не надо искать крэки, keygen'ы и пароли. Все и так бесплатно и работает.

    Но я несколько отвлекся. Для выбора локали в Mandrake появилась утилита LocaleDrake. Что до русских шрифтов, то в новом Mandrake они безупречны. Добавьте к этому факт, что в Гноме и KDE они выводятся через очень мощные движки сглаживания. Чисто визуально русский текст в Mandrake выглядит более ладно, нежели под Windows. Впрочем, говорить бесполезно, надо видеть.

    Подведем итоги. Переходить на другой дистрибутив с Mandrake лично я в обозримом будущем не буду. Думаю, что возможностей версии 9.1 любому человеку — от чайника до программиста — может хватить на несколько лет вперед. Реально. Это целый мир. Linux Mandrake 9.1 очень прост в обращении, но за этой простотой скрывается мощь UNIX. Разработчикам из MandrakeSoft в очередной раз удалось сделать сложные вещи понятными, а работу с Linux проще, чем в Windows.


    26.04.2003 В чём главное отличие Linux от других операционных систем? Каждый отвечает на этот вопрос по-своему. Лично для меня чрезвычайно важно, что пользователи Linux с самых первых дней его существования находятся в постоянном - и что самое главное, конструктивном - общении между собой.
    Сперва, когда Linux был игрушкой программистов-профи, которой занимались в свободное время и из любви к искусству, иначе просто и быть не могло. Над совершенствованием открытого кода системы трудились все сообща, и каждый разбиравшийся с очередной проблемой как можно скорее стремился оповестить об этом окружающих, чтобы облегчить дальнейшую работу им. Быть пользователем Linux означало тогда быть её со-творцом, пусть даже не в самой большой степени. Всё было ново, всё приходилось делать впервые и при постоянном обсуждении.
    Понемногу система распространялась всё шире. На Западе, где привыкли и деньги считать, и без нарушения закона обходиться, бесплатный, с открытым кодом Linux сделался прекрасным выбором для оснащения компьютеров университетов и исследовательских институтов. В числе пользователей системы стали появляться именно "пользователи" в прямом значении слова - те, кто запускал в её среде свои приложения, обрабатывал данные, получал возможность общения с коллегами и друзьями через Интернет и по электронной почте, не прилагая усилий к совершенствованию кода ядра, драйверов и приложений. Но и такие люди вливались в сообщества исконных линуксоидов - просто потому, что только там возможно было получить консультацию по большинству практических вопросов. Да, "мануалы" - man-pages, страницы руководств - имелись уже тогда, но, написанные профессионалами для профессионалов, не всегда были сходу доступны начинающим.
    Шло время, и пользователей у системы стало гораздо больше, чем творцов. Однако хотя дружественность (графического) интерфейса различных инкарнаций Linux и количество руководств увеличились, бытовое удобство пользования системой, надо признать, заметно ниже, чем у специально создававшегося "для каждой домохозяйки" семейства ОС одной Всеми Любимой корпорации. А что делать - забота об удобствах не была изначальной идеей при разработке Linux, чьими первыми авторами-пользователями стали сплошь профессиональные программисты.
    Так что и в наше время квалифицированный совет гуру чрезвычайно важен для любого новичка в системе. Вот только всё относительно: некто, считающий, что хотя бы на своём уровне погружённости в вопрос он усвоил и освоил уже всё, что только можно, неожиданно обнаруживает явную недостаточность своих знаний. И тут на помощь приходит сообщество.
    Вернёмся к предмету нашего разговора. В прошлом, пятом, выпуске заметок о Linux, я допустил, мягко говоря, недооценку возможностей ОС в той части, где рассказывал о монтировании внешних файловых систем. Благодаря активному обсуждению вопроса в конференции (кстати, всех призываю участвовать в ней!), я смог прояснить для себя несколько моментов и вношу теперь коррективы в своё изложение - с благодарностью к тем, кто побудил меня к более глубокому прочтению страниц руководства.
    Итак, снова о монтировании Windows-разделов под Linux. Давайте посмотрим, как сама система при старте разбирается, что ей монтировать.

    Файл /etc/fstab, формируемый при инсталляции системы, содержит инструкции по монтированию. Как можно убедиться, права доступа к этому файлу разрешают его чтение всем пользователям системы (и запускаемым ими процессам), а запись - только суперпользователю, что вполне естественно. Обратите внимание на третий столбец файла: в нём указан тип монтируемой системы. Отыщем строчки, содержащие запись vfat: это знакомые уже нам разделы /dos-c и /dos-d. Четвёртый столбец - данные о дополнительных опциях монтирования, которые в данном случае отсутствуют, судя по записи defaults. Так вот; именно потому, что установки монтирования были стандартными, нам и не удалось насладиться кириллическим видом названия директории C:\Мой компьютер. Не будем же мириться с таким положением дел.
    Прежде всего, разрешим формальный, но точки зрения безопасности всё-таки существенный вопрос. А именно: переместим точки монтирования Windows-разделов из корневого каталога / в директорию /mnt, специально для того предназначенную. Необходимо это из тех же соображений, из каких пользовательские файлы хранятся в каталогах вида /home/имя_пользователя, а не прямо в корне системы. Если уж один из подмонтированных разделов (или домашняя директория одного из пользователей) окажутся скомпрометированными (compromised), заразе или взломщику не так просто будет подняться по дереву каталогов. Ведь правом создавать новые директории в корневой (/) обладает только root.

    Итак, исходное состояние: в корневом каталоге находятся точки монтирования разделов Windows C и D - /doc-c и /dos-d соответственно. В каталоге же /mnt - точки монтирования только внешних устройств: флоппи-дисковода, приводов CD и DVD. Приступим.

    Начнём с того, что убедимся: да, прямо сейчас, после загрузки системы, в соответствии со сформированным при установке файлом /etc/fstab, раздел Windows C подмонтирован именно в каталог /dos-c. И, как и прежде, русские буквы в названиях директорий и файлов отображаются вопросительными знаками. Хорошо же. Отмонтируем оба логических диска Windows при помощи команды umount (обратите внимание: имя команды отличается от английского термина "размонтировать" - unmount - отсутствием буквы n после u). Теперь, как нетрудно удостовериться, /dos-c преобразовался в банальный пустой каталог - свободную точку монтирования.

    Теперь заведём директории /mnt/c и /mnt/d, более соответствующие требованиям безопасности, и смонтируем соответствующие Windows-разделы в них чуть грамотнее, чем делали это в прошлый раз. Команда создания директории - mkdir от make directory - обладает самоочевидным синтаксисом. Кстати, обратите внимание: исполнив директиву "mkdir /mnt/c", то есть указав в качестве аргумента абсолютный (от самого корневого каталога системы прописанный) путь, мы создаём директорию именно там, где рассчитываем. А вот команда "mkdir c" создаст директорию c в текущем каталоге - по умолчанию для пользователя root это /root, то есть в итоге получится директория /root/c. И, значит, можно было бы сперва переместиться в каталог /mnt - при помощи команды cd, нам уже знакомой, - а потом уже отдать приказ mkdir c. В результате мы получили бы ту же самую директорию /mnt/c.
    Директории /mnt/c и /mnt/d созданы: самое время приниматься за монтирование. Вот оно, пожалуйста: команда mount, судя по аргументам, назначает устройству /dev/hde1 (а это как раз и есть Windows-диск C) точку монтирования /mnt/c. При этом указан тип файловой системы (ключ –t) vfat. Всё правильно. Но что за опции следуют за ключом -o?
    Опция codepage указывает на кодовую страницу монтируемой файловой системы, а iocharset - на кодировку набора символов, используемую для ввода-вывода. Поскольку стандартная для Linux файловая система ext2 (и её расширение ext3) не делает никаких предположений о кодировке символов, и просто хранит имена файлов в восьмибитном представлении, указывать на то, как их отображать, - задача пользователя. Что мы, собственно, только что и сделали.
    Как видим, разум в очередной раз восторжествовал над косной материей, и наименование директории "Мой компьютер" можно теперь с лёгкостью прочитать. Больше того - ей можно свободно пользоваться.

    Подмонтируем сначала оставленный пока без внимания диск D. Он занимает (как мы помним из листинга команды df в предыдущей статье) раздел /dev/hde5, то есть первый из вторичных разделов данного жёсткого диска. Откуда такое обозначение? Имена /dev/hd* система присваивает логическим IDE-дискам (в отличие от SCSI-разделов, обозначаемых как /dev/sd*). Буками английского алфавита обозначается размещение физического диска на IDE-канале: так, /dev/hda - винчестер, установленный как master на первый IDE-контроллер, /dev/hdb - его slave, /dev/hdc и /dev/hdd - master и slave на втором контроллере. Мой диск именуется /dev/hde потому, что стоит мастером на ATA-100 контроллере HPT 370, интегрированном в материнскую плату, а "обычные" IDE-интерфейсы занимают CD-RW и DVD-приводы.
    Жёсткий диск может быть разбит на 4 primary-раздела: первый из них обозначается в данном случае /dev/hde1 - на нём-то как раз установлена Windows. Прочее пространство диска представляет собой расширенный раздел (extended partition), где размещаются диск D Windows (именуемый в Linux /dev/hde5, поскольку стоит первым из расширенных: номера со 2 по 4-й зарезервированы для других primary-разделов, которых на диске нет), а также все собственно Linux-разделы.
    Окончательно разобравшись с тем, как монтировать Windows-разделы, давайте в них немножечко порезвимся. Самое простое - научиться переходить из каталога в каталог: команда ls прекрасно работает с кириллическими именами файлов, как показано на предыдущем рисунке. Для того, чтобы пробел в названии был верно воспринят командным интерпретатором, мы "экранируем" его в процессе набора обратной косой чертой. А если имя каталога или файла набирать с применением автодополнения (клавиша табуляции, помните?), то в случае однозначного указания на нужное имя экранировку пробелов командный интерпретатор произведёт автоматически. Переключение между латинскими и русскими буквами осуществляется в консоли одновременным нажатием правых клавиш Shift и Ctrl - если, конечно, при установке системы вы выбрали поддержку русского языка.
    Ну что же, пришло время внедриться в файловое пространство FAT32 и оставить там след. Создадим небольшой текстовый файл, назовём его по-русски и запишем туда кириллический же текст. А потом посмотрим, что получится.

    Самый простой путь создания коротких текстовых файлов - команда echo. Наберите имя команды, следом в двойных кавычках - текст, который планируете поместить в файл, затем поставьте правую треугольную скобку (знак "больше") и имя файла. Желательно, абсолютный путь, иначе придётся сперва переместиться в нужную директорию. Нажимаем клавишу Enter - файл создан. Убедимся, что он присутствует в указанном каталоге, исполнив команду ls. А команда cat позволит нам просмотреть содержимое этого файла - как видно, и имя его записано по-русски, и внутри находится русский текст.
    Обращу ваше внимание на то, что при помощи echo можно не только создавать файлы, но и дополнять существующие: если вместо одной треугольной скобки вправо (>) поставить две (>>), то являющаяся аргументом echo строка будет приписана в конец файла, а прежнее его содержимое останется нетронутым. Если же файла с указанным именем ранее не существовало, то и >, и >> создадут его.
    Разобравшись с дисковыми файловыми системами, обратимся к removable media - а именно, к CD-приводу и дискам. Установим диск в привод и посмотрим, не стало ли его содержимое доступным в той директории, которая назначена в файле /etc/fstab соответствующей точкой монтирования - в /mnt/cdrom. Нет, действовать надо вручную (если работа идёт в консольном режиме, конечно; в графической оболочке по умолчанию активировано автомонтирование CD и DVD).

    Монтировать привод будем без особых параметров - все, что могут в данном случае понадобиться, уже досконально перечислены в файле /etc/fstab. Можно даже не называть имя устройства, которое предназначено для монтирования в точку /mnt/cdrom: получив такую сокращённую директиву, система сама обратится к /etc/fstab и воспользуется соответствующей строчкой.
    Давайте ещё немного поиграем с опциями монтирования. Установим в флоппи-привод дискетку и сделаем её доступной системе. Допустим, что нам захочется потом поработать с ней в Windows, поэтому команду mount исполним с указанием устройства (/dev/fd0, то есть первый флоппи-привод), точки монтирования и типа файловой системы.

    Дальше скопируем на дискету только что созданный на диске С файл с кириллическим именем и содержимым; убедимся, что он объявился на новом месте, и отмонтируем дискету. А теперь остановимся на минуту и задумаемся: зачем нам нужен исполняемый текстовый файл?
    Монтирование внешних файловых систем осуществляется в Linux с правами, подразумевающими для размещённых на них файлов и чтение, и запись, и исполнение; владельцем при этом оказывается root - если в файле не прописана опция owner или user. С владельцем мы ещё разберёмся: понятно, что в общем случае допускать монтирование сторонних систем от имени суперпользователя - это, вообще говоря, опрометчиво. По-хорошему, для Windows-систем следует завести отдельную группу пользователей (например, winusers), куда и приписать всех тех, кому могут понадобиться Windows-разделы. Однако операции с пользователями и группами мы с вами освоим чуть позже; пока же давайте разберёмся хотя бы с правами.
    Среди прочих опций команды mount (man mount - настоятельно рекомендую!) есть и такая, как umask. С её помощью определяется маска прав, с которыми монтируются все файлы и каталоги системы. Что такое права, мы уже знаем; что же такое маска? Давайте по порядку.
    В данный момент нас интересуют права на чтение, запись и исполнение файлов (чтение содержимого, запись и перемещение внутрь каталога - соответственно). Таких групп - три: обратите внимание на расширенный (с опцией –l) листинг команды ls. Первая группа (rwx) обозначает наличие соответствующих прав для владельца файла (если буква стоит на своём месте, право имеется), вторая - для группы, и третья - для всех прочих пользователей компьютера. Таким образом, получаем набор из трёх групп по три бита информации: каждое право может только наличествовать либо отсутствовать (буква - прочерк, единица - ноль). Значит, вместо, скажем, rwx rw- r-- можно записать 111 110 100 (пробелы между группами я добавил для наглядности). Переведём эти группы чисел из двоичной системы в десятичную: 111 - это два во второй степени плюс два в первой плюс два в нулевой, то есть 4+2+1=7; 110 - соответственно, 6, и 100 - 4. Значит, вместо rwxrw-r--, то есть 111110100, сведения о правах на файл можно отобразить короче - как 764.
    Всё это замечательно, и всё это нам ещё пригодится, когда мы займёмся непосредственным управлением правами файлов. Но что же такое маска? А очень просто: это дополнение текущих (или желаемых) прав файла до 111111111 в двоичной системе. То есть, в нашем примере, для прав файла 111110100=764 маска (в которой на местах нулей должны стоять единицы, и наоборот) будет 000001011=013.
    Возвращаемся к параметрам команды mount. Опция umask задаёт маску прав файлов и каталогов в монтируемой файловой системе. Давайте смонтируем теперь флоппи-диск снова, но уже так, чтобы находящиеся на нём файлы не были исполняемыми, то есть чтобы бит x, последний в каждой тройке битов прав, обращался у них в ноль. В итоге мы собираемся получить права rw-rw-rw-, иначе 110110110. Значит, маска должна быть 001001001, то есть 111. Её и укажем.
    Получилось! Как видим, созданный нами файл отображается теперь не ярко-зелёным, как это принято в цветной консоли для исполняемых файлов, а нейтральным серым цветом. И команда ls -l подтверждает - да, бит x из прав файла пропал для всех трёх категорий пользователей. Обратите внимание: мы добились этого одними только опциями монтирования, никак не воздействуя непосредственно на сам файл! Вообще говоря, мы и не смогли бы на него воздействовать: Windows не знает подобного инструментария, и в её файловой системе невозможно присвоить файлам некие постоянные права. Они наличествуют у подмонтированных файлов только в то время, пока с ними оперирует Linux. И это можно поставить себе на службу - например, ограничивать число пользователей, которым из-под Linux будут доступны даже подмонтированные Windows-разделы, просто указав в опциях монтировки такую маску, которая запретит доступ к этим разделам всем, кроме членов некой определённой группы. Но этим, повторюсь, мы займёмся чуть погодя.
    Ну что же; оставим на время гостеприимную территорию Linux и вернёмся в землю, увереннее обетованную, - перезагрузимся в Windows, иными словами. Команда reboot, выполненная от имени root, подойдёт. Кстати: вы ведь не стали удалять прежние точки монтирования /dos-c и /dos-d, верно? (Вопрос о том, какой командой это сделать, я пока оставлю за кадром.) И очень правильно, поскольку файл /etc/fstab остался у нас прежним. Как (и как именно) его править, поговорим в следующий раз, кстати. И поскольку он остался, каким и был, система при очередном входе в Linux будет пытаться смонтировать Windows-разделы на указанные там места - и чрезвычайно удивится, не отыскав ожидаемых точек монтирования. Не надо её пока разочаровывать.

    Пока мы обсуждали тут с вами отвлечённые материи, система уже перезагрузилась, надеюсь; давайте убедимся, что трудолюбиво созданный нами в разделе FAT32 из-под Linux файл благополучно наличествует в корне директории C, как, собственно, и ожидалось.
    Вот, правда, с содержимым всё будет не так просто. Автоперевода кодировки koi8-r в cp1251 мы с вами не получим, указывая даже самые верные параметры монтирования. Текст в нашем файле, набиравшийся в Linux на хорошем литературном русском, из-под Windows читается патетически знакомым по множеству коряво кодированных электронных писем образом. То есть практически не читается. Без перекодировщика не обойтись.

    Ещё урок: давайте обратимся к дискете (помните, мы записывали на неё тот же самый файл?) и посмотрим, что у нас там? А там у нас - замечательное свидетельство невнимания, типичной и главной ошибки в Linux (да, наверное, и в компьютерном деле вообще). Помните, с какими опциями мы монтировали дискету? –t vfat. И всё. Ни codepage, ни iocharset указаны не были - вот почему наименование файла, для диска C нормально переведённое на лету из koi8-r, в котором мы набирали его в консоли, для дискеты переведено не было.

    Отсюда мораль: внимательным в Linux нужно быть всегда. Конечно, даже самый матёрый системщик - не Господь бог, и ошибаться может тоже, хотя и реже, чем обычные люди. Вот почему системщики предпочитают на всякий повторяющийся случай жизни писать скрипты (некий аналог .bat-файлов в старом добром MS-DOS) и делать это со всем тщанием, а потом уже со спокойной душой запускать их, не думая ни о чём. Но вот это уже точно - совсем другая история.


    Оконные менеджеры

    Лицо пингвина - это оконный менеджер. Но, к сожалению, в последнее время морда этого зверя стала заплывать и сильно жиреть не без помощи авторов KDE и прочих Gnome'ов. Ну скажите мне, почему приложения, начинающиеся на букву 'k', рядом с собой загружают штук сорок разных библиотек и жрут ресурсы, как тузик сосиску? Вообще, медленный оконный менеджер - главный тормоз всей системы. А к таким вещам я отношу всеми любимую КДЕ'шку. Конечно, это мое субъективное мнение, так как если у тебя процессор 1GHz и памяти 256 Mb, то проблема тормознутости системы тебя волновать не должна. Но, как известно, большая часть всего парка компов в России гораздо медленнее такого показателя, и надо задумываться об оптимизации и смене интерфейса.

    За всю свою недолгую жизнь я перепробовал огромное число всяких оконных менеджеров, от убогих (twm) и тормозных (kde) до таких, от стилей оформления которых просто челюсть отвисает (enlightenment). Но из всего того, что паслось у меня на винчестере, я остановился на BlackBox. Основная его черта - полный минимализм во всем. Это прямо какая-то противоположность Gnome'у, у которого по всей морде натыкано множество всяких массивных кнопочек и менюшек. Минимализм минимализму рознь. Хоть и все в этом оконном менеджере маленькое и скромненькое, но выглядит очень симпатично; наверное делал его человек, знакомый с дизайном. На первый взгляд все в нем жутко неудобно, нет никакой кнопочки а-ля "Пуск" и бэкграунда, но стоит немного поработать под ним, и ты многое поймешь:

    1) Кнопочка "Пуск" не нужна, гораздо удобнее запускать приложения из popup-меню на правой кнопке мышки (смотри /usr/local/share/blackbox/menu).

    2) Если не можешь работать без голых теток, натянутых в качестве обоев рабочего стола, то их можно поставить командой 'xloadimage -onroot /твои/обои.jpg'. Ее удобно воткнуть куда-нибудь в файл /etc/X11/xdm/Xsession, и обои будут натягиваться сами сразу при загрузке X-Windows.

    3) К вопросу об иконках на рабочем столе: если ты жить без них не можешь, то туда же в Xsession воткни запуск 'gmc'.

    Настройка Xsession

    Пихать команды в этот файл, в самое его начало не стоит, так как там все должно быть прописано на своих местах. Когда запускаются Иксы, то xdm/gdm/kdm спрашивает у тебя логин, пароль и оконный менеджер, под которым ты хочешь работать (это все зависит от версии *dm, т.к. он может вообще ничего не спрашивать или грузиться сразу Gnome/KDE). Потом он с твоими правами запускает этот самый Xsession и говорит ему название выбранного тобой оконного менеджера. Так вот, нам надо найти в этом файле строчку запуска выбранного оконного менеджера и перед ним прописать все то, что ты бы хотел запускать автоматически. У меня эта строчка выглядит так:

    case $0 in

    1)

    case $1 in

    blackbox)

    exec autorun -m&

    exec xrus&

    exec blackbox&

    exec xset -onroot /home/voy/backdrop.jpg&

    ;;

    kde)

    exec startkde

    ;;

    Закорючка '&' необходима для безусловного отправления запущенного процесса в бекграунд, хочет ли этого сам процесс или нет.

    Если у тебя стоит KDE, то еще помучай файлик kdmrc в той же директории, чтобы в менюшке оконного менеджера при загрузке появился BlackBox. Для этого найди строку SessionTypes=... и подрисуй туда все, что надо. Та же байда будет и с gdm, только его конфиг лежит в /etc/X11/gdm/gdmrc, а все доступные сессии в каталоге Sessions. Немного геморроя по вкусу, и все заработает, но сразу говорю: прежде чем лезть в потроха иксов, на всякий случай делай backup-копии всех тех файлов, в которые ты запустил свои шаловливые ручки.

    Консоль

    Иксы, конечно, вещь хорошая, но чистая консоль тоже вещь удобная - Ctrl-Alt-F1, и вот вам пирожок. Но консоль в том виде, в котором она предстанет, не очень радует глаз и другие части тела, поскольку очень уж у нее маленькое разрешение по умолчанию. Ты наверняка не знал, а может быть и не знала, что разрешение стандартной линуксовой консоли можно поставить вплоть до 1280х1024 с TrueColor. Хотя труколор нам, в общем-то, не нужен, но все же...

    Такая интересная вещь делается передачей ядру линукса при загрузке параметра vga=xxx, где ххх - некоторое _десятичное_ число, обозначающее разрешение консоли. Такую строчку удобно воткнуть в /etc/lilo.conf и перезаписать MBR '/sbin/lilo'. Теперь, собственно, будем разбираться с тем загадочным числом:

     

    640х480

    800х600

    1024х768

    1280х1024

    256

    769

    771

    773

    775

    15bit

    784

    787

    790

    793

    16bit

    785

    788

    791

    794

    24bit

    786

    789

    792

    795

    Из таблички, я думаю, ты сможешь выбрать нужное разрешение. Я, например, себе поставил 791 для простой работы и иногда ставлю 785 для просмотра DivX на весь экран в консоли (чтобы не включать software scaler, т.к. он у меня на моем компе тормозит).

    Работать в консоли стало приятнее. Но это еще не все, ведь консоль - огромное поле для всяческих извращений, которыми мы сейчас и займемся. В bash есть такая загадочная переменная - PS1. Нет, к плейстейшн она отношения никакого не имеет, зато при помощи нее можно ставить заголовок консоли. По умолчанию этот заголовок похож на нечто [voy@frozen /usr]. Полезной информации немного, не так ли? Давай посмотрим, как выглядит эта переменная на самом деле:

    'echo $PS1'

    и в результате получим что-то, похожее на

    [\u@\h \W]

    где \u - имя пользователя

    \h - твой хост

    \W - текущая директория

    \t - текущее время

    На самом деле закорючек с бекслешем существует гораздо больше, но они нам особенно не понадобятся. Для полного и бесповоротного удовлетворения наших потребностей в удобстве мы можем поставить PS1 таким образом, что консоль будет высвечивать время:

    export PS1='[$(date +%H:%M)][\u@\h: \W]

    В итоге получим такую вот красоту:

    [23:51][voy@frozen: /usr]

    Но это еще не все, в переменную PS1 можно добавить даже вывод небольших bash-скриптиков. А чтобы консоль принимала такой вид, нам потребуется воткнуть строку export куда-нибудь в файл .bashrc в твоей домашней директории.

    Звук

    Теперь пара слов о проблемах со звуком. Бескрылый зверь имеет свою оригинальную звуковую систему, которая строится таким же оригинальным образом:

    приложение ---> звуковой сервер ---> звуковуха (/dev/dsp)

    Звуковых серверов в последнее время расплодилось видимо-невидимо, но есть одно "но". В последних версиях ядра появилась возможность обходиться без посредника в роли soundserver'а, т.е. приложение может дуть звук прямо во встроенный в ядро микшер /dev/mixer или прямо на звуковуху /dev/dsp. Вся эта муть называется OSS, плагины для нее есть у всех мало-мальски нормальных мультимедиа-приложений.

    Представь: меньше посредников - меньше тормозов и попользованной памяти, так что убивай всякие там aRtsd и eSound'ы, можно обойтись и без них. Единственная гадость - надо перекомпилить ядро с поддержкой OSS -). Чаще всего он включен по умолчанию, но все может быть.

    Клавиатура

    Многие темные личности спрашивают: "Какой болван придумал в КДЕ переключать раскладку клавиатуры по Ctrl+Alt+K? И почему нельзя поставить стандартное и удобное положение Ctrl+Shift?". Отвечающие на этот вопрос частенько лихо прихлопывают ушами и вяло отмазываются - типа "такой большой, а додуматься не можешь".

    У меня на эту тему свое мнение. Поскольку я ненавистник KDE, то всем советую для начала сделать rm -rf `slocate kde`, а потом рассуждать :). КДЕ'шный свитчер имеет множество недостатков, и основной из них - я уже сказал - переключение раскладки надо производить через гланды, а не по-человечески. Во-вторых, он не всегда успевает переключать раскладку вовремя, т.е. если у тебя большая скорость набора, то при переключении раскладки ты будешь получать страшные слова по типу "[fкер" вместо "хакер". Чтобы этого избежать, приходится ждать, нервничать, а потом кричать и пинать родной компутер от раздражения.

    Но, оказывается, уже несколько лет существует нормальный переключатель раскладки, не обладающий всеми теми недостатками, которые были у его конкурента-предшественника. Эта вещь называется Xruskb и на момент написания статьи доросла до версии 1.15.3, и ею пользуются все нормальные люди. Ссылка на это чудо в конце статьи. Когда будешь ставить, убедись, что у тебя установлены библиотечки Lesstif, и запускай ./configure --with-motif. Если при компиляции вылезет куча ошибок, то попробуй ./configure --with-Xaw. Если ты просто запустишь xrus, то ничего он у тебя переключать не будет. В качестве параметра ему требуется передать файлик *.xmm, который отвечает за разные раскладки клавиатуры. Если ты не извращенец, то теме нужен jcuken-cyr.xmm. Посмотри по 'find /usr -name jcuken-cyr.xmm', куда он у тебя заинсталлился вместе с xrus, и действуй!

    Эта раскладка не совсем похожа на привычную мастдайную, поэтому я немного напрягся и подогнал ее под раскладку клавы "а-ля M$". Этот файлик отлеживается где-то у меня на сайте.

    Мышь

    А какие проблемы могут возникнуть с мышью? - спросишь ты. Вроде бы грызун, чего с него взять? Но делать удобнее хвостатого зверя нужно. Во-первых, некоторые оконные менеджеры не умеют ставить чувствительность мышки (к примеру - BlackBox и Wm), хотя они сами по себе очень даже ничего. Исправить это можно командой:

    xset m <ускорение> <порог>

    Где ускорение и порог - циферка от 1 до 20. Наиболее комфортно себя ощущаешь с ускорением 3 и порогом 4. Хотя тут уже дело вкуса: если тебе нравится перемещать указатель по экрану, три раза протащив мышку вдоль коврика и стола, то помочь я тебе ничем не могу. Хотя могу дать адрес, где помогут :).

    Во-вторых, стандартные курсорчики в X-Windows лично меня просто бесят: кошмарные часики при загрузке, палец, которым по ссылке попадаешь с третьего раза... Да и вообще сделаны они без души. В иксах курсоры хранятся достаточно интересным способом: все они воткнуты в pcf-шрифт /usr/X11R6/lib/X11/fonts/misc/cursor.pcf.gz. Обычно в него никто не лезет, но мы ведь не такие. Сначала распаковываем шрифт 'gzip -d cursor.pcf.gz', потом качаем программу pcf2bdf, ссылка на которую в конце статьи, конвертируем 'pcf2bdf cursor.pcf>cursor.bdf' и скармливаем все это decurs'у. Работать в этом редакторе курсоров очень просто, т.к. у тебя в распоряжении одна кисть и три цвета... Хотя если ты по природе ленив, то можешь взять мои курсорчики (опять же ссылочка внизу).

    Загрузка

    Сколько проходит времени, пока твой пингвин загружается? Две минуты? Три? А может четыре? Ты никогда не обращал внимание на ту гору мусора, которая загружается при старте ОС? Когда-нибудь пользовался всякими cron'ами, anacron'ами, http-серверами и файерволлами ipchains? Нет? Ну и зачем они тебе нужны, ведь они только засоряют оперативку, и из-за них ОС грузится гораздо дольше. Хватаем в зубы mc и ползем в директорию /etc/rcX.d (X - уровень запуска, прописанный в /etc/inittab). В директории rcX.d хранятся ссылки на все программы, загружаемые при старте пингвина, так что руби в капусту все лишнее (а лучше просто перемещай куда-нибудь на всякий случай). Можно более гуманным методом: команда ntsysv.

    На заоптимизированном винчестере (читай man hdparm) лично мой бескрылый зверь загружается за 54 секунды. Кхе-кхе, это побыстрее винды. Но просто банально бегающие строчки о загружаемых драйверах и программах - скучное зрелище. Надо забомбить какой-нибудь логотипчик. Для этого качаем программку linux_logo, компилим ее, ставим, а потом лезем в /etc/rc.sysinit и в начало его пишем такую строчку:

    clear; /bin/echo -e '\033[014;25r'; linux_logo -l -L 4

    Таким образом, при загрузке сверху у нас будет сиять прелестный пингвиненок, а снизу будут бежать какие-то строчки... Но теперь в конце загрузки логотипчик надо убрать. Лезем в /etc/rc.d/rc.local и в конец его пишем строчку:

    /bin/echo -e'\033[0;0r'

    clear

    Теперь загрузка стала поприятнее и побыстрее.

    Итог

    Кто теперь говорит, что линукс неудобен? Покажите на него пальцем и киньте в него чем-нибудь тяжелым, ибо нефиг говорить необъективно. Многие все равно будут продолжать кричать и поливать тукса всякими жидкостями, хотя сами его видели только на картинках в Х. У таких людей просто неприязнь ко всему новому. Они боятся натолкнуться на проблемы с компом, и с их точки зрения незачем напрягаться, устанавливая пингвин. Такие люди будут существовать всегда, что бы ни делали разработчики линуха для скорости и удобства работы со своим детищем. И всегда найдется тот голос в толпе, который крикнет: "А у него ноги кривые", лишь бы привести хоть какой-нибудь аргумент в пользу винды... И я надеюсь, что большинство читателей все-таки одумается, услышит зов Линуса Торвальдса и пойдет за ним в светлое безглючное будущее...


    13 мая 2003 года

    Нынешняя весна выдалась особо урожайной на дистрибутивы Linux отечественного производства. Казалось, что после выхода ASPLinux 7.3 Server Edition ожидать что-то еще было бы по меньшей мере наивно. Ан нет! Компания ASPLinux уже объявила о выходе нового дистрибутива ASPLinux 9 "Ural".

    ASPLinux 9 - первый из новой серии дистрибутивов, существенно отличающихся от ASPLinux 7.x. Большинство компонентов дистрибутива было значительно усовершенствовано в направлении упрощения использования при сохранении надежности и стабильности. В ASPLinux 9 значительно упрощен процесс настройки периферии, расширен список поддерживаемого оборудования, файловых систем, включено большое количество программного обеспечения.

    Дистрибутив основан на последнем стабильном ядре 2.4.20 и включает новейшие версии основных пакетов. Одна из особенностей нового дистрибутива - появление ряда графических утилит для настройки интернет-соединения, принтера, графической подсистемы и других служб. При разработке данной версии дистрибутива был сделан особый упор на удобство и функциональность ASPLinux как настольной операционной системы. В дистрибутив включен набор приложений, необходимых для офисной и домашней работы на компьютере.


    10.06.2003     Если честно, после знакомства с source-based дистрибутивами у меня не было особого желания иметь дело с продуктами означенных фирм. Как правило, это просто более новые версии приложений и библиотек, единственное отличие которых состоит в обновленной программе инсталляции, утилит настройки системы и сервисов. Поигравшись с ними неделю, оставляешь их валяться бесполезным грузом где-то на жестком диске. Есть, конечно, сдвиги, иногда в лучшую, иногда в худшую сторону, но в большинстве своем они предсказуемы. По этой же причине Linux свой мне редко приходится капитально переустанавливать, а за свежестью необходимых мне приложений я и так постоянно слежу. Но у source-based дистрибутивов есть один недостаток, очень критичный в наших условиях — необходим доступ к Интернету и желательно хороший. При его наличии систему можно собрать за пару дней, а при помощи системы портов даже без особого напряга. А так как запросы у меня большие, то приходится держать два Linux'a: один — экспериментальный, который доводится потихоньку до ума, и второй — рабочий, набитый нужным софтом. Да, что тут говорить, пользователь, купивший трехдисковый дистрибутив по базарной цене, получает в свои руки много (даже очень много) полезного бесплатного софта; о наличии некоторых утилит он, может быть, даже так никогда и не узнает. А с графической программой установки, не в пример source-based, может совладать практически любой, если он в общих чертах представляет, что надо делать.

    Так вот, рабочей лошадкой у меня был RedHat 7.3, от которого, правда, мало уже чего осталось, но именно так он назывался, когда я его устанавливал. И в один прекрасный день из-за моих экспериментов корневого раздела вдруг не стало. Все, в принципе, можно было спасти, ничто не пропадает бесследно, но что-то желания уже не было. И тут мне попался на глаза RedHat Linux 9 Shrike. Может быть, я бы его тоже пропустил, но мое внимание привлекли две вещи. Компания, вопреки своей привычке, изменила порядок нумерации (после 8.0 обычно идет 8.1, 8.2, 8.3 и т.д.), в чем явно чувствовался намек на качественный скачок. Но насторожило другое: номер именно 9, а 9.0, как обычно. Здесь пахнет уже какой-то половинчатостью — либо и впрямь нечто глобальное нас ждет впереди, в версии 10, или просто хотят догнать Mandrake по нумерации :-). В своем интервью менеджер Red Hat по операционным системам Мэтт Вильсон (Matt Wilson) объяснил происходящее стремлением компании разделить имеющуюся линейку дистрибутивов на две: медленно меняющуюся Red Hat Enterprise Linux (RHEL) для корпораций и открытую для всех новшеств Red Hat Linux (RHL) для энтузиастов. Переход от дробной системы нумерации к целочисленной выражает желание компании ускорить процесс принятия открытых технологий. Так что самое вкусное нас ждет, как мне кажется, все-таки впереди.

    Из установочных нововведений обращает на себя внимание изменение количества загрузочных образов, предназначенных для инсталляции с отличных от CD-ROM источников. Так, bootdisk.img содержит первичный загрузочный модуль, поддерживающий большинство способов, в том числе с жесткого диска, drvblock.img обеспечивает загрузку с SCSI- или CD-ROM устройств, drvnet.img содержит дополнительные сетевые драйвера, наконец, для владельцев ноутбуков предназначен pcmciadd.img — образ, позволяющий загрузится с PCMCIA-устройств. А еще появился образ boot.iso, который можно записать на CD-RW (давно пора). С помощью него можно запустить программу инсталляции, в том числе и с использованием ftp, nfs и других вариантов, не прибегая к уже отжившим свое дискетам.

    В начале установки есть возможность проверить все имеющиеся носители на предмет пригодности к дальнейшей работе. Советую, проверьте. В случае чего сохраните кучу времени и нервов. В моем случае было выдано сообщение о том, что все три диска можно смело выбрасывать. Что ж, при всех достоинствах моего CD-RW 40x12x48 BenQ 4012P-051, я еще ни одного Linux'a с него по-человечески не установил — все время приходилось перезаписывать на CD-RW болванку, и только потом он нормально мог их считывать при загрузке. Дальше запускается RedHat system installer anaconda, выбирается язык установки (уже давно программа умеет говорить по-русски), клавиатурная раскладка, мышка (инсталлятор наконец-то нормально определил мою A4tech со скроллом, и в дальнейшем доводкой заниматься не пришлось, что уже можно заносить в достоинства). Все как в большинстве дистрибутивов с графическим инсталлятором. Но теперь из списка программ, с помощью которых можно разбить диск, пропал fdisk. Что, в принципе, не смертельно — вряд ли эта утилита пользуется популярностью при установке RedHat, но угадывающаяся за этим тенденция отбить у пользователя желание/необходимость работать в консоли настораживает. DiskDruid позволяет изменить размеры имеющихся разделов (как написано, в стиле parted) в довольно наглядной форме, огорчает только, что пользоваться им можно лишь в момент установки (заметьте, у Микрософт нет утилиты, позволяющей так разбить диск при инсталляции). Но вот что уж точно вызвало удивление — при всем разнообразии файловых систем, на выбор предлагаются только fat, ext2 и еxt3 (еще swap, но это «сырой» раздел без ФС). Это следует расценивать либо как свидетельство упорного продвижения Red Hat’ом своей еxt3, либо как следствие того, что DiskDruid построен на parted, который пока работает на полную только с этими ФС. Других предположений не нашел, пока.

    Теперь разработчики буквально выпячивают возможность создания массивов RAID и томов LVM чуть не одним нажатием кнопки. При попытке смонтировать свой swap размером чуть меньше 150 Мб инсталлятор предупредил, мол, маловато будет, и предложил в замен использовать двойной размер ОЗУ — 512 Мб. В старой системе в обычном режиме работы с IceWM у меня редко когда до свопа доходило, работал в основном на одной оперативке. Пришлось вежливо отказать — как оказалось, я жестоко ошибся. Еще хочу добавить, что только в RedHat инсталлятор умеет правильно настроить мою систему X-Window так, что потом ничего не надо дорабатывать. Интересно, что теперь процесс установки разбит как бы на две части — пользователи создаются уже после перезагрузки системы. C чем это связано, официального ответа не нашел, может быть, с использованием списков контроля доступа (Access Control Lists, ACL), планирующимся в будущих версиях (хотя и в первых бетах это уже было включено), или какой либо другой подобной технологии, например RSBAC (Rule Set Based Access Control) — чтобы разделить тех, кому система доверяет, от остальных ненадежных особей. А может, просто так захотелось. Поживем — увидим. Больше об установке говорить ничего не буду, все описано в статье Романа Епишева. Загружаемся.

    Видать, Америка не в ладах с Европой, поэтому в Красных Шапочках вовсю рулит Gnome, а KDE даже по умолчанию к установке не предлагается. Спорить не буду, это на любителя. Поразило то, что если под CRUX эти менеджеры, будучи собраны из исходников, буквально летают (а никаких других в RH9 больше и нет, sawfish не в счет, WindowMaker'у помашем ручкой), то здесь пришлось наблюдать бег раненой черепахи по пересеченной местности с препятствиями. Может, под более мощной конфигурацией это не так заметно, но у меня каждый такт процессора на счету. Что ж, за все надо платить. Хотите легкость в установке — забудьте про оптимизацию. И что совсем интересно, все пакеты собраны под i386-архитектуру, при минимально рекомендуемом Pentium200. Не минула эта участь и «тяжелые» KDE 3.1, Gnome 2.2 и офисный пакет ОpenOffice.Org 1.02 (это я потихоньку начинаю перечислять, что там внутри). Хотелось бы взглянуть на того пользователя, который запустит все это на таком компьютере. Даже украинцы на своем blin'е до такого не додумались. О том, что всякие там технологии типа MMX не пустой звук, я убедился, когда попытался в свое время запустить видеоплейеры, собранные под такую архитектуру — раскадровка, да и только. Зато, скомпилировав их из исходников, не имел проблем до сегодняшнего дня.

    Разобрать, KDE перед тобой или Gnome, просто взглянув на только что запущенный рабочий стол, не получится. В RedHat используется интерфейс (тема рабочего стола) Bluecurve, обеспечивающий единый внешний вид для всех приложений. Не знаю, как кому, а мне разные оконные менеджеры нравятся именно оттого, что они РАЗНЫЕ. Раз зашла уже речь о видео, то спешу обрадовать: ни один из написанных под эту систему в комплект не входит (придется лезть в Интернет), так же как и поддержка формата mp3. Но я просто скопировал библиотеки из CRUX (/usr/local/lib/xmms), и все заработало. Порадовал видеопроигрыватель XINE, который не затронули перемены. Что-то ему не понравилось при запуске, после чего автоматически активизировалась программа конфигурации xine-check, после чего я уже мог смотреть видео. Более того, было найдено устройство /dev/dvd, и автоматически добавились менюшки для работы с DVD-дисками, которых я раннее и не видел. Интересно, что как я ни старался убрать при инсталляции некоторые программы вроде игр, штук двадцать все равно проникли на жесткий диск; то же касается системы автоматического обновления up2date (если канал хороший и к тому же шаровой, последняя очень даже ничего).

    Как и в предыдущей восьмой версии здесь используется вовсю юникод. Сейчас много мнений по этому поводу, спорить не буду; наверное, если вместо пяти различных кодировок предлагают пользоваться одной, скорее всего, стоит с этим согласиться. Проблемы здесь в том, что UTF-шрифты как-то менее распространены, а те, что есть, не обязательно содержат символы русского (украинского) языка. Но еще и не все приложения готовы на данный момент работать с такими шрифтами. По поводу настройки корректного отображения русского текста писал в своей статье Роман Епишев, некоторые другие варианты я встречал в Интернете. В принципе, эти советы актуальны и для девятой версии. Лично я, зайдя после инсталляции в консоль и набрав там date, увидел кракозяблики. А когда вернулся через некоторое время после настройки шрифтов в Х-Window, русский текст выводился уже нормально. В принципе, на домашнем компьютере можно так и оставить, но посмотрите, что творится в системных журналах. Заметьте, то, что вы там увидите, сильно зависит от приложения. Прочитать некоторые сообщения невозможно, так что нечего и говорить об специализированных утилитах вроде logsentry (или logcheck), предназначенных для обнаружения вторжения путем просмотра как раз лог-файлов (в дистрибутиве нет, но есть подобные). В данном случае можно остановиться на варианте, когда работать с русскими буквами можно, но все сообщения будут выводиться на английском (в AltLinux root-аккаунт сейчас так и работает). Для этого в файле /etc/sysconfig/i18n приводим соответствующие переменные к такому виду (остальное можно оставить как есть):

    Под графической оболочкой, в случае, если локализованный текст будет нечитаемым, достаточно позабавиться шрифтами, и все должно прийти в норму. При этом придется несколько раз перейти из KDE в Gnome и обратно — в приложениях, использующих, например, библиотеки Qt, шрифт может отображаться уже нормально, а в Gtk-приложениях все еще неправильно. Со шрифтами вообще сейчас небольшая путаница. Дело в том, что в настоящее время поддерживаются две подсистемы шрифтов, каждая с различными характеристиками:

    оригинальная core X font subsystem с пятнадцатилетним (и более) стажем. Шрифты, представленные этой подсистемой, не анти-aliased, обрабатываются X-сервером и имеют названия вроде misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1;

    более новая подсистема шрифта, известная как fontconfig, позволяющая прямой доступ приложений к файлам шрифта. Fontconfig часто используется наряду с библиотекой Xft (сейчас интегрирована в XFree86), которая позволяет приложениям выполнять fontconfig-шрифты со сглаживанием, при этом используются более понятные human-friendly имена типа Luxi Sans-10.

    Через некоторое время fontconfig/Xft полностью заменит имеющуюся подсистему шрифтов. Сейчас же только KDE с Gnomе используют fontconfig и Xft, остальным же приложениям они пока недоступны, только два из них пользуются своими шрифтами/методами их получения — OpenOffice.org (собственный метод получения шрифтов) и Mozilla (использует fontconfig, но не от GTK 2). Надеюсь, когда все устаканится, с UTF-шрифтами будет работать приятнее.

    После выхода восьмой версии системы в Интернете было много вопросов по поводу опций монтирования Windows-разделов так, чтобы можно было видеть русские буквы в названии файлов. Для эксперимента смонтировал два таких раздела с разными опциями (благо, все не могу никак собраться и удалить их совсем):

    Под Х-Window можно было видеть русские имена в обоих случаях, правда, для каждого пришлось подбирать шрифт. В чистой консоли в разделе, смонтированном под KOI8-R, вместо имен знаки вопросов (понятно, консоль-то UTF’ная, с соответствующим шрифтом), зато в UTF-разделе с именами все в порядке. Если используете по старинке KOI8-R консоль, то скорее всего все будет с точностью наоборот. Интересная ситуация произошла с записью в эти разделы файлов с русскими именами (с английскими все в порядке). В KOI8-раздел все записалось и потом под Windows прочиталось нормально, хотя бывало, что вместо имени под Windows были видны нечитаемые — системой, выдавалась ошибка — кракозябрики. Все разрешилось после установки шрифтов. А вот в UTF записать файл с таким именем вообще не удалось. Делайте выводы. Вообще, сдается мне, скоро в конференциях появятся вопросы по русификации RH9 (перед отправкой заглянул на форум сайта LinuxBegin, уже появились). Проблема решается всего-то лишь установкой локальных параметров в Центре Управления и подбором шрифтов. Просмотреть имеющиеся шрифты можно двумя способами: в konqueror, зайдя в папку со шрифтами или (лучше всего) набрав fonts:/// в строке URL Nautilus'a, при установленном fontilus'e) — тогда будут видны все имеющиеся, а при помощи контекстного меню можно понравившийся открыть в Gnome Font Viewer.

    И наконец настал тот час, когда в команде разработки XFree86 подумали о пользователях, которым необходимо набирать текст на нескольких языках. Теперь в версии 4.3.0 при необходимости без лишних мучений можно прописать сразу четыре клавиатурные раскладки. Для этого в секции InputDevice, которая описывает клавиатуру, в строке Option XkbLayout через запятую перечисляем все языки, с которыми вы хотите работать; при этом прописанный в первой позиции будет встречать вас при регистрации в системе, и поэтому желательно написать здесь us, чтобы лишний раз не переключаться. А для того чтобы иметь возможность использовать вариант для русской и украинской раскладки не по умолчанию (basic), в опции XkbVariant через запятую указываем нужный вариант для каждой позиции, соответствующей своему XkbLayout, при этом basic-позиции отмечаем просто пустышками. Пример для переключения в английскую-русскую(winkeys)-украинскую(winkeys) по Alt+Shift:

    С настройкой переключателя вышла небольшая заминка. Если под root все работало как надо, то под обычным пользователем что-то не получалось. Сперва я было подумал (дикая мысль), что необходимы соответствующие права доступа. Облазил все возможные файлы — оказалось, все ОК. Загвоздка была вот в чем: был запущен клавиатурный переключатель от KDE — kxkb. Необходимо его отключить в Центре Управления и перезапустить оконный менеджер. После этого все стало на свои места. В принципе, можно использовать и штатные переключатели, которые есть в Gnome и KDE, но это приводит к запуску еще одного приложения, что хоть немного, но все же тянет ресурсы, а под другими оконными менеджерами вообще приводит к загрузке дополнительных библиотек (простая на первый взгляд по функциональности утилита kxkb тянет за собой более 64 Мб их).

    В glibc 2.3 (GNU libc), которая используется в девятой версии RedHat, добавлена поддержка Native POSIX Thread Library (NPTL). Эта библиотека обеспечивает некоторые преимущества для i686- или лучших процессоров, а также для бинарной совместимости со старым LinuxThreads, которое не всегда POSIX. Хотелось бы сказать «наконец-то», но это привело к проблемам при работе с 3D-графикой на видеокартах от NVidia и ATI, а также к несовместимости с некоторыми версиями Java от Sun Microsystems. Но если 3D для вас важнее, то, добавив параметр nosysinfo в файле загрузчика или в командной строке, можно загрузиться и без поддержки NPTL.

    Теперь немного о приложениях. Компания RedHat, в отличие от Mandrake, видит применение своим продуктам в первую очередь на сервере. Для настройки всевозможных сервисов (в том числе видеоподсистемы и звука), в комплекте имеются утилиты под X-Window; большинство из них можно найти, набрав redhat в окне терминала и нажав табуляцию. При этом с их настройкой и запуском может справиться любой прочитавший что-то вроде «Linux за 24 часа», лишь бы он только представлял себе, чего же в результате он хочет добиться. Это с одной стороны радует, но с другой… Утилиты не могут все равно охватить всех параметров, и для тонкой настройки придется все равно лезть в конфигурационные файлы. И за безопасность такого сервера я бы поручаться не стал. Интересно, что полностью пропали консольные утилиты настройки вроде kbdconfig, mouseconfig и некоторые другие, что может свидетельствовать только о вымирании консоли как класса. Хотя с другой стороны, что на «высокопроизводительном» (слово из релиза) сервере делать KDE, да еще со всеми прибамбасами? Можно и что попроще поставить, раз уж хочется X. А вот в небольшом (среднем) офисе, где системный администратор, как правило, — должность по совместительству, применение данного дистрибутива позволит настроить все сервисы (mail, Web, ftp, file) в короткие строки и без вникания в тонкости настроек.

    Доступ в Интернет можно настроить при помощи двух графических утилит: фирменной internet-druid и kppp от производителей KDE. К слову, вместо wu-ftpd, правившего долгое время, теперь здесь «за основного» (и единственного) vsftpd (Very Secure File Transfer Protocol Daemon). Появилась утилита tsclient, GUI-клиент для VNS и Windows Terminal Server. Для пользователя же, чтобы скрасить пребывание за компьютером, припасено великое (именно великое) множество различных тем рабочего стола, комплектов пиктограмм, декораций окон, стилей оформления, фоновых рисунков и особенно много скринсейверов. Так, что свое рабочее окружение можно настроить действительно на любой вкус.

    Дистрибутив, если честно, вызвал двоякое мнение. Но то, что это все-таки шаг вперед, несомненно. Если не считать отсутствия средств просмотра видео и работы с mp3, которые можно взять с Интернета, то девятка вполне подходит для домашнего использования. Хотя, судя по описаниям, для новичков при возможности выбора между Mandrake и RedHat я бы посоветовал скорее остановится на первом — работать руками при настройке придется меньше. Но не следует забывать и о продуктах российских дистрибьютеров AltLinux и ASPLinux, своих тоже поддерживать надо. Последняя уже порадовала нас 15 мая новой версией ASPLinux 9 «Урал». Имеющей, кстати, необходимые компоненты для создания сервера терминального доступа и загрузки с него бездисковых рабочих станций, использование которого приведет к удешевлению вычислительного комплекса в целом. К тому же ASPLinux на 100% совместим с RedHat, и потому пакеты, взятые с сайта этой компании, как правило, устанавливаются под ним без проблем.


    29.06.2003  Запаска для Linuxа

    У большинства CD-ROM'ов современных дистрибутивов Linux есть режим восстановления системы rescue. Но иногда полезно иметь Linux на дискете. Попробуем-ка его туда загнать.

    Создание ядра

    Для нашего Linux’а надо сделать специальное ядро. Оно должно быть компактнее стандартного и использовать минимально возможное количество модулей. Наш дистрибутив будет основан на двух дискетах. На первой будет находиться ядро, на второй — корневая файловая система. Кроме того, можно заготовить еще несколько дискет с дополнительными файлами.

    Ядро Linux находится в /usr/src/linux*. Обычно там лежит одна папка с исходными кодами ядра вашего дистрибутива и симлинк linux на нее. Так что для перекомпиляции ядра нам потребуется перейти в /usr/src/linux. Не забудьте, все это надо выполнять из-под root'а!

    Полезно настроить новое ядро на оптимальную для вас конфигурацию и поставить его вместо основного. Этим вы можете добиться прироста производительности. Если вы уже настраивали ядро, то введите make mrproper. Эта команда удалит «мусор», оставшийся после предыдущих компиляций. Теперь надо собственно сконфигурировать ядро. Для этого существуют такие комманды: make config — страшная вещь, конфигурирует ядро из консоли без возможности вернуться к предыдущим вопросам; make menuconfig — удобная консольная конфигурация, основанная на системах меню; и make xconfig — самая продвинутая, запускает конфигурацию в графическом режиме. Еще есть make oldconfig, эта команда устанавливает значения по умолчанию.

    В режиме конфигурации компоненты ядра можно (Y) включать в ядро, (M) компилировать как модуль (модули хранятся отдельно от ядра и подключаются при необходимости) и (N) вообще не компилировать.

    Что же выбрать среди сотен опций? Рассмотрим по группам.

    Code maturity level options — для использования нестабильных драйверов. Скорее всего, не понадобится;

    Loadable module support — тут можно разрешить или запретить использование модулей. Нам они пригодятся;

    Processor type and features — тут проживают опции процессора. По умолчанию выбран универсальный вариант, но можно выбрать свой тип процессора для оптимизации. Не рекомендую для универсальной rescue-дискеты;

    General setup — основные свойства ядра. Поддержка сети (зачем она на дискете?), PCI, EISA, MCA, PCMCIA (последние три, скорее всего, тоже не пригодятся);

    Binary emulation of other systems — поддержка бинарников от UnixWare, Solaris и т.п. Ни Винды, ни ДОСа тут нет, а другие программы нам в процессе восстановления не понадобятся. Отключаем;

    Memory Technology Devices (MTD) — устройства типа Flash-карт. Отключаем;

    Parallel port support — поддержка ядром параллельных портов. Желательно оставить;

    Plug and Play configuration — поддержка глюкотыка;

    Block devices — тут находятся опции поддержки разных блочных устройств (дисководов, HDD). Редкие устройства (XT hard disk, Parallel port IDE device support, массивы Compaq) можно удалить. Loopback пригодится как модуль, а вот RAM disk support обязательно должен быть встроен в ядро, равно как и initrd support;

    Multi-device support (RAID and LVM) — если у вас нет RAID-контроллеров, можете смело все выключать;

    Networking options — наша дискета не будет работать с сетью, так что тут нет ничего для нас полезного. А вообще, этот пункт для обычного ядра надо конфигурировать осторожно, чтобы не удалить чего-то нужного;

    Telephony support — поддержка устройств IP-телефонии. Ну, с дискеты звонить можно только в рельсу :-). Отключаем;

    ATA/IDE/MFM/RLL support — тут настраиваются соответствующе контроллеры. Можно удалить (при ненадобности) модули RAID'ов в конце;

    SCSI support — если у вас нет SCSI-винчестера, можно смело отключать;

    Fusion MPT device support — можете смело убирать;

    IEEE 1394 (FireWire) support — FireWire нам не пригодится. Отключаем;

    I2O — поддержка ввода/вывода без участия процессора. Нужна для хитрых устройств, которые не будут использоваться при спасении. Отключаем;

    Network device support — на нашей дискете не будет сети, но если вы вдруг захотите подключиться к Интернету, используя набор дискет, то изучите этот пункт и опции сетей, отключая по возможности ненужные компоненты (сетевые карты и т.п.);

    ARCnet devices, Appletalk devices, Ethernet, Wireless LAN, Token Ring devices, Wan interfaces, ATM drivers, Amateur Radio support, IrDA (infrared) support, ISDN subsystem, Old CD-ROM drives — отключаем. Для нас здесь нет ничего интересного;

    Input core support — полезно только при наличии USB-клавиатуры или мыши;

    Character devices — здесь обитают терминалы, последовательные порты, мыши, джойстики, видеокарты и другие символьные устройства. Тут можно убрать I2C support, Hardware sensors support, Joysticks, Watchdog Cards, Ftape, PCMCIA. Поддержку мышей тоже можно убрать;

    Multimedia devices, Crypto Hardware support — можно убрать;

    File systems — тут много лишнего. Главное — не перестараться. Можно убрать поддержку квот, автомаунтера. Из файловых систем оставьте ReiserFS (модуль), ext3 (модуль), DOS FAT, MSDOS, VFAT (желательно в ядро), ISO9660 и Joliet (можно в модули), NTFS и/или OS/2 HPFS (модуль, если нужно). В ядро поселите /proc file system support, /dev/pts file system support, Second extended fs support (обязательно!). Network File Systems можно (и нужно) выключить. В Partition Types выберите те, которые вы используете (Advanced partition selection, PC BIOS, Windows Logical Disk Manager (Dynamic Disk) support). В Native Language Support в ядро отправьте Codepage 437, 866, NLS ISO 8859-1, 8859-2, 8859-5, NLS KOI8-R, KOI8-U. Остальные можно убрать;

    Console drivers — несложно догадаться, что тут обитают консольные драйверы. Можно оставить Framebuffer, но уберите оттуда лишние видеокарты (вам должна подойти VESA VGA, остальные можно убрать, если только вы не обнаружили среди них своей).

    Sound — поддержка звуковых карт. В процессе оживления системы иногда хочется покрутить эмпешки. Оставьте тут свою звуковую карту, другие желательно убрать;

    USB support — если у вас есть какое-то очень нужное USB-устройство — оставьте. Но если из таковых у вас только сканер (или принтер), тогда можете убирать (разве что вы очень хотите попечатать);

    Bluetooth support — уверен, что «синие зубы» вам не пригодятся. Если у вас другое мнение — вперед;

    Kernel hacking — тут может пригодится опция Prefer small over fasr code. Ну, и всегда полезная волшебная кнопка sysrq.

    Все. Ядро успешно настроено. Далее выполняем команды make dep и make clean. Теперь откройте файл Makefile и исправьте строчку, начинающуюся с EXTRAVERSION=. Напишите там, к примеру, mk-rescue-1. Сохраните и закройте файл.

    Начинаем компиляцию. Введите make bzImage. После завершения выполните make modules, если вы использовали модули. После нее команда make modules_install перепишет модули в /lib/modules/KERNELVERSION/kernel/drivers. Если после компиляции ядра вы получили сообщение, что оно не влезет на дискету — посмотрите его размер. Если в пределах 1.7 Мб, то ядро можно засунуть на хитро отформатированную дискету. Если около 1 Мб, можете скомпилировать в ядро некоторые модули для освобождения места на второй дискете. Скопируйте готовое ядро в рабочую папку (cp /usr/src/linux/arch/i386/boot/bzImage /tmp/linux-floppy/vmlinuz)

    Файловая система

    Для нашего дистрибутива (мощно звучит :-)) нужна еще одна вещь — файловая система, которая будет хранится на второй дискете. Давайте теперь займемся ею.

    Какие же файлы необходимы для работы Linux’а? Рассмотрим минимальный набор.

    Файловая система должна содержать каталоги /dev, /proc, /bin, /etc, /lib, /usr и /tmp. Необходимы жизненно важные утилиты: sh, ls, cp, mv и т.д. Необходимы конфигурационные файлы rc, inttab, fstab, и т.д., а также нужные runtime-библиотеки. Но от такой спасательной дискеты будет мало пользы. Наша дискета должна уметь проводить восстановительные работы, выполнять резервное копирование, играть mp3-файлы :-) и много чего еще. Давайте приступим.

    Создать ФС можно в оперативной памяти и в файле (loopback device). Что удобнее? Я люблю работать с RAM-дисками. Да и loopback есть не во всех дистрибутивах. Так что я предлагаю использовать /dev/ramX. Для начала очистим устройство...

    Теперь создадим на нем ФС etx2:

    И смонтируем его:

    Перейдите в /mnt/floppy. Пришло время заселять нашу дискету! Но для начала создадим стандартный набор директорий:

    Заселение /dev

    Я думаю, что проще всего сделать это, скопировав необходимые файлы из аналогичной директории вашего Linux’а. Не забудте использовать ключ -R:

    И не забудьте также скопировать то, на что ссылаются ссылки (извините за каламбур); к примеру, в моей системе /dev/fd0 — симлинк на /dev/floppy/0. Если вы хотите создать устройство вручную, используйте команду mknod. ls -l — поможет узнать major- и minor-номера ваших устройств, они же все есть в /usr/src/linux/Documentation/devices.txt.

    Заселение /etc

    Это достаточно сложная директория, которая требует некоторого знания shell-скриптов. Вам точно пригодятся файлы fstab, passwd, shadow, group, rc, inittab. В RedHat-производных есть каталог /etc/rc.d. Его содержимое может быть полезно при восстановлении, но он слишком громоздок для проведения загрузки из него. Необходим и файт termcap, но его можно (и нужно) урезать, удалив лишнее содержимое (если будут проблемы — пишите, пришлю). Проверьте passwd. Удалите лишние записи, проверьте корректность указаний оболочек и домашних директорий. Запись root должна выглядеть приблизительно так:

    Минимальный inittab должен выглядеть так:

    Посмотрите ls -ltru. В самом низу будут наиболее часто используемые файлы. Имеет смысл скопировать и их.

    Создайте файл pam.conf с таким содержимым:

    Скопируйте свой файл nsswitch.conf.

    Заселение /bin и /sbin.

    В /bin должны быть ls, mv, cat, dd, sh, chmod, mkdir, login, rm, cp, rmdir, ln, grep, kill, ps, tar, gunzip, mount, umount. /sbin должен содержать fsck*, halt, hdparam, init, insmod, lilo, mingetty, mkfs*, modprobe, poweroff, shutdown, swapon, swapoff, rmmod, depmod. Очень полезен может оказаться пакет Busybox.В нем содержится солидный набор программ «в одном флаконе».

    Заселение /lib.

    Чтобы узнать, какие библиотеки вам нужны, просмотрите результат работы ldd <имя_бинарника>. Эти библиотеки и надо скопировать. Кроме того, вам нужен ld-linux.so и /lib/security/pam_permit.so. Если вы создали модульное ядро, скопируйте необходимые модули в /mnt/floppy/lib/modules. Модули нашего ядра на локальной системе будут в каталоге с окончанием mk-rescue-1 (к примеру, у меня — 2.4.8-mk-rescue-1).

    Финал

    Эти команды завершат создание ФС:

    Пора записать ФС в файл:

    Запись дистрибутива

    Ну вот и все. Ядро готово, ФС тоже. Как же теперь все это записать на дискеты? Для начала придется немного поработать руками. Создайте файл bdlilo.conf с таким содержимым:

    Теперь измерьте размер ядра в блоках (ln -s vmlinuz) и добавьте где-то 50. Теперь вставьте дискету #1 и введите:

    Теперь вставьте вторую дискету:

    Все! Победа! Осталась малость — чтобы все это заработало :-). Скорее всего, этого не произойдет :-), так как в этом процессе слишком много мест, где можно проколоться. Но не отчаивайтесь! Перечитайте статью, изучите Bootdisk-HOWTO, в конце концов, напишите мне. Знайте: если у меня получилось, у вас тоже получится. И когда у вас начнутся проблемы с ОС (не дай Бог!), поставьте эту дискету, разыщите сборник эмпешек — и вперед :-)! А позже я, может быть, расскажу вам, как поселить Linux на CD, не обделив вниманием графический интерфейс.


    Все это время думал, нельзя ли как то автоматизировать процесс инсталляции, чтобы раз — и готово. Но для этого ведь должна уже быть какая-то поддержка в самом дистрибутиве т.е. придется как минимум его разделать.

    Если с первым файлом — /root/install.log — все ясно с первого взгляда, в нем содержится список всех установленных пакетов (как ни старался убрать лишнее, все равно оказалось много хлама) и отчет об ошибках, возникших при установке некоторых из них. Приблизительно в таком виде:

    И так про все 887 пакетов, которые установлены. То есть, после инсталляции можно спокойно просмотреть, что вам там навалили, и после этого уже не удивляться, куда свободное место делось.

    А вот второй файл — /root/anaconda-ks.cfg — меня удивил и озадачил одновременно. Посмотрите сами, что там нашлось (не все, конечно):

    Оказалось, что в этом файле расписаны ответы на все вопросы, на которые пришлось отвечать во время инсталляции Красной Шапки. Как видите, здесь можно найти все: системные языки, клавиатурную раскладку, конфигурации мыши и графической подсистемы, введенный пароль root'a… Дополнительно закомментированы параметры разбивки жесткого диска; забегая немного вперед, скажу, что это сделано специально — при разбивке диска система остановится и позволит это сделать вручную. И напоследок, указаны сначала все группы приложений, которые можно установить, а затем и устанавливаемые пакеты, не входящие в выбранные группы или удаленные из них. Как видите, чтобы добавить нужный пакет, достаточно прописать его в файл без номера версии, а убрать можно, добавив знак минус (–) перед пакетом (список всех пакетов можно найти в /RedHat/base/comps.xml). Наличие такого файла сразу наводит на некоторые подозрения, состоятельность которых я и пошел проверять на сайт компании RedHat. И действительно среди прочих документов нашлись и искомые: RedHat Linux KickStart HOWTO, датированный аж 1999 годом (сколько раз я проходил мимо него!) и RedHat Customization Guide. После прочтения которых, мягко говоря, я очень расстроился. Оказалось, что в Шапках, начиная с пятой версии, имеется система, позволяющая быстро установить большое количество идентичных Linux'ов на основании заранее определенной конфигурации, занесенной в файл. При этом, кроме основных предопределенных действий, есть возможность выполнить любое количество дополнительных пользовательских команд (например, соединиться с Интернетом, скачать программу и установить ее или добавить запись в конфигурационный файл). И вообще, как вы поняли, при частой переустановке или необходимости устанавливать Linux на несколько компьютеров с одинаковой конфигурацией это, как говорится, «то, что доктор прописал», — лучшего и придумать нельзя. Как же пользоваться этим файлом? А очень просто. Сначала переименовываем файл anaconda-ks.cfg в ks.cfg (имя, разыскиваемое по умолчанию) и записываем его на дискету. Теперь необходимо загрузиться, как обычно, и при появлении приглашения ввести:

    После этого останется только диски менять по запросу, остальное система настроит сама, в том числе, если раскомментированы параметры настройки жесткого диска, и диск автоматически разобьет. Можно при этом заранее заготовить несколько конфигурационных файлов с разными именами на все случаи жизни — их необязательно размещать на дискете, но тогда придется указывать полный путь к нужному файлу и используемое имя.

    Интересно, что если просто ввести в строке приглашения:

    то система будет пытаться произвести инсталляцию при помощи NFS, используя BOOTP и DHCP. Т.е. попросту говоря, при постоянной необходимости множественной установки RedHat'ов можно не заготавливать кучи CD-дисков, а создать в сети сервер NFS (Network File System) и брать все установочные файлы оттуда, находясь вообще неизвестно где; диски при этом не придется менять. Круто.

    Но это еще не все. Допустим, необходимо установить дистрибутив на совсем другой компьютер(ы); возиться долго не хочется, а править файл вручную влом. И не надо — в RedHat'e есть утилита, которая в удобной графической форме позволяет выставить все нужные параметры и затем создать нужный файл. Вызывается она очень просто: в командной строке набираем redhat-config-kickstart, и вслед за этим появляется окно. Как видите, при помощи этой утилиты можно указать все параметры, которые могут встретиться при инсталляции, вплоть до задания размеров разделов и файловых систем на них (в том числе и RAID-массивов), настройки системы Х-Window и выбора пакетов для установки. А в конце можно приписать команды, которые система должна выполнить до и после установки. После выбора всех пунктов настройки сохраняются в указанный файл.

    Теперь восстановление системы (данные, я надеюсь, вы и так бэкапите) после сбоев может проводить двумя способами. Первый — архивация всей системы, что требует наличия лишнего свободного места на жестком диске и кучи болванок, а к тому же и мощного процессора, иначе процедура может заметно затянуться. Второй способ — восстановление при помощи kickstart'a. При этом, учитывая, что все вновь устанавливаемые программы находятся в /usr/local, а настройки пользователя — в /home (которые желательно размещать на отдельном разделе жесткого диска), их бэкапим как обычно, а чтобы не настраивать заново всю систему, также сохраняем и каталог /etc. Остальное переустанавливаем при помощи kickstart'a, а затем поверх распаковываем архивы с /usr/local, /home и /etc — если, конечно, их затронули разрушения. После этого система будет работать как ни в чем не бывало. Для форматирования достаточно будет указать только корневой каталог (если только не повреждены другие), а остальные разделы примонтируются автоматически, т.к. данные уже имеются в старом /etc/fstab. При этом архивы хорошо бы заранее положить в определенное место (а создавать их можно вообще автоматически, при помощи cron, — предположим, раз в неделю), а в конец kickstart-файла добавить скриптик, реализующий их последующую распаковку. А чтобы файл держать всегда в боевой готовности, чтобы не приходилось потом убирать мусор, желательно при каждом удалении ненужной программы, входящей в комплект дистрибутива, добавлять туда соответствующую строчку. Эту работу можно опять же возложить на плечи скрипта (как я уже не раз говорил, ручная работа — это не для Unix). Вот пример такого скрипта:

    После этого делаем его исполняемым (chmod +x), обзываем попонятнее — rpm_del (для новичков вообще рекомендую наделать себе алиасов с удобоваримыми именами, по образцу FreeBSD, т.е. rpm_del = rpm -e, rpm_install = rpm -Uvh и т.д.) и кладем в каталог где его найдет переменная $PATH (/usr/local/bin, например). Теперь из-под root'a вводим:

    После выполнения скрипта лишние пакеты исчезнут, и информация об этом занесется в файл. Теперь, переустановив систему, не придется удалять их повторно. Можно сделать аналогичный скрипт и на установку, но я обычно только удаляю балласт, пришедший с системой, а если что-то срочно понадобилось, то, как правило, беру из Интернета версию посвежей.

    Вот и все, что я хотел рассказать. Как видите, инструмент довольно удобный, раскрывает широкие возможности, а главное, экономит драгоценное время, которого почему-то вечно не хватает.


    Систематика пингвинов

    Чтобы легче было выбирать, я поделил все дистрибутивы на три группы (кроме тех, о которых стоит рассказать отдельно). В первую вошли довольно популярные сейчас Live CD, позволяющие потихоньку начать изучать систему, не внося деструктивных изменений в разделы жесткого диска. Такие дистрибутивы в большинстве своем можно использовать для спасательных работ и администрирования, ведь по сути они представляют собой законченную ОС. Причем, в эту категорию входят не монстры по 700 Мб, которые через модем придется тянуть целую вечность, а вполне доступные по габаритам дистрибутивы. Во вторую группу вошли дистрибутивы размером с дискету — оно и понятно, не у всех выделенка или доступ к быстрому каналу, а пингвина попробовать ох как хочется! И третья группа представлена дистрибутивами, назовем так, специального назначения. Обидно, знаете, иногда читать письма, в которых рассказывается о попытках установить RedHat 9 на компьютер далеко не первой молодости для использования его всего лишь в качестве роутера.

    Часть первая

    Slackware-Live CD  как следует из названия, базируется на популярном дистрибутиве Патрика Волькердинга (Patrick Volkerding) Slackware версии 9, который всегда отличался тщательностью, эффективностью и простотой (устройства, а не настройки). Наверное, поэтому и был выбран за основу. Образ диска объемом 185 Мб позволяет записать его на 8-сантиметровую болванку и затем использовать систему на любом подвернувшемся компьютере. Несмотря на относительно небольшой объем, дистрибутив получился довольно полноценным, и все потому, что в качестве оконного менеджера использован KDE 3.1.2 с некоторым присущими этой среде приложениями вроде KDE games, KOffice 1.2.1 (KWord, KSpread, KPresenter, KChart, Kontour и KFormula), Quanta и другими (правда, не всеми — нет, например, обучающих). А что еще надо пользователю? В КДЕ есть все что надо, от удобного файлового менеджера до программ для проигрывания аудио и установления соединения с Интернетом. Можно, конечно, спорить о том, что на свете всех милее: консоль или графические утилиты, но пользователь, ранее имевший дело исключительно с мышью, должен сам дозреть до правильного решения. Дополнительно для прослушивания музыки, кроме KDE'шного Noatun, имеется стандартный консольный набор для прослушивания MP3 (mpg123) и Ogg Vorbis. Видео можно просмотреть в Mplayer (в комплекте с MPEG4-совместимым свободным видеокодеком XVID), а чтобы содрать треки и записать их затем на болванку, помимо консольных утилит (cdparanoia, cdrecord, mkisoft и пр.), подойдет и имеющийся в комплекте фронт-энд к ним K3B. Помимо Konqueror, являющимся и web-браузером, и файловым менеджером одновременно, в комплект включены Netscape 7.02 с links, а в качестве дополнительного файл-менеджера выступает мой любимый Midnight Commander 4.6. Сердцем системы является ядро версии 2.4.20. Эх, «не честь алмазов в каменных пещерах», как поет Индийский гость.

    Загрузка проходит, как и в большинстве подобных дистрибутивов. Система сама определяет имеющиеся устройства, монтирует все найденные дисковые разделы в режиме чтение-запись и даже пытается сама сконфигурировать сеть посредством dhcp-запроса. После чего появляется приглашение для ввода логина и пароля. В качестве логина вводим root, пароль пустой, т.е. жмем Enter. Теперь можно работать в обычной консоли (точнее, в шести консолях), используя mc, links, pine и mplayer. Если же хочется увидеть окна, то набираем win, и через некоторое время пред нами предстает во всей своей красе KDE. Причем сразу же можно указать требуемое разрешение и желательную частоту развертки — win 1024768 85. Надо сказать, что сборка дистрибутива под i686-архитектуру хорошо отразилась на быстродействии этой среды, не в пример тому же RedHat'у. Если Blin ориентирован на подготовленного пользователя, то Slackware-Live CD придется в самый раз новичку в этой системе. Особых проблем с настройкой и освоением быть не должно, если немного понимаете в английском (хотя и можно настроить раскладку для набора русского текста, но локаль и прочие атрибуты в угоду легковесности напрочь отсутствуют). В Slackware Live CD, как и в некоторых описанных ниже дистрибутивах, используется файловая система cramfs (compressed RAM file system), поддержка которой уже давно имеется в каноническом ядре Linux, но вот с практическим применением ее я встретился только в подобных системах. Некоторые подробности о ней можно найти в документации ядра /usr/src/linux/Documentation/filesystems/cramfs.txt, там же описаны и некоторые особенности, в том числе ограничения, присущие данной файловой системе — например, максимальный размер файла — 16 Mб, файловой системы — 256 Mб, использовать можно только 8-бит gid, что напрямую связано с безопасностью, не сохраняется время создания файла timestamps и прочие, но зато cramfs на лету сжимает файлы и каталоги при помощи zlib, при этом позволяя случайный доступ к данным. Но в данном случае это все не имеет большого значения. Главное — создатель дистрибутива подробно описывает технологию и предоставляет готовые скрипты, позволяющие собрать свой собственный Live CD. При этом необходимо лишь следовать инструкциям, описанным в LIVECD_CREATE_HOWTO, который можно найти как на сайте, так и в дистрибутиве:

    • в связи с ограничением cramfs, размер прообраза будущей системы не должен превышать 500 Мб (при сжатии получится как раз 250 Мб);

    • распакуйте скрипт slacklive.scripts*.tar.gz где-то за пределами прообраза — например, в /tmp;

    • при помощи скрипта delete_mess удалите лишнее (все скрипты написаны под Slackware 9, для других дистрибутивов придется немного переделать). К лишнему относится документация, локали и всякие украшательства;

    • при помощи images_cram создать сжатые образы основных каталогов системы, при этом с помощью mkcramfs создаются отдельные файлы для каждой директории (например, для /bin — bin.cram), а не складываются в один большой файл (как в Dawn Small или Knoppix), что ускоряет работу и позволяет их подменять при необходимости;

    • после того как файлы готовы, запустить ./initrd/initrd_create, которая создаст необходимые init-сценарии;

    • последний шаг — запуск create_bootiso для создания загружаемого ISO-образа.

    • Все, как видите, очень просто. Скрипты, кстати, можно скачать и отдельно.

    Следующий дистрибутив — Emergency CD 2.01 нашего земляка Андрея Великоредчанина (Andrew Velikoredchanin) построен на базе RedHat 7.2 Enigma с ядром 2.4.18-3 и предназначен в первую очередь для спасательных работ — для этого он предоставляет полный комплект утилит, как для работы с разделами жесткого диска и записи CD-R/RW, так и необходимые сетевые утилиты, включая samba. Что интересно, нашлось место даже dr.Web. Правда, все имеющиеся утилиты предназначены для работы исключительно в консоли — Х-Window в комплект не входит, — но зато ISO-образ на сайте сжат архиватором и в размере составляет 55 Мб (180 Мб при распаковке, так что поживиться есть чем), к тому же и с локализацией проблем нет. Интересно, что все настройки можно автоматически сохранять при выходе, для этого требуется всего лишь вставить дискету в дисковод, куда перепишутся каталоги /etc, /root и /drweb.base, и при запуске все настройки будут восстановлены. Автор не склонен прятать свои наработки — на сайте также находится набор скриптов, позволяющих создать свой собственный Live CD и записать его на CD-R, к тому же с инструкцией на русском языке. Те, кому нужны иксы, на этом же сайте могут скачать Cool Linux CD 2.01, но уже размером более 500 Mб, доступна также версия 1.35 со сжатым ISO-образом и потому с ощутимо меньшим размером — 235 Мб. В качестве оконного менеджера используется IceWM, имеются драйвера от NVidia, полная версия Blender 3D и триальная версия виртуальной машины Vmware, а также Опера, Sylpheed и т.д., нашлось даже место OpenOffice.

    Eagle Linux совсем малютка, в размере ISO-образ занимает всего чуть более 22 Мб. Содержит в себе лишь базовый набор консольных утилит, вполне достаточный для первоначального знакомства с системой, в том числе для настройки и работы в сети. Интересно, что в нашем орленке (eagle — с англ. «орел») не используется сжатие файловой системы, что отражается на скорости работы. Также система обнаруживает при загрузке имеющиеся жесткие диски, даже SCSI, позволяя в дальнейшем примонтировать их в режиме чтение/запись. Лозунг — Join the thousands who have created their own bootable Linux CD! — однозначно гласит об основном назначении дистрибутива — создании собственного Live CD или дискет. Для этого как в самом дистрибутиве, так и на сайте имеются все необходимые скрипты, ссылки на инструменты, утилиты, игры (!) и наставления в виде HOWTO. Пока Eagle не имеет графического интерфейса, но его появление ожидается в самое ближайшее время вместе с версией 3.0.

    Проект Linux Bootable Busines Card — LNX-BBC представляет маленький дистрибутив (около 48 Мб), который можно записать на компакт размером с корпоративную карточку (отсюда и такое название). Его можно использовать как спасательный или ознакомительный, он включает в себя много диагностических утилит и инструментальных средств конфигурации.

    Главной особенностью дистрибутива является GAR (GAR Are Recursive или Gmake Autobuild Runtime). Это система, подобная по своим функциям (и почти идентичная по цели) системе портов, применяемой в BSD-системах, при помощи которой можно собрать свой дистрибутив практически с нуля. Для этого на сайте доступны исходные тексты, все остальное — закачку (при необходимости), проверку контрольной суммы, распаковку архива, наложение патчей, конфигурирование, компиляцию и установку — система сделает сама. В дальнейшем ее так же просто можно будет перенести на CD-ROM. В LNX-BBC используется сложная система компрессии, благодаря которой в столь маленький объем поместилось около 1000 утилит, включая даже X-Window с менеджером окон Blackbox (точнее, его переработанный вариант hackedbox), к тому же с дополнительными темами. Работает он через Xfbdev, поэтому при загрузке необходимо выбрать работу через framebuffer (опции 2—5). В этот набор вошли (список далеко не полный):

    • утилиты системного администрирования и диагностики сети (ftp, openssh, rsunc, gnupg, traceroute, iptables, tcpdump, ttcp, nmap, wget, curl, tar);
    • web-браузеры (links, lynx и графический BrowseX, основанный на библиотеках Tcl/Tk, — все поддерживают SSL)
    • утилиты для работы с дисковыми разделами и различными файловыми системами (gpart, parted, hdaprm, raidtools, lvm, cfdisk, sfdisk, mpartition, badblocks, fsck.{cramfs, ext2, etx3, jfs, minix, msdos, vfat, xfs} и пр.)
    • подключения к Интернету (для Ethernet — trivial-net-setup, для ppp/dialup — wvdial);
    • текстовые редакторы (vi, pico, nano, joe и mcedit);
    • игры (booggle, robotfinkskitten, seatris, xkobo);
    • для прослушивания и записи музыки (полный комплект для работы с OggVorbis, play, aumix, cdrecord, cdda2wav);
    • интерпретаторы perl, python, ruby.

    Как видите, программы на любой вкус, единственное маленькое «но» — так как объем в данном случае критичен, о работе некоторых программ можно узнать только из ключа --help, никаких man-страниц в дистрибутиве нет. Также при загрузке, набрав help, можно получить краткую справку по общему назначению дистрибутива и основным настройкам. И в отличие от большинства других подобных проектов, LNX-BBC имеет отличный сайт со множеством документации и ссылок. Разработчики придерживаются принципа leave no trace, т.е. ничего не делается без спросу, все найденные разделы автоматически монтируются в режиме «только чтение» в /mnt/rw/discs/disc#/part#.

    При необходимости записи в любой выбранный раздел его нужно перемонтировать в режим «чтение-запись» вручную:

    Для работы требуется процессор i386 с 16 Мб ОЗУ, IDE или PCI SCSI CD-ROM, т.е. будет работать на большинстве компьютеров. Дистрибутив развивается в бешеном темпе, новые версии выходят чуть ли не каждую неделю. К тому же в дистрибутиве имеются русские шрифты и клавиатурные раскладки, поэтому можно его использовать и в повседневной деятельности. И еще раз посмотрите на размер.

    Э, да что это мы все о работе да о работе. Итак, пару развлекательных дистрибутивов.

    Как вы думаете, что получится, если скрестить вместе syslinux, mplayer, slackware и linux kernel? Абракадабра? Вовсе нет, получится MoviX. В этом дистрибутиве убрано практически все лишнее, начиная от авторизации пользователя до запуска ненужных сервисов, оставлено только то, с помощью чего можно посмотреть фильм и послушать музыку. И больше ничего. Поддерживаются все форматы, о которых знает mplayer, практически все необходимые — avi, DivX, mpeg, mp3, ogg/vorbis и некоторые другие. Как он работает? Создается загрузочный CD-диск, содержащий операционную систему и фильм, выбранный для просмотра. Для этого скачанный дистрибутив распаковываем и устанавливаем в Linux:

    В результате чего в каталог /usr/local/bin добавятся две утилиты — mkmovixiso и movix-conf, а также образуется каталог с подручными файлами /usr/local/share/movix.

    Вставляем чистый CD-RW и даем следующие команды (только следите, чтобы сумарный объем avi’шек не превышал заветных 700 Мб). Для начала создаем ISO-образ:

    И теперь записываем его на болванку:

    Перегружаемся, ставим загрузку с CD-ROM и смотрим фильм.

    При этом MoviX понимает кириллицу — если положить в корень файл с субтитрами с тем же именем, что и фильм, они автоматически будут отображаться. Мое знакомство с MoviX состоялось уже давно, еще когда не было оптимизированного CRUX (август-сентябрь 2002) — тогда некоторые тяжелые фильмы на моем слабеньком компьютере я мог смотреть без тормозов и в полноэкранном только так. Тогда только появилась альфа MoviX2 размером около 20 Мб, имеющая уже графическую оболочку. С ней у меня дело не пошло — что взять с альфы? — пользовался я в основном версией 0.6pre3 размером поменьше 5.68 Mб, позволяющей создавать такие диски в командной строке. Но сейчас, зайдя на сайт, я обнаружил, что за год сделан большой шаг вперед. Во-первых, теперь имеется три различных версии: eMoviX — маленький дистрибутивчик, записывающийся прямо на диск со всеми файлами и автоматически проигрывающий его при загрузке; MoviX (~7 Мб) — также минидистрибутив, автоматически загружающийся в OЗУ, имеющий пульт управления Mplayer и позволяющий проигрывать DVD, Video-CD, audio/video файлы, Audio CD, Интернет радио, TV в том числе и через TV-out (карты от ATI, Matrox, NVidia, Savage и Trident); и наконец, MoviX2 (~40 Mб) — то же, что и предыдущий, но уже с GUI. Системные требования последних — i586-процессор, соответственно, 64 Mб или 128 Mб ОЗУ, поддерживаются практически все самые популярные на данный момент видеокарты и звуковые, поддерживаемые ALSA-драйверами, понимаются Win32-кодеки, также есть возможность подключаться к сетевым ресурсам (по ftp), в том числе и к Windows-компьютерам при помощи Samba. Вторая новость — это то, что появились версии, позволяющие создавать такие диски под Windows. И в-третьих, появилось несколько дочерних проектов. В первуюочередь, MoviXISOCreator, ориентированный под Windows-платформу (соответственно, три варианта: MovixISOCreator — 877 Кб, Movix — 24.7 Mб, Movix-lite — 13.6 Mб). Затем FreeviX (23 Мб) — очень напоминает родительский проект MoviX2. Особых отличий не нашел, но заявлена поддержка LIRC, позволяющая руководить просмотром при помощи пульта ДУ, крепко удерживая диван спиной. GeeXboX  — что-то среднее между eMoviX и MoviX, имеет графический интерфейс, но не позволяет проиграть диск, версии под GNU/Linux и Microsoft Windows 9x/NT/2k/XP, поддерживает все кодеки аудио/видео, Lirc, есть удобное OSD-меню, и главное, размер не превышает 4 Mб (исходные тексты — 39 Мб); требования — PII-400 и 64 Мб ОЗУ. Наконец, Cinemix , 3 Mб — польский вариант eMoviX с версией под Windows (к сожалению, вся документация только на польском). Выбирать, как видите, есть из чего.

    Идем дальше. Следующий наш гость — ByzantineOS , еще один интересный дистрибутив, занимающий всего лишь 32 Mб (или 48 Mб). При этом обеспечивает полноценную графическую среду на основе проекта OEone's Penzilla , который в свою очередь базируется на Mozilla. Изобилия программ вы здесь не найдете, но то что есть, позволяет выйти в Интернет (есть программа для настройки соединения), просматривать почту, при помощи Mplayer просматривать видео, через XMMS прослушивать аудио. Дополнительно имеется эмулятор Nintendo — Snes, с одной игрой в комплекте. Кроме самого дистрибутива доступен в архиве ByzantineOS buildsystem (176 Мб), основанный на Linux from Stratch и позволяющий заточить систему под свои нужды. Для комфортной работы желательно иметь i586, 128 Mб ОЗУ и VESA-2.0 совместимую видеокарту.

    Вот пока все, с чем мне довелось иметь дело, но положил глаз я еще как минимум на два проекта. DyneBolic , являющийся подпроектом создателей, позволяет на компьютере i586 с 64 Мб даже без жесткого диска создать музыкальную студию для работы со звуком, с возможностью дальнейшей трансляции в Интернет. В комплекте имеется множество приложений для обработки, кодирования и прослушивания звука, просмотра видео и графики. А еще работы с почтой, web-браузер phoenix, ftp клиент, chat, также abiword, gnumeric, bluefish. В общем, комплектик еще тот.

    Второй проект — Morphix , выпускающий сразу несколько основанных на Debian GNU/Linux и Knoppix дистрибутивов — легкий GUI (XFCE4, phoenix, mplayer, abiword, gnumeric, balsa), тяжелый HeavyGUI (Gnome2.2, OpenOffice, XFree4.3.0), Morphix KDE (KDE 3.1.1), Morphix Game с игрой Enemy Territory и соответствующими драйверами; на сайте имеются старые релизы LightGUI с IceWM и игрового, с демоверсиями Q3A и UT2003. Дистрибутивы весят от 181 Мб до 600 Мб.

    Фух! Пора остановиться. Думаю, некоторые уже подобрали себе дистрибутивчик по интересам, а если кому объем великоват, то ждите следующей части, где будут рассмотрены дистрибутивы, помещающиеся на дискету.


    07 Октябрь 2003            RTK: Теория и основы
    /* Почему я написал эту статью? Просто потому, что в сети пока нет более-менее подробного описания RTK: Russian Trinux Kit. Скажу честно, мне эта статья далась не легко, т.к. я по совместительству являюсь создателем системы, но тем не менее я постарался трезво оценить и описать все ее плюсы и минусы. Статья по большей части носит теоретический характер. */

    What is...

    RTK - это Live-CD дистрибутив ОС Linux, созданный для проверки безопасности удаленных или локальных вычислительных систем и сетей (хотя вы можете использовать его и в других целях, например восстановление системы после сбоя или построение шлюза, хотя это тема отдельной статьи). Многие спросят, почему именно "проверка безопасности", ведь раньше было кое-что другое ;-)? Думаю ответ очевиден - это сделано во избежания лишних трений с некоторыми структурами нашего государства.

    Система содержит последние версии популярных digital security программ (в поставку входят всевозможные сканнеры, снифферы, криптографические средства, файрволлы, прокси серверы, редиректы, релизы известных хакерских групп и пр. В общей сложности система содержит более 150 security-утилит), кроме того RTK не требует установки и запускается с диска.

    why?

    Встает резонный вопрос: "Зачем пользоваться системой RTK? Ведь можно просто поставить Linux (или BSD), скачать необходимое мне ПО и пользоваться им при необходимости!" На этот вопрос существует несколько ответов:

    1. ПК
      Иногда случаются ситуации, когда невозможно получить доступ к своему рабочему ПК (причин множество: командировка, чужой компьютер, системный сбой и пр.). И из-за этого несколько усложняется проведение сетевого анализа системы или сети.

      Дистрибутив RTK можно запускать на любой машине (в идеале, конечно) с достаточным количеством оперативной памяти, кроме того в систему уже встроены популярные программы, позволяющие проверить безопасность сети и/или хоста. Конечно мы не претендуем на идеальную систему, содержащую все необходимые вам программы, так как каждый специалист пользуется своим набором утилит, возможно даже недоступных широкой общественности... Кроме того, наш проект придерживается философии Open Source, следовательно мы вынуждены отказаться от коммерческих продуктов (и не только из-за наших убеждений, но и из-за тяжб в суде). Но для анализа на "среднем уровне" он более чем подходит!

    2. Системный Администатор.
      У многих людей просто нет времени вплотную заниматься безопасностью сети, да и скромный бюджет не позволяет нанять специалистов в данной области.

      Но тем не менее мы не движемся в сторону "эникей системы", типа "вставил диск, запустил систему, ввел ip и нажал scan". Мы добавили очень много всевозможных утилит, чтобы пользователь сам проводил нужные ему исследования и пользовался необходимыми ему программами, не тратя время на их поиск и установку.

    3. logs
      Система постоянно записывает различные сообщения в лог-файлы, невольно позволяя "следить" за пользователем компьютера. Это частенько используют эксперты, проводящие полный анализ машины взломщика (что в принципе, при правильном подходе может являться прямым доказательством в суде).

      Все данные системы RTK находятся на виртуальном диске, создаваемым в ОЗУ (RAM), который как известно, сбрасывается после каждой перезагрузки. Данная особенность полностью освобождает вас от проблемы лог-файлов, уследить за которыми на обычной системе бывает очень проблематично... Проще говоря система не оставляет никаких следов.

    Как вы уже, наверное, поняли, выше были представлены плюсы системы, а теперь время поговорить о минусах. Правде надо смотреть в лицо!

    1. Иллюзия безопасности и Безнаказанности
      Как вы наверняка знаете, система RTK не оставляет никаких следов. Но у многих может сложиться иллюзия полной свободы и безнаказанности... Стоит помнить, что следы остаются на взломанной машине, плюс логи у провайдера.


      Представляете что может сделать с бедным админом обычной домашней сети распространение CD с RTK? Это минимум массовое сканирование, постоянная проверка уязвимостей, пробные реализации DoS (возможно даже не осознанно, например при помощи nessus), всевозможные флуды и снифы, hijacking etc.

    Вообще, примеров "За и Против" можно привести уйму, но Вам и только вам решать, стоит ли пользоваться системой. И у каждого будут свои причины, так что я оставлю данный вопрос читателю...

    Super HAKEP!

    Существует мнение, что дистрибутив создан для script kiddie. Имхо, это совсем не так. Просто потому что кидису совсем не нужны средства вроде hping, cctt etc. Ведь алгоритм действия скрипт кидисов прост: добывается шелл с толстым каналом, на него закачивают ip generator и banner grabber, первый соответственно генерирует список ip адресов, а второй его использует для проверки определенных сервисов (к примеру ftp/ssh/smtp), после выхода нового vuln список результатов grep'ится и вот, несколько хостов уже ждут своих незаконных владельцев. По моему RTK в эту схему никак не вписывается.

    Boot

    В процессе загрузки нет ничего хитрого, начнем с самого начала. Загружается ядро, потом идет код linuxrc (который соответственно указан в /etc/inittab).

    Он производит настойку русского языка, поиск CD-приводов, монтирование диска с RTK 0.4 BE, "послезагрузочную" очистку виртуального диска, поднятие loopback интерфейса, запуск ldconfig, линкование /dev/psaux с /dev/mouse (дефолтно предполагается, что у вас мышь PS/2), монтирование и поиск конфигов на floppy-диске, а также вывод различной информации.

    Вот, к примеру, лог загрузки на моей настольной машине:

    ===========================
    Монтирую диск с RTK 0.4 BE
    Очищаю виртуальный диск...
    ===========================
    Версия RTK: 0.4 BE
    Ядро: 2.4.21
    ===========================
    Поднимаю loopback интерфейс
    ===========================
    Запускаю ldconfig
    ===========================
    Попытка монтирования дискеты в /boot
    end_request: I/O error, dev 02:00 (floppy), sector 0
    end_request: I/O error, dev 02:00 (floppy), sector 0
    mount: /dev/fd0 is not a valid block device
    umount: /boot: not mounted
    ===========================
    ---------------------  Конфигурация Файловых Систем  -----------------------
    Filesystem           1k-blocks      Used Available Use% Mounted on
    /dev/sr7                266528    266528         0 100% /RTK
    /RTK/RTK                252480    252480         0 100% /04
    -----------------------------------------------------------------------
    ===========================
    Информация по монтированию:
    /proc on /proc type proc (rw)
    none on /dev/pts type devpts (rw)
    /dev/sr7 on /RTK type iso9660 (ro)
    /RTK/RTK on /04 type squashfs (ro,loop=/dev/loop0)
    ===========================
    Использование памяти:
                 total       used       free     shared    buffers     cached
    Mem:        253172     106096     147076          0       4984      95524
    -/+ buffers/cache:       5588     247584
    Swap:            0          0          0
    ===========================
    Добро пожаловать в RTK: Russian Trinux Kit 0.4 BE
    Наберите 'root' или 'rtk' для успешного входа в систему.
    ALT-<Лево/Право> позволяет переключаться между терминалами.
    Правый <Alt> переключает раскладку клавиатуры.
    

    Configs

    Влиять на процесс загрузки просто необходимо. К примеру для автоматического поднятия сети, настойки мыши или копирования конфига x-window...

    Вот пример скрипта first:

    # GPM
    gpm -m /dev/psaux -t ps2
    # Поднятие сети
    /sbin/ifconfig eth0 192.168.0.10 netmask 255.255.255.0 up
    /sbin/route add default gw 192.168.0.1
    echo "search mynet.local" > /etc/resolv.conf
    echo "nameserver xx.xx.x.x" >> /etc/resolv.conf
    # xfree86 config copy...
    cp xf86cfg /etc/X11/XF86Config
    

    Для успешного выполнения скрипта во время загрузки системы его нужно положить в корень флоппи диска.

    system

    С "системной" точки зрения RTK - это тот же Linux Slackware, со всеми вытекающими отсюда последствиями. То есть вы можете использовать все преимущества данной системы (естественно из установленных пакетов, к примеру в RTK нет никаких демонов кроме sshd. Список пакетов Slackware, встроенных в RTK 0.4 BE можно посмотреть по адресу без установки на жесткий диск.

    Но здесь я хотел бы остановиться именно на добавленных "системных" программах. Это, во-первых, xcode, который осуществляет преобразования документов в различные кодировки, Eddi - довольно интересный текстовой редактор (но лично мне он не очень нравится и в будущей версии я планирую поставить nedit), audacity (аудио редактор) и Mozilla (думаю в комментариях не нуждается). Конечно список нельзя назвать большим, но во первых дистрибутив создавался не для этих целей, а во вторых в slackware имхо есть все необходимое для комфортной работы.

    Save As..

    Надо учитывать, что все данные, сохраненные вами на виртуальном диске после перезагрузки будут уничтожены. Для записи важных материалов я советую монтировать дискету или раздел жесткого диска и записывать информацию туда. Также возможна отправка данных в сеть (например на удаленный ftp-сервер) или запись на болванку.

    Чтобы легче было осуществить копирование всех важных данных, лучше всего создать специальную папку на виртуальном диске (к примеру /mystuff) и по ходу работы копировать нужные данные туда, просто в последствии будет легче перенести все обходимые вам материалы на какой-нибудь носитель.

    security tools...

    Я намеренно не стал приводить здесь описание security-программ, входящих в RTK, чтобы статью не восприняли как руководство к действию. Может быть в будущем я и напишу что-нибудь подобное, но не со стороны "взлома", а с позиции "проверки безопасности".

    Выводы

    Не стоит думать что, воспользовавшись системой, все у вас будет ломаться на ходу. RTK - это "всего лишь" live-cd дистрибутив ОС Linux (0.4 BE based on Slackware 9.0), укомплектованный утилитами для анализа безопасности сети, который работает без жесткого диска и не оставляет никаких следов на "запускаемой" машине. На последок хочу заметить, что дистрибутив - всего лишь средство, а как им воспользоваться - дело ваше.

    seo & website usability inet html hardware faq memory video cpu hdd mainboard faq printer & scaner modem mobiles hackzone
    Windows 10 | Registry Windows 10 | Windows7: Общие настройки | Windows7: Реестр | Windows7: Реестр faq | Windows7: Настроки сети | Windows7: Безопасность | Windows7: Брандмауэр | Windows7: Режим совместимости | Windows7: Пароль администратора |  |  |  |  | Память | SDRAM | DDR2 | DDR3 | Quad Band Memory (QBM) | SRAM | FeRAM | Словарь терминов | Video | nVIDIA faq | ATI faq  | Интегрированное видео faq | TV tuners faq | Терминология | Форматы графических файлов | Работа с цифровым видео(faq) | Кодеки faq | DVD faq | DigitalVideo faq | Video faq (Архив) | CPU | HDD & Flash faq | Как уберечь винчестер | HDD faq | Cable faq | SCSI адаптеры & faq | SSD | Mainboard faq | Printer & Scaner | Горячая линия бесплатной юридической консультации | Благотворительность

    На главную | Cookie policy | Sitemap

     ©  2004