Чтобы попробовать исправить эту ситуацию и иметь руководство для новых инсталяций, я создал список "сделай-то-и-так", который позже расширил до этого HOWTO. Здесь вы найдете полезные примеры настроек для наиболее общих приложений, программ и сервисов, которы призваны сэкономить ваше время и усилия.
Некоторые из приведенных здесь примеров зависят от установленного дистрибутива. У меня есть доступ только к Red Hat и Caldera OpenLinux машинам, так что не принимайте мои советы как евангелие, если у вас Slackware, Debian или другой дистрибутив. В любом случае читать документацию и HOWTO всегда полезно, таким образом совет у вас есть.
Это те компоненты, которые, как я полагаю, вы хотите настроить, однако так-же легко применить последующие советы к любым другим конфигурациям. Неявно предполагается, что вы будете пользователем root при редактировании/исправлении/отладке.
А теперь, парни, закатывайте рукава.
/sbin/kbdrate -s -r 16 -d 500 # или что вам нравиться
/usr/local/bin/cursor bgreen # или другого цвета
alias net-pf-4 off alias net-pf-5 off
Смотри также пункт Имя машины.127.0.0.1 localhost
Я не могу дать вам общий рецепт, поскольку многие детали зависят от типа вашего жесткого диска и его контролера. Как только вы рискнете пощупать вашу файловую систему, пожалуйста, тщательно изучите man до того как менять какие-либо опции. В простейшем случае, вы могли бы добавить следующую строку в ваш /etc/rc.d/rc.sysinit:
которая разрешает 32-битную поддержку I/O (E)IDE. Что касается `-m' ключа, то вот что написал мне автор hdparm Mark Lord:/sbin/hdparm -c1 /dev/hda # предплагается наличие Linux на первом IDE диске
(...) если в вашей системе используются компоненты последних нескольких лет, то все будет хорошо. Для более старых, *могут* быть проблемы (маловероятно). Действительно глючные чипы – это CMD0646 и RZ1000, *чрезмерно* используемые на 486 и (ранних) 586 материнских платах около 2-3 лет назад.
Zip-диски продаются уже форматированными на раздел /dev/sda4. Чтобы активизировать Zip, вам надо только сделать следующее
и Zip теперь можно монтировать как обычно (лучше записать последнюю строку в /etc/rc.d/rc.sysinit). Вы также можете иметь доступ к Zip-диску посредством mtools. Для этого добавьте к вашему /etc/mtools.conf следующую строку#~ chmod 666 /dev/sda4 # открыть всем доступ к Zip-диску #~ insmod ppa
Имеется лучший ppa драйвер, чем стандартный – так что посмотрите на http://www.torque.net/~campbell.drive z: file="/dev/sda4" exclusive
и, если хотите, сделайте chmod 666 к этим устройствам (не к связям, а к наличным устройствам!), чтобы сделать их полностью доступными каждому пользователю. Совет: в некоторых портативных компютерах устройство мыши будет /dev/psaux: примите это во внимание при настройке X11.~# cd /dev /dev# ln -s /dev/cua0 mouse /dev# ln -s /dev/cua1 modem /dev# ln -s /dev/hdb cdrom
В добавление, если вы захотите сделать доступным флоппи-дисковод для не-root пользователей, выполните команду chmod 666 /dev/fd*. Это может вызвать проблемы безопасности, но я не знаю всех деталей. Принимаются комментарии по этому вопросу.
127.0.0.1 localhost new_host_name.locadomain
Более того, вы должны иметь файл /etc/rc.d/init.d/gpm. Конечно проверьте, что эта конфигурация подходит к типу вашей мыши. Заметка: в некоторых портативных компьютерах (и не только портативных = прим. пер.) MOUSETYPE = ``PS/2''.MOUSETYPE="Microsoft" XEMU3=yes
Для пользователей Caldera все что нужно сделать, так это добавить к /etc/rc.d/rc.boot строку:
/usr/bin/gpm
Эти команды создадут точки монтирования для MS-DOS флоппи, ext2 флоппи, CD-ROM, DOS раздела и Zip.~# cd /mnt /# mkdir a: ; mkdir floppy ; mkdir cdrom ; mkdir win ; mkdir zip
Теперь отредактируйте /etc/fstab и добавьте следующее:
Конечно, вы должны использовать правильное устройство в первом поле записи. Для доступа к fat32 разделам есть заплатка к ядру и соответствующая информация по адресу http://bmrc.berkeley.edu/people/chaffee/fat32.html ./dev/fd0 /mnt/a: msdos user,noauto 0 1 /dev/fd0 /mnt/floppy ext2 user,noauto 0 1 /dev/cdrom /mnt/cdrom iso9660 ro,user,noauto 0 1 /dev/sda4 /mnt/zip vfat user,noauto 0 1 /dev/hda1 /mnt/win vfat user,noauto 0 1Прим. пер. – чтобы все файлы не помечались как выполняемые и можно было читать и создавать файлы с русскими именами рекомендую для файловых систем msdos и vfat проводить монтирование со следующими параметрами:/dev/fd0 /mnt/a: msdos rw,umask=111,gid=100,iocharser=koi8,noauto 0 1 /dev/hda1 /mnt/win vfat rw,umask=111,gid=100,iocharser=koi8,noauto 0 1
Сделайте следующее:
Это сделает Linux раздел загружаемым; это шаг можно выполнить командой activate если вы запустили LILO QuickInst, но это не захотело работать с моим дистрибутивом Red Hat.~# fdisk Using /dev/hda as default device! Command (m for help):a Partition number (1-4): 2 Command (m for help):w ~#
Создайте основной файл /etc/lilo.conf:
Теперь запустите /sbin/lilo и установка завершена. Если lilo настроился во время вашей инсталяции, все равно я вам настойчиво рекомендую прочесть эту документацию.boot = /dev/hda2 compact delay = 50 # message = /boot/bootmesg.txt # напишите ваше root = current image = /boot/vmlinuz # загружает linux по умолчанию, поскольку записан первым label = linux other = /dev/hda1 table = /dev/hda label = dos
Для загрузки Linux из DOS/Windows без перезагрузки компьютера, поместите LOADLIN.EXE в директорию (на DOS разделе!), включенную в DOS пути; затем скопируйте ваше ядро в, скажем, C:\DOS\VMLINUZ. Приведенный .BAT файл загрузит Linux:
Если вы используете Windows 95, установите свойства этого .BAT файла так, чтобы от загружался из MS-DOS режима.rem linux.bat smartdrv /C loadlin c:\dos\vmlinuz root=/dev/hda2 r
далее сделайте как минимум две копии файла MBR на флоппи. Если вдруг случится непредвиденное, вы всегда сможете восстановить ваш старый MBR командой:rescue:~# dd if=/dev/hda of=MBR bs=512 count=1
предполагая, что диск с MBR примонтирован к /mnt. Как альтернативу можно использовать DOS rescue дискету и выполнить команду FDISK /MBR (прим. перевод. – по непонятным мне причинам это не всегда срабатывает – имею личный опыт. Коментарии приветствуются.)rescue:~# dd if=/mnt/MBR of=/dev/hda bs=446 count=1
Предположим у вас не-PostScript принтер, который вы хотите использовать для печати обыкновенного текста (например, исходники C) и PostScript файлов с помощью Ghostscript, который, предположим, уже инсталирован.
Настройка принтера требует нескольких шагов:
и заметьте который работает~# echo "hello, world" > /dev/lp0 ~# echo "hello, world" > /dev/lp1
~# cd /var/spool/lpd /var/spool/lpd/# mkdir raw ; mkdir postscript
если вы получите на принтере что-то в этом духе:~# echo "first line" > /dev/lp1 ; echo "second line" > /dev/lp1
то скопируйте приведенный скрипт в файл /var/spool/lpd/raw/filter:first line second line
и сделайте его выполняемым: chmod 755 /var/spool/lpd/raw/filter.#!/bin/sh # Этот фильтр убирает "эффект лесенки" awk '{print $0, "\r"}'
(в этом примере предполагается принтер HP DeskJet. Поправьте соответственно вашему принтеру).#!/bin/sh DEVICE=djet500 RESOLUTION=300x300 PAPERSIZE=a4 SENDEOF= nenscript -TUS -ZB -p– | if [ "$DEVICE" = "PostScript" ]; then cat - else gs -q -sDEVICE=$DEVICE \ -r$RESOLUTION \ -sPAPERSIZE=$PAPERSIZE \ -dNOPAUSE \ -dSAFER \ -sOutputFile=– - fi if [ "$SENDEOF" != "" ]; then printf "\004" fi
# /etc/printcap lp|ps|PS|PostScript|djps:\ :sd=/var/spool/lpd/postscript:\ :mx#0:\ :lp=/dev/lp1:\ :if=/var/spool/lpd/postscript/filter:\ :sh: raw:\ :sd=/var/spool/lpd/raw:\ :mx#0:\ :lp=/dev/lp1:\ :if=/var/spool/lpd/raw/filter:\ :sh:
Если вы используете printtool, проверьте чтобы GSDEVICE, выбранный Printtool, работал – не обязательно, что это лучшее для вашего принтера. Вы можете немного поэкспериментировать с файлом postscript.cfg; например, я изменил GSDEVICE с cdj500 на djet500 и теперь мой принер печатает намного быстрее.
# /etc/profile # Системные переменные окружения и программы начальной загрузки # Функции и псевдонимы перенесены в /etc/bashrc # Этот файл определяет следующие свойства: # # o пути # o приглашения командной строки # o некоторые переменные окружения # o цвет ls # o less # # Пользователи могут переопределить эти установки и/или добавить другие # $HOME/.bash_profile # установим нужный путь echo $PATH | grep X11R6 > /dev/null if [ $? = 1 ] ; then # добавим новые пути PATH="$PATH:/usr/X11R6/bin:$HOME/bin:." fi # предупреждение пльзователя: регистрирующий или нерегистрирующий shell. Если регистрирующий, то приглашение # синего цвета; в противном случае бирюзового. Приглашение для Root'а красное. USER=`whoami` if [ $LOGNAME = $USER ] ; then COLOUR=44 else COLOUR=45 fi if [ $USER = 'root' ] ; then COLOUR=41 fi # задать действительный escape символ вместо ^[. Чтобы сделать это: # emacs: ^Q ESC vi: ^V ESC joe: ` 0 2 7 jed: ` ESC # Уберите `;1' если вы не любите атрибут `жирный'. ESC=^[ PS1='$ESC[$COLOUR;37;1m$USER:$ESC[37;40;1m\w\$ ' PS2="Continue> " # не создавать дамп памяти ulimit -c 0 # установка umask if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then umask 002 else umask 022 fi # несколько переменных USER=`id -un` LOGNAME=$USER MAIL="/var/spool/mail/$USER" EDITOR=jed HOSTNAME=`/bin/hostname` HISTSIZE=1000 HISTFILESIZE=1000 export PATH PS1 PS2 USER LOGNAME MAIL EDITOR HOSTNAME HISTSIZE HISTFILESIZE # включить цвет в ls eval `dircolors /etc/DIR_COLORS -b` export LS_OPTIONS='-F -s -T 0 --color=tty' # настройка less LESS='-M-Q' LESSEDIT="%E ?lt+%lt. %f" LESSOPEN="| lesspipe.sh %s" VISUAL=jed LESSCHARSET=latin1 export LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET for i in /etc/profile.d/*.sh ; do if [ -x $i ]; then . $i fi done
Вот пример /etc/bashrc:
# /etc/bashrc # Общесистемные функции и псевдонимы # Переменные окружения перенесены в /etc/profile alias which="type -path" alias d="ls" alias dir="d"
Похожий и .bashrc:
# $HOME/.bashrc # Источник глобальных определений if [ -f /etc/bashrc ]; then . /etc/bashrc fi # необходимо предупредить пользователя, что он в нерегистрирующем shell if [ "$GET_PS1" = "" ] ; then COLOUR=45 # определение действительного escape символа вместо ^[ ESC=^[ PS1='$ESC[$COLOUR;37m`whoami`:$ESC[37;40m\w\$ ' export PS1 fi # псевдонимы alias cp='cp -i' alias l=less alias lyx='lyx -width 900 -height 700' alias mv='mv -i' alias rm='rm -i' alias x=startx # Несколько полезных функций inst() # Инсталировать .tar.gz архив в текущую директорию. { gzip -dc $1 | tar xvf – } cz() # Содержание .zip архива. { unzip -l $* } ctgz() # Содержание .tar.gz архива. { for file in $* ; do gzip -dc ${file} | tar tf - done } tgz() # Создать .tgz архив по типу zip. { name=$1 ; tar -cvf $1 ; shift tar -rf ${name} $* gzip -S .tgz ${name} }
Это пример .bash_profile:
# $HOME/.bash_profile # Пользовательские переменные окружения и программы начальной загрузки # Этот файл содержить пользовательские настройки, который переопределяют # установленные в /etc/profile # Взять псевдонимы и функции if [ -f ~/.bashrc ]; then GET_PS1="NO" # не изменять цвет приглашения . ~/.bashrc fi # назначить несколько директорий `по умолчанию' export CDPATH="$CDPATH:$HOME:$HOME/text:$HOME/text/geology" # исправить забой в rxvt 2.45 if [ "$COLORTERM" != "" ] ; then stty erase ^? ESC=^[ # задать действительный escape символ вместо ^[ echo -n "$ESC[36l" fi
Это пример .inputrc:
# $HOME/.inputrc # клавишные привязки "\e[1~": beginning-of-line "\e[3~": delete-char "\e[4~": end-of-line # (F1 .. F5) are "\e[[A" ... "\e[[E" "\e[[A": "info \C-m" set bell-style visible # убрать писк set meta-flag On # разрешить 8-битный ввод (например, диакритические знаки) set convert-meta Off # не выдалять 8-битные символы set output-meta On # корректно отображать 8-битные символы set horizontal-scroll-mode On # пролистывать длинные команды set show-all-if-ambiguous On # после нажатия TAB
Для того, чтобы backspace и delete корректно работали в xterm и других X11 приложениях, необходимо сделать следующее:
usermodmap=$HOME/.Xmodmap xmodmap $usermodmap
это исправит консоль. Для исправления xterm:keycode 22 = BackSpace keycode 107 = Delete
xterm*VT100.Translations: #override ?Key>BackSpace: string(0x7F)\n\ ?Key>Delete: string(0x1b) string("[3~")\n\ ?Key>Home: string(0x1b) string("[1~")\n\ ?Key>End: string(0x1b) string("[4~")\n\ Ctrl?Key>Prior: string(0x1b) string("[40~")\n\ Ctrl?Key>Next: string(0x1b) string("[41~") nxterm*VT100.Translations: #override ?Key>BackSpace: string(0x7F)\n\ ?Key>Delete: string(0x1b) string("[3~")\n\ ?Key>Home: string(0x1b) string("[1~")\n\ ?Key>End: string(0x1b) string("[4~")\n\ Ctrl?Key>Prior: string(0x1b) string("[40~")\n\ Ctrl?Key>Next: string(0x1b) string("[41~")
Более детальную информацию по bash(1) и readline(3) смотрите в man.
Не надейтесь, что все программы будут работать корректно! Если вы, например, запускаете joe в xterm некоторые клавиши не будут работать; подобное верно и для версий rxvt старее 2.21.
(Если у вас нет файла /etc/DIR_COLORS, удалите ссылку на него в первой строке.) Это устанавливает переменную окружения LS_COLORS, которая содержит список цветов установленных в /etc/DIR_COLORS. Примечание: не спрашивайте меня почему, но это не работает с версией rxvt старее v. 2.21; используйте вместо него xterm. Схоже на то, что rxvt имеет глюк, который не позволяет ему при некоторых обстоятельствах корректно наследовать окружение.eval `dircolors /etc/DIR_COLORS -b` export LS_OPTIONS='-F -T 0 --color=tty'
ls в дистрибутиве Caldera не имеет цветов, однако есть эквивалент color-ls. Добавьте это к /etc/bashrc:
alias ls="color-ls $LS_OPTIONS"
затем выполните команду lesskey. Она создаст двоичный файл .less содержащий клавишные привязки.^[[A back-line ^[[B forw-line ^[[C right-scroll ^[[D left-scroll ^[OA back-line ^[OB forw-line ^[OC right-scroll ^[OD left-scroll ^[[6~ forw-scroll ^[[5~ back-scroll ^[[1~ goto-line ^[[4~ goto-end ^[[7~ goto-line ^[[8~ goto-end
#!/bin/sh # Это препроцессор для 'less'. Он используется, когда установлена переменная окружения # LESSOPEN="|lesspipe.sh %s" lesspipe() { case "$1" in *.tar) tar tf $1 2>/dev/null ;; # Просмотр содержания .tar и .tgz файлов *.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2>/dev/null ;; *.Z|*.z|*.gz) gzip -dc $1 2>/dev/null ;; # Корректное отображение сжатых файлов *.zip) unzip -l $1 2>/dev/null ;; # Просмотр архивов *.arj) unarj -l $1 2>/dev/null ;; *.rpm) rpm -q -p -i -l $1 2>/dev/null ;; *.cpio) cpio --list -F $1 2>/dev/null ;; *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) FILE=`file -L $1` FILE=`echo $FILE | cut -d ' ' -f 2` if [ "$FILE" = "troff" ]; then groff -s -p -t -e -Tascii -mandoc $1 fi ;; *) file $1 | grep text > /dev/null ; if [ $? = 1 ] ; then # это не некоторый тип текста strings $1 fi ;; esac } lesspipe $1
Переменная LESSCHARSET зависит от факта, что я живу в Италии и хочу использовать таблицу символов ISO 8859/1. Вы друзья американцы, японцы, русские и тому подобное лучше не устанавливайте ее.LESS="-M-Q" # не показывать длинные сообщения LESSEDIT="%E ?lt+%lt. %f" # редактировать верхнюю строку LESSOPEN="| lesspipe.sh %s" # фильтр VISUAL=jed # редактор по умолчанию --– вставьте ваш любимый LESSCHARSET=latin1 # отображать диакритические символы если нужно export LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET
Это работает только для X11. Я отправляю вас внимательно почитать всю документацию по emacs, чтобы вы смоголи настроить его под свои нужды -– потенциально, это можеть занять несколько месяцев отладки...(global-font-lock-mode t) (setq font-lock-maximum-decoration t)
Если вы столкнулись с этой проблемой, быстрое и плохое (и неэлегантное) решение следующее:
~$ export TERM=vt100 ~$ joe myfile (edit your file) ~$ export TERM=linux
() = evalfile("linux");
после строки, следующего вида () = evalfile("edt");.unsetkey("\eOl"); unsetkey("\eOP\eOl"); setkey("edt_wdel", "\eOl"); setkey("edt_uwdel", "\eOP\eOl");
Более того, убедитесь, что ваш /etc/X11/XF86Config содержит следующие строки:keycode 77 = KP_F1 keycode 112 = KP_F2 keycode 63 = KP_F3 keycode 82 = KP_F4 keycode 86 = KP_Separator
Это применяется для XFree 3.2. Если только вы не используете американский стандарт клавиатуры , заметьте, что ``XkbDisable'' создает проблемы. Вы исследуете это сами.# ServerNumLock # должен быть откоментирован XkbDisable
xjed*Geometry: 80x32+150+50 xjed*font: 10x20 xjed*background: midnight blue``Аббревиатуры'' – это неоценимое средство сохранения времени. Создайте файл
подобный следующему и сохраните в $HOME/.abbrevs.sl:
и выполните ESC x abbrev_mode, чтобы включить его. Чтобы аббревиатуры были включены по умолчанию, добавьте следующие строки к вашему .jedrc:create_abbrev_table ("Global", ""); define_abbrev ("Global", "GG", "Guido Gonzato"); create_abbrev_table ("TeX", "\\A-Za-z0-9"); define_abbrev ("TeX", "\\beq", "\\begin{equation}"); define_abbrev ("TeX", "\\eeq", "\\end{equation}"); % and so on...
define text_mode_hook () { set_abbrev_mode (1); } % define fortran_hook () { set_abbrev_mode (1); use_abbrev_table ("Fortran"); } % and so on...
~# texconfig init ; texconfig hyphen
в .Xdefault. Это должно помочь.XDvi*mfmode:
Существует теперь два способа заставить PPP работать: a) ручная настройка, и b) с помощью конфигурационной программы, которая это делает сама. Какой бы вариант вы не выбрали, вам потребуется следующая информация:
Будет несравненно лучше для вас, исли вы посетите товарища, который уже имеет настроенную связь с провайдером и скачаете один из следующих прекрасных инструментов:
Для настройки этих клиентов:
Вы должны установить права доступа к этому файлу с помощью команды chmod 600 .fetchmailrc, в противном случае fetchmail скорее всего не захочет запуститься. Этот пример показывает только основные настройки и предполагает, что у вас запущен sendmail; в принципе, возможности настройки безграничны. Почитайте http://www.ccil.org/~esr/fetchmail.# $HOME/.fetchmailrc poll mbox.myisp.com with protocol pop3; user john there with password _Loo%ny is john here
#!/bin/sh # $HOME/.xinitrc # настройка корректной работы некоторых клавиш usermodmap=$HOME/.Xmodmap xmodmap $usermodmap xset s noblank # выключить хранитель экрана xset s 300 2 # хранитель экрана запустится через 5 минут xsetroot -solid "medium blue" ? # rxvt занимает меньше памяти, но у версий старше 2.21 есть глюки # касательно клавиш и способа наследования окружения. Обновите версию или # используйте вместо него xterm. xterm -ls -bg black -fg white -sb -sl 500 -j -ls -fn 10x20 -fb 10x20bold \ -title "Color xterm" -geometry 80x25+150+0 ? fvwm95-2
yaf77-X.Y.tgz можно получить на ftp://sunsite.unc.edu/pub/Linux/devel/lang/fortran .
Заметьте, что .pinerc может быть не одинаковым; удостоверьтесь, что, как минимум, user-domain, smtp-server, и nntp-server установлены правильно.
Все переводы, производные или обобщающие работы использующие любые Linux HOWTO документы должны подлежать этому авторскому праву. Таким образом, вы не можете выполнить производную от HOWTO работу и наложить на ее распространение дополнительные ограничения. Исключения к этим правилам могут быть введены при известных условиях; пожалуйста проконтактируйте с Linux HOWTO координатором по адресу, приведенному ниже.
Короче говоря, мы хотим создать условия для распространения этой информации через максимально возможное количество каналов. Однако, мы хотим сохранить авторское право на HOWTO документы, и хотели бы знать о любых плана распространения HOWTO документов.
Если у вас есть вопросы, пожалуйста свяжитесь с Tim Bynum, Linux HOWTO координатором, по адресу linux-howto@sunsite.unc.edu via email.
Linux имеет огромное количество пакетов, так что невозможно включить описание их всех. Пожалуйста, делайте ваши запросы/предложения только для ``наиболее нужных'' программ --– я оставлю это на вашей совести.