Старожил
Сообщения: 481
Благодарности: 8
|
Профиль
|
Отправить PM
| Цитировать
Я предпологал, что не получу адекватного ответа на свой вопрос. Но коли так и случилось, то сейчас изложу всё подробно. Готов предположить что профессиональным пользователям LINUX, мои слова могут показаться полной бредятиной, но разобраться всё-таки хочется.
Я прочитал несколько бумажных и электронных книг, журнальных статей, HOWTO и miniHOWTO, но вопросы всё равно остались. Главной вопрос, можно ли привести систему к привычной виндовой структуре или нельзя?
Основные вопросы, которые у меня имеются - это вопросы по содержанию таких документов, как "Lilo-miniHOWTO", "From Powerup To Bash Prompt-HOWTO", "Kernel-HOWTO", "PATH-HOWTO". Чтобы разобраться правильно ли я всё понял, я сейчас изложу некоторые моменты из содержания этих документов, а вы скажите правильно ли я всё понял или нет:
Ядро LINUX - это первое что загружается сразу после загрузки LILO. Ядро представляет собой файл с именем vmlinuz, vmlinux, zimage или любым другим. В процессе загрузки ядро отвечает за все те надписи которые пробегают на экране (в этот момент происходит загрузка и включение всех модулей ядра); после загрузки ядро занимается тем, что взаимодействует между процессами системы и оборудованием компьютера. Ядро загружается с помощью программы LILO, располагающейся в первых секторах загрузочного диска, LILO сообщает ядру несколько входных параметров, важнейшим из которых является местоположение корневой файловой системы. После загрузки ядро монтирует корневую файловую систему и ищет в ней программу /sbin/init, которая является процессом с наивысшим приорететом и служит для запуска других процессов. Основным конфигурационным файлом для программы init является файл /etc/inittab, в котором и указаны местоположения всех остальных файлов инификации и дочерних процессов. В отличии от системм класса DOS/WINDOWS, в LINUX ядро не поставляется в дистрибутиве как есть, а должно быть собрано (скомпилированно) администратором из исходников. При установке системы компиляцию производит программа установки, при обновлении ядра компиляцию следует производить вручную с помочью команды make.
Ну а теперь вопросы: Как настраивать ядро? В "Kernel-HOWTO" сказано что настройка ядра осуществляется в процессе компиляции с помощью команд "make config", "make menuconfig" и "make xconfig" и что единственное что можно настроить этими способами - это наличие в ядре тех или иных модулей или установка поддержки тех или иных опций. Как я понимаю тут речь идёт только о тех модулях, которые входят в состав исходников и не каких иначе. А если я допустим хочу внедрить в ядро модуль, написанный каким-нибудь програмистом Васей, то как мне быть? Существуют ли утилиты для более тонкого твикинга настроек ядра (вот наконец правильное слово подобрал)? Дальше - больше. Если я хочу, чтобы вместо тех надписей, которые пробегают на экране в момент загрузки ядра пробегали совсем другие надписи, или чтобы в этот момент на этране какая-нибудь картинка висела, или чтобы переключение экрана на кириллицу осуществлялось в момент загрузки ядра - где это должно настраиваться? Если я хочу, чтобы ядро искало программу init не в /sbin, а в, допустим, /system/bin, а файл конфигурации назывался бы не /etc/inittab, а /system/inittab - где это должно настраиваться? В "From Powerup To Bash Prompt-HOWTO" сказано "хакайте". А если я в СИ не совсем рублю, то что тогда (ну вот наконец-то я добрался до основного вопроса темы)? Вполне возможно, что где-то в Сети уже выложены ядра с изменённым исходным кодом и что возможно даже существуют русскоязычные ядра. Если кто знает об их существовании - прошу сообщить.
Ну а теперь вопросы, касающиеся не ядра в частности, а LINUX в общем: Мне, человеку привыкшему к DOS/WINDOWS не совсем понятна структура каталогов LINUX. Например в моей Windows98 в корневом каталоге существуют каталоги "WINDOWS", "Program Files", "RECYCLED", "APPLIED", "UTILITES", "FILES" и "RAW", где FILES - это переименованный каталог "Мои документы", где я храню музыку, фильмы и т.д., RAW - хранилище "сырых" файлов, тут у меня, например, находится веб-страница, над которой я работаю, все программы у меня классифицируются как прикладные и утилиты, для них предназначены каталоги APPLIED и UTILITES, соответственно. В "C:\UTILITES\WINRAR" тоже, я прошу обратить внимение, полный порядок и предсказуемость: WINRAR.EXE - это бинарник, RAREXT.DLL - это библиотека, WINRAR.CNT - это конфиг, RAR.LOG - это логфайл, WINRAR.HLP - это хелпфайл. В LINUX же - полная неразбериха: в /bin - все бинарники, в /lib - все библиотеки, в /etc - все конфиги, со всех программ в одну кучу и невозможно их как-то классифицировать. Я обратил внимание что при установки программ для LINUX, отсутствует диалог куда устанавливать. Вы можете сказать: "Если тебе ничего не понятно - значит ты не туда полез, пользуйся WINDOWS", но я считаю что я имею право удолетворить свою любознательность. В "PATH-HOWTO" сказано, что путь к бинарникам устанавливается в переменной PATH, но не сказано где устанавливаются пути к библиотекам и конфигам. Могу предположить, что эти установки "зашиты" в ядре, тогда я снова возвращаюсь к вопросу - как это настраивается? Ещё два возникших вопроса - в LINUX физически невозможны такие виндовые фишки как запуск программы с компакт-диска и самораспаковывающиеся архивы - так или нет?
Надеюсь, что вы не проигнорирунте мои вопросы. С уважением ко всем линуксоидам, Сергей(RasKolbas).
|