LINUX NEWBIE ADMINISTRATOR GUIDE
ver. 0.100 2000-12-06 by Stan and Peter Klimas
Rozprowadzane na zasadach Ogólnej Licencji Publicznej GNU  http://www.gnu.org/copyleft/gpl.html.
Twój odzew, komentarze, poprawki i ulepszenie są mile widziane. Wyślij je do  linux_nag@canada.com

[Polskie tłumaczenie zostało wykonane przez Piotr Wolnego.  Dokument tłumaczony może być rozprowadzany na takich samych zasadach, jak dokument oryginalny]


Powrót do początku
Część 6: Wybrane podstawowe aplikacje Linuksa (komercyjne i nie tylko)



Zawartość:
6.1. Procesory tekstu
   6.1.1 StarOffice Suite
   6.1.2 abiword
   6.1.3 Word Perfect 8 for Linux
   6.1.4 Ted
   6.1.5 klyx, lyx and latex
6.2 Arkusze kalkulacyjne
6.3 Bazy danych
6.4 CAD
6.5 Przeglądarki internetowe: Netscape i Lynx
6.6 Wypalanie płyt CD-R: cdrecord i cdparanoia


Wstęp. Ta część omawia tylko te alikacje, których używamy, albo (i) które lubimy. Istnieją tysiące programów linuksowych. Jeśli nie satysfakcjonuje cię nasz skromny wybór, zobacz: http://www.linuxapps.com/ lub http://stommel.tamu.edu/~baum/linuxlist/linuxlist/linuxlist.html lub http://www.boutell.com/lsm/ lub http://www.linuxlinks.com/Software/

6.1 Procesory tekstu

6.1.1 StarOffice Suite

Star Office to w pełni kompletny zestaw biurowy: procesor tekstu, arkusz kalkulacyjny, program do prezentacji, program ryskunkowy, edytor html, wszysto to zintegrowane w monolitycznym "biurku", którego niektórzy  nienawidzą, ale mnie ono nie przeszkadza. Pełna wersja Star Office'a jest dostępna darmowo zarówno dla Linuksa i MS Windows -- może być ściągnięta przez Internet:  http://www.stardivision.com/freeoffice/ (zajmuje wiele miejsca, ok. 100 MB do ściągnięcia, zdecydowanie nie praktyczne jeśli masz modem). Ja zdobyłem kopię StarOffica'a na CD z Linux Magazine (sprawdź swój kiosk). Kod źródłowy Star Office'a został niedawno udostępniony na zasadach licencji GPL (w sierpniu 2000), można mieć więc pewność, że będzie dynamicznie rozwijany.
StarOffice wygląda i działa podobnie do MS Office dla Windows. Zawiera bogactwo funkcji, ma duży rozmiar i wolno się ładuje (na prawdę wolno). Może być w  ogóle bezwartościowy dla Ciebie, jeśli nie masz 32 MB fizycznej pamięci, lepiej mieć więcej.  Ma bardzo dobrą kompatybilność z MS Office na poziomie plików: czyta i zapisuje pliki MS Word, MS Exel i MS PowerPoint.  Procesor tekstu ze StarOffice jest szybszy i lepszy do opanowania niż WordPerfect dla Linuksa. W skrócie, wysoce rekomendujemy StarOffice, zaspokoi on nawet całkiem potrzeby nawet wymagających biur.
Instalacja StarOffice'a sprawia często problemy a robi się ją tak:
-Upewnij się, że masz wystarczająco dużo miejsca na twardym dysku. By sprawdzić dostępne miejsce, użyj komendy df (="disk free"):
df -h
Wyświetli ona raport o używanym i dostępnym miejscu na dysku w formie czytelnej dla człowieka (opcja -h). Potrzebujesz co najmniej 350 MB miejsca na dysku (z czego około 100 MB zwolni się po instalacji).
- Rozkompresuj ściągnięty plik.  Zrobiłem to jako root w katalogu /usr/local by wykonać instalację "local server", ale możesz wybrać swoją "osobistą" instalację do /home/twój_login:
cd /usr/local
tar -xvf StarOffice5.2.tgz
- Jako root, uruchom program setup z DOS-owo wyglądającym parametrem /net by wykonać instalację "local server":
cd Office52
./setup /net
[Bez opcji /net, SterOffice przeprowadzi instalację "osobistą" (do twojego katalogu domowego), i tylko jeden użytkownik będzie mógł go uruchomić.]

- Po tej "sieciowej" instalacji, każdy użytkownik musi wykonać swoją własną instalację, by umieścić pewne osobiste pliki w katalogu domowym (robi się to uruchamiając program/setup jako zwykły użytkownik, bez opcji /net).

- StarOffice umieści swoją ikonę w twoim "K-menu" => "Osobiste" => "StarOffice 5.2". By uruchomić go z linii komend, użyj:

/home/my_login_name/office52/soffice

6.1.2 abiword

(wpisz abiword w X-terminalu). AbiWord (http://www.abisource.com). Jest to bardzo dobry, niewielki procesor tekstu. Na prawdę wart spróbowania w celach prostej edycji tekstu. Chociaż jest on wciąż w dużym stopniu niedokończony, dla mnie jest już całkiem użyteczny, na przykład wspiera on sprawdzanie pisowni w czasie wpisywania tekstu, nie wymagając przy tym tak wiele od Twojego sprzętu, jak StarOffice. Abiword jest w stadium intensywnego rozwoju; dostępne są zarówno wersje na Linuksa i MS Windows. Można go również znaleźć na CD-romie dystrybucji Mandrake.
 

6.1.3 Word Perfect 8 for Linux

Jest to bardzo dobry, potężny i popularny procesor tekstu. Darmowa wersja jest dostępna do prywatnego użytku. Zobacz http://linux.corel.com/linux8/download.htm (darmowa rejestracja programu jest potrzebna). Darmowa wersja nie posiada edytora równań, wbudowanego edytora grafiki, edytora wykresów oraz "tekstu artystycznego", mimo to jednak jest to w pełni funkcjonalna wersja prawdopodobnie najlepszego procesora tekstu na świecie. Pełna wersja kosztuje około 50 dolarów.
Format pliku wynikowego Word Perfect'a dla Linuksa jest identyczny z WordPerfect'em 6,7 lub 8 dla MS Windows. Ponadto zgodność na poziomie plików z MS Word jest bardzo dobra -- zdażało mi się, że WP8 był bardziej kompatybilny z różnymi "podwersjami" pliku MS Word'a, niż sam MS Word.   Jednak bardziej skomplikowane dokumenty MS Word'a tracą na estetyce po konwersji.
Z jednej strony, Word Perfect dla Linuksa sprawa wrażenie bardzo wolnego przy większych dokumentach, w szczególności przy przeglądaniu większych dokumentów -- StarOffice jest w tym znacznie lepszy (zobacz w następnej sekcji).
WP8 jest jest normalnie uruchamiany poprzez ikonę z K-menu, musisz jednak ją dodać tam samodzielnie po instalacji. Główny plik wykonywalny to /usr/local/wp8/wpbin/xwp, jego położenie może być inne, w zależności od tego, jaki wybrałeś katalog docelowy przy instalacji. Użyj komendy
locate xwp
lub
find / -name "xwp"
jeśli nie możesz go znaleźć.
By "ręcznie" uruchomić WP8, spróbuj w X-terminal'u:
/usr/local/wp8/wpbin/xwp
Corel ostatnio (Listopad 1999) opublikował swoją własną dystrybucję (opartą na Debianie), która koncentruje się na zestawie WordPerfect (procesor tekstu Word Perfect, arkusz kalkulacyjny Quattro Pro, etc.) różniącym się od wcześniejszych ofert dla Linuksa tym, że opiera się na bibliotece GPL "WINE" (=MS Windows-Application Programming Interface-Emulation [czyli emulatorze MS Windows - dop. tłum.] )

6.1.4 Ted

(wpisz Tedw X-terminal'u) Doskonale wyglądający edytor tekstów *.rtf. Wersja, którą posiadam lubi się jednak wieszać. Ted nie jest zawarty na znanych mi płytach z RedHat'em lub Mandrake'ime.

6.1.6 lyx oraz latex

(Wpisz lyx w X-terminal'u). lyx jest nakładką (pracującą w trybie WYSIWYG) na Latex. [Istnieje także Klyx, który jest KDE'owskim wariantem Lyx'a]. Latex przez wiele lat był programem do przygotowania nawet najbardziej wymagających dokumentów i składu tekstu, szczególnie popularnym na uniwersytetach (dobry do równań, etc.).
Dobrą nowiną jest to, że nawet jeśli nie wiesz, czym jest Latex, możesz potrafić obsługiwać lyx'a. Traktuj lyx'a jako procesor tekstu, jednakże jego filozofia jest inna od filozofii innych popularnych procesorów tekstu przez to wymaga zmiany przyzwyczajeń. Zasadą Latex'a (i lyx'a) jest wpisywanie tekstu, definiowanie "styli" i pozostawienie całości formatowania programowi. Oznacza to, że nigdy nie wprowadzisz w nim ręcznie przerw (pomiędzy słowami, zdaniami, paragrafami, rozdziałami, etc.). Gdy skończysz tekst, "kompilujesz" go w celu uzyskania pliku niezależnego od urządzeń ("*.dvi" czyli device independent).  Plik *.dvi można oglądać i drukować przy pomocy przeglądarki dvi. Jakość pliku wynikowego jest zazwyczaj nieporównywalna z niczym innym, ale proces tworzenia pliku jest zazwyczaj bardziej flustrujący, niż przy użyciu zwykłego procesora tekstów.
Siłą Latex'a jest jakość wydruków, jego zdolność do radzenia sobie z długimi, skomplikowanymi dokumentami (książki techniczne, matematyczne, etc.), możliwość używania wszystkich zagranicznych języków i nawet żadko używanych symboli, jego przenośność pomiędzy platformami oraz popularność formatu pliku..
lyx jest darmowy i zawarto go na CD z Mandrake. Jak niemal każdy program dla Linuksa może on być również ściągnięty z Linuxberg'a: http://idirect.linuxberg.com/kdehtml/off_word.html, albo z dowolnego innego internetowego katalogu z oprogramowaniem.
Jeśli zamiast prostszego lyx'a chciałbyś spróbować zwykłego, ciężkiego Latex'a, oto małe wprowadzenie, od którego możesz rozpocząć.
*Użyj swojego ulubionego edytora czystego tekstu by sworzyć dokument Latex'a, sprawdź jego pisownię, etc, zapisz go w pliku z rozszerzeniem "*.tex". Przeczytaj dalej mój przykładowy dokument w Latex'ie.
* Wywołaj Latex'a aby "skompilować" plik tekstowy w plik "*.dvi" (niezależny od urządzenia), wpisując linię komend:
latex moj_plik.tex
* Wydrukuj "moj_plik.dvi", utworzony przy pomocy poprzedniej komendy, przywołując narzędzie konwertujące dvi do postcriptu, które domyślnie wyśle wynik swojego działania na drukarkę lpr:
dvips moj_plik.dvi
Możesz także zapisać wynik do pliku poscriptowego, wpisując:
dvips -o output_file.ps moj_plik.dvi
Opcja -o określa plik wyjściowy.
Oto mój przykładowy plik w Latex'ie:
% Any line starting with "%" is a comment.
% "\" (backslash) is a special Latex character which introduces a Latex
% command.
\documentclass[10pt]{article}
\begin{document}
% Three commands are present in every Latex document. Two of them are
% above and one at the very end of this sample document.
This is a simple document to try \LaTeX. Use your favorite plain text
editor to type in your text. See how the command \LaTeX produces the
\LaTeX logo. Here is the end of the first paragraph.
Here starts the second paragraph (use one or more empty lines in your
input file to introduce a new paragraph).
The document class of this sample is ``article'' and it is defined at the
very beginning of the document. Other popular classes are ``report'',
``book'' and ``letter''.
Please note that the double quote is hardly ever used, utilize
two ` to begin a quote and two ' to close it. This nicely formats the
opening and closing quotes nicely.
Here are different typefaces:
{\rm This is also roman typeface. It is the default typeface.}
{\bf This is bold typeface. }
{\em This is emphasize (italic) typeface.}
{\sl This is slanted typeface, which is different from the italic.}
{\tt This is typewriter typeface.}
{\sf This is sans serif typeface.}
{\sc This is small caps style.}
You can itemize things:
\begin{itemize}
\item one
\item two
\item three
\end{itemize}
You can also enumerate things:
\begin{enumerate}
\item one
\item two
\item three
\end{enumerate}
Try some foreign letters and symbols:
\aa \AA \o \O \l \L \ss \ae \AE \oe \OE \pounds \copyright \dag \ddag \S
\P. There are also three dashes of different length: - -- ---.
Try some accents over the letter ``a'': \'{a} \`{a} \"{a} \^{a} \~{a}
\={a} \.{a} \b{a} \c{a} \d{a} \H{a} \t{a} \u{a} \v{a}. Other letters can
be accented in a similar way.
The pair of ``\$'' marks a math context. Many special characters are
available only in the ``math'' context. For example, try the Greek
alphabet:
Small: $ \alpha \beta \gamma \delta \epsilon \varepsilon \zeta \eta
\theta \vartheta \iota \kappa \lambda \mu \nu \xi o \pi \varpi
\rho \varrho \sigma \varsigma \tau \upsilon \phi \varphi
\chi \psi \omega $
Capital: $ A B \Gamma \Delta E Z H \Theta I K \Lambda M \Xi \Pi P
\Sigma T \Upsilon \Phi X \Psi \Omega $
Try some equations: $ x^{y+1} + \sqrt{p \times q}=z_{try_subscripts} $
\begin{center}
$ \frac{x \times y}{x/2+1}=\frac{1}{3} $
\end{center}
\LaTeX math commands are very similar to those in the old ``Word Perfect''
equation editor.
Use the verbatim mode to print the 10 special symbols which normally have
special meaning in \LaTeX: \verb|%${}_#&^~\|. The special symbols must be
contained between any two identical characters which in the example above
is |. Most of these special symbols can also be printed by preceding the
character with a backslash: \% \$ \{ \} \_ \# \& \^.
% This command ends the document (this is the third one that *must* be
% present in every document).
\end{document}

6.2 Arkusze kalkulacyjne

Obecnie używam dobrego arkusza kalkulacyjnego, zawartego w StarOffice. Jestem bardzo intensywnym użytkownikiem arkuszy kalkulacyjnych, przedstawiam więc kilka innych obiecujących programów, które mam na uwadze.

6.2.1 gnumeric

(w X terminal'u) Miły arkusz kalkulacyjny, część GNOME, zawarty w standartowej dystrybucji RedHat (6.0 lub wyższej). Jest on jednak wciąż mocno niekompletny i całkiem niestabilny. Gnumeric jest w stadium intensywnego rozwoju i zdecydowanie ma szanse stać się na prawdę mocny w najbliższej przyszłości -- już ma sporo wbudowanych funkcji, jego wydruki są jednak nieczytelne - największy ból.

6.2.2 kspread

Kspread jest kolejnym bardzo obiecującym arkuszem. Jest to część projektu KDE, który będzie zintegrowany z KDE2.0, najprawdopodobniej nie masz go w swoim systemie, i nie radzimy Ci instalować go -- wymaga on bibliotek KDE następnej generacji (na których będzie oparte KDE 2.) a przy ich instalacji możesz zniszczyć swoje KDE 1.x). Póki co, kspread nie jest zawarty na RH 6.2 ani Mandrake 7.0
Zarówno gnumeric i kspread używają tego samego formatu zapisu pliku xml (zestandaryzowany, zmodyfikowany html następnej generacji). Ten format pliku jest bardzo dobrą nowiną, zwłaszcza jeśli doświadczyłeś problemów z formatami plików arkuszy opartych o MS-Windows.

6.3 Bazy danych

Jeśli zajmujesz się bazami danych, będziesz zadowolony, gdy zobaczysz co Linux oferuje w tej materii.
postgreSQL baza danych o wysokich możliwościach, dostępna na płytach z Mandrake i RH (darmowa, nierestrykcyjna licencja BSD).

mySQL http://www.MySQL.com/  Baza danych GPL, prostsza i łatwiejsza niż postgreSQL.

Istnieją także komercyjne bazy danych, które są darmowe dla prywatnego użytku, np. Sybase dla Linuksa (http://www.sybase.com:80/sqlserver/linux/aselinux_install.html) and Interbase ( http://www.interbase.com/downloads/products.html).  Jest także Oracle dla Linuksa: http://platforms.oracle.com/linux/index_lin.htm. Oracle-Linux howto, znajdziesz na: http://jordan.fortwayne.com/oracle/index.html

6.4 CAD

QCAD (GPL): http://www.qcad.org (prosty ale bardzo użyteczny)
OCTREE (darmowy do użytku niekomercyjnego): http://www.octree.de/html/frames/eng/f_octree.htm
VariCAD (komercyjny): http://www.varicad.com/
VARKON (LGPL): http://www.varkon.com/
Microstation (komercyjny): http://www.microstation.com/academic/products/linux.htm--the akademicka wersja Microstation zawiera wersję Linuksową ich wspaniałego systemu CAD (lepszego niż AutoCad).

6.5  Przeglądarki internetowe: Netscape i Lynx

Najprawdopodobniej zaistalowałeś Netscape'a w wersji 4.xx podczas instalacji Redhat'a. By uruchomić go, spróbuj (w X-terminalu):
netscape
Jeśli nie zainstalowałeś Netscape'a, musisz włożyć płytę z RedHat'em, podmontować ją, na przykład (jako root):
mount -t auto /dev/cdrom /mnt/cdrom
następnie wystartuj z X-terminalal:  glint (w RH 5.2) albo gnorpm (w RH6.0) albo kpackage (w RH6.1) by przeglądać dostępne pakiety i zainstalować netscape z twojej płyty z RedHat'em. Jeśli wolisz instalację z linii komend, spróbuj, po podmontowaniu napędu:
cd /mnt/cdrom
cd RedHat/RPMS
rpm -ivh netsca*
Netscape jest bardzo dobrą przeglądarką, z takim samym wyglądem, działaniem i możliwościami, co Netscape dla MS Windows, więc nie będziesz miał problemów z obsługą. Z drugiej strony Netscape czasami zawiesza się (po prostu znika z ekranu, nie czyniąc szkód, musisz po prostu zrestartować go). Ponadto w pewnych konfiguracjach, Netscape nie lubi być uruchamiany bez podłączenia z internetem (w zależności od twojej konfiguracji, może potrzebować kilku minut, aby zorientować się, że pracuje bez podłączenia).   Netscape w wersji 4.72 wydaje się być znacznie poprawiony w stosunku do poprzednich wersji, rozważ więc uaktualnienie.

Mimo wszystko, raz uruchomiony Netscape działa całkiem nieźle (używam go cały czas). Mozilla (już słynny, revolucyjny następca Netscape'a) jest w trakcie tworzenia, więc wstrzymaj oddech :-).

Jeśli twój Netscape w wersji niższej niż 4.72 jest zbyt niestabilny dla ciebie, możesz spróbować wyłączyć Javę ("Edit => Preferences => Advenced"). U mnie ogromnie poprawiło to jego sprawność. Dodatkowo możesz wyłączyć automatyczne sprawdzanie poczty (rozwiązuje problem z "zamrażaniem się" Netscape'a, którego doświadczałem podczas pracy off-line), opróżnij swój pocztowy śmietnik ("trash"), kompresuj foldery pocztowe regularnie, wyłącz Java scrip. Po zrobieniu tego wszystkiego, moja poprzednia wersja Netscape'a działała całkiem przyjemnie.
Jeśli twój Netscape po zawieszeniu się i ponownym uruchomieniu narzeka na obecność "lock file", oznacza to, że mógł zostawić plik blokujący z w twoim katalogu domowym. Zakończ wszyskie uruchomione sesje Netscape'a i skasuj plik "lock" z katalogu /home/nazwa_użytkownika/.netscape:
cd ~
cd .netscape
rm lock
Jeśli twoje połączenie z Internetem jest na prawdę powolne, możesz woleć tekstową przeglądarkę:
lynx
który jest prawdziwym dziełem sztuki i nie ma nigdy żadnych problemów. Nie oczekuj jednak fantastycznej przeglądarki graficznej -- jest to przeglądarka pracująca w trybie tekstowym.
Kolejną przeglądarką internetu jest narzędzie do przeglądania pomocy KDE (kliknij na "książkę z lampką" na pasku KDE). Jest to prosta przeglądarka html, jeśli jesteś więc podłączony do internetu (na przykład przy użyciu kppp), możesz przy jej pomocy przeglądać niemal wszystko.
Do tworzenia strony html używam WordPerfect'a, StarOffice'a albo Netscape'a (w trybie WYSiWYG) oraz WebMaker'a (na poziomie html).

6.6 Zapisywanie CD-R: cdrecord oraz cdparanoia

Zrzeczenie: Kopiowanie zastrzeżonego materiału jest nielegalne. Nie używaj tych instrukcji do żadnej nielegalnej działalności.
Wstęp
Konfigurowanie nagrywarki CD może być trudne. Dobry opis znajdziesz na http://www.guug.de/~winni/linux/cdr/html/CD-Writing-3.html .
Kierowałem się tym dokumentem przy konfigurowaniu taniej, "no-name" nagrywarki IDE-ATAPI na PC-ciez RH6.0. Działa świetnie, nie były też potrzebne żadne zmiany w konfiguracji po uaktualnieniu systemu na RH6.1 ani RH6.2. Z moich doświadczeń wynika, że nagrywanie płyt pod RedHat'em jest znacznie pewniejsze niż pod MS Windows (około 95% skuteczność!). Miałem jednak problemy z archiwizacją pod Mandrake. Oto kroki, którymi się kierowałem (niemal wszystko było robione z konta root'a):
SETUP
o In the file /etc/lilo.conf , add a line at the end of the Linux "image" section:
append="hdb=ide-scsi"
Adjust the line above if your CD writer is not "hdb" (second drive on the first IDE interface). It makes your IDE-ATAPI CD-W(R) to be seen on your Linux system as a SCSI device. (It is not really a SCSI device, it is an IDE device, it just pretends to be SCSI.) Run lilo after making any changes to /etc/lilo.conf . The above change to /etc/lilo.conf appears to be necessary to be able to emulate SCSI on IDE-ATAPI CD-R(W) if you use Linux kernel 2.2.x.
o Add the loop devices to the /dev/ directory. This is not a obligatory, but a nice feature if you plan creating your own data CDs. The loop device will let you mount a CD image file (as if it was a already a filesystem) to inspect its content.  The loop devices don't exist on my hard drive after Linux RedHat installation, so I create them using:
cd /dev/
./MAKEDEV loop
o Add these two lines at the end of the file /etc/rc.d/rc.local so that the needed kernel modules are automatically loaded on system startup:
/sbin/insmod ide-scsi
/sbin/insmod loop
These two kernel modules are needed for SCSI emulation of IDE drives and to support the loop devices, respectively.
o Create or modify the device /dev/cdrom so it now points to the correct device , most likely:
ln -s /dev/sr0 /dev/cdrom
You need to do this because "/dev/cdrom" pointed to an IDE device (probably /dev/hdb) but now this changes since your CD-R is going to be in SCSI emulation mode.
o Reboot so the changes to /etc/lilo.conf can take effect. Check if  your CD-R(W) still works properly for normal reading.
o Download the program "cdrecord" from your favorite Linux software repository (e.g., http://idirect.linuxberg.com/ ). Then install the source code, compile it, install the program, and make symbolic links so that the executable are easy to run (the installation would be much easier if you found a binary *.rpm file):
cd /usr/local
tar -xvzf /the_path_to_which_you_downloaded/cdrecord-1.6.1.tar.gz
ls
cd cdrecord-1.6.1
make
make install
ls /opt/schily/bin/
ln -s /opt/schily/bin/* /usr/local/
The program cdrecord is a spartan, command line utility for writing CD. There are several GUI front ends to it, but they will be useless if the underlying cdrecord does not work properly. My advice: use command line for some time--you get to understand how things work, get flexibility, and reliable results. Then you can install GUI front ends to make CD covers, and make things easier for Windows-educated users on your system.
o See if your cdwriter is recognized. If it is, it should now show in the output from this command:
cdrecord -scanbus
CREATING DATA CDs
o Create a CD image containing your data:
mkisofs -r -o cd_image input_data_directory
This makes an International Standard Organization (ISO) standard 9660-type filesystem containing the files from input_data_directory, but writes the filesystem to an ordinary file on the hard drive.  This output file is an "image" of the new CD which I am creating.  The option "-o" indicates that the parameter that follows is the  output filename of this image.  The option "-r" enables "Rock Ridge" extensions to the ISO protocol so that file attributes are saved, and it sets the file permissions so all the files on the CD are publicly readable (can be read by all user, not only the file owner).  The filenames are  abbreviated to the "8.3" DOS-type length but, since Linux supports so called "Rock Ridge" extensions to ISO9660, it also writes the full names and all the file permissions as well--this way the new filesystem is portable across all popular operating systems (DOS, MS Windows, Linux, UNIX, etc)--really convenient to the user.

The input data directory can be assembled from differenet directories and files from all-over your filesystem using symbolic links (saves harddrive space because the data is not copied), but if you do it you probably want tell mksiofs to follow symbolic links using the option -f:

mkisofs -r -f -o cd_image input_data_directory_containing_symlinks

o You may want to inspect the CD image file by mounting it through the loop device:
mount -t iso9660 /dev/loop0 cd_image /mnt/cdrom
[now the content of the file should appear in /mnt/cdrom]
cd /mnt/cdrom
[inspect the file mounted through the loop device]
When done with inspection, change your working directory away from the mountpoint and unmount the file:
cd
umount /mnt/cdrom
o If everything worked, you may burn your data CD:
cdrecord -v speed=2 dev=1,0,0 -data cd_image
The numbers in "dev=" stand for the scsi bus number (the first one is 0, second bus is 1, ...), device id on the scsi bus (between 0 and 7), and the scsi lun number (always 0) respectively. You must customize them: the first two number can be read in the output from cdrecord -scanbus, the third number is 0. Make sure to use the correct numbers or you may write to a wrong drive and corrupt your data.
The timing of writing to CD-Rs is very important, or an error may occur (the laser cannot be switched on and off at will). Therefore avoid doing intensive tasks during creating a CD, e.g. don't create or erase large files on the hard drive.  My system will not permit me to start new tasks when using cdrecord .
CREATING AUDIO CDs
o Audio tracks have to be in files of *.cdr (I guess it is the same as *.cdda.raw),  *.wav (wave), or *.au format before you can write them to a CD.
o The utility sox converts between the various audio file formats (sox understands quite a few of them). For example, this will convert a .wav file to a .cdr file:
sox my_file.wav my_file.cdr
You don't need to do the conversions manually - cdrecord supports *.wav and *.au directly (it does a conversion from *.wav or *.au to *.cdr "on the fly").  This is very convenient because audio files tend to be large.
o Audio CDs don't contain a filesystem, they store "raw data". This means that you cannot mount an audio CD. Also, each track is written separately, i.e., as if it was a different "partition" on the CD.
o To read audio tracks from an audio CD and write them to a suitable file on your hard drive (typical format is *.raw or *.wav) , you need a "cd ripper".  A popular CD ripper is "cdparanoia".  After downloading the source for cdparanoia, install it (use the autocompletion <Tab> shortcut when typing the long filenames):
cd /usr/local
tar -xvzf /the_path_to_which_you_downloaded/cdparanoia-III-alpha9.6.src.tgz
ls
cd cdparanoia-III-alpha9.6
./configure
make
make install
The installation program places a proper link to the executable (/usr/local/bin/cdparanoia) so I don't have to create the link manually.
To rip the first track from an audio CD, I can use:
cdparanoia 1
which will put the first track from the CD into the wave file "cdda.wav" in the current directory.
To rip tracks 1 to 2 from an audio CD to a "raw" file format, I can use:
cdparanoia -B -p "1-2"
The option -B specifies to use a "batch" mode, so that each track is put into a separate file (this is probably what you want, otherwise all tracks would be placed in one output file).  The "-p" option specifies output in raw format. The files are named track1.cdda.raw and track2.cdda.raw .
To rip all tracks from an audio CD, each track to a separate *.wav file, while forcing reading speed 4x, I can use:
cdparanoia -S 4 -B "1-"
Make sure you have sufficient free space on your hard drive. You can use use the space on your DOS partition (if you have dual boot).
o To write suitable audio files to a CD-R(W), I can use:
cdrecord -v speed=2 dev=1,0,0 -audio track*
o Older stereos often will not play burned CD-Rs (because of the size of the pits on the CDs).  My home stereo cannot read re-writable CDs (CD-RW) at all, although it will read write-once disks (CD-Rs), so re-writables may be good to store data but are useless for audio (unless I plan to play them exclusively on my computer).
CREATING MIXED-MODE CDs
Mixed-mode CDs (meaning CDs which contain both data and audio, often game CDs) are not a problems, e.g.:
mount -t iso9660 /dev/cdrom /mnt/cdrom (mount the data part of the mixed-mode CD)
mkisofs -r -o cd_image /mnt/cdrom (make an ISO filesystem from the data on the CD).
umount /mnt/cdrom  (unmount the CD)
cdparanoia -B "2-" (rip the content of all audio tracks on the CD, except the first track since it is data)
cdrecord -v speed=2 dev=1,0,0 -data cd_image -audio track* (write the data and audio files, piece by piece)

MAKING A COPY OF THE ENTIRE CD

Most CDs can be copied by first copying all data (for data CDs) or all tracks (for audio CDs) onto the hard drive as described before, but some CDs cannot.

For example, these kinds of data (not audio) CDs need to be treated differently: bootable CDs (like Linux installation CD), CDs that require the label, disk with errors, etc.  For data CDs,  I use these commands to make an exact copy:

dd if=/dev/cdrom of=cd_image
cdrecord -v speed=2 dev=1,0,0 -data cd_image

The dd command copies the input file (if), which in this case is the device /dev/cdrom to the output file (of) which in this example is a file called cd_image (on the hard drive in the current working directory).  The second command copies the file cd_image that was created by the dd command onto an empty CD.

For data disk with error, you might want to try:

dd conv=noerror,notrunc if=/dev/cdrom of=cd_image
cdrecord -v speed=2 dev=1,0,0 -data cd_image

The option "conv=noerror,notrunc" specifies that the potential read errors are to be ignored, and files not truncated on error.

For audio CDs, I use these command to make a copy:

cdparanoia -B "1-" (rip the content of all audio tracks on the CD, from track 1 on. The tracks are saved into files in the current directory and named: track01.cdda.wav, track02.cdda.wav, etc.)
cdrecord -v speed=2 dev=1,0,0 -audio track* (write all the audio files to the CD, one by one. The tracks are separated by a 2 s gap).

To make an exact copy of mixed mode CDs,

dd if=/dev/cdrom of=cd_image (The dd command will output an error message when the the data has ended and audio started. This is expected and ok).
cdparanoia -B "2-" (rip the content of all audio tracks on the CD, except the first track since it is data)
cdrecord -v speed=2 dev=1,0,0 -data cd_image -audio track* (Write the data and subsequent audio files, piece by piece.)

RE-WRITABLE CDs
Re-writable CDs (CD-RW) are used the same way as regular write-once CDs (CD-R), but you have to blank re-writable disks before you will be able to re-use them, e.g.:
cdrecord -v speed=2 dev=1,0,0 blank=fast
To see other (more thorough and slower) options for blanking, use:
cdrecord blank=help
SIMPLIFYING LONG COMMANDS WITH AN ALIASES

To simplify writing long commands required by cdrecord, I may define a global alias by placing the following line in the file /etc/bashrc:

alias cdrecord="cdrecord -v speed=2 dev=1,0,0"
Re-login for the changes in /etc/bashrc to take effect. After creating this alias, a I can record a CD using the following shortened command (no need to specify the CD writer speed and device name all the time):
cdrecord -audio track*
Goto part 7: Learning with Linux