SlackFAQ

Konspekt konfiguracji Linuksa Slackware


Slackware nie jest typową dystrybucją Linuksa przeznaczoną do zastosowania na domowym biurku, co nie oznacza, że się do tego celu nie nadaje. Zrobienie ze Slackware'a systemu codziennego użytku wymaga jednak trochę pracy. Niniejszy dokument jest próbą spisania wszelkich czynności konfiguracyjnych mających na celu stworzenie takiego właśnie domowego systemu w oparciu o tę dystrybucję Linuksa. Nie jest to jednak F.A.Q. dla początkujących; zakładam, że masz już podstawową wiedzę na temat instalacji oraz obsługi Linuksa (wiesz co to jest moduł jądra, na czym polega ustalanie atrybutów plików itp.). Mam nadzieję, że dzięki tej stronie konfiguracja Slackware'a będzie dla Ciebie łatwiejsza i przyjemniejsza.

Mikołaj Bartnicki

Doprowadzenie LILO do porządku

Pierwszą rzeczą jaką zwyklę robię bezpośrednio po zainstalowaniu systemu jest konfiguracja bootloadera LILO. Potrzebuję konsoli w trybie framebuffer (więcej linii tekstu na ekranie; mniejsze, milsze dla oka literki), oraz możliwości uruchomienia MS Windows (Windows zainstalowany na partycji typu NTFS nie jest standardowo wykrywany). Oto mój plik /etc/lilo.conf

append="hdc=ide-scsi" # nagrywarka w trybe emulacji SCSI
boot = /dev/hda       # dysk na którym jest LILO
prompt                # dzieki temu mamy wybor systemu na starcie
timeout = 50          # czas do uruchomienia domyslnego systemu (1/10 sek.)
change-rules
reset
vga = 788             # konsola framebuffer 800x600x64K
# sekcja Linuksa
image = /boot/vmlinuz # sciezka do pliku jadra
  root = /dev/hda1    # partycja /
  label = Linux       # wyswietlana nazwa
  read-only
# sekcja Windows
other = /dev/hdb1     # partycja C:
  label = Windows     # wyswietlana nazwa
  boot-as=0x80        # udaje dysk primary master

Aby możliwe było korzystanie z nagrywarki, musi ona działać w trybie emulacji SCSI - odpowiada za to linijka append="hdc=ide-scsi". W jądrach serii 2.6.x emulacja SCSI nie jest konieczna (szczegółów jednak nie znam, jako że sam korzystam z 2.4.26). Linijka vga=788 włącza konsolę w trybie framebuffer 800x600x64K. Kody liczbowe pozostałych trybów można zobaczyć i wybrać stosując vga=ask. Na uwagę zasługuje także linia boot-as=0x80. Windows musi być uruchamiany z najstarszego dysku (najstarszego w sensie kolejności: hda, hdb, hdc, hdd) w innym przypadku się nie uruchomi. Jeśli twój Windows siedzi na najstarszym dysku to ta linijka jest zbędna. Po wyedytowaniu pliku /etc/lilo.conf należy jako root wydać polecenie lilo
powrót na górę

Montowanie napędów - edycja pliku fstab

Domyślnie partycje typu NTFS nie są widoczne. Kolejną niewygodną cechą Slackware'a jest to, że jedynie root ma prawo montowania wszelkich napędów. Na szczęście rozwiązanie obu problemów sprowadza się do napisania kilku słów. Oto przykładowa zawartość pliku /etc/fstab

/dev/hda3   swap        swap      defaults        0 0
/dev/hda1   /           reiserfs  defaults        1 1
/dev/hda2   /home       reiserfs  defaults        1 2
/dev/cdrom  /mnt/cdrom  iso9660   noauto,user,ro  0 0
/dev/fd0    /mnt/floppy auto      noauto,user     0 0
/dev/hdb1   /mnt/hd     ntfs      noauto,user,umask=0222,ro 0 0
devpts      /dev/pts    devpts    gid=5,mode=620  0 0
proc        /proc       proc      defaults        0 0

W linijce dotyczącej CD-ROMu zamieniam opcję owner na user. Dzięki temu zwykli użytkownicy mogą montować CD-ROM. Z napędem dyskietek postępuję tak samo. W linii dotyczącej partycji typu NTFS istotna jest opcja umask=0222, dzięki której użytkownik ma prawo do odczytu tejże partycji.
powrót na górę

Polonizacja Slackware'a

Polskie znaki diakrytyczne w konsoli są wyświetlane prawidłowo przez czcionkę lat2a-16.psfu.gz; pisanie polskich liter umożliwia układ klawiatury pl2.map. Czcionkę dla konsoli ustala się w pliku /etc/rc.d/rc.font natomiast układ klawiatury w pliku /etc/rc.d/rc.keymap. Ja osobiście do tych plików nawet nie zaglądam; zarówno czcionkę jak i układ klawiatury wybieram podczas instalacji systemu. Wypadałoby jeszcze, aby Linux podawał np. wielkości fizyczne w metrach i kilogramach (a nie np. w stopach i funtach). W pliku /etc/profile trzeba wpisać (gdziekolwiek, może być na końcu) trzy linijki:

export LANG=pl
export LC_ALL=pl_PL
export LESSCHARSET=latin1

Ja jednak wolę gdy system "mówi do mnie" po angielsku, stąd w moim pliku /etc/profile stosuję bardziej szczegółowe ustawienia. Wygląda to tak:

export LANG=pl
export LESSCHARSET=latin1
export LC_CTYPE=pl_PL
export LC_NUMERIC=pl_PL
export LC_TIME=pl_PL
export LC_COLLATE=pl_PL
export LC_MONETARY=pl_PL
export LC_MESSAGES=C
export LC_PAPER=pl_PL
export LC_NAME=pl_PL
export LC_ADDRESS=pl_PL
export LC_TELEPHONE=pl_PL
export LC_MEASUREMENT=pl_PL
export LC_IDENTIFICATION=pl_PL

Dzięki wierszowi export LC_MESSAGES=C system wyświetla komunikaty po angielsku, przy pełnej polonizacji systemu ustalonej przez pozostałe wiersze.
powrót na górę

Wyłączanie systemu: poweroff i reboot

Domyślnie jedynie root ma prawo używania programu halt a także poleceń poweroff oraz reboot; dla zwykłych użytkowników są one niedostępne. Oczywiście udostepnienie tychże poleceń dla zwykłego użytkownika nie jest niczym skomplikowanym. Ja zawsze tworzę grupę powerusers z odpowiednimi uprawnieniami, dzięki temu użytkownicy należący do tej grupy (i tylko oni!) mogą zamykać i restartować system tak jak root. Co trzeba zrobić:

# groupadd powerusers
# chown :powerusers /sbin/halt
# chmod o-rwx /sbin/halt
# chmod u+s /sbin/halt
# ln -s /sbin/halt /usr/bin/poweroff
# ln -s /sbin/halt /usr/bin/reboot

Dwa pierwsze polecenia tworzą grupę powerusers i przypisują program /sbin/halt do nowo utworzonej grupy. Następne dwa ustawiają odpowiednie uprawnienia dla programu halt (program halt zawsze sprawdza czy został uruchomiony przez roota, stąd bit "s" jest konieczny). Ostatnie dwie instrukcje tworzą dowiązania symboliczne, dzięki którym halt "wie" czy ma zamknąć czy zrestartować system (zależnie od tego, przez które dowiązanie został wywołany). Standardowa lokalizacja tych dwóch dowiązań (/sbin) jest o tyle niewygodna, że nie należy do ścieżki poszukiwania u zwykłych użytkowników, dlatego tworzę dodatkowe dowiązania w /usr/bin. Od tej pory użytkownicy należący do grupy powerusers (można ich do niej dodać podczas tworzenia konta użytkownika lub później np. edytując plik /etc/group) mogą zamykać i restartować system poleceniami poweroff oraz reboot. Oczywiście dla każdego programu z bitem "s" można stworzyć osobną grupę dostępu, jednak na domowym komputerze jest to na dłuższą metę niewygodne. Jedna grupa powerusers dla wszytskich programów z bitem "s" na ogół wystarcza.
powrót na górę

X-Window: X.org kontra XFree86

Obecnie domyślną implementacją okienek Slackware'a jest X.org, która zastąpiła dawną XFree86. Wszystkie poniższe opisy odnoszą się do X.org. Jeśli jednak nadal korzystasz z XFree86 (domyślne okienka w Slackware aż do wersji 9.1) to nie ma zmartwienia - różnice pomiędzy XFree86 a X.org są kosmetyczne i sprowadzają się do innych nazw konfiguratora oraz pliku z ustawieniami. W XFree86 narzędzie xorgsetup nazywa się xfree86setup (poza nazwą niczym się nie różni). Natomiast plik z ustawieniami dla XFree86 to /etc/X11/XF86Config przy czym składnia tego pliku jest identyczna jak w przypadku X.org.
powrót na górę

X-Window: podstawowa konfiguracja okienek

Po instalacji X.org okienka czasami nawet działają, nie mniej jednak ich domyślna konfiguracja pozostawia wiele do życzenia. Do przygotowania podstawowego pliku konfiguracyjnego polecam prosty programik: xorgsetup. Zapyta on jedynie o głębie kolorów; jeśli tylko monitor i karta graficzna na to pozwala (a we wszystkich współczesnych komputerach tak jest) to wybieramy najwyższą, czyli 24 bit. Program utworzy odpowiedni plik konfiguracyjny dla X-Window, ten plik to /etc/X11/xorg.conf. Ponieważ okienka włączałyby się w najwyższej możliwej rozdzielczości (co na ogół nie jest wygodne), trzeba ustalić jakąś rozsądną rozdzielczość (np. 800x600 dla monitorów 15-calowych i 1024x768 dla monitorów 17-calowych). Na końcu pliku /etc/X11/xorg.conf znajdujemy fragment SubSection zawierający wybraną głębie kolorów (Depth 24) i dopisujemy linijkę regulującą rozdzielczość ekranu. Oto odpowiednni fragment pliku:

SubSection  "Display"
Viewport    0 0
Modes       "1024x768" # ta wlasnie linijke trzeba dopisac recznie
Depth       24
EndSubSection

Możliwe jednak, że serwer X-Window nadal nie będzie chciał działać. Dzieje się tak zwykle z powodu błędnego wpisu dotyczącego odświerzania ekranu (prawdę mówiąć w każdym komputerze na którym instalowałem x.org tak było - być może program xorgsetup ma jakiś błąd). Odpowiednie linijki w /etc/xorg.conf najlepiej po prostu zakomentować znakami #. Monitor (o ile nie jest jakiś archaiczny) powinien uruchomić się w najwyższym możliwym dla danej rozdzielczości odświerzaniu. W moim pliku konfiguracyjnym wygląda to tak (niczego w tej sekcji nie zmieniałem poza zakomentowaniem trzech linijek):

Section "Monitor"
#DisplaySize      330   240     # mm
Identifier   "Monitor0"
VendorName   "NEC"
ModelName    "NEC FE770"
# Ponizsze trzy linijki zakomentowalem, można je rownie dobrze usunac
#HorizSync    30.0 - 70.0
#HorizSync    66.0 - 0.0
#VertRefresh  50.0 - 0.0
Option      "DPMS"
EndSection

Dopiero jeśli to nie pomoże, należy ręcznie wpisać odpowiednie dla monitora przedziały odświerzania (HorizSync oraz VertRefresh)
powrót na górę

X-Window: ustawienia klawiatury

Aby możliwe było pisanie polskich znaków pod X-Window należy odpowiednio skonfigurować klawiaturę. Sprawa jest bardzo prosta: w pliku /etc/X11/xorg.conf w sekcji dotyczącej klawiatury dopisujemy trzy linijki:

Section     "InputDevice"
Identifier  "Keyboard0"
Driver      "keyboard"
# ponizsze trzy linijki Option... trzeba dopisac samodzielnie:
Option      "XkbRules" "xorg" # w xfree86 wartość tej opcji to "xfree86"
Option      "XkbModel" "pc101"
Option      "XkbLayout" "pl"
EndSection

I już można pisać polskie znaczki (o ile tylko wybrana czcionka potrafi je wyświetlać).
powrót na górę

X-Window: myszka z kółkiem do przwijania

Rolka przwijająca w myszce nie jest standardowo włączona; aktywowanie jej sprowadza się (podobnie jak w przypadku klawiatury) do drobnej modyfikacji pliku /etc/X11/xorg.conf w sekcji dotyczącej myszki:

Section     "InputDevice"
Identifier  "Mouse0"
Driver      "mouse"
Option      "Device" "/dev/mouse"
# Zamieniamy wartosc opcji "Protocol" z "auto" na "imPS/2"
Option      "Protocol" "imPS/2"
# Ponizsza linijke trzeba dopisac recznie - ustala ona reakcję na kręcenie kółkiem:
Option      "ZAxisMapping" "4 5"
EndSection

Powyższe rozwiązanie dotyczy myszek podłączanych wtyczką PS/2. Nie znam się na myszkach USB, więc nie bardzo wiem jak wygląda ich konfiguracja. Jeżeli myszka ma dwa kółka, to opcja "ZAxisMapping" wygląda tak:

Option      "ZAxisMapping" "4 5 6 7"

Zamiast "4 5 6 7" można wpisać "6 7 4 5", zależnie od tego, która rolka ma przewijać w pionie, a która w poziomie.
powrót na górę

X-Window: emulator terminala

Aby xterm był wygodny w użytkowaniu, to znaczy wyświetlał prawidłowo polskie znaki oraz pokazywał jakiś sensowny znak zachęty (prompt) należy uruchamiać go z odpowiednim zestawem opcji. Ja robię to tak:

xterm -bg black -fg grey -ls -fn -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-2

Opcje -bg oraz -fg ustalają kolory, odpowiednio: tła oraz liter. Dzięki opcjom -ls xterm zachowuje się jak zwykła konsola tekstowa (m. in. wyświetla normalny znak zachęty), natomiast -fn pozwala wybrać czcionkę. Nazwę czcionki wygodnie jest wygenerować programem xfontsel, trzeba też zadbać o to, żeby wybrana czcionka wyświetlała poprawnie polskie litery. Oczywiście całą tę długą instrukcję warto "podpiąć" do jakiejś ikony lub menu środowiska graficznego.
powrót na górę

Konfiguracja karty dźwiękowej

Karta dźwiękowa nie jest w żaden automatyczny sposób wykrywana ani obsługiwana. Trzeba załadować odpowiedni moduł jądra będący jej sterownikiem. W pliku /etc/rc.d/rc.modules znajduje się lista modułów obsługujących kilka najpopularniejszych kart dźwiękowych. Wystarczy odkomentować odpowiednią linijkę aby wybrany moduł był automatycznie ładowany przy starcie systemu. W /etc/rc.d/rc.modules wypisana jest tylko część dostępnych modułów. Wszystkie moduły znajdują się w katalogu /lib/modules/2.4.26/kernel/drivers/sound/ (podana ścieżka może się różnić numerem wersji jądra). W miarę potrzeby odpowiednią linijkę można dopisać w /etc/rc.d/rc.modules ręcznie. W sytuacji gdy w katalogu /lib/modules/2.4.26/kernel/drivers/sound/ nie ma modułu obsługującego posiadaną kartę dźwiękową, należy skorzystać ze sterowników ALSA; niestety nie znam się na ich konfigurowaniu (nigdy ich nie potrzebowałem), dlatego w takim przypadku odsyłam do ich dokumentacji. Po załadowaniu odpowiedniego modułu karta dźwiękowa działa ale jedynie dla roota. Trzeba nadać jej odpowiednie uprawnienia, takie aby zwykli użytkownicy także mogli z niej korzystać. W Slackware 10 istnieje od początku grupa audio z odpowiednimi uprawnieniami. Wystarczy uwzględnić w niej użytkowników którzy mają mieć możliwość korzystania z karty dźwiękowej (można to zrobić na etapie dodawania konta użytkownika, lub przez edycję pliku /etc/group). We wcześniejszych wersjach Slackware grupę audio jak i odpowiednie atrybuty plików-urządzeń trzeba przygotować samemu:

# groupadd audio
# chown :audio /dev/dsp0 /dev/audio0 /dev/mixer0
# chmod o-rwx /dev/dsp0 /dev/audio0 /dev/mixer0
# chmod g+rw /dev/dsp0 /dev/audio0 /dev/mixer0

Po wydaniu powyższych polecen, każdy użytkownik należący do grupy audio może w pełni korzystać z karty dźwiękowej.
powrót na górę

Dostęp do internetu: program netconfig

Cała konfiguracja sieci w sprowadza się do uruchomienia (jako root) programu netconfig i do odpowiedzi na kilka prostych podstawowych pytań zadanych przez ów program. Łatwe jak w MS Windows Xp.
powrót na górę

Usprawniona instalacja ze źródeł: checkinstall

Usuwanie programów zainstalowanych z samodzielnie skompilowanych źródeł często bywa kłopotliwe. Z pomocą przychodzi narzędzie checkinstall z grupy extra. Po skompilowaniu źródeł (w większości przypadków poleceniami: ./configure oraz make), zamiast wydawać instrukcję make install należy (jako root) uruchomić program checkinstall. Na wszelkie pytania programu można z powodzeniem udzielać domyślnych odpowiedzi. Program utworzy ze skompilowanych źródeł paczkę *.tgz i zainstaluje ją. Można ją potem łatwo odinstalować poleceniem removepkg.
powrót na górę

Korzystanie z aparatu cyfrowego (USB)

Podłączony do gniazdka USB aparat cyfrowy (a także zwykłA pamięć flash, pendrive itp) jest widoczny jako dysk SCSI z systemem plików FAT12 i można go normalnie zamontować i traktować jak każdy inny nośnik danych. Do rzeczy. Potrzebny będzie moduł obługi USB: usb-uhci albo usb-ohci. Oba moduły są wpisane w pliku /etc/rc.d/rc.modules, wystarczy odkomentować odpowiednią linijke. Który moduł wybrać? To zależy od chipsetu płyty głównej. Płyty z chipsetem Via (taką właśnie mam) korzystają z usb-uhci, pozostałe - nie wiem. Najlepiej wybrać najpierw pierwszy moduł, a jeśli on nie zadziała to drugi. Nic się nie popsuje, a któryś z modułów zadziała na pewno. Oprócz tego potrzeba jeszcze modułu usb-storage; postępujemy analogicznie jak przy ładowaniu każdego innego modułu (czyli odkomentowujemy linijkę w rc.modules). Nastepnie trzeba zrestartować komputer lub załadować moduły ręcznie (modprobe). Tak przygotowany system umożliwia montowanie aparatu fotograficznego; będzie on widoczny jako urządzenie /dev/sda bądź /dev/sda1 (ewentualnie /dev/sd-cośtam na jakichś dzikich komputerach). Tworzymy katalog /mnt/aparat i montujemy aparat fotograficzny:

mount -t vfat /dev/sda1 /mnt/aparat

Oczywiście może to robić tylko root (typowe dla Slackware) więc trzeba odpowiednio zmodyfikować /etc/fstab, odpowiednia linijka dla aparatu wyglada następująco:

/dev/sda1   /mnt/aparat   vfat   noauto,user   0  0

Teraz każdy użytkownik może montować aparat fotograficzny i odczytywać z niego pliki zdjęć.
powrót na górę


Copyright © Mikołaj Bartnicki

licznik