Настройка Debian "для себя"
Intro
Конспект на тему установки и настройки Debian. После того, как HDD
ушел в небытие, а забекаплены были только пользовательские данные,
пришлось вспоминать что и где подкручивать после
установки. Использовался дистрибутив Lenny, хотя это не принципиально.
Установка с CD/DVD
При установке лучше использовать текстовый режим.
Если маленький диск, то отделить home, иначе сделать раздельные /var,
/tmp и так далее.
Что ставить:
- Desktop environment
- Laptop (если установка на laptop)
- Standard system
После установки проверить/изменить /etc/apt/sources.list, должно быть
что-то вроде:
deb cdrom:[Debian GNU/Linux 5.0.0 _Lenny_ - Official i386 DVD Binary-1 20090214-16:54]/ lenny contrib main
deb http://security.debian.org/ lenny/updates main contrib
deb-src http://security.debian.org/ lenny/updates main contrib
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib
|
Если сеть хорошая и быстрая, то добавляем вот такую строчку в этот файл:
deb http://ftp.debian.org/ lenny contrib main non-free
^^^^^ имя дистрибутива
|
И потом обновить список пакетов
Проверить и установить часовой пояс
Разбираемся с локалями (по умолчанию ставим en_US.ISO-8859-1):
# dpkg-reconfigure locales
Generating locales (this might take a while)...
en_US.ISO-8859-1... done
en_US.UTF-8... done
ru_RU.KOI8-R... done
en_US.UTF-8... done
Generation complete.
|
Удобный вид prompt в bash'е, /etc/bashrc-prompt:
bash_prompt() {
local NONE="\[\033[0m\]" # unsets color to term's fg color
local K="\[\033[0;30m\]" # black
local R="\[\033[0;31m\]" # red
local G="\[\033[0;32m\]" # green
local Y="\[\033[0;33m\]" # yellow
local B="\[\033[0;34m\]" # blue
local M="\[\033[0;35m\]" # magenta
local C="\[\033[0;36m\]" # cyan
local W="\[\033[0;37m\]" # white
# emphasized (bolded) colors
local EMK="\[\033[1;30m\]"
local EMR="\[\033[1;31m\]"
local EMG="\[\033[1;32m\]"
local EMY="\[\033[1;33m\]"
local EMB="\[\033[1;34m\]"
local EMM="\[\033[1;35m\]"
local EMC="\[\033[1;36m\]"
local EMW="\[\033[1;37m\]"
# background colors
local BGK="\[\033[40m\]"
local BGR="\[\033[41m\]"
local BGG="\[\033[42m\]"
local BGY="\[\033[43m\]"
local BGB="\[\033[44m\]"
local BGM="\[\033[45m\]"
local BGC="\[\033[46m\]"
local BGW="\[\033[47m\]"
if test x$WINDOW != x; then
WID="[$WINDOW]"
fi
case "$TERM" in
xterm|xterm-color|linux|screen|rxvt)
if [ `id -u` -eq 0 ]; then
PS1="${EMR}`whoami`${M}@${EMG}`/bin/hostname`${Y}${BGB}${WID}${NONE}:${C}\w${NONE}#"
else
PS1="${Y}`whoami`${M}@${EMG}`/bin/hostname`${Y}${BGB}${WID}${NONE}:${C}\w${NONE}>"
fi
;;
*)
if [ `id -u` -eq 0 ]; then
PS1="`whoami`@\h${WID}: \w#"
else
PS1="`whoami`@\h${WID}: \w>"
fi
;;
esac
}
bash_prompt
|
Подключаем этот файл в ~/.bashrc:
...
if [ -f /etc/bashrc-prompt ]; then
. /etc/bashrc-prompt
fi
...
|
Sudo, правим /etc/sudoers:
...
username ALL=NOPASSWD: ALL
^^^^^^^^ - пользователь
...
|
Дополнительные пакеты
Далее доставить пакеты, мой суповой набор вот такой (просто набираем из под рута в консоли):
apt-get install mc
apt-get install screen
apt-get install sendmail
apt-get install sendmail-base
apt-get install sendmail-bin
apt-get install sendmail-cf
apt-get install sendmail-bin
apt-get install sendmail
apt-get install emacs
apt-get install gimp
apt-get install gcc
apt-get install automake
apt-get install autoconf
apt-get install make
apt-get install libtool
apt-get install xutils-dev
apt-get install xutils-dev
apt-get install libx11-dev
apt-get install libxdmcp-dev
apt-get install libxt-dev
apt-get install x11proto-xext-dev
apt-get install libxext-dev
apt-get install libxmu-dev
apt-get install libxmuu-dev
apt-get install libxpm4
apt-get install libxpm-dev
apt-get install libxext-dev
apt-get install libxtst-dev
apt-get install aumix
apt-get install openvpn
apt-get install gcc-3.4
apt-get install dosbox
apt-get install libgtk2.0-dev
apt-get install libexif12
apt-get install exiv2
apt-get install sqlite
apt-get install mplayer
apt-get install dia
apt-get install ppp
apt-get install evince
apt-get install libdjvulibre21
apt-get install libdjvulibre-desktop
apt-get install djvulibre-desktop
apt-get install libsmbclient
apt-get install liblcms1-dev
apt-get install libbz2-dev
apt-get install libqt3-mt-dev
apt-get install imagemagick
apt-get install libgraphicsmagick++1-dev
apt-get install libgraphicsmagick1-dev
apt-get install libmagick++9-dev
apt-get install libmagick++10
apt-get install libmagick++9-dev
apt-get install libmagick9-dev
apt-get install libavcodec51
apt-get install libavcodec-dev
apt-get install libavformat-dev
apt-get install libswscale-dev
apt-get install libfftw3-3
apt-get install libopenexr-dev
apt-get install libopenexr6
apt-get install openexr
apt-get install cmake
apt-get install linux-headers-2.6-686
apt-get install linux-kbuild-2.6.26
apt-get install kernel-package
apt-get install rpm
apt-get install cpp-3.4
apt-get install gcc-3.4
apt-get install linux-kbuild-2.6.26
apt-get install bind9
apt-get install libart-2.0-2
apt-get install libart-2.0-dev
apt-get install libtiff4-dev
apt-get install libexif-dev
apt-get install minicom
apt-get install scribus
apt-get install qcad
apt-get install ffmpeg
apt-get install libsamplerate0
apt-get install libsndfile1-dev
apt-get install sndfile-programs
apt-get install libncurses5-dev
apt-get install libasound2-dev
apt-get install libmikmod2-dev
apt-get install cvs
apt-get install subversion-tools
apt-get install manpages-dev (набрать потом manpath и посмотреть как установлена!)
|
Иксы и Window Manager
GNOME хорош только для настройки, выставляем в нем необходимое
разрешение экрана и делаем автологин нужного юзверя.
Далее переходим на
fvwm. Разворачиваем исходники
fvwm-1.24r.tar.gz и далее
# xmkmf -a && make && sudo make install
|
Копируем /usr/lib/X11/fvwm --> /usr/local/fvwm/modules,
забираем иконки для fvwm.
В ~/.xsession пишем
xset b 0 0 0
xhost +localhost
aumix -L
exec fvwm
|
и
$ ln -s .xsession .xinitrc
|
Теперь можно запустить fvwm и распрощаться с GNOME.
Два монитора
Смотрим что на каком разрешении работает (звездочкой отмечено):
$ xrandr
...
VGA connected 1280x1024+0+0 (normal left inverted right x axis y axis) 376mm x 301mm
1280x1024 60.0*+ 75.0 59.9 60.0*
1600x1024 60.0
...
LVDS connected 1400x1050+1280+0 (normal left inverted right x axis y axis) 286mm x 214mm
1400x1050 60.0*+ 50.0
1280x800 60.0
...
TMDS-1 disconnected (normal left inverted right x axis y axis)
TV disconnected (normal left inverted right x axis y axis)
|
Слева имеем внешний монитор, справа бучный экран. Суммарное разрешение
2680x1050 (1280+1400=2680). Правим /etc/X11/xorg.conf:
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
SubSection "Display"
Virtual 2680 1050
EndSubSection
^^^^^^^^^^^^^^^^^^^^^^ - добавляем вот эту SubSection
EndSection
|
После этого в консоле
$ xrandr --output VGA --mode 1280x1024 --pos 0x0 \
--output LVDS --mode 1400x1050 --right-of VGA --pos 1280x0
|
Необходимо перезапустить fvwm после такой операции.
Русский язык
Удобно, когда при смене системы шрифты не меняются, поэтому
забираем шрифты и распаковываем в
/usr/X11R6/lib/X11/fonts, далее правим /etc/X11/xorg.conf:
Section "Files"
RgbPath "/etc/X11/rgb.txt"
FontPath "/usr/X11R6/lib/X11/fonts/misc-koi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/misc-cp1251:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi-koi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi-cp1251:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
FontPath "/usr/X11R6/lib/X11/fonts/Truetype"
FontPath "/usr/X11R6/lib/X11/fonts/unicode"
FontPath "/usr/X11R6/lib/X11/fonts/unicode-ttf"
EndSection
|
Клавиатурные раскладки. Из-за необходимости KOI8-R одним xkbmaps не
обойтись.
Ставим xbindkeys
(./configure && make && sudo make install) и
xxkb(xmkmf -a ; make -k; sudo cp xxkb
/usr/local/bin).
В ~/.xbindkeysrc пишем
# keyboard switch
"xmodmap $HOME/Xmodmap-koi8 &"
alt + 1
"setxkbmap ru &"
alt + 2
"setxkbmap fi &"
alt + 3
|
Xmodmap-koi8:
clear shift
clear control
clear mod1
clear mod2
clear mod3
clear mod4
! Key Base Shift Caps ShiftCaps
!------------------------------------------------------------------------
keycode 9 = Escape NoSymbol Escape
keycode 10 = 1 exclam 1 exclam
keycode 11 = 2 at 2 quotedbl
keycode 12 = 3 numbersign 3 grave
keycode 13 = 4 dollar 4 asterisk
keycode 14 = 5 percent 5 colon
keycode 15 = 6 asciicircum 6 comma
keycode 16 = 7 ampersand 7 period
keycode 17 = 8 asterisk 8 semicolon
keycode 18 = 9 parenleft 9 parenleft
keycode 19 = 0 parenright 0 parenright
keycode 20 = minus underscore minus underscore
keycode 21 = equal plus equal plus
keycode 22 = BackSpace NoSymbol BackSpace
keycode 23 = Tab NoSymbol Tab
keycode 24 = q Q 0xca 0xea
keycode 25 = w W 0xc3 0xe3
keycode 26 = e E 0xd5 0xf5
keycode 27 = r R 0xcb 0xeb
keycode 28 = t T 0xc5 0xe5
keycode 29 = y Y 0xce 0xee
keycode 30 = u U 0xc7 0xe7
keycode 31 = i I 0xdb 0xfb
keycode 32 = o O 0xdd 0xfd
keycode 33 = p P 0xda 0xfa
keycode 34 = bracketleft braceleft 0xc8 0xe8
keycode 35 = bracketright braceright 0xdf 0xff
keycode 36 = Return NoSymbol Return
keycode 38 = a A 0xc6 0xe6
keycode 39 = s S 0xd9 0xf9
keycode 40 = d D 0xd7 0xf7
keycode 41 = f F 0xc1 0xe1
keycode 42 = g G 0xd0 0xf0
keycode 43 = h H 0xd2 0xf2
keycode 44 = j J 0xcf 0xef
keycode 45 = k K 0xcc 0xec
keycode 46 = l L 0xc4 0xe4
keycode 47 = semicolon colon 0xd6 0xf6
keycode 48 = apostrophe quotedbl 0xdc 0xfc
keycode 49 = grave asciitilde 0xa3 0xb3
keycode 51 = backslash bar backslash bar
keycode 52 = z Z 0xd1 0xf1
keycode 53 = x X 0xde 0xfe
keycode 54 = c C 0xd3 0xf3
keycode 55 = v V 0xcd 0xed
keycode 56 = b B 0xc9 0xe9
keycode 57 = n N 0xd4 0xf4
keycode 58 = m M 0xd8 0xf8
keycode 59 = comma less 0xc2 0xe2
keycode 60 = period greater 0xc0 0xe0
keycode 61 = slash question slash question
keycode 64 = Alt_L
keycode 65 = space NoSymbol space
!keycode 66 = Caps_Lock 0x1007ff01
keycode 67 = F1
keycode 68 = F2
keycode 69 = F3
keycode 78 = Mode_switch
keycode 109 = Control_R
keycode 114 = Control_R
keycode 113 = Alt_R
keycode 116 = Meta_L
add shift = Shift_L Shift_R
add control = Control_L Control_R
add mod1 = Alt_L Alt_R Meta_L
add mod2 = Num_Lock
|
Правим /etc/X11/xorg.conf:
#Option "XkbLayout" "us"
^^^^^^^^^^^^^ закомментировать
Option "XkbLayout" "us,ru(winkeys)"
Option "XkbOptions" "grp:lwin_toggle"
|
И добавить в ~/.xsesstion
xmodmap Xmodmap-koi8
/usr/local/bin/xbindkeys &
/usr/local/bin/xxkb &
|
Теперь при нажатии Alt-1 можно использовать Latin-Rus(KOI8-R)
раскладку (переключение левой winkey), ALT-2 - "честный" русский через
xkbmap и Alt-3 - финская раскладка с умлаутами.
Маленькие, но крайне удобные штуки
- recode, перекодировщик WIN-ALT-KOI
(gunzip recode2.c.gz; gcc -Wall -o recode recode2.c; sudo cp recode /usr/local/bin)
- calc, удобный калькулятор для
расчетов и перевода HEX-BIN-DEC
(make && find . -type f -name calc -exec sudo cp {} /usr/local/bin \;)
Разные кулинарные рецепты
Screen, Ctrl-A по умолчанию конфликтует с readline, в
./.bashrc:
alias screen='screen -h 1000 -ln -e^Bb'
|
Теперь в screen используется Ctrl-B и буфер на последние 1000 строк.
Samba, некоторые программы, использующие lock некорректро
наботают на самбовских шарах, монтируем вот так (или правим /etc/fstab):
/bin/mount //1.1.1.1(IP)/share /mnt/куда \
-o nobrl,username=юзверь,password=пароль,gid=1000,uid=1000,fmask=0644
^^^^^ вот эта фишка!
gig/uid ставим реальные, нерутового пользователя
|
Теперь все будет нормально работать.
Флешки, правим /etc/fstab:
/dev/sdc1 /mnt/flash/cf vfat user,gid=1000,uid=1000,fmask=0113 0 0
^^^^^^^^^ можно спросить fdisk -l и узнать имя устройства
|
Теперь все perms в норме.
Как закриптовать внешний USB HDD
После подключения смотрим имя устройства для нового диска:
$ fdisk -l
Disk /dev/sdb: 1000.2 GB, bla-bla-bla...
...
Device Boot Start End Blocks Id System
/dev/sdb1 1 121601 976760001 83 Linux
^^^^^^^^^ опа, вот это и есть имя устройства для нового терабайтного диска!
|
Разбираемся с диском:
# cryptsetup -c aes luksFormat /dev/sdb1
вводим passphrase и все прочее...
затем
# cryptsetup luksOpen /dev/sdb1 usbhdd1
и
# mkfs -t ext3 /dev/mapper/usbhdd1
|
Теперь монтировать диск можно таким образом (делаем alias):
cryptsetup luksOpen /dev/sdb1 usbhdd1 ; mount /dev/mapper/usbhdd1 /mnt/куда-то там
|
Заключение (на веселой ноте ;) )
Вот теперь-то Debian польностью настроен и готов к работе. Приношу
извинения у авторов за то, что я выложил исходники без указания мест
их гнездования - нет времени вспоминать что откуда, гугль в помощь, тем более, что
наверняка выпущены более свежие версии.
Tags: debian linux
Назад
|