Magazyn komputerowy PTiKuś
www.ptik.ivg.pl
#3 - Grudzień

Linux FAQ #1

1. Wstęp

1.1 Informacja o wersji

Jest to wersja 2.1 - druga oficjalna. Cały dokument powstał przy pomocy pakietu linuxdoc sgml oraz edytora joe. Tym razem autorów jest wielu, więc występują jako FAQ-Team.

1.2 Podziękowania

Chciałbym podziękować następującym osobom za pomoc w przygotowaniu FAQ: (kolejność przypadkowa)

  • Bartosz Maruszewski (liczne poprawki, dowcipne komentarze w kodzie źródłowym, przeróbka z wersji polskawej)
  • Cezar Cichocki
  • Michał Tyrala (autor pytań o Postscripcie)
  • Robert Maron
  • Emil Stępniewski
  • Tomasz Kłoczko
  • Sergiusz Pawłowicz
  • Jacek Pliszka
  • Krzysztof G. Baranowski
  • Tomasz Kaźmierski (autor sekcji modemy i sieci)
  • Konrad Stępień (autor sekcji karty sieciowe)
  • Sławomir Białek (automagiczne wysyłanie FAQ)
  • Andrzej Nakonieczny (admin shadow.eu.org, gdzie znalazło się miejsce dla oficjalnego site'u)
  • Wszyscy, których wypowiedzi znalazły się w FAQ jako odpowiedzi
  • Inni, którzy nie zachowali się w moich archiwum :-(((

 

Wszyscy oni pomogli wysyłając poprawki, dokładnie czytając i recenzując FAQ, wskazując narzędzia, które mogłyby być pomocne, itd. Dzięki! Przepraszam, jesli pomogłeś, a nie ma cię na liście - odezwij się.

Dziękuje rownież Ianowi Jacksonowi, twórcy świetnego dokumentu "Linux Frequently Asked Question with Answers", na którym mocno się opierałem, szczególnie w sekcji dotyczącej ogólnych wiadomości o Linuxie, oraz w tworzeniu struktury niniejszego dokumentu.

1.3 Informacja o wersji

Zrezygnowałem z ,,wersjowania'' Często Zadawanych Pytań. Będzie to po prostu dokument on-line, do którego w miarę potrzeby, napływających artykułów i wolnego czasu będę wprowadzał uaktualnienia. Będzie to wygodniejsze zarówno dla korzystających z FAQ, jak i dla mnie.

1.4 Gdzie można dostać FAQ?

FAQ jest dostępny cały czas w formie HTML na LinuxFAQ.shadow.eu.org

Możesz ściągnąć całość w postaci .tar.gz: faq-2.1.tar.gz

Przy okazji dziękuję Dżemikowi (Andrzej Nakonieczny) za możliwość stworzenia domeny dla FAQ i umieszczenia ich na jego serwerze.

2. Ogólne informacje na temat Linuxa

2.1 Co to jest ten cały Linux? Ile zajmuje na dysku?

Linux jest systemem operacyjnym należącym do klasy systemów Unixowych, nie będący jednak bezpośrednim klonem żadnego z nich. Posiada wszystkie cechy Unixów, takie jak wielozadaniowość, możliwość pracy wielu użytkowników, ochronę danych, itd. Linux powstał początkowo jako system pracujący na procesorach Intela (386 i nowszych), jednak dziś istnieją też wersje na inne platformy.

Linux jest dziś najszybciej rozwijającym się systemem operacyjnym, posiada tysiące aplikacji, rozbudowaną obsługę sieci, co w połączeniu z rewelacyjną ceną (0 $) powoduje, że jest on doskonałym rozwiązaniem zarówno do komputera będącego stacją roboczą jak i serwerem sieciowym. Istnieją Linuxowe wersje wszystkich najważniejszych Unixowych programów użytkowych (X Window System, PostScript, TeX, Emacs...).

Sam Linux zajmuje na dysku niewiele (jądro + system plików + powłoka), to co wypełnia dysk to aplikacje. Wszystko to zależy od tego do czego chce się wykorzystywać komputer i jakiego typu aplikacje będą potrzebne. Można z dość dużą pewnością określić, że w 100 MB można zmieścić system, X Window System i całkiem funkcjonalny zestaw programów. Aplikacji pozostających do dyspozycji użytkownika systemu Linux jest około 1 gigabajta programów (plus praktycznie wszystkie unixowe, do których jest dostępny kod źródłowy.

2.2 Jaki sprzęt jest potrzebny, by uruchomić Linuxa?

Potrzebujesz komputera z procesorem 386, 486, Pentium, Pentium Pro lub z kompatybilnymi z przynajmniej 2 MB pamieci RAM, i jedną stacją dyskietek. Aby używać Linuxa ,,na poważnie'', potrzebujesz więcej pamięci (minimum 4 MB, lepiej 8 MB lub więcej) oraz twardy dysk. Zarówno VESA LB, jak i PCI są obsługiwane przez linuxowe jądro.

2.3 Czy mogę uruchomić Linuxa na 286?

Nie.
Istnieje jednak coś w rodzaju okrojonego, 16-bitowego jądra, które może być uruchomione na tym komputerze. Patrz Linux na 286

2.4 Co to jest dystrybucja?

Dystrybucja jest po prostu pakietem instalacyjnym dla Linuxa. Poszczególne dystrybucje różnią się przebiegiem instalacji, zawartością najróżniejszych "dodatków", z których głównie się składają, oraz zawartością domyślnych plików startowych. Najpopularniejsze dystrybucje to:

  • Slackware
  • RedHat
  • Debian
  • SLS
  • Open Linux (komercyjny)

 

2.5 Czy mogę zainstalować Linuxa nie tracąc poprzedniego systemu?

Tak. Linux lubi jednak być na osobnej partycji - jeśli możesz taką przeznaczyć, nie musisz się bać o swój poprzedni system - jeśli zastosujesz np. LILO (LInux LOader), w czasie startu komputera będziesz miał możliwość wyboru systemu operacyjnego.

Istnieją niedestruktywne metody dzielenia istniejącej partycji dosowej. Może do tego służyć np. program FIPS, lecz należy takich narzędzi używać ostrożnie i naprawdę wiedzieć co się robi.

Jeśli Twój poprzedni system to DOS, możesz również zainstalować Linuxa na tej samej partycji przy użyciu tzw. UMSDOS File System. Tworzy się wtedy na Twoim dysku DOS-owym katalog \LINUX, który jest montowany po uruchomieniu jako główny katalog Linuxa.

Więcej informacji: Umsdos-HowTo

2.6 Która dystrybucja jest najlepsza? Do czego która z nich się najlepiej nadaje?

Moim zdaniem nie można mówić o tym, że któraś z dystrybucji szczególnie różni się użytecznością od innych. Jest to wciąż ten sam system operacyjny.

Powyższa odpowiedź wywołała prawdziwą burzę dyskusji - pisali do mnie zarówno zwolennicy używanej przez siebie dystrybucji, jak i przeciwnicy nieużywanej przez siebie dystrybucji.

Przy wyborze dystrybucji, którą się zainstaluje należy się kierować np. tym, jakiej używają koledzy którzy mają już zainstalowanego Linuxa, ponieważ łatwiej wtedy uzyskać ewentualną pomoc.

3. Kompatybilność z innymi systemami

3.1 Czy w Linuxie można uruchamiać programy DOS-owe?

Służy do tego program DosEmu. Udokumentowano uruchomienia wielu dość wymagajacych aplikacji dosowych (np. gier, łącznie z takimi hitami jak Doom czy Duke Nukem 3d). DosEmu znajduje się m.in. w dystrybucji RedHat. Najnowsza wersja jest dostępna w Archiwum TSX-11 , lub w mirrorze tego serwera, np. Archiwum Sunsite.

Uwaga! Do instalacji DosEmu jest potrzebna kopia systemu DOS w jakiejkolwiek wersji!

3.2 Czy w Linuxie można uruchomić programy MS Windows?

Istnieje projekt zwany WINE (WINdows Emulator lub Wine Is Not an Emulator), który ma na celu stworzenie biblioteki umożliwiającej uruchamianie programów MS Windows w X. Jest on w dość zaawansowanej fazie rozwoju, i mimo że odnosi coraz większe sukcesy w uruchamianiu programów, nie jest on jeszcze narzędziem przeznaczonym dla przeciętnego użytkownika. Niedawno skompilowałem sobie wersję z końca czerwca 1998 roku, i wyniki są wysoce zachęcające (działa część programów 32 bitowych, zaczątki obsługi DirectX, niezła wydajność...)

Innym, prawie idealnym rozwiązaniem jest pakiet WABI firmy Caldera, niestety jest to już program płatny (280 funtów), więc chyba lepiej poczekać na WINE...

W grę na razie wchodzą programy dla Windows 3.xx, dopiero w nowszych wersjach WABI ma się pojawić możliwość uruchamiania programów Win32.

Istnieje jeszcze trzecia możliwość: pakiet bibliotek firmy Willows o nazwie Twin. Odpowiadają one standardowym bibliotekom MS Windows (commdlg.dll, wsock.dll itd.), i służą m.in. do tego, aby umożliwić programistom bezpośrednie wykorzystanie pod Linuxem kodu napisanego pod MS Windows. Przy kompilacji Twin tworzy się dodatkowo program o nazwie xwin, który umożliwia uruchamianie 16-bitowych programów Windowsowych. Sprawdzałem kilka i działają, wyglądając identycznie jak pod Windows. Uruchamiałem: Collins Dictionary, Lotus Organizer, Windows Commander oraz kilka gierek logicznych (więcej programów pod 16-bitowe Windows nie miałem). Wszystko działało bez zarzutu. W dokumentacji Twin piszą, że można uruchamiać programy z 16-bitowego Microsoft Office, tylko funkcje związane z OLE nie działają.

3.3 Czy w Linuxie istnieją odpowiedniki programow biurowych, takich jakie są w MS Office?

Zależy co uznasz za podstawę do porownań. Jeśli możliwości, to odpowiednikiem Worda może byc np. Emacs + TeX. Jeśli zaś WYSIWYG, to edytorami spełniającymi ten wymóg sa m.in. Nedit, LyX, Word Perfect. Istnieje też pakiet programów biurowych dla Linuxa Star Office zawierający edytor, arkusz kalkulacyjny, bazę danych i program do rysowania. Jest on dość popularny w Polsce, a poza tym wczytuje pliki tworzone w programach z MS Office, z różnym jednak skutkiem. Oprócz tego pojawiły się ApplixWare (spolonizowany, i możliwy do kupienia w Polsce) i Word Perfect. Były też próby uruchamiania na Linuxie wersji beta Corel Office for Java.

Ogólnie: wydaje mi się że warto zmienić przyzwyczajenia i nauczyć się nowego narzędzia, by je docenić, ponieważ często możliwości oferowane przez aplikacje dla Linuxa, mimo że nie intuicyjne, są większe od tych oferowanych przez łatwe dla wszystkich pakiety biurowe dla Windows.

3.4 Jak umożliwić Dosemu zobaczenie partycji dosowej?

Należy umieścić w config.sys (DosEmulatora!) jako device program emufs.sys znajdujący sie na wirtualnym dysku c:. Umożliwia on montowanie podkatalogów Linuxowych jako dysków w DosEmu. Oznacza to że dysk D: możemy mieć partycję dosową tylko jeżeli jest zamontowana w Linuxie. To samo z CD-ROMEM - musi być zamontowany.

 

device=c:\emufs.sys /dos
device=c:\emufs.sts /cdrom

4. Systemy plików

4.1 Jak uzyskać dostęp do partycji dosowej?

Należy stworzyć katalog, gdzie będzie ona widoczna, np. /dosdisk, a następnie zamontować ją w tamtym katalogu (zakładamy, że partycja DOS-owa to /dev/hda1):

mount -t msdos /dev/hda1 /dosdisk

Po literze -t można podać inne systemy plików - zależy jakie masz wkompilowane w jądro. Przykładowo: -t vfat umożliwia zamontowanie partycji Windows 95, tak aby były widziane długie nazwy plików.

Jeśli nie wiesz, jakie urządzenie symbolizuje Twoją partycję DOS-ową, uruchom fdisk.

4.2 Jak uzyskać dostęp do CD-ROM?

Odpowiedź jest podobna, jak odpowiedź na pytanie 3.1 - trzeba go zamontować. Dla większości przypadków jako system plików podajesz iso9660:

mount -t iso9660 /dev/hdb /cdrom

Oczywiście nazwa urządzenia i katalogu są przykładowe. Pamiętaj, że w przypadku CD-ROM-u, w odróżnieniu od twardego dysku nie podajesz numeru partycji, tylko nazwę całego urządzenia, np./dev/hdb.

4.3 Jak w Linuxie sformatować dyskietkę?

Zakładając, że chodzi o /dev/fd0 (dyskietka, która w DOS-ie jawi się jako a:):

 

fdformat /dev/fd0
lub:
superformat /dev/fd0

Następnie należy stworzyć na niej system plików:

ext2fs:
mke2fs /dev/fd0
msdos:
mkdosfs /dev/fd0

4.4 Jak używać w Linuxie dosowej dyskietki?

Polecenie mount

Polecenie mount umożliwia 'podczepienie' DOS-owej dyskietki jako katalogu na dysku Linuxowym:

 

mkdir /stacja
mount /dev/fd0 -t msdos /stacja

Pamiętaj, aby przed wyjęciem dyskietki odmontować ją, czyli wykonać polecenie:

umount /dev/fd0

Odmontowanie jest konieczne ze względu na buforowanie w pamięci operacji wykonywanych na plikach na dyskietce. Czasami system czeka na wolną chwilę na wykonanie ich, mimo że wydaje się że zostały wykonane. Jeśli wyjmiesz dyskietkę nie wykonując umount, może nie być już ku temu okazji...

Jeśli chciałbyś dokładniej wyspecyfikować parametry dyskietki, użyj któregoś z urządzeń w katalogu /dev, które podają np. rozmiar: /dev/fd0H1440, /dev/fd0H720 itd. Zapis /dev/fd1H720 oznacza dysk nr 1 czyli b: w DOS-ie, o rozmiarze 720 kb.

Pakiet mtools

Pakiet programów mtools - jest to zestaw programów umożliwiających dostęp do dysków DOS bez konieczności ich montowania. Znajdują się w nim odpowiedniki poleceń DOS z literką 'm' na początku: mdir, mcopy, mdel, itd.

4.5 Czy jest możliwość zamontowania partycji OS/2, NT, itd.?

Obsługiwane przez jądro systemy plików możesz zobaczyć w /proc/filesystems. Jeśli masz (tzn. Twój Linux) jądro modularne, powinieneś też obejrzeć wynik działania polecenia modprobe -l -t fs.

4.6 Czy inne systemy plików też są obsługiwane?

Tak, obejrzyj sobie konfigurację jądra przed kompilacją. Można wbudować w nie obsługę m.in. HPFS, systemu Maca, Amigi, NTFS, itd. Wszystkie dostępne systemy plików można obejrzeć w katalogu /usr/src/linux/fs/ po rozpakowani źródeł jądra.

4.7 Czy istnieje program do defragmentacji ext2fs?

Ogólnie rzecz biorąc budowa tego systemu plików jest taka, że defragmentuje sie on sam - i-nody skasowanych (u-link) plików są wykorzystywane jako pierwsze przy tworzeniu nowych - defragmentacja następuje samoczynnie. Jeśli jednak się upierasz, to istnieje program defrag (można go znaleźć na Sunsite Mirror).

4.8 Mam duży plik /proc/kcore. Czy mogę go skasować?

Pliki w katalogu /proc są ,,udawanymi'' plikami - w rzeczywistości nie zajmują miejsca na dysku. Można z nich uzyskać wiele interesujących informacji na temat działania systemu (więcej przeczytasz w man proc), a plik kcore jest obrazem pamięci - jego wielkość odpowiada dokładnie wielkości pamięci. Mowiąc nie-serio, jeśli chcesz go zmniejszyć, wyjmij trochę pamięci :)).

4.9 Jak usunąć lilo z MBR? Chcę wrócić do DOS-a!

Załaduj DOS z dyskietki. Napisz:

 

fdisk /mbr

Gotowe!

5. Programy użytkowe i polecenia Linuxa

5.1 Co zrobić z plikiem o rozszerzeniu...

Oznaczenia:

  • A - Archiwum
  • D - Dokument
  • Z - Kod źródłowy

 

Rozszerzenie            Typ                     Program
----------------------------------------------------------
.1 - .8                 D                       man
.C                      Z                       g++
.Z                      A                       compress, uncompress
.arj                    A                       arj, unarj
.bz2                    A                       bzip2
.c                      Z                       gcc
.c++                    Z                       g++
.deb                    A                       dpkg
.dvi                    D                       tex
.gz                     A                       gzip, gunzip
.html                   D                       lynx
.info                   D                       info
.lsm                    D                       cat, more
.pl                     Z                       perl
.ps                     D                       ghostscript, ghostview
.rpm                    A                       rpm
.sh                     Z                       sh, csh
.tar                    A                       tar
.texi                   D                       info
.tgz                    A                       tar, gzip
.txt                    D                       more
.zip                    A                       zip

Jeśli w tabelce nie ma pliku, którego szukasz, użyj polecenia file, na przykład:

 

file 0223.lzh
0223.lzh: -                LHa 2.x? archive data [lh ]

5.2 Nie mogę uruchomić programów, mimo, że jestem w ich katalogu?

Otóż Linux, tak jak każdy system Unixowy przeszukuje w poszukiwaniu programów do uruchomienia wyłącznie ścieżki umieszczonej w zmiennej PATH. W związku z tym prawdopodobnie ścieżki, z której usiłujesz uruchomić program nie ma w tej zmiennej. Aby dodać aktualną ścieżkę do przeszukiwania, dopisz do pliku inicjalizującego (różne w zależności od tego, jakiej powłoki używasz) w miejscu nadawania wartości zmiennej PATH kropkę (.) Można też uruchamiać program poprzez dodanie w linii poleceń aktualnej ścieżki, czyli:

./nazwa_programu

Jednak dodanie aktualnego katalogu do przeszukiwanych katalogów nie jest zalecane ze względów bezpieczeństwa systemu. Szczegółów dowiesz się wraz z nabywaniem praktyki jako wieloletni administrator unix-ów :). Oczywiście jeśli komputer służy tylko do celów domowych, to spokojnie można tę ścieżkę dodać do zmiennej PATH.

5.3 Sendmail mi się długo uruchamia!

Zmiana w pliku network

W pliku /etc/sysconfig/network zmień linijkę:

networking=yes na:

networking=no

Oto nadesłana przez M.Tyralę kbns@zeus.polsl.gliwice.pl opinia na ten temat:

 

Taką poradę przeczytałem na tej liście, jednak trochę
później pojawił się post człowieka, któremu po takiej podmianie przestał
działać shutdown (oraz reboot i halt), sync powodował zawieszenie shella. Ja
te same objawy uzyskałem (dwukrotnie), wiec IMHO jest już jakaś
powtarzalność. Na newsach pojawił się głos jakiegoś 'guru', ale było w nim
tylko coś o RedHacie i odmóżdzeniu userów, aczkolwiek nic więcej. 

Zmienna HOSTNAME

Podobno pomaga też zmiana wartości zmiennej $HOSTNAME na inną niż localhost.

Oto co pisze RedHat w erracie do wersji 4.0 (sent by kbns@zeus.polsl.gliwice.pl):

(02-Dec-1996) On some machines, sendmail appears to pause when booting up. To fix this, either:

Use netcfg to change the hostname from localhost to localhost.localdomain, or

edit /etc/sysconfig/network and change the line which reads:

HOSTNAME=localhost to read:

HOSTNAME=localhost.localdomain

5.4 Jak stworzyć konto dla nowego użytkownika?

Zazwyczaj w każdej dystrybucji istnieje polecenie (często jest to po prostu skrypt powłoki) służący do tego celu. Nazywa się najczęściej adduser, useradd lub jakoś podobnie. Można również edytować bezpośrednio plik /etc/passwd aby dodać nową linijkę z pidem użytkownika.

Uwaga! Użytkownicy RedHata często mają problemy z powstającym w katalogu /etc plikiem .passwd.lock, który należy usunąć przed wykonaniem polecenia adduser. Można ten problem rozwiązać dodając do pliku inicjalizującego powłoki w katalogu root, czyli użytkownika, który ma prawo dodawać użytkowników, polecenie kasujące ten plik.

5.5 Program ,,jakiśtam'' działa zadowalająco, ale tworzy przy uruchomieniu za każdym razem plik core. Jak sobie z tym poradzić?

Jeśli tworzy core to na pewno wszystko nie jest w porządku. Ale jeśli chcesz zabronić tworzenia core, bo i tak z nich nie korzystasz, ustaw odpowiedni limit. Dla powłoki bash istnieje polecenie ulimit, dla tcsh - limit, a dla ksh rlimit. Musisz przeczytać manual dla konkretnej powłoki. W bashu robi się to tak: ulimit -c 0

5.6 Jak zrobić, żeby poczta miała jako nadawcę adres typu Imię.Nazwisko@host.domena?

Chodzi o ukrycie prawdziwego loginu. Odpowiedzi udziela nasz niezastąpiony Bartek Maruszewski. Dzięki!

W katalogu /usr/src/sendmail-najnowsza.wersja/cf lub /usr/sendmail-cf/cf tworzymy plik nasza.domena.m4, w który wpisujemy:

 

---------- ciach ---------
divert(-1)
OSTYPE(linux)dnl

DOMAIN(generic)dnl
# poniżej zmiana
MASQUERADE_AS(nasza-domena)dnl

define(`HELP_FILE', `/etc/sendmail.hf')dnl

FEATURE(use_cw_file)dnl
FEATURE(genericstable)dnl zmiana loginów <-- to jest to
FEATURE(masquerade_envelope)dnl <-- a tutaj maskujemy to co pojawia
dnl się w programie czytającym pocztę w polu od kogo przyszło

MAILER(local)dnl
MAILER(smtp)dnl
---------- ciach ---------

Piszemy 'm4 m4/cf.m4 nasza-domena.m4 > sendmail.cf', ZACHOWUJEMY KOPIE działającego /etc/sendmail.cf i kopiujemy wygenerowany plik do /etc.

Tworzymy plik /etc/genericstable z wpisami:

 

jas     Janek.Kowalski
.
.
.

Następnie trzeba uruchomić 'makemap hash genericstable < genericstable' żeby zamienić genericstable na format, który rozumie sendmail. Te dwie nazwy w tym poleceniu mają być identyczne, nie pomyliłem się. makemap sam dopisze do pliku wyjściowego '.db'.

5.7 Jak kompilować jądro?

Po co kompilować jądro?

Istnieje wiele powodów, dla których ludzie kompilują jądra. Jednym z najczęstszych to po prostu chęć uaktualnienia swojego systemu. Linux jest bardzo szybko rozwijającym się systemem, w związku z tym dość często pojawiają się nowe wersje jąder. Należy jednak pamiętać, że tylko jądra z parzystą środkową liczbą wersji są uznawane za stabilne. Jądra z nieparzystą liczbą to tzw. jądra rozwojowe wprowadzające nowe features, które będą wbudowane kiedyś (po przetestowaniu) do serii stabilnej.

Inny powód samodzielnej kompilacji to chęć posiadania jądra systemu doskonale dopasowanego do potrzeb konkretnego użytkownika. Można tak skonfigurować jądro, aby miało wbudowane tylko sterowniki tych urządzeń, które posiadamy, tylko tych systemów plików, z którymi mamy do czynienia, etc.

Jak to się robi?

Po pierwsze musisz zdobyć źródła jądra. Oprócz oczywistej możliwości ściągnięcia ich z sieci, możesz je wziąć z każdej dystrybucji.

Zdobyty plik tar.gz o nazwie np. linux-2.0.33.tar.gz i rozmiarach około 7MB do 9MB należy rozpakować w katalogu /usr/src tak, aby powstał tam katalog linux zawierający źródła.

Następnie musimy skonfigurować instalację. Będąc w katalogu /usr/src/linux i będąc oczywiście zalogowanym jako root piszemy:

 

  • make config - skrypt konfiguracyjny odpali się na konsoli
  • make menuconfig - wygodna konfiguracja z menu
  • make xconfig - odpala konfigurację w X

Pytania zadawane przez skrypt konfiguracyjny są na tyle oczywiste, że chyba nie potrzebujesz przy tym pomocy. Następnie należy stworzyć zależności:

 

make dep

...i rozpocząć kompilację....

 

make zImage

Zwróć uwagę na duże i małe litery w słowie zImage. Następnie (po około 10 minutach na Pentium 75) jeśli konfigurowałeś jądro jako modularne, musisz skompilować moduły i zainstalować je:

 

make modules
make modules_install

Stare moduły siedzące w /lib/modules/numer.starego.jądra/ można potem usunąć. Ale na razie zainstalujmy jądro. Jest w jednym podkatalogu źródeł /arch/i386/boot i nazywa się zImage. Teraz należy dowiedzieć się, gdzie lilo szuka jądra. Jest to napisane w /etc/lilo.conf. Najpierw robimy kopię zapasową poprzedniego działającego jądra w katalogu odszukanym w powyższym pliku (np. cp vmlinuz vmlinuz-old) i dopiero po zrobieniu kopii nagrywamy do tego katalogu nasze świeżutkie, jeszcze ciepłe jądro :)). Następnie edytujemy powyższy plik i robimy kopię akapitu opisującego nasze jądro i wpisujemy label=old i zmieniamy tam vmlinuz na vmlinuz-old. Ja mam taką zasadę, że nazywam jądra vmlinuz-x.y.z. Po tych modyfikacjach koniecznie wykonujemy

 

lilo

Następnie rebootujemy kompa i czekamy trzymając kciuki... Jeśli coś nie poszło, to można zresetować i przy lilo: wpisać old co wystartuje nam poprzednią wersję jądra.

5.8 Przy uruchamianiu systemu pojawiają się napisy z net-pf-4 i net-pf-5.

Wpisz do pliku /etc/conf.modules:

alias net-pf-4 off
alias net-pf-5 off

5.9 Po wystartowaniu Linuxa pojawia się komunikat: Cannot open root device 01:00 kernel panic: VFS: unable to mount root fs on 01:00

Odpowiedź nadesłana przez B.Maruszewskiego (thanx a lot)

 

Hmm, sprobujmy:
. klasycznie generujesz kernel (make menuconfig dep clean zImage modules
modules_install)
. instalujesz kernel (albo ręcznie albo jak_tam_to_robisz)
. "/sbin/mkinitrd /boot/nowy_init_rd numer.uzywanego.kernela"
. dopisujesz wygenerowany initrd jako root=/nowy_init_rd (o ile dobrze
pamiętam ...)
. uruchamiasz /sbin/lilo
. sprawdzasz czy to powinno działać
. trzy razy się modlisz
. sprawdzasz jeszcze raz
. rebootujesz
. piszesz na listę dlaczego nie poszło :-(

5.10 Czym się różni make clean od make mrproper przy kompilacji jądra?

Wykonanie

 

make clean

powoduje usunięcie stworzonych podczas kompilacji plików obiektowych (binariów), zaś

 

make mrproper

jak wyżej plus usunięcie konfiguracji jądra.

5.11 Jak wydrukować plik postscriptowy ,,w książeczkę''?

Metoda pierwsza. Nalezy sciągnąć sobie pakiet psutils, zainstalować, po czym wykonać:

 

psbook nasz_plik.ps | psnup -2 > nasz_plik-x.ps

W zbiorze wyjściowym mamy na przemian strony parzyste z nieparzystymi. Jeżeli chcielibyśmy mieć osobno parzyste, a osobno nieparzyste, to pomoże nam programik psselect:

 

psselect -o -r nasz_plik-x.ps nasz_plik-x-O.ps
psselect -e nasz plik-x.ps nasz_plik-x-E.ps

Przełącznik -r powoduje, że strony nieparzyste są w odwrotnej kolejności, co pozwala drukować najpierw jeden plik, po zadrukowaniu iluś tam kartek wyjmujemy je z drukarki, odwracamy stosik, wkładamy odwrócony stos z powrotem do drukarki i drukujemy zbiór drugi.

(Całość można załatwić dwoma wywołaniami programu pstops, jednak jego parametry wywołania mogą na początek wyglądać na nieco pogmatwane, więc moim zdaniem na początek lepiej jest pocyrkować trochę kilkoma programami wiedząc miej-więcej co się robi.)

Na deser wykonujemy:

 

man psbook
man psnup
man psselect
man pstops

Metoda druga. Używamy programu mpage, który jest chyba w większości dystrybucji. Wykonujemy:

 

mpage -O -r -o -A -t -P- nasz_plik.ps > nasz_plik-x-O.ps
mpage -E -o -A -t -P- nasz_plik.ps > nasz_plik-x-E.ps

W zbiorze nasz_plik-x-O.ps mamy strony nieparzyste (w odwrotnej kolejności), a w nasz_plik-x-E.ps -- parzyste.

No i oczywiście na koniec: man mpage

Nieco inaczej mają się sprawy, gdy plik *.ps powstał z pliku *.dvi, czyli gdy mamy dostęp do źródłowego *.dvi.

1. Jeżeli mamy strony A5 i tylko chcemy je umieścić po dwie na arkuszu A4 to można posłużyć się programem dvidvi.

 

dvidvi -m 4:-1,2\(4.25in,0in\) infile.dvi outfile-1.dvi
dvidvi -m 4:-3,0\(4.25in,0in\) infile.dvi outfile-2.dvi

Tak uzyskane dwa pliki dvi drukujemy naszą ulubioną metodą drukowania plików *.dvi.

2. Jeżeli strony w pliku *.dvi są rozmiaru A4, to robimy tak: do wywołania dvips'a dodajemy parametr -x707, czyli np:

 

dvips -x707 -o nasz_plik.dvi nasz_plik.ps

Po czym traktujemy otrzymany postscript tak:

 

pstops 0@1\(-0.7cm,-8cm\) nasz_plik.ps | psbook \
| psnup -2 -pa4 -Pa5 > nasz_plik-x.ps

Wartości przesunięć strony są dobrane eksperymentalnie i w razie gdyby coś było poprzesuwane należy je zmienić.

Dwa słowa o tym, dlaczego warto robić książeczki metodą jak powyżej, zamiast podanej na samym początku: Otóż w metodzie pierwszej czcionki zawarte w pliku postscriptowym są skalowane przez psnup-a, co nie wygląda ładnie (wystarczy się przyjrzeć uważnie literce `N'). W sposobie podanym na końcu czcionki w pliki *.ps są już odpowiedniej wielkości i po prostu efekt końcowy jest ładniejszy.

5.12 Jak dodać marginesy w pliku postscriptowym?

Do tego celu można użyć wymienionego w poprzednim pytaniu programu pstops. Wywołujemy go tak:

 

pstops 0@skala\(przesx,przesy\) plik_wej.ps > plik_wyj.ps

gdzie:

        skala  -- współczynnik skalowania strony (np 0.9)<b>
        przesx -- przesunięcie strony w poziomie (np 1cm)<b>
        przezy -- przesunięcie strony w pionie (np 2cm)<b>

Czyli przykładowe wywołanie może wuglądać tak:

 

pstops 0@0.9\(1cm,2cm\) plik_wej.ps >
plik_wyj.ps

Owszem, dodanie jakichś konkretnych marginesów wymaga trochę liczenia, ale to już jest łatwizna i na pewno sobie poradzisz!

5.13 Jak uruchomić telnet na konto root? Chciałbym administrować systemem zdalnie!

(Odpowiedź: kloczek :-)

Telnet na konto root'a jest zablokowany specjalnie z powodów bezpieczeństwa we wszystkich dystrybucjach Linuxa w konfiguracjach podstawowych. Poprostu jeżeli ktoś nieuprawniony przejmie w jakiś sposób hasło root'a to ma ułatwione zadanie przy wszelkiego rodzaju ingerencjach w systemie przy możliwości wejścia na konto root'a bezpośrednio. O wiele ważniejszym powodem jest to, że podczas negocjacji połączenia poprzez telnet/rsh/rlogin zarówno sam login jak i hasło są przesyłane jawnie. W przypadku łączenia się poprzez sieć publiczną czy segmenty sieci co do których nie mamy pewności, że nikt na nich nie podsłuchuje ruchu łączenie się poprzez telnet na konto root'a jest z powodów bezpieczeństwa niewskazane.

Do łączenia się poprzez sieć co do której nie mamy zaufania i to nie zależnie od tego czy chcemy łączyć się na konto root'a czy zwykłego użytkownika powinno wykorzystywać się ssh (secure shell). Poprawne zachowanie administratora powinno polegać jednak na tym, żeby do minimum ograniczał on czas spędzany na koncie root'a. W takim wypadku po zalogowaniu się na konto użytkownika, żeby zmienić sobie uprawnienia na czas wykonania jakiejś operacji wykorzystuje się polecenie su. Polecenie to powinno się wykonywać z dodatkowym parametrem "-" czyli su - żeby przy zmianie uprawnień został wywołany osobny shell z pełnym zestawem zmiennych środowiska właściwym dla root'a co też czasami może ustrzeże niedoświadczonych administratorów od subtelnych pomyłek czy błędów.

Blokada logowania się zdalnie na konto root'a jest wykonana poprzez wyszczególnienie w /etc/securetty listy urządzeń na jakie osoba z uprawnieniami root'a (uid=0, gid=0) może się logować bezpośrednio. W przypadku posiadania fragmentu sieci bezpiecznej, którą chcielibyśmy jedna wykorzystywać do logowania na root'a nie powinno się jednak modyfikować do tego celu pliku żeby dodać kolejne /dev/pty* gdyż nie ma możliwości w ten sposób zdeterminowania kierunków z jakich następuje logowanie, a tylko urządzenia. Czyli powinno się postępować jak powyżej z wykorzystaniem ssh i su.

ssh nie wchodzi w skład żadnej dystrybucji ze względów licencyjnych. Czyli po zainstalowaniu systemu należy ściągnąć ssh i je zainstalować. ssh jest dostępne w postaci gotowych skompilowanych pakietów deb, rpm, a w każdym innym wypadku można ściągnąć źródła, przekompilować całość i zainstalować.

Copyright (C) 2000 by PTiK
Wszelkie prawa zastrzeżone.
Kopiowanie tekstów i grafiki bez zgody autora zabronione !