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
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ę
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ę
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ę
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ę
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ę
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ę
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ę
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ę
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ę
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ę
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ę
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ę
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