ОК. Начнем. Данная текстуха предназначена для тех, кто решил забыть про кошмары, связанные с именем БГ ( _НЕ_ Гребенщикова, а Билла Гейтса...). В этой текстухе я попытался расказать о тех проблемах, которые возникают у людей, впервые увидешвих UNIX и о методах их решения, коли такие мне известны... Должен сразу предупредить, что все писалось под музоном Exploited, Nirvana и Metallica. Коли где есть грамматические ошибки - Сорри, клаве уже 7! лет.
Все разделено на несколько разделов:
Это только мини-HOWTO. Ко мне приходит огромное количество вопросов, связанных с Линуксом. Многие из них будут попадать в мой личный FAQ, который будет опубликован сразу, как наберет весу чуть поболее. _ЛЮБЫЕ_ вопросы по Линуксу приветствуются. Без битвы не отдам ни единого человека в царство Билли. Эти разделы, как мне кажеться, покрывают большинство областей, если не все, в которых по началу могут возникнуть проблемы.
UNIX-системы - наиболее распростаненный класс операционок, использующихся для работы с сетями, _ПРОФЕССИОНАЛЬНОЙ_ графикой, базами данных. Примером тому могут служить такие платформы как SGI, Digital Alpha, Sun SPARC Station и т.д. В последнее время появились _НОРМАЛЬНЫЕ_ представители этого класса операционок и для PC. Среди них наибольшую популярность приобрели два конкурирующих зверя - FreeBSD и Linux. Лично я остановился на Linux. Основные преимущества UNIX-style ОС - полная мультипоточность, т.е. _РЕАЛЬНОЕ_ паралельное выполнение процессов, об'единение всех типов устройств в некую единую структуру, возможность четкого ограничения ресурсов (вплоть до макс. уровня загрузки процессора) и уровней доступа пользователей. Изначально UNIX - мультипользовательсякая ОС, больше ориентированная на работу с сетью. Ее отсутствие не означает отказ от UNIX. Основные недостатки (Для человека, севшего за Юникс в первый раз) - слишком большое идеологическое различие с общеизвестными ДОС, Вынь и т.д., небходимость разбираться хотябы на примитивном уровне с железом, необходимо знание C, хотябы краеугольных камней оного. Как мне в свое время сказал один мой друг - переход с ДОСа или OS/2 или Вынь на Юникс, как впрочем и переход с Васика на Ц - тоже самое, что человеку вытащить мозги, поменять местами полушария и воткнуть обратно, но уже вверх ногами. Хотя мне кажеться, что такая ситуация не должна быть шокирующей для людей, увлекающихся программированием... :)
Итак: Дабы ставить себе Линукс, убедитесь, что:
И поймете, как ее использовать при необходимости, посмотрев контекст, в котором ента весчь используеться. В принципе, этот пункт можно опустить, но в таком раскладе работа с Линуксом превратиться для вас в полный кошмар минимум месяцев на 9, что в моем случае и произошло. Когда я себе поставил Линукс, я знал, правда в совершенстве, ВАСИК и asm 8080. Нормально работать я смог только тогда, когда раскопал небольшую коллекцию маленьких прог на Ц под Линукс. По ним я и изучил сей прекрасный language. Если вы все-таки решитесь на установку Линукса без знания Ц, то для вас у меня есть оная коллекция прог, желание помочь в Ц(НО НЕ НАУЧИТЬ, ибо время - вещь такая - его всегда не хватает). Для перезжающих с Васика есть более-менее порядочный интерепретатор оного+Шареная Либа, содержащая Васичные функции. То есть пишите в Васике, но в нотации языка Ц - и все ОК. Либа пока на стадии появления. В ней пока не более 3-х десятков функций. Работа идет. Если есть желающие помочь с ее написанием - милости просим, исходники дам. Не забудьте только синхронизировать со мной изменения.
Прежде чем приступать к установке, прочитайте внимательно все, что здесь написано. Я когда ставил Линукс в первый раз, очень много напортачил на этом этапе. Достаточно важно заранее продумать как, где и каким методом расположить Линукс, обеспечить его нормальную загрузку и его нормальное функционирование.
В принципе для того, чтобы увидеть приглашение в виде фразы "Login:" вам необходимо 386/SX-16, 4Mb RAM, 25Mb Hdd. Для того, чтобы не ждать по 6-7 часов завершения компиляции ядра, вам необходимо по меньшей мере 486DX-40, 8 Mb Ram. Размер места на винте напрямую зависит от вашего фанатизма в Линуксе, то есть, сколько софта вы поставите + место необходимое вам для работы под Линуксом. В принципе для нормальной работы лично мне хватает DX2-66/16Mb RAM. Про место на винте не говорю, ибо все под Линуксом. На меньшее ни он ни я не согласны... :)
Само по себе Ядро Линукса на данный момент может содержать в себе поддержку следующих файловых систем: Minix, Extended FS, EXT2 FS, XIAFS FS, DOS FAT, MSDOS FS, VFAT (Windows'95) FS, FAT-32, NFS (Network FS), ISO9660, OS/2 HPFS, SysV FS, UFS (BSD*). Устанавливаться Линукс модет на все вышеперечисленное, кроме Extended FS, ISO9660 и OS/2 HPFS. Родные для Линукса файловые системы - EXT2 и XIAFS. Соответственно, при установке на раздел с такой FS, можно расчитывать на наибольшую отдачу Линукса в плане скорости обращений к диску. Linux имеет свой собственный BOOT-менеджер, который совершенно спокойно может располагаться или в MasterBoot Sector, или в boot-секторе той партиции, на которой он стоит. При расположении в MasterBoot не возникает ника ких проблем с DOS, OS/2, но известны проблемы с Windows'95. В таком случае у вас два варианта: или поставить LILO(LInux LOader) в boot-сектор его партиции, сделать так, чтобы он (LILO) знал только про Линукс, а своему boot-manager'у сказать, что у него на такой-то партиции есть интеллект, либо вообще отказаться от использования ЛИЛО, а грузить из ДОСа утилиточкой LOADLIN и держать загрузочный образ ядра (около 550 Кил) на своем ДОСовом разделе. На данный момент у меня нет информации по скрещиванию ЛИЛО и NT, интересует также любая другая информация и личный опыт, если таковой имеется, ибо данный файлик я предполагаю периодически обновлять. Известны проблемы с ЛИЛО, когда он ставиться в Master-Boot на SCSI диске, с которого производиться загрузка системы по умолчанию. В таком случае лучше поставить ЛИЛО в boot-сектор Линуксового раздела и не забыть сделать его активным.
После того, как вы определились с местом расположения Линукса, не спешите. Есть еще пара вещей, которые надо обсудить. Всем известно такое понятие как SWAP. Линуксу оно тоже не чуждо. Проявляеться в двух видах. Один традиционен для Вынь и т.д. - SWAP-файл на разделе, но данный метод _НЕ_ традиционен для Линукса, хотя и возможен. Как правило под СВОП отводиться отдельный раздел на винте, причем желательно на физическом устройстве, отличным от того, на котором стоит Линукс. Сразу первое правило: Все Линуксовые разделы создавайте Линуксовым fdisk'ом. Дабы потом не иметь геммороя с ними. СВОП-раздел вам понадобиться в обязательном порядке, если у вас 4 или менее метров мозгов. Современное ядро в момент загрузки жрет 5-7 мегов, а после того как загрузилось, убегает обратно на отметку 2-3 мега, в зависимости от конфигурации. СВОП-раздел я рекомендую создать размером (Кол-во мозгов в метрах)*3, если у вас 16 и менее оных, либо *2, если более. В таком раскладе у вас вряд-ли появиться в логах надпись 'Could not allocate a free page'.
Я забыл сказать, что в данном докУменте я рассмотриваю установку Linux Slackware, но большинство вещей можно с тем-же успехом отнести к любой другой поставке Линукса. Итак. Мы определились с местом расположения Линускса, местом под СВОП. Теперь подготовка дистрибутива. Дистрибутив Слаквари состоит из N-го количества diskset'ов, каждый из них со своим специфичным софтом. Попытайтесь определиться, что вам _ОБЯЗАТЕЛЬНО_ понадобиться, что вам _МОЖЕТ_ понадобиться и что вам не понадобиться в любом случае, дабы знать свои аппетиты на место на HDD в пропорции MIN/AVG/MAX. Именно для ентого я привожу здесь список стандартных наборов диском и количество дисков в каждом из них. Надо учитывать, что все диски - 1.44М, зажаты приблизительно в пропорции 1:2.2. То есть на каждый диск дистрибутива у вас улетит около 2.5 мег места на винте.
Disk Series | No. of disks | Description |
A | 9 | Basic Linux Set. Нужен при любом раскладе |
AP | 6 | Проги без поддержки X. Из них реально нужно процентов 60. Понгачалу рекомендую все. |
D | 13 | GNU C, GNU ASM, Fortran компайлеры с Либами. Также libc,хедеры к ней,Pascal2C,Perl,LISP Доки по программированию на Ц. По хорошему надо бы все, но при в принципе 70% хватит |
E | 8 | EMACS. На любителя. У меня вообще не стоит |
F | 3 | Для всех полезно. FAQ и HOW-TO из /usr/doc |
K | 6 | Linux Kernel Source. Понадобиться, если вы свяжетесь с программированием,SCSI, network. Подразумевает установку набора D. |
N | 6 | Netowrk. Как низкоуровневые утилиты, так и WWW/FTP/NEWS сервера. PPP,SLIP-без вопросов. Понадобяться,если в Инет с Линукса надо или нужна поддержка локалки(Не Эхи). |
T | 9 | TEX/LaTEX. |
TCL | 3 | TCL/Tk Widgets. Неплохой script-язык под X |
X | 26 | XFree86 3.3.1 X11R6 система. Такой об'ем только за счет кучи карточек, которые держит. Если оставить только нужную карту - дисков 15. Настоятельно рекомендую. |
XAP | 4 | Куча мелких прог под X. Не помешают. + 2-3 примитивных игрухи, включая вечный тетрис. |
XD | 3 | X Development Kit. Сам только недавно поставил. Смысл для вас на этом этапе ясен ? |
XV | 3 | Библиотечки XView. |
Y | 2 | Вечное. Игрухи. с десяток text-mode игрух, пара-тройка графических. DOOM'а там нет. |
Пишем оные три буквы, далее добабляем цифирю, от 1 до 15, где 1-4 - основные разделы, 5-15 логические. Из всего вышеописанного выбираем цифирю, на которой у нас лежит дистрибутив. Полученная комбинация и будет именем искомого устройства. Если у вас SCSI, то соответственно, hd? заменяеться на sda,sdb,sdc,....,sdh, где sda - SCSI ID#0, sdb - SCSI ID#1 и т.д.
Ладно, замучался я с вами. Время - 4:10 ночи (или уже утра). Пошел поем. Продолжение через минуток 20.
А вот и я. Спасибо, что подождали... :) Ладно. Кончили лирические отступления. Продолжаем. Под Линуксом все обращения к устройствам происходят через спец-файлы - ссылки на устройства. Как правило, файлики лежат в директории /dev. То есть, чтобы обратиться к нашему диску, на котором дистрибутив, мы обращаемся к файлу /dev/?d?x, где ? и x - мы подставляем из наших условий. Если вам по барабану все то что я здесь написал и вы решили просетупить A диски с флопповода - ваше право. Форматируете 1.44М дисекту под ДОС, а потом вслепую перекидываете содержимое каталогов A1, A2,...,A9 на соответствующие флопы, и, возгордясь собой от проделанной работы, переходите к следующему пункту, но все таки заложите где-нить енти данные, ибо при работе с Линуксом они вам все равно рано или поздно понадобяться.
Для этого вам понадобяться 2(две) дискеты заведомо без бЭдов на 1.44М. 1-ая будет образом ядра, вторая - образом корневой файловой системы, с которой вы начнете работу по установке. Образы дискет вы будете прописывать под ДОСом (забудьте про 'Cеанс MS-DOS' где бы вы не были) с помощью утилитки RAWRITE.EXE, идущей со Слакварью, да и не только с ней. Образ корневой файловой системы для инсталяции в любом случае в файлике color.gz. Для искушенных в вопросах UNIX архиваторов: Вы заметили, что он жатый. Разархивировать _НЕ_ надо, рискуете не влезть на 1.44М, но по желанию - пожалста. С образом ядра чуть посложней. Ввиду ограничения пришлось из ядра по максимуму выкинуть поддержку всего не нужного железа в момент инсталляции. Так что не удивляйтесь, если ядро при загрузке ничего вам нескажет про ваши КОМ и/или ЛПТ или не найдет вашей любимой сетки. По умолчанию, если у вас нет SCSI и т.д., то для вас образ - bare.i. Для остальных такая табличка из доки по Слаквари:
Slackware source on: | Target is IDE | Target is SCSI | Target is MFM |
Hard Drive | bare.i | Use a SCSI controller bootdisk from the list below. | xt.i |
SCSI CD-ROM | Use a SCSI controller bootdisk from the list below. | Use a SCSI controller bootdisk from the list below | - |
IDE/ATAPI CD-ROM | bare.i | Use a SCSI controller bootdisk from the list below. | - |
Aztech, Orchid, Okano, Wearnes, Conrad, CyCDROM non-IDE CD-ROM | aztech.i | aztech.s | - |
Sony CDU31a, Sony CDU33a CD-ROM | cdu31a.i | cdu31a.s | - |
Sony CDU531, Sony CDU535 CD-ROM | cdu535.i | cdu535.s | - |
Philips/LMS cm206 CD-ROM | cm206.i | cm296.s | - |
Goldstar R420 CD-ROM | goldstar.i | goldstar.s | - |
Mitsumi non-IDE CD-ROM | mcdx.i, mcd.i | mcdx.s, mcd.s | - |
Optics Storage 8000 AT CD-ROM ("Dolphin") | optics.i | optics.s | - |
Sanyo CDR-H94A CD-ROM | sanyo.i | sanyo.s | - |
Matsushita, Kotobuki, Panasonic, CreativeLabs (Sound Blaster), Longshine and Teac non-IDE CD-ROM | sppcd.i | sppcd.s | - |
NFS | net | scsinet | - |
Tape | bare (for floppy tape), For SCSI tape,use one of the SCSI bootdisks listed below. | Use a SCSI controller bootdisk from the list below. | xt.i (for floppy tape) |
If you have no idea which SCSI controller your machine has, you can also try the generic SCSI bootdisk "scsi.s". You can determine what controller type you have by watching the boot messages. Then, you should make the bootdisk that matches your controller and use that to install. (Since the scsi.s kernel is loaded with SCSI drivers, it consumes quite a bit of memory that the disks designed for a single SCSI controller do not)
Все остальные контроллеры вроде понятно из названия. Готовите Образы, проверяете все остальное о чем идет речь. Настоятельно рекомендую перед началом установки сделать или backup винта, или, по меньшей мере, backup'ы boot-секторов и загрузочные дискеты ваших ОС, ибо в первый раз можно и оплошать с ЛИЛО/fdisk'ом. Моя задача по возможности предотвратить это с помощью данного текста.
Ладно. Время - 6. Теперь уже точно утро. Я пошел спать. Продолжать буду следующей ночью. Вы пока устанавливайтесь... :)
А вот и опять я. Я вам еще не надоел ? Тогда Продолжаем. Ето собственно, все, что относиться к установке. По окончании установки вас перекинет на "CONFIGURE Section". Работа с ней необходима в том случае, если вы поставили наборы A или N. Реально при установке других наборов конфигурилка не нужна, а если и нужна, то легче поправить ручками. Итак. я предполагаю, что вы поставили Диски и A и N. Если вы поставили только A, то вы сами увидите, когда кончиться хелп для вас. По поводу настройки ЛИЛО: Если вы решили не устанавливать ЛИЛО, а грузить с помощью утилитки LOADLIN, то на следующей загрузке Воткните дискету, с который вы грузили Линукс и вместо нажатия Ентер скажите 'mount root=/dev/xxxx' - где xxxx - раздел помеченый как Linux Native. То есть тот раздел, на который вы установили Линукс. Потом присоедините свою ДОС'овою партицию к корневой файловой системе - 'mount /dev/xxxx /mnt', значение xxxx я думаю понятно. Теперь все что ниже /mnt - содержание /dev/xxxx. И копируете туда саму утилитку и образ ядра - 'cp /root/lodlin16.zip /mnt/; cp /vmlinuz /mnt/'. Если вы грузитесь из ДОСа, не забывайте скидывать образ ядра на ДОСовый раздел после перекомпиляции ядра. Лежать оное будет в /usr/src/linux/arch/i386/boot/zImage. Настройка:
Пишу только ответы на те вопросы, которые критичны. Вс остальное - дело ваше.
Если вы установили только Диски A, то после загрузки вы можете продолжить установку. Если с флопешников, то введите просто 'setup', если же нет, то прочитайте начало этого подраздела на предмет присоединения к корневой файловой системе других разделов (конкретно раздела с Дистрибутивом).
Когда я пишу этот текст, я подразумеваю, что вам известно в основе своей, что такое корневая файловая система, как присоединять к ней другие разделы и т.д. Здесь я рассматриваю настройку только _ТЕКСТОВЫХ_ консолей, и режимов работы с ней, здесь же мы учим наш любимый shell не резать 8-ой бит и переключать раскладку клавы. Настройка сети будет в п.5. Настойка X - п.4. Если чего нибудь не знаете, почитайте практически любую книгу по *NIX, там эта информация есть. Исторически сложилось, что большинство конфигов и админовских вещей лежат в /etc, но в Линуксе там остались только конфиги, админовские утиилты ушли в /sbin. Файлики - аналог config.sys/autoexec.bat - лежат в /etc/rc.d/*. Для начала мы займемся Локализацией. Я на данном этапе не лезу в Локализацию на уровне русификации error-мессаDJей... Это вы сами сможете сделать через месяц-полтора. Определитесь, в какой кодировке вы будете работать в Линуксе - Или koi8-r, что в принципе стандарт для UNIX, или в ALT. Я рекомендую koi8-r, ибо это стандарт, большинство прог с кирилицей знают о ней, как о кои8. В таком случае бежим в /etc/rc.d/, берем файлик rc.local, и редактируем его с помощью редактора joe - 'joe rc.local'. В самый конец надо добавить две строчки - 'setfont koi8-8x16' и 'loadkeys ru.map'. Все, при следующей загрузке у вас будет Линукс с загруженым шрифтом кои8, и переключение РУС/ЛАТ по правому CTRL. Таперича надо настроить шелл, дабы он не резал 8-ой бит символа. Для этого в вашем домашнем каталоге создаем файлик .inputrc - 'cd ; joe .inputrc'. Смело вписываем туда:
Теперь мы можем спокойно делать все что угодно с кирилицей в коммандной строчке. Небольшое лирическое отступление на тему поддержки железа: подердка всякого разнообразного железа ядром Линукса может осуществляться в 2-х вариантах. Или эта поддержка находиться внутри самого ядра, и включаеться в момент загрузки образа ядра, либо в виде модуля, когда вы можете заставить вспомнить или забыть про то или иное железо на лету, не выключая машины. Теперь, если у вас немного кривое/нестандартное/еще какоето железо, надо сделать так, чтобы Линукс знал о нем. Делаеться это таким макаром: Если вам лениво пересобирать ядро, то: Поддержка различного железа в ядре с дистрибутива по максимому вынесена в модули. Для работы с модулями в момент загрузки есть файлик /etc/rc.d/rc.modules. Уберите REM (символ #) с тех строчек, в которых загружаеться необходимое вам железо. Может быть вам придеться добавить несколько параметров в той же строчке, если вы работаете с сетевухой. Например, если у вас PCI'ая сетевуха, но NE2000-компатибле, вам придеться ее настроить так, чтобы она всегда сидела на одном прерывании и конкретном IO. Соответственно, вам придеться указать не только IO, но и IRQ, ибо как показывает практика, IRQ-AutoProbe толком не работает на PCI, как правило машина виснет наглухо. Подводя итог: '/sbin/modprobe ne io-0xe000, irq=9'. Например так. Если у вас Microsoft InPort BusMouse, как у меня, то вам придеться где-то там сказать '/sbin/modprobe inportbm irq=?'. По умолчанию есть поддержка только Serial мышей. Для поддержки остальных мышей вампридеться грузить модули. 2-ой путь, для тех, кто с Линуксом более недели: ПЕРЕСОБЕРИТЕ ЯДРО ! Для этого у вас должны быть установлены наборы D и K, также желательно AP. Все исходники ядра лежат в /usr/src/linux/, входите туда и с наглой рожей набираете 'make menuconfig'. Она на вас материться, но в результате в более-менее удобной форме вы можете выбрать конфигурацию ядра. После выхода из проги вам необходимо сказать 'make dep; make clean', дабы подготовить сырцы к компиляции, потом 'make zImage', дабы создать образ ядра в /usr/src/linux/arch/i386/boot/zImage. Далее нам необходимо создать те модули, которые нам необходимы в соответствии с нашей конфигурацией. Для этого мы ругаемся в виде 'make modules; make modules_install'. Один совет - на моей четверке ядро собираеться полтора-два часа, в зависимости от конфигурации. Поэтому, постарайтесь создать такое универсальное ядро, которое вам не придеться пересобирать каждый день, но учитывайте, что все лишнее, хоть и в виде модулей все равно будет жрать память, и не хило. Установка нового ядра: Если вы грузитесь с ДОСа - просто скиньте образ на ДОС-раздел. Иначе - почитайте мануалы на тему ЛИЛО и lilo.conf. 'man lilo' и 'man lilo.conf'. Также можно просто сказать 'make install' из каталога /usr/src/linux/.
В этом разделе я постараюсь обяснить как толком поставить Х, настроить на работу с вашим монитором/карточкой. Постараюсь рассказать про русификацию Иксов (Шрифты с кирилицей, переключалка раскладки и т.д.). Вся работа Х может быть подразделена на три уровня - Х-сервер, который обеспечивает низкоуровневую работу с видеокарточкой, знает про шрифты и т.д. Второй уровень - это Window Manager. Занимаеться работой с сетью, если клиент работает по сети, рисует окошечки, закрывает их и т.д. Третий уровень - уже пользовательские проги, которые могут работать как с Х-сервером напрямую, или с Window Manager'ом, как это например делают проги на основе известных библиотек Motif. Есть некий системный X-сервер, а WM - основан на основе библиотек Motif. Проги, использующие его, пользуют WM, ибо только он знает про те функции, которые они используют. Настройка Х состоит из двух основных этапов - настройка Х-сервера и настройка Window Manager'а. Здесь я описываю настройку практически _ЛЮБОГО_ Х-сервера, но что касаеться WM, то здесь я описываю настройку банагера, известного под именем FVWM. Именно он стоит у меня, несмотря на то, что в дистрибутиве слаквари есть еще 3-4 WM.
Лучже по максимому из дисков X установить все, кроме не нужных X-сер веров. Тем не менее рекомендую установить следующие X-сервера: VGA16, SVGA, Х-сервер под вашу карточку. VGA16 понадобиться для работы проги под именем XF86Setup, Сервер под вашу карточку вам понадобиться для работы с вашей картой в родном для нее режиме с цветностью больше 8-ми бит. SVGA сервер вам понадобиться в том случае, если вы не сможете запустить вашу карточку с родным сервером, и вам неохота сидеть в16-ти цветах с VGA16. С SVGA вы получите 8 бит цветности. По поводу установки шрифтов - ставьте что хотите, только не забудьте поставить русские шрифты. Как их добавить в Конфиги Иксов - чуть позже. Все русские шрифты - в кодировке КОИ8. Это еще один аргумент в пльзу выбора КОИ8 основной кодировкой для Линукса, хотя шрифты сделать не проблема даже при малом опыте работы с Линуксом.
ОК. Прежде чем начинать, я рекомендую открыть машину и записать на бумажку точную маркировку вашего чипа на видеокарте, слазить в доку по монитору и посмотреть максимально разрешенные Refresh Rate'ы и частоты вертикальной/горизонтальной развертки.
Итак, мы в Линуксе. Установлены минимум A и X диски, также желательно AP, XAP, XV. Смело логинимся рутом и набираем 'XF86Setup'. Вы оказываетесь в достаточно примитивной системе настройки. Пролезаете сквозь все разделы конфигурации. Мышь, я думаю, вы в состоянии выбрать нужного типа. Видеокарта - Сначала выберите наиболее близкий тип видеокарты, потом жмете 'Detailed Setup'. Там четко выставляете об'ем видеопамяти, ибо Автодетект не всегда срабатывает. Посмотрите также в разделе 'ChipSet', может вы можете более точно определить тип вашей видеокарты. Монитор - Выбирайте то, что вам по вкусу/возможностям. Единственное НО - Х-сервер сразу запуститься в максимально доступном разрешении при цветности 8 бит. То есть, если вы вбрали 1024х768 Монитор, а у вас 1 мег видеомозгов, то тогда при запуске Иксов у вас появиться 800х600х256. Клавиатура - не извращайтесь, ибо тот русский, что там есть, русским никак назвать нельзя.. :) Переключалку мы сделаем, как отдельныю пользовательскую прогу. Последний раздел - лично я нажимаю все кроме 'Prevent server...'. После того, как вы скажете 'Done.' вам запуститься тестовый вариант X-сервера с вашими настройками. Если режим консоли вас удовлетворяет - 'Save Config to /etc/XF86Setup'. Если же нет - запускайте XF86Setup заново.
Ладно. Теперь у нас в /etc/XF86Config есть более менее приличная версия конфигов. Это еще не все. Понятное дела, людям, писавшим XF86Setup пофигу на присутствие или отсутствие русских фонтов. Нам нет. Они у нас стоят, а в конфигах отсутствуют. Поэтому идем в /etc и редактируем XF86Config - в области Files перечислены каталоги со шрифтами. Добавляем туды каталог с кирилицей.
Обратите внимание на пред-последнюю строчку. Она была добавлена
мной. ОК. Теперь небольшие манипуляции со шрифтами, как подготовка к
частичной русификации Иксов. Идем в каталог /usr/X11R6/lib/X11/fonts, где
лежат подкаталоги со шрифтами. Надеюсь командочку cd еще не все забыли ? %)
Организация шрифтов такова - в католе со шрифтами есть куча самих шрифтов в
зажатом виде, дабы экономить место, и два текстовых файлика - один под
именем fonts.dir, в котором перечислены _РЕАЛЬНЫЕ_ шрифты этого каталога, и
файлик fonts.alias, в котором перечислены алисы, под которыми известны
некоторые шрифты этого каталога в виде alias Вот основа. Еще такая вещь. Локаль. Если
прога сама по себе мультииязычная, то она может узнать у системы, в какой
локализации она работает и выбрать соответствующие режим своей работы. Для
этого нашим Иксам надо сказать, что у них локаль ru_RU.KOI8-R. Для этого
редактируем файлик .Xdefaults в своем домашнем каталоге, ибо каждый юзер
может иметь свою систему настроек.
--- Start Cut: .Xdefaults ---
OpenWindows.WorkspaceColor: #40a0c0
OpenWindows.ScrollbarPlacement: right
OpenWindows.WindowColor: #cccccc
OpenWindows.MultiClickTimeout: 4
OpenWindows.IconLocation: bottom
OpenWindows.SelectDisplaysMenu: False
Scrollbar.JumpCursor: True
*numeric: C
*displayLang: ru_RU.KOI8-R
*basicLocale: ru_RU.KOI8-R
*timeFormat: ru_RU.KOI8-R
*inputLang: ru_RU.KOI8-R
--- End Cut: .Xdefaults ---
Формат чисел я умышленно не сменил на КОИ, ибо по каким-то причинам
в свое время это привело к глюкам. Теперь переключалка клавы: Я сразу
говорил, что сделана она будет в виде отдельной юзеровской проги, которая
будет запускаться при запуске Иксов. Лично я пользуюсь прогой под названием
xrus. Весь софт, который я упоминаю в данной текстухе, у меня есть, и я его
могу дать. Берем ее, компилируем. сначала архивчик разархивируем куда нибудь
в отдельный каталог, входим в него и запускаем там прилагаемый скриптик
configure, который выяснит cвои аппетиты с системным ресурсам и т.д. Для
компиляции вам естественно нужны диски D. Потом делаем make; make; make
install. Потом копируем раскладки клавы из keymaps/ куда нибудь в район
/usr/local/lib. Наша задача после этого - сделать так, чтобы xrus запускаля
в момент запуска Иксов. Идем в /usr/X11R6/lib/X11/xinit и редактируем файлик
xinitrc. Практически в самом конце фала запускаеться fvwm. Перед ним им
вставляем строчку:
На данном этапе я рассказываю вам об использовании Линукса как
о машине, работающей с TCP/IP. Здесь на данном этапе отсутствует как
описание работы/настройки Линукса как IPX сервера и/или клиента, так и
описание работы/настройки Линукса для работы клиентом/сервером в среде
Windows'3.11,96, NT посредством SAMBA. Здесь я рассказываю о подключении
Линукса к Интернету через модем, основе настройки локальной сети. Позже сюда
будут включены FAQ по установке/настройке DNS, Sendmail, SAMBA, ppp сервера,
подключение локалки к Инет посредством простого dial-up и наличия 1-го IP
адреса. По идее этот раздел должен быть наиболее емким и информативным, но у
меня нет сейчас возможности, да впрочем, и желания писать текстуху размером
кил на 250-350.
Итак: Для работы с сетью вам понадобяться диски N. Сначала я
об'ясню, как настроить подключение машины к Инет по PPP, потом - локалка.
Нам понадобиться создать 3 файла: файл, пускающий pppd с нужными
параметрами, файл, обеспечивающий чат с той стороной для получения
ppp-сеанса, то есть введение username, password и т.д., и файл с самим
скриптом Логина.Итак: Назовем файлик 1 - ppp-up, файлик 2 - ppp-up-dialer,
файлик 3 - script. Pасположим 1-ый в /usr/sbin, 2 и 3-ий в /etc/ppp
Названия девайсов для ком-портов:
--- Begin Cut: ppp-up.sample ---
--- Begin Cut: ppp-up-dialer ---
Третий файлик - скрипт, основа построения фразы типа ПОСЫЛАЮ-ЖДУ,
разделенные табами. Привожу примерный вариант. Проверить работоспобобность
скрипта можно фразой: chat -vf /etc/ppp/script Все будет выводиться/читаться
на текущую консоль, поэтому на фразу ATZ вы должны набрать OK. И т.д.
--- Start Cut: script ---
Каждый файл/директория в Линуксе принадлежит владелецу/группа
владельца. Атрибуты файла раздельны для владельца файла, для пользователей
той же группы, что и владелец, для всех остальных. В каждой из категорий
могут присутствовать/отсутсвовать права на чтение/запись/запуск файла. После
редактирования нам нужно присвоить файлам 1 и 2 атрибут на запуск для всех
категорий пользователей - 'chmod a+x /usr/sbin/ppp-up /etc/ppp-up-dialer', а
третьему файлу - права на чтение для владельца и группы владельца - 'chmod
ug+r /etc/ppp/script'. Ето еще не все. После этого у нас уже будет
устанавливаться ppp-соединение. Нам нужно, чтобы к моменту установки
соединения в таблице маршрутизации пакетов не было маршрута по умолчанию,
ибо при его наличии мы не сможем маршрутизировать исходящие пакеты наружу.
Для этого надо посмотреть файлик /etc/rc.d/rc.inet1, в котором происходит
первоначальная настройка сетевых интерфейсов при загрузке. Надо
закоментировать символом '#' строчку содержащую фразу типа '/sbin/route add
default ......'. Проверяем, правильно ли настроен у нас DNS - файл
/etc/resolv.conf должен содержать минимум одну строчку nameserver. Строчка с
DNS провайдера должна стоять _ПЕРВОЙ_. В моем случае - у меня DNS провайдера
- 193.124.5.34, а еще есть локальный DNS, обслуживающий мою локальную сеть.
Вот мой файл:
--- Begin Cut: /etc/resolv.conf ---
То есть. По умолчанию запрос уходит наверх к провайдеру, но если
запрос касаеться зоны leopard.ru, в которой собственно, и находиться моя
локалка - запрос отправляеться на DNS с именем localhost. Если у вас есть
лоскальный DNS, то его можно настроить таким образом, чтобы все вопросы, на
которые он сам не смог ответить, он отсылал наверх. В таком случае первая
строчка приведенного выше файла становиться бессмысленной.
Поддержка PROXY - только на уровне клиента. Текстовые утилитки для
работы с Инет - telnet, ftp, lynx (http/ftp text-only browser). Могу дать
также Нетскапу под Иксы. Если вы в локалке, и ваша локалка работает с Инет
через вас, имеет смысл поставить локальный PROXY-сервер. Таковой у меня
есть. Также выдаю по запросам в виде исходников. Как видите, опять нужны
диски D.
Вся сеть работает через Линуксовые сетевые интерфейсы, которые
настраиваються на 3-х уровнях: Должна быть поддержка соответствующего железа
самим ядром. Имеено на этом уровне и создаеться интерфейс. Второй уровень -
настройка Интерфейса: Установка IP-адреса, маски подсети и т.д. Делаеться с
помощью утилитки ifconfig. Третий уровень - настройка маршрутизации. Может
быть как статическим (как правило для сетей с 2-50 машин), так и
динамическим. Я буду рассматривать только статический рутинг. Делаеться с
помощью утилитки route. Напоминаю, что доку на англицком о 70% прог можно
посмотреть по 'man prog_name'. Итак. Я предполагаю, что у вас 1 сетевая
карта, известная под интерфейсом eth0, для работы в локалке вы выбрали
подсеть класса C 192.168.210.*, Линукс также используеться для выхода в
Инет.
Итак: поддержка ядром. Допустим карточка 16-ти битная NE2000
совместимая, настроена на IO=0x300, IRQ=10. Если карточка настроена на
IO=0x300, то ядро ее сечет сразу. Иначе вам необходимо при загрузке сказать,
что ether=irq,io,eth0 при условии, что поддержка сетевухи в ядре. Если
поддержка в виде модуля(как у меня), то вам достаточно отредактировать свой
/etc/rc.d/rc.modules, где добавить к строке, грузящей модуль карты, фразу
io=0x??? irq=?.
Настройка Интерфейса. Предлагаю как адрес вашей машины
зарезервировать адрес 192.168.210.1. Как я уже упоминал, для начальной
настройки интрейфейсов и рутинга в момент загрузки есть скрипт
/etc/rc.d/rc.inet1. Даю свой вариант, вы можете поправить по желанию, дабы
он отражал ваши условия.
--- Begin Cut: /etc/rc.d/rc.inet1
Если вы обратили внимание, то в том же файле я при загрузке системы
также настраиваю и маршрутизацию, ибо у меня она не сложна. После этого выша
машина уже будет полностью доступна по сети. По умолчанию у вас работают
сервисы ftp, telnet, smtp, http, pop3, exec, talk, rsh, rlogin. Все
остальное надо ставить или настраивать. Про дополнительтные сервисы - в
отдельной текстухе.
Почти полностью эта глава состоит из RU.LINUX-FIDO.FAQ.
В конце его вы найдете мои комментария/пометки/пожелания/рекомендации.
А теперь мои комментарии. Причем в единственном экземпляре. На
данном этапе вам _РЕАЛЬНО_ поставить только ifmail. Толковая звонилка есть
- БИНК под Линукс. Но пока он _КРАЙНЕ_ глючен. Я работаю над патчем к нему,
дабы довести его до ума. Если есть желающие - милости просим, ибо монстр еще
тот. :(( По поводу тоссинга - я предполагаю, что вы начали работать с
Линуксом, когда начали читать сей текст. Я же пытался увязать ifmail+INN в
течении 1,5 месяцев. Только после этого мне это более менее удалось. Вы
врядли начнете гейтовать эхи в инет одновременно с установкой Линукса,
поэтому я рекомендую поставить qecho, но не ту, что упоминалась в FAQ, а
ту, что умнеe, ибо даже патченый вариант, написанный 2:478/13, крайне
глюкав. Мне на основе его КуЭхи удалось создать более-менее приличный
тоссер+читалку. Недавно появился Голдед под Линукс, поэтому я сейчас
приворачиванием JAM'а к КуЭхе, дабы пользовать Дед. Опять же, помощь
приветствуеться. Соответственно, готов выдать уже патченый вариант Куэхи и
ифмыла, который я пользую _ТОЛЬКО_ как звонилку.
Глава 5.
Поддержка сетей под Линуксом.
5.1 Настройка ppp.
5.2 Настройка локалки.
Глава 6.
Поддержка ФИДО в Линуксе.