|
Debian FAQ.Часто задаваемые вопросы при работе с Linux и дистрибутивом Debian.Patch level 14, 11 октября 1998, 14:30. Авторские праваАвтором является Виктор ВислобоковFidonet: 2:5054/69.34@Fidonet.org ЗамечанияБлагодарностиКосте Кудрину (2:5054/69@Fidonet.org) за патч к вопросу 6.2 за большую помощь в вопросе 2.7 и за моральную поддержку.Алексею Выскубову (2:5030/5.914@Fidonet.org) за справедливую критику и вопрос 4.4. Leon B. Kanter (2:465/148.1@Fidonet.org) за вопрос 6.1 Максиму Лобашову max@t37.nevod.perm.su за замечание к вопросу 2.1. Перечень вопросов, на которые даны ответы в данном FAQMOD - Ответ на вопрос изменен или дополненNEW - Новый вопрос
Что такое Debian?Debian это один из дистрибутивов Linux (UNIX подобной сетевой операционной системы).Чем отличается Debian от других дистрибутивов Linux?Форматом пакетов и программой которая обслуживает данные пакеты, процедурой инсталляции. Кроме того есть отличия и в структуре каталогов, и в месте расположения конфигурационных файлов. Кроме того в Debian'е сделана попытка подогнать все под UNIX'овый стандарт System V.Самое мощное отличие - это конечно пакеты. Теперь в них включается контрольная информация зависимости одних пакетов от других, комментарии к пакету, информация о сервисе, который предоставляет пакет. Кроме того в пакете имеются сценарии, что позволяют произвести настройку пакета сразу после установки и кроме того произвести обновление старой версии пакета на новую при сохранении конфигурационных файлов. В Debian 2.0 появилась новая команда для работы с пакетами. Теперь вы можете снять уже поставленный пакет. Это значит, что вы можете из установленных файлов пакета снова сделать .deb пакет. Какими способами можно установить Debian?В Debian 2.0 появилась новая утилита dpkg-http которая позволяет ставить пакеты через HTTP. Какая версия Debian'а на сегодня самая свежая?24 июля был официально выпущен Debian 2.0, который имеет название Hamm. Хотя версия считается стабильной, дальнейшая работа по выявлению и устранению ошибок продолжается.По моим впечатлениям дистрибуция Debian 2.0 продумана хуже, чем у Debian 1.3.1: недоложены многие нужные пакеты, уже есть сообщения о багах в процедуре инсталляции дистрибутива. Как мне сделать собственный .deb пакет?Я рассмотрю здесь простой способ, основанный на ручной сборке пакета, без использования специфических утилит типа deb-make и других.Для начала, вы должны иметь, то что вам нужно установить с помощью собираемого вами пакета. Путь это будет какая-либо утилита, расширяющие возможности системы. (С тем же успехом - это могут быть дополнительные файлы шрифтов или еще что-нибудь). Пусть эта утилита назвается probe. Положим, что к этой утилите вы написали страничку руководства man с названием probe.1 и кроме того положим, что есть какой-либо файл, где разобран пример работы с данной утилитой с именем example. Путь файл с примером и страничка руководства называются сопровождающими файлами. Важно, чтобы вы представляли, где должна быть размещена эта утилита и сопровождающие ее файлы. Обычно исполняемые файлы размещают в /usr/bin. Странички руководства man размещают в /usr/man/man.1, а всякие примеры в /usr/lib/<имя утилиты>. Пусть так будет и в нашем случае. Итак, выполняем следующие шаги:
Не правда ли все это довольно просто. Вы можете пойти дальше, создав свое собственное дополнение к стандартному дистрибутиву в стиле Debian и подключать его через каталог local в программе dselect. Однако создание такого дополнения, с генерацией файла Packages будет посложнее. По этому я настоятельно рекомендую вам почитать страницы руководства man с названиями: dpkg(8), dpkg-deb(1), deb-control(5) и dpkg-scanpackages(8). Что нужно сделать, чтобы в текстовом режиме можно было читать и писать по-русски?Для этого вы должны получить права суперпользователя (root), либо зарегистрировавшись в системе как root, либо выполнив команду su.Вашему вниманию предлагается маленький сценарий, который должен быть помещен в /etc/init.d под именем russian и который является необходимой частью русификации текстового режима: #---------------------------------------------------- # russian #---------------------------------------------------- # Set leds and META for terminals for t in 1 2 3 4 do setleds -num </dev/tty$t >/dev/null done # Load russian fonts echo -e " \033[1;34;47m Loading Russian Font \033[36;40m" setfont Cyr_a8x16 >/dev/null 2>/dev/null # Load russian keys echo -e " \033[1;37;44m Loading Russian Keys \033[36;40m" loadkeys ru1.map >/dev/null 2>/dev/null # Map screen echo -e " \033[1;33;41m Loading Map Screen \033[36;40m" mapscrn koi2alt > /dev/null 2>/dev/null # Enable mapping on tty for t in 1 2 3 4 do echo -e "\033(K" >/dev/tty$t echo -e " \033[0;30;42m Enable mapping on \033[0;31;42m /dev/tty$t \033[0;36;40m" done #---------------------end of file-----------------------Не могу не упомянуть ценное замечание Максима Лобашова. Оно заключается в том, что данный выше сценарий расчитан на русификацию только первых четрых консолей. Однако обычно при установке дистрибутива устанавливается шесть консолей. И таким образом две оставшиеся русифицированны не будут. Однако это можно легко поправить - добавте цифры в строке с for например так: for t in 1 2 3 4 5 6и проблемы решаться. После установки сценария вы должны сделать ссылки на этот файл из каталогов, содержащих сценарии, выполняемые при установке уровня запуска (run level) системы командой init. Это каталоги /etc/rc*.d. Многопользовательскому режиму работы системы соответствует каталог /etc/rc2.d. Когда вы переместитесь туда, то увидите, что в нем уже есть множество ссылок, каждая из которых имеет имя, начинающееся с буквы ``S'', за которой следует цифра. Ссылки указывают на исполняемые файлы в каталоге /etc/init.d. Вам нужно создать ссылку на /etc/init.d/russian, при этом для нашего случая нужно выбрать номер после ``S'', который бы был постарше. У меня например это 88 (файлы выполняются по старшинству - более малые номера выполняются раньше). Итак делаем ссылку, находясь в каталоге /etc/rc2.d: ln -sf /etc/init.d/russian S88russianЧтобы этот сценарий выполнился вам нужно перегрузить машину, или перезапустить систему в многопользовательском режиме. Однако не торопитесь. Сперва создайте у себя в домашнем каталоге файл .inputrc (я рассматриваю случай, когда в качестве shell'а используется bash - обычно он и устанавливается по умолчанию при инсталляции системы) который я привожу ниже: set meta-flag On set convert-meta Off set output-meta On "\e[1~": beginning-of-line "\e[3~": delete-char "\e[4~": end-of-line "\e[C": forward-char "\e[D": backward-char "\e[A": previous-history "\e[B": next-historyблагодаря этому файлу вы сможете набирать в shell'е русские буквы, в противном случае вместо них будет писк в динамике. Если в системе уже существует несколько пользоватлей, то не забудьте поместить этот файл в их домашние каталоги и сделать его доступным для чтения этим пользователям. Кроме того я очень рекомендую поместить данный файл в каталог /etc/skel, тогда при создании новых пользователей он будет помещен к ним в домашние директории автоматически. Далее переместитесь в директорию /etc и найдите там файл profile. Это файл, который выполняется при регистрации любого пользователя в системе. Загрузите любой редактор (мне, например, очень нравится joe) и добавте в этот файл следующие строки: export LANG=ru_RU export PAGER=less export LESSCHARSET=koi8-rПеременная LANG говорит системе о региональных установках (это работает пока криво, но лучше так, чем никак). Переменная PAGER определяет программу, которая будет показывать вам текст при вызове man (по умолчанию устновлено more).less более мощная программа, озволяющая использовать для перемещения по тексту стрелки, клавиши PgUp, PgDn, а также поиск образца в тексте и т.д. Переменная LESSCHARSET нужна программе less для корректного вывода русских букв в кодировке KOI-8. Теперь вы можете перегрузить машину или перезапустить систему в многопользовательском режиме.
init Sкоторая перегрузит систему в однопользовательский режим, и после выдачи сообщения Give root password for maintenance (or type Control-D for normal startup):нужно нажать Ctrl-D, что приведет к загрузке системы в многопользовательском режиме. После перезагрузки,до выдачи приглашения к регистрации в системе (login) вы должны увидеть изображение российского флага на каждом из цветов которого будет запись о загрузке определенного сервиса. Если этого не будет, то посмотрите внимательно все ли вы сделали как было указано выше. Если изображение появилось, то после регистрации в системе при нажатии на правый Alt вы сможете вводить русские буквы. Как сделать так, чтобы в моем mc (Midnight Commander) были видны русские буквы и чтобы я мог их там набирать, а то лезет всякая ерунда?Сначала нужно включить работу с восьмью битами.Для этого нажмите F9 затем выберите Option, далее Display bits и наконец Full 8 bit. Не забудте потом сохранить эту конфигурацию. Далее нужно выйти из mc и запустить его снова с параметром -m. Если не работает, то значит у вас криво собранный mc. Далее, чтобы вам каждый раз не маятся с указанием параметра введите:alias mc="mc -m"Данную строчку можно потом поместить в файл .profile в домашнем каталоге или в /etc/profile. Замечу однако, что для просмотра файлов с русским текстом, имеющих в качестве расширения цифры или ``.man'' этого мало. Вместо русского текста в таких случаях вы можете увидеть мусор. Это связано с тем, что такие файлы трактуются mc как файлы, содержащие гипертекст, на языке groff. Для просмотра таких файлов mc вызывает форматер текста с этого языка: nroff, с параметром -Tascii. Наша с вами беда состоит в том, что в этом ascii русских букв нет. Нужно сделать следующее. Переместиться в каталог /etc/mc и в файле mc.ext с помощью редактора заменить все строки -Tascii на -Tlatin1. В заключении скажу, что Midnight Commander версии старше 4.0 не поддерживает опцию -m, а поддержка русского языка включается Options->Display bits->Full 8 bit + 8 bit input. Кроме того недавно вышла версия 4.1.35, которая имеет русифицированные меню и диалоги. Как получить возможность вводить и читать русские буквы в X Window?Перво наперво, когда будете пользоваться программой XF86Setup, где вам предложат установить русскую клавиатуру,не обольщайтесь, это рассчитано на оптимистов. Конечно, есть специалисты, которые довели до ума и этот вариант, но они использовали самодельные прилады и таблицы, которых в стандартном дистрибутиве просто нет. То что там есть, увы не работает. По этому я предлагаю вам старый добрый вариант проверенный на X Window версий 3.1, 3.2 и 3.3. Естественно русификацией нужно заниматься после того как вы настроите запуск X Window и нужные видеорежимы, а также после установки русских шрифтов (пакет fntcyr) и устанвки и настройки какого-нибудь менеджера окон (например fvwm). Итак правим файл /etc/X11/XF86Config (вы будете смеятся, но я обнаружил, что в Debian'е 1.2.7 от Mo'Linux этот файл ни что иное как .bak файл нужного нам XF86Config, который находился в /usr/X11R6/lib/X11). Убедитесь, что один из FontPath указывает на каталог с русскими шрифтами (обычно это /usr/X11R6/lib/X11/fonts/cyrillic). Далее в секции Keyboard закоментарьте все строки, где параметры начинанаются с ``Xkb''. После всех этих строк напишите:XkbDisableЗатем в каталоге /etc/X11 поправте файл Xmodmap. Он пустой, но вы должны наполнить его следующими строками: keycode 0x71 = Mode_switch keysym 0x71 = Alt_R keycode 78 = Scroll_Lock add mod3 = Mode_switch add mod3 = Scroll_Lock keycode 22 = BackSpace keycode 107 = Delete keysym 4 = 4 dollar 4 quotedbl keysym 5 = 5 percent 5 colon keysym 6 = 6 asciicircum 6 comma keysym 7 = 7 ampersand 7 period keysym q = q Q 0xCA 0xEA keysym w = w W 0xC3 0xE3 keysym e = e E 0xD5 0xF5 keysym r = r R 0xCB 0xEB keysym t = t T 0xC5 0xE5 keysym y = y Y 0xCE 0xEE keysym u = u U 0xC7 0xE7 keysym i = i I 0xDB 0xFB keysym o = o O 0xDD 0xFD keysym p = p P 0xDA 0xFA keysym bracketleft = bracketleft braceleft 0xC8 0xE8 keysym bracketright = bracketright braceright 0xDF 0xFF keysym a = a A 0xC6 0xE6 keysym s = s S 0xD9 0xF9 keysym d = d D 0xD7 0xF7 keysym f = f F 0xC1 0xE1 keysym g = g G 0xD0 0xF0 keysym h = h H 0xD2 0xF2 keysym j = j J 0xCF 0xEF keysym k = k K 0xCC 0xEC keysym l = l L 0xC4 0xE4 keysym semicolon = semicolon colon 0xD6 0xF6 keysym apostrophe = apostrophe quotedbl 0xDC 0xFC keysym grave = grave asciitilde 0xA3 0xB3 keysym z = z Z 0xD1 0xF1 keysym x = x X 0xDE 0xFE keysym c = c C 0xD3 0xF3 keysym v = v V 0xCD 0xED keysym b = b B 0xC9 0xE9 keysym n = n N 0xD4 0xF4 keysym m = m M 0xD8 0xF8 keysym comma = comma less 0xC2 0xE2 keysym period = period greater 0xC0 0xE0Теперь для правильного понимания в X Window клавиши Del поправте файл Xresources в этом же каталоге. Закоментарьте там все. Ну а теперь можно запускать X Window вашим любимым способом. Чтобы проверить, что получилось запустите Xterm или Rxvt с параметром -fn <полное_имя_русского_шрифта> (В полном имени не должно быть никаких ``*'', все должно быть задано. См. файл font.dir в каталоге /usr/X11R6/lib/X11/fonts/cyrillic). После того как окно появится введите для пробы несколько английских букв, а затем нажмите Scroll Lock (должна загорется лампочка) и вводите русские буквы. Если ничего не вводится значит вы плохо выполнили инструкции по XkbDisable. Если вместо русских букв выводятся греческие значит вы задали неправильный шрифт для терминала в параметре -fn. Хочу отдельно повесилится над Debian 2.0. В нем вы можете заставить работать Xkb без особого труда: в XF86Setup нужно поставить русскую клавиатуру и выбрать переключатель. Затем нужно совместить значения переменной окружения LANG с значением ru_RU.KOI8-R в файле /usr/X11/lib/X11/locale/locale.alias и вы получите возможность работать с русскими буквами. Однако самое смешное, что эти русские буквы будут вводится у вас только в xterm или rxvt, а в остальных программах вы не сможете их ввести (проверенно в Netscape, gzilla и некоторых других). Я даже представить себе не могу какими соображениями руководствовались разработчики Debian'а, когда делали нам такой "подарок". Вывод из сказанного один - пользуйтесь Xmodmap, как описано выще, а Xkb давайте только одну команду: Xkbdisable. Как заставить писать по русски мой любимый редактор joe?В директорию /etc/joe положить файлы из архива joe28rus.tar.gz (имейте ввиду, что все это делалось для joe версии 2.8).В этом архиве дан русифицированный файл ресурсов и база termcap, которую joe использует при работе с терминалом. База была настроена на два типа терминалов: linux - для корректной работы в текстовом режиме и xterm - для корректной работы через rxvt (эмулятор терминала в X Window). В файл ресурсов добавлены такие устновки фукциональных клавиш как: F1 - Помощь F2 - Записать F3 - Открыть F7 - Искать F6 - Искать следующий F10 - Выход с записьюФормат директив там простой,по этому если чего еще сами захотите сделать - разберетесь. Захотел прочитать текстовый файл на русском языке, который я сделал в DOS'е, а там русских букв нет, вместо них почему-то псевдографика. Каким образом можно прочитать текстовые файлы из DOS'а?В операционной системе DOS используется альтернативная кодировка русских букв. В UNIX'ах и в Linux используется кодировка KOI-8. Для того чтобы работать с тектовыми файлами на русском языке в Linux можно либо настроить Linux так, чтобы он работал в альтернативной кодировке как DOS, а можно перекодировать файл из альтернативной кодировки в KOI-8.Первый способ я рассматривать не буду, поскольку обычно так не принято в кругу людей, работающих в UNIX'ах - это дурной тон, хотя возможно кое-кто со мной и не согласится. Что касается второго способа, то предлагаю вашему вниманию два перекодировщика, написанные на shell'е с использованием стандартных команд системы. Автор этих перекодировщиков мне не известен файл altkoi8#!/bin/sh # ----------------------------------------------------------------- # altkoi8 - перекодировщик из альтернативной кодировки в KOI-8 # ----------------------------------------------------------------- tr \ '\240''\241''\242''\243''\244''\245''\246''\247''\250'\ '\251''\252''\253''\254''\255''\256''\257''\340''\341'\ '\342''\343''\344''\345''\346''\347''\350''\351''\352'\ '\353''\354''\355''\356''\357''\200''\201''\202''\203'\ '\204''\205''\206''\207''\210''\211''\212''\213''\214'\ '\215''\216''\217''\220''\221''\222''\223''\224''\225'\ '\226''\227''\230''\231''\232''\233''\234''\235''\236''\237''\304' \ '\301''\302''\327''\307''\304''\305''\326''\332''\311'\ '\312''\313''\314''\315''\316''\317''\320''\322''\323'\ '\324''\325''\306''\310''\303''\336''\333''\335''\337'\ '\331''\330''\334''\300''\321''\341''\342''\367''\347'\ '\344''\345''\366''\372''\351''\352''\353''\354''\355'\ '\356''\357''\360''\362''\363''\364''\365''\346''\350'\ '\343''\376''\373''\375''\377''\371''\370''\374''\340''\361''_' | tr -d '\r' #вот эта фигня предназначена исключительно для того, #чтобы полностью подогнать формат доса к unix - это #аналог флага -t в команде mcopy,mwrite,mread. файл koi8alt#!/bin/sh # ----------------------------------------------------------------- # koi8alt - перекодировщик из KOI-8 в альтенативную кодировку # ----------------------------------------------------------------- tr \ '\301''\302''\327''\307''\304''\305''\326''\332''\311''\312''\313'\ '\314''\315''\316''\317''\320''\322''\323''\324''\325''\306''\310'\ '\303''\336''\333''\335''\337''\331''\330''\334''\300''\321''\341'\ '\342''\367''\347''\344''\345''\366''\372''\351''\352''\353''\354'\ '\355''\356''\357''\360''\362''\363''\364''\365''\346''\350''\343'\ '\376''\373''\375''\377''\371''\370''\374''\340''\361' \ '\240''\241''\242''\243''\244''\245''\246''\247''\250''\251''\252'\ '\253''\254''\255''\256''\257''\340''\341''\342''\343''\344''\345'\ '\346''\347''\350''\351''\352''\353''\354''\355''\356''\357''\200'\ '\201''\202''\203''\204''\205''\206''\207''\210''\211''\212''\213'\ '\214''\215''\216''\217''\220''\221''\222''\223''\224''\225''\226'\ '\227''\230''\231''\232''\233''\234''\235''\236''\237' | sed -e s/$/ / #подстановка cr в конец строки для глупого позорного #msdos - сильно замедляет работу программы, но ничего #другого с ходу не придумал. осторожнее с символом # - нет у меня толкового описания sed - приходится так. #еще раз - у меня red показывает курсор со звездой внутри и #букву MСразу оговорюсь. В настоящее время имеются 2 или 3 "стандарта" KOI-8. Расположение русских букв в них совпадает, но отличается расположение символов псевдографики. Так что если у вас при перекодировке возникнут проблемы с псевдографикой, то... Видя живой интерес начинающих к перекодировщикам я помещаю здесь еще два: из Win1251 в Koi8-r и обратно, написанных на Perl файл win2koi8#!/usr/bin/perl -p tr/\0\1\2\3\4\5\6\7\10\11\12\13\14\15\16\17\20\21\22\ 23\24\25\26\27\30\31\32\33\34\ 35\36\37\40\41\42\43\44\45\46\47\50\51\52\53\54\55\ 56\57\60\61\62\63\64\65\66\ 67\70\71\72\73\74\75\76\77\100\101\102\103\104\105\ 106\107\110\111\112\113\ 114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\ 136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\ 160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\ 202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\ 224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\ 246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\ 270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\ 312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\ 334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\ 356\357\360\361\362\363\364\365\366\367\370\ 371\372\373\374\375\376\377/\ 0\1\2\3\4\5\6\7\10\11\12\13\14\15\16\17\20\21\22\23\24\ 25\26\27\30\31\32\33\34\ 35\36\37\40\41\42\43\44\45\46\47\50\51\52\53\54\55\56\ 57\60\61\62\63\64\65\66\ 67\70\71\72\73\74\75\76\77\100\101\102\103\104\105\ 106\107\110\111\112\113\ 114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\ 136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\ 160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\ 202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\ 224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\ 246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\ 270\271\272\273\274\275\276\277\341\342\367\347\344\345\366\372\351\352\ 353\354\355\356\357\360\362\363\364\365\346\350\343\376\373\375\377\371\ 370\374\340\361\301\302\327\307\304\305\326\332\311\312\313\314\315\316\ 317\320\322\323\324\325\306\310\303\336\333\335\ 337\331\330\334\300\321/; файл koi8win#!/usr/bin/perl -p tr/\0\1\2\3\4\5\6\7\10\11\12\13\14\15\16\17\20\21\22\ 23\24\25\26\27\30\31\32\33\ 34\35\36\37\40\41\42\43\44\45\46\47\50\51\52\53\54\ 55\56\57\60\61\62\63\64\ 65\66\67\70\71\72\73\74\75\76\77\100\101\102\103\ 104\105\106\107\110\111\ 112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\ 134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\ 156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\ 200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\ 222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\ 244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\ 266\267\270\271\272\273\274\275\276\277\341\342\367\347\344\345\366\372\ 351\352\353\354\355\356\357\360\362\363\364\365\346\350\343\376\373\375\ 377\371\370\374\340\361\301\302\327\307\304\305\326\332\311\312\313\314\ 315\316\317\320\322\323\324\325\306\310\303\336\333\335\337\331\330\334\ 300\321/\0\1\2\3\4\5\6\7\10\11\12\13\14\15\16\17\20\21\22\ 23\24\25\26\27\30\31\ 32\33\34\35\36\37\40\41\42\43\44\45\46\47\50\51\52\53\54\ 55\56\57\60\61\62\63\ 64\65\66\67\70\71\72\73\74\75\76\77\100\101\102\103\104\ 105\106\107\110\111\ 112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\ 134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\ 156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\ 200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\ 222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\ 244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\ 266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\ 310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\ 332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\ 354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\ 376\377/; Почему у меня программа для работы с электронной почтой elm говорит Unknown charset, когда я пишу письма на русском языке? Как с этим бороться?Дело опять таки в русификации.
Как заставить Netscape Navigator показывать русские буквы в кодировках KOI-8 и CP1251?Этот вопрос неизменно занимает сегодня умы многих начинающих. Несмотря на некоторое количество достаточно древних решений этот вопрос поднимается снова и снова. Ответ на него таков: на данный момент русифицировать Netscape Navigator корректно невозможно. Однако есть несколько хитрых приемов, которые хотя и не являются 100% корректными, но тем не менее позволяют вам добится тех целей, которые ставит перед нами данный выше вопрос. Что же касается корректной русификации, то будем надеятся, что в скором времени она появится благодаря тому, что Netscape начинает распостранять свои исходники бесплатно. Однако владельцам старых версий все равно придется жить по старому. Начнем с кодировки KOI-8. Здесь особых проблем быть не должно. В дистрибутив входят кирилистрические (русские) шрифты для X Windows, которые вам нужно установить перед тем как мы продолжим. Пакет с этими шрифтами называется в Debian 1.3 xfntcyr_3.3-3.deb и находится в секции x11. Естественно, что версия пакета может отличаться от приведенной мной. Итак, установите данный пакет командой dpkg -i xfntcyr_3.3-3.debПосле чего поправте файл /etc/X11/XF86Config. В этом файле вам нужно найти слова Section "Files" и в этой секции добавить строчку вида FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"Это нужно, чтобы X Windows "увидела" ваши свежеустановленные шрифты. Затем, вам нужно перезапустить X Windows если вы уже находитесь там и запустить X Windows, в противном случае. Это нужно для того, чтобы X Windows при запуске перечитала файл конфигурации /etc/X11/XF86Config куда вы внесли изменения. Теперь, когда запуск X Windows произошел, вы можете запустить Netscape Navigator. Зайдите в меню Options, затем General Preferences и наконец в Fonts. Выберите среди доступных кодировок Cyrillic(koi8-r), а затем установите для ее отображения какие-нибудь cronyx шрифты: рекомендую Helvetica и Courier. Далее выйдите из меню настроек и зайдите в Options в подменю Document Encoding. В этом подменю выберите Cyrillic(KOI8-R). Теперь Netscape Navigator должен показывать вам русские буквы на страничках в кодировке KOI-8. Но здесь есть некоторые замечания, о которых читайте ниже. С кодировкой CP1251 будет посложнее. Во-первых, в дистрибутивах шрифты для X Windows в этой кодировке просто отсутствуют и вам их потребуется где-то достать. Правда для вас я подготовил Debian'овский пакет с этими шрифтам и вы можете его взять прямо отсюда, если нажмете на xfnt1251_1.1-1.deb. Если по какой-то причине вам не понравятся эти шрифты или этот пакет, то ищите их в Internet'е. Далее вы проделываете те же манипуляции с установкой пакета, правкой файла /etc/X11/XF86Config и перезапуском (или запуском) X Windows как и для случая с кодировкой KOI-8. Так же как и в случае с KOI-8 вы должны затем запустить Netscape Navigator, зайдити в меню Options, затем General Preferences и наконец в Fonts. Но вот здесь начинаются различия. Среди доступных кодировок вам нужно выбрать User defined, так как создатели Netscape Navigator не предусмотрели в меню наличия кодировки CP1251. Для кодировки User defined (при условии установки пакета xfnt1251_1.1-1.deb) выберите какие-либо iccm шрифты. Далее выйдите из меню настроек и зайдите в Options в подменю Document Encoding. В этом подменю выберите User defined. Теперь Netscape Navigator должен показывать вам русские буквы на страничках в кодировке CP1251. Но здесь есть некоторые замечания, о которых читайте ниже. Финальной частью установки шрифтов как для KOI-8 так и для CP1251 является сохранение опций: зайдите в меню Options и выберите Save Options. Если вы этого не сделаете, то при следующем запуске Netscape Navigator вам придется задавать шрифты для кодировок и Document Encoding заново.
А почему, когда я работаю под X Window в эмуляторе терминала rxvt мой mc (Midnight Commander) при нажатии клавиш Home и End вместо перемещения по каталогу выдает мусор вида 1~ и 4~? Как сделать, чтобы все было нормально?Дело в криво скомпиленой базе по настройками терминала terminfo. Из-за нее mc неправильно воспринимает в rxvt нажатые клавиши.
У меня на первом винте стоит Linux но есть и второй винт, на котором стоит DOS, как мне добится чтобы LILO грузил мне DOS?Если вы хотите грузить операционную систему с винта отличного от Master на первом IDE порту, то вам необходимо определить так называемый chain загрузчик для этого винта. Вот пример файла /etc/lilo.conf, в котором прописана загрузка Linux с Master винта, а DOS со Slave.# устройство откуда берется LILO boot=/dev/hda # раздел, где находится главная(корневая) файловай система root=/dev/hda1 # спецификация compact работает не везде compact # определяет нормальный текстовый режим 80x25 # можно задать слово ask, чтобы при загрузке спрашивало # номер видеорежима. Можно просто подставить цифру # видеорежима vga=normal # при prompt выдается приглашение boot: и ожидается # ввод метки для выбора операционной системы на # загрузку или Enter для загрузки первой по порядку. # Можно определить delay Говорят, что якобы можно грузить Linux напрямую из DOS'а не пользуясь LILO. Это действительно так? Если да, то как это сделать?Действительно вполне можно загружать Linux из DOS'а, хотя такой метод и не пользуется популярностью, так как из-за ненадежности файловой системы FAT у DOS'а и подверженности ее влиянию вирусов вы можете испортить файлы, необходимые для загрузки.
rdev vmlinuz /dev/hda1чтобы ядро после загрузки знало, где ваша корневая (главная) файловая система (/), затем rdev -R vmlinuz 1что установит флаг первоначального монтирования файловой системы как read-only, что необходимо программе fsck для проверки файловой системы, затем можно (но не обязательно) rdev -v vmlinuzдля установки текстового видеорежима, отличного от стандартного 80x25, где n - это номер режима. После выполнения данных действий положите файл vmlinuz вместе с loadlin.exe куда-нибудь на диск DOS. Для загрузки, в DOS'е достаточно переместится в тот каталог, где находятся эти два файла и ввести команду: loadlin vmlinuz У меня стоят три менеждера окон к X Window. Куда мне прописать чтобы грузился fvwm95?В Debian'е запуск менеджера окон осуществляется на основании файла /etc/X11/window-managers. Запустится тот менеджер окон, чей вызов указан первым. У меня например это выглядит так:/usr/local/bin/fvwm95 /usr/bin/X11/twmпри старте X Window запускается fvwm95. Как соединятся с провайдером для выхода в Internet через модем, по протоколу PPP?Для начала, если ядро у вас собрано без поддержки протоколов PPP и SLIP вам нужно собрать его заново с поддержкой этих протоколов. Как собирать ядро описано в этом же FAQ. См. список вопросов. Еще недавно я бы сказал, что готовой программы нет, но как раз недавно я нашел таковую. В ней был маленький и досадный глюк, но я его пофиксил. Более того, специально для дистрибутива Debian я сделал пакет, который вы можете забрать прямо отсюда и который называется pppsetup-1.43-1.deb. Итак, забирайте пакет и устанавите его командой dpkg -i pppsetup-1.43-1.deb После установки пакета запустите команду pppsetup находясь в режиме суперпользователя root и честно ответьте на все вопросы. После того как программа закончит свою работу вы будете готовы к соединению со своим провайдером. Соединение осуществляется командой ppp-go. В процессе работы эта программа показывает процесс набора номера и соединения. Если появится сообщение YES! you are connectedто соединение успешно установлено и вы можете запускать ваше любимое программное обеспечение для работы с Internet, например Netscape. Если же вы такого сообщения не получили или получили сообщение NO! you are not connectedто соединение у вас не получилось. Почему? Вопрос нетривиальный и ответов на него может быть довольно много. Поэтому здесь я вам помоч не могу. Если же вы поборете это сами и поймете в чем дело - не поленитесь отписать мне, дабы я включил ваше решение сюда в назидание потомкам. Однако в большинстве случаев проблем не будет. Завершение соединения с провайдером осуществляется вызовом команды ppp-off, которая убивает демон, отвечающий за связь и заставляет его положить "трубку" модема. Как вы уже поняли - это решение далеко не самое красивое. Например, можно воспользоваться diald - о чем ниже. Однако это очень простое решение, Установление соединения при помощи демона dialdПрежде всего хочу заметить, что данные здесь конфигурационные файлы могут для вас не подойти, хотя у меня они работают. Все описанное ниже дает скорее понятие о том как все это настраивать, чем конкретное готовое решение. В любом случае очень рекомендую тщательно изучить страницы руководства man по pppd и diald, а также PPP-HOWTO. Пакет diald входит в состав дистрибутива Debian, да и по моему в другие дистрибутивы тоже. Ну а если у вас все-таки его не оказалось, вы всегда можете выкачать его из Internet. После того как вы установите пакет, например, командой dpkg -i diald-0.16.4-1.debВ каталоге /etc/diald у вас появятся его конфигурационные файлы. Вам понадбится править только два из них. В файле с именем diald.options хранится конфигурация diald, а в файле с именем connect находится сценарий, который устанавливает модемное соединение, набирая номер и выполняя функции идентификации пользователя. Начнем с файла diald.options. Ниже дан в качестве примера мой: mode ppp connect "chat -f /etc/ppp/pppscript" device /dev/ttyS1 speed 19200 modem lock crtscts local 192.168.0.1 remote 192.168.0.2 netmask 255.255.255.0 impulse 120,60 dynamic defaultroute pppd-options noipdefault name "victor_v" asyncmap 0 include /etc/diald/standard.filterДанная конфигурация расчитана на использование diald с протоколом PPP с аутентификацией пользователя по протоколу PAP. Адреса local и remote даны "от балды". Так как далее используется ключ dynamic, а в параметре ppp-options задано значение noipdefault, то при установлении связи адреса удаленной машины-сервера и адреса вашей машины будут изменены на те, которые сообщит удаленная машина. Параметр device установлен в значение /dev/ttyS1, что соотвествует второму последовательному порту COM2. Вы же можете изменить это значение, если ваш модем использует другой порт. (Для COM1 будеь /dev/ttyS0 и т.п.). Параметр speed установлен в значение 19200 и означает портовую скорость. Скорость вы также должны задать ориентируясь на модем, которым вы пользуетесь. Возможные значения: 2400, 9600, 19200, 34800, 57600 и т.д. Параметр impulse установлен в значение 120,60. Это говорит о том, что diald будет проверять простаивает ли линия через каждые 2 минуты (120 сек) и будет разрывать соединение (класть "трубку" модема), если в течении 1 минуты (60 сек) линия будет продолжать простаивать. Простой линии выражается в отсутствии приема или передачи пакетов через модем. Таким образом вы экономите деньги на повременной оплате за телефон и за Internet. Излишне говорить, что вы можете настроить эти параметры под себя. Особо нужно отметить параметр connect. В данном примере он установлен в значение chat -f /etc/ppp/pppscript. Ниже приводится содержимое файл pppscript ABORT ERROR ABORT BUSY ABORT "NO CARRIER" ABORT "NO DIALTONE" REPORT "CARRIER" REPORT "CONNECT" TIMEOUT 90 "" AT&F1 "OK" ATDT900020 "CONNECT"Мне было удобнее пользоваться таким файлом, чем поставляемым с пакетом diald файлом connect. Это потому, что мой провайдер использует аутентификацию пользователей по протоколу PAP. Если же сервер у вашего провайдера настроен на ввод имени и пароля по приглашениям Login: и Password:, то вам лучше воспользоваться файлом connect. Тогда строчка с параметром connect в файле diald.options будет выглядеть так: connect "/etc/diald/connect"Файл connect хорошо задокументирован внутри и проблем с его использованием быть не должно. Вам нужно будет только поменять параметры MODEM_INIT на строку инициализации вашего модема, PHONE_NUMBER на номер телефона вашего провайдера, USER_CHAT_SEQ на строку-приглашение, которую вы получаете для ввода имени, USER_NAME на ваше регистрационное имя у провайдера, PASSWD_CHAT_SEQ на строку-приглашение, которую вы получаете для ввода пароля, PASSWORD на ваш пароль у провайдера и наконец PROMPT на строку, которую вы получаете в случае успешного ввода имени и пароля. Возможно вам придется поэкспериментировать пока у вас все получится. Для этой цели могу рекомендовать терминальную программу minicom, где вы всегда сможете установить соединение в ручную и посмотреть все строки приглашения. Следующий этап - это файл /etc/ppp/options. Ниже дан в качестве примера мой: lock defaultroute crtscts noipdefault modem asyncmap 0 debug 19200 /dev/ttyS1 name "victor_v"Здесь вроде все должно быть понятно, тем более, что часть параметров перекрывается конфигурационным файлом для diald. Замечу только, что строка name "victor_v" нужна только в случае использования протокола PAP. Для тех, у кого провайдер использует как и у меня аутентификацию пользователей по протоколу PAP будет нужен еще файл /etc/ppp/pap-secrets. Вот пример моего: # Secrets for authentication using PAP... # client server secret IP addresses "victor_v" * "password"Вместо password должен стоять ваш пароль, а вместо victor_v ваше регистрационное имя у провайдера. Кроме того, оно же прописывается как вы можете заметить и в файл /etc/ppp/options и в файл /etc/diald/diald.options. Естественно, что для тех у кого провайдер не поддерживает PAP, эти параметры в данных файлах не нужны. Далее вам необходимо настроить свою систему для использования DNS провайдера. У вас должен быть адрес DNS-сервера провайдера. Его нужно поместить в файл /etc/resolv.conf. Вот пример моего файла: nameserver 194.84.131.242 search permonline.ruгде параметр nameserver задает адрес DNS-сервера провайдера, а параметр search имя домена провайдера. Ну вот теперь кажется все. После окончания всех настроек перезапустите diald командами /etc/init.d/diald stop /etc/init.d/diald startТеперь, когда вы в Netscape или в Lynx или в mc обратитесь на адрес, который неизвестен вашей системе, diald попытается установить соединение с вашим провайдером и если это получится, то вы попадете туда куда обратились. Если у вас не получилось. Что же мне жаль. Причин может быть множество. Здесь я могу только посоветовать вам подробно изучить документацию. Как создавать и удалять новых пользователей?Добавлять командой adduser. Читайте man adduser для подробной информации. Удаляются пользователи командой deluser или при удалении информации из /etc/passwd руками в редакторе. Заметим, что также имеется команда addgroup для создания групп. Вся служебная информация по пользователям и группам хранится в файлах /etc/passwd и /etc/group (не рассматривается случай наличия shadow).Как монтировать и демонтировать файловые системы?Командами mount и umount. Читайте man mount и man umount для подробной информации. Служебная информация по автоматическому монтрованию находится в файле /etc/fstab читайте man fstab. Формат каждой записи, занимающей одну строку в файле следующий:
При архивировании командой tar получается архив, который не влазит на одну дискету. Как мне разбить такой архив по дискетам?tar поддерживает возможность разбить архив на несколько дискет. Для этого к обычной комбинации букв, которую вы используете для создания или разворачивания архива добавляется буква 'M' (большая). Пример:tar cMvf /dev/fd0 /usr/localсоздаст архив на дискете. Если места на дискете не хватит, то появится надпись: prepare volume #2 for /dev/fd0 and hit return:после чего вы можете продолжить создание архива, вставив следующую дискету и нажав Enter. Разворачивание многотомного архива производится как же как и обычного, только нужно добавить букву 'M'. Пример: tar xMvf /dev/fd0Недостаток заключается в том, что многотомные архивы со сжатием не поддерживаются. Если же необходитость в сжатии есть, то сперва нужно подготовить сплошной сжатый архив, а потом уже его разбивать по дискетам. Как обновлять софт, если у меня есть подключение к Интернету? Hеужели выкачивать новые пакеты, а потом руками ставить?Конечно, нет. В принципе, существуют два способа.Первый: Можно поставить пакет dpkg-ftp, после чего в программе dselect при выборе access method появляется ftp. Плюсы: все обычные плюсы dselect'а. Минусы: слишком большая, на мой взгляд, интерактивность :) И необходимость хорошо понимать, с какого сервера мы берем софт и где он лежит. Второй:Можно поставить пакет dftp. Работа с ним выглядит так: # dftp getnewПосле этого происходит подключение к ftp.debian.org, и оттуда выкачивается список пакетов. Через некоторое время Вы обнаружите на экране Ваш любимый редактор (кажется, тот, который /bin/vi), в котором будет открыт файл cо списком пакетов; после каждого пакета идет его описание. Строчки, начинающиеся с #, как обычно, комментарии. Соответственно, строчки, не начинающиеся с # - имена файлов, которые мы хотим выкачать. По умолчанию не будут закомментарены только новые версии уже установленных пакетов. После выхода из редактора dftp выкачает нужные пакеты и поставит их. Hадо отметить, что ставит пакеты он разумно, например, при наличии новой версии libc она ставится первой. P.S.1. Все то же самое можно сделать по шагам: dftp getlist dftp select dftp getselect dftp unpackи, при желании, dftp clean, которое удалит список пакетов и установленные пакеты (не деинсталлирует их, а удалит выкачанные). P.S.2. Многие пакеты обновляются _без смены_ номера Debian'а. Hапример, в 1.3.1. сменились такие вещи, как XFree, документация к нему, adduser, libc итп. У меня старая версия ядра, но я достал исходники новой версии, а также патчи. Что мне делать с патчами и как мне теперь собрать ядро и сделать его загружаемым?Сперва по патчи. Вынужден огорчить - в Debian'е что-то делают с исходниками ядра (по крайней мере в Debian'е 1.3.1) так, что патчи к этим исходникам применятся не хотят. Однако если дистрибутив у вас под рукой, то это не беда - исходники ядра можно взять оттуда, естественно не в виде .deb, а в .tgz. Если у вас в системе установлены исходники ядра из .deb (установлены они или нет можно справится у программы dselect по названию пакета kernel-source), то удалите их с помощью менеджера пакетов dpkg, например:dpkg --purge kernel-source-2.0.30После этого скопируйте файл .tgz с исходниками ядра в каталог /usr/src и перейдите в этот же каталог. Далее нужно развернуть этот .tgz, как например показано ниже: tar xzvf linux-2.0.30.tgzестественно, что название вашего .tgz файла может отличаться от приведенного. В результате должен появится каталог с названием linux-2.0.30. Теперь нужно сразу же сделать ссылку с именем linux на этот каталог: ln -sf linux-2.0.30 linuxА вот теперь собственно займемся патчем. Патчи обычно поставляются в виде файла с расширением .gz или .dgz, словом patch (или его сокращением) и номером версии в имени файла. Например: patch-2.0.31.gz ptch2031.dgzВажно помнить, что номер версии пачта должен быть старше номера версии исходных текстов ядра, которые вы собрались патчить не больше, чем на 1 patchlevel. Например, для данного случая мы имеем исходные тексты ядра версии 2.0.30 (то что мы разворачивали tar), значит патч должен быть версии 2.0.31. Ни версия 2.0.30 ни версия 2.0.32 не подойдут! Предположим, что у вас правильная версия патча - 2.0.31. Развернем его в каталоге /usr/src: gzip -d patch-2.0.31.gzили для другого имени файла gzip -d ptch2031.dgz -S .dgzВ результате получится текстовый файл с таким же именем, но без расширения, который собственно готов к употреблению. Патчение ядра осуществляется командой: patch -p0 < patch-2.0.31для второго случая patch -p0 < ptch2031Должна запустится утилита patch, а на экране пробежать строки сообщения, генерируемые этой утилитой. Если вдруг вдруг утилита стала задавать вам вопросы, то либо вы что-то сделали неправильно, либо у вас кривой патч или исходные тексты ядра. Если все в порядке, то утилита завершает свою работу без каких-либо сообщений об ошибках и не задает никаких вопросов в процессе работы. Теперь пришла пора сборки ядра. Тем кто сразу имеет готовые исход- ные тексты ядра без патчей нужно выполнить разворачивание исходных текстов в каталог /usr/src и создать ссылку как уже было описано выше. Естественно тем, кто уже имеет у себя развернутые исходные тексты ядра и ссылку беспокоится не нужно. Далее переходим в каталог /usr/src/linux и запускаем команду: make menuconfigПосле компиляции промежуточных файлов на экране появится интерактивное меню, с помощью которого вам нужно установить требуемую конфигурацию ядра. Описывать что означают пункты меню я не буду - если вы сами не знаете, то до самостоятельной сборки ядра вы еще не доросли. Читайте документацию или просите помочь более компетентных людей. После того как выбор конфигурации ядра вами закончен нужно выйти с сохранением и набрать команду: make dependВ процессе работы происходит связывание выбранной вами конфигурации ядра с теми файлами исходных текстов, которые будут компилироваться при сборке ядра.Затем наберите команду make zliloесли вы используете системный загрузчик lilo. В процессе работы будет собрано ядро с именем vmlinuz и файл System.map, после чего, и ядро и этот файл будет помещены в корневой каталог ("/") и в завершении будет вызван lilo, что приведет к его автоматической переинтсаляции с параметрами, заданными в /etc/liloconfig. Замечу, что если у вас в корневом каталоге были такие же файлы, то они будут переименованы с расширением .bak. Второе замечание состоит в том, что обычно в Debian'е в корневом каталоге находятся только ссылки на файлы ядра и System.map, которые находятся в каталоге /boot. Что вам делать в этом случае (самому перенести файлы в этот каталог и переименовать/поправить ссылки или удалить эти сслыки, как и ядро и System.map из каталога /boot - рещайте сами). В конечном итоге у вас в корневом каталоге должны остаться либо сами файлы vmlinuz и System.map, либо ссылки на эти файлы. Теперь, если вы все-таки перенесли файлы в каталог /boot, а в корневом каталоге оставили ссылки, вы должны снова запустить lilo, командой: liloНа этом этап сборки нового ядра и его установки можно было бы считать законченным, НО! Осталась немаловажная часть - модули к ядру! Увы множество бед и вопросов происходит именно от них. Для того, чтобы проблем не было вы должны снова перейти в каталог /usr/src и продолжить компиляцию командами: make modules; make modules_installВ процессе работы будут сделаны модули, для тех компонентов ядра, которые вы указали как модульные при конфигурации по команде make menuconfig, и эти модули будут проинсталлированы в каталог /lib/modules/<номер версии ядра>. При следующей загрузке будет произведено сканирование имеющихся модулей после чего их имена будут записаны в файл modules.dep в этом же каталоге. Внимание! Если вы решили собрать ядро этой же версии, но с другими параметрами, не забудьте удалить modules.dep иначе новые модули, которые возможно появятся после сборки ядра не будут видится системой. У меня есть второй винт,который зацеплен на один шлейф с первым. Какому устройству он соответствует?В Linux очень простая нумерация HDD. Вот буквенные обозначения:
Как можно заставить работать под Linux звуковую карточку на чипсете OPTi 930xx?Данная карточка работает в DOS в режиме Sound Blaster Pro. Использовать ее в этом же режиме в Linux невозможно - ядро либо просто не обнаружит ее, либо будет неправильно с ней работать.Чтобы все-таки заставить работать эту карточку под Linux, необходимо собрать ядро с поддержкой звуковой карты Mad16 Mozard. При этом не забудьте включить /dev/dsp and /dev/audio support, а также Midi interface и FM synthesizer (YM3812-OPL3) support. Я настоятельно рекомендую оформить это все в виде модуля, а не жестко вставлять в ядро. Такой подход дает некоторые преимущества: можно задавать параметры к получившемуся модулю sound.o при его загрузке, а также, когда звук не нужен, просто не загружать данный модуль. Теперь допустим, что у вас все получилось, но при загрузке модуля очень громкий звук (или наоборот тихий), а в колонках слышны посторонние звуки при работе винчестера, передвижении мыши и нажатии кпопок на клавиатуре. Все эти симптомы указывают на то, что уровни громкости каналов выставлены неправильно. К сожалению ядро не позволяет задавать эти уровни при загрузке и вам понадобится программа-миксер. В настоящее время таких программ довольно много. Совершенно элементарную программу-миксер вы можете взять нажав сюда С параметрами этой программы я думаю разберетесь сами. Если звук необходим вам все время, то можно запускать эту программу автоматически в процессе загрузки. Почему, когда я переключаюсь из текстовой консоли в X Window и двигаю своей PS/2 мышкой X Window Server падает с сообщением: psaux: device resource is busy?Наверняка при этом запущен General Purpose Mouse сервер (gpm) - несмотря на правки предыдущих версий он продолжает конфликтовать с сервером X Window, если работаем с мышкой PS/2, с serial мышкой вроде бы все нормально (версия gpm 1.10).Еще совсем недавно я предложил бы вам просто убивать gpm перед запуском X Windows, однако буквально на днях я увидел довольно простое решение этой проблемы, которое предлагает Leon B.Kanter (2:465/148.1@Fidonet.org) и которым я спешу с вами поделится. Итак вам нужно добавить при запуске gpm ключ -R. Этот ключ говорит gpm перенаправлять данные поступающие от мышки в FIFO /dev/gpmdata. Это можно сделать, если запустить программу gpmconfig, зарегистрировавшись как супепользователь (root). После того как вы введете параметры, соответствующие вашей мышке, вам предложат ввести дополнительные параметры Do you want do add any additional arguments []?Вот на это приглашение вы и должны ввести -R. После того как gpmconfig закончит работу, вы должны перезапустить gpm. Это делается двумя командами: /etc/init.d/gpm stop /etc/init.d/gpm startТеперь вам нужно внести исправления в файл /etc/X11/XF86Config. Найдите слова Section "Pointer" и удалите все строки между этими словами и словом EndSection, а затем поместите на место удаленных строк следующие: Device "/dev/gpmdata" Protocol "MouseSystems" Emulate3ButtonsВсе, теперь при переключении из текстовой консоли в X Windows никаких падений X сервера быть не должно. При добавлении нового пользователя в систему командой adduser возникла проблема - почему-то скопировалась только одна первая строка из файлов, которые лежат в /etc/skel, а вообще-то файлы должны были скопироваться полностью! В чем дело?Не знаю как в остальных версиях, а в версии Debian 1.3.1 adduser содержит ошибку, которая и приводит к неправильной работе. Чтобы все стало нормально сделайте следующее:
Почему, когда groff форматирует текст с ключем -Tlatin1 вместо символов переноса ("-") видны какие-то прямоугольники? Как сделать, чтобы все было нормально?На мой взгляд дело в кривых таблицах для groff, где авторы просто допустили ошибку. Впрочем все довольно легко поправить.
После этого все должно заработать нормально. Не забудьте подчистить каталоги кэша у man'а иначе вы будете недоумевать почему это не сработало, в то время как man будет брать отформатированные ранее (до наших исправлений) файлы из кэша. Так что я настоятельно рекомендую вам удалить все файлы, которые находятся в каталогах: /var/catman/cat*и других каталогах, находящихся в /var/catman. А почему у меня системное время какое-то левое? Разница с тем, что должно быть составляет часы. Время на часах в CMOS'е нормальное.В чем дело?Тут вы должны вспомнить как вы устанавливали дистрибутив. В один прекрасный момент вам был задан вопрос:Is you clock set to GMT (y/n)?Вы, наверное, особо не задумываясь ответили "y", хотя в переводе на русский вопрос звучал бы так: Ваши часы установлены по времени GMT?Время GMT - это время Гринвичского меридиана. Местное время может вычислятся с помощью него прибавлением или вычитанием количества часов, соответствующих вашему часовому поясу. Например в городе Перми, разница между местным временем и GMT составляет плюс 5 часов, т.е. местное время - это GMT+5. Вам, наверное, будет удобнее ориентироваться на московское время, это GMT+3. Вернемся к сути вопроса. Чтобы время показываемое системой командой date было нормальным, вы можете или поставить часы в CMOS'е на время GMT или сказать системе, чтобы она не производила коррекцию времени на местное по временной зоне, добавляя ее к времени в CMOS'е. Первый способ самый простой. Для него всего-то нужно при перезагрузке машины зайти до загрузки в Setup и поправить там время на GMT. Однако не всех устраивает такой способ, хотя он наиболее правильный. Это обусловлено тем, что если у вас на машине стоят другие операционные системы, то они не будут правильно показывать время. К счастью есть и второй способ. Чтобы сказать системе, что не нужно производить коррекцию времени в CMOS'е согласно временной зоне, придется поработать руками. Дело в том, что существующий сценарий установки временной зоны tzconfig после инсталляции системы не позволяет задавать или убирать коррекцию времени. Для того чтобы ее убрать нужно:
В этом файле вы должны найти строчку вида GMT="-u"и заменить ее на строчку GMT=""Тогда после перезагрузки машины время будет нормальным. Жду ваших вопросов для включения в FAQ |
|||||||||||||||||||||||||||||||||||||
With any suggestions or questions please feel free to contact us |