Aktualizace: 04.06.2001
Linux - zaΦátky
Obsah:
M∙j Hardware  ,
X server  ,
Diakritika ,
Internet a Volny ,
Základní rozdíl Linuxoidního a Windowsoidního myšlení
O údr₧b∞ LILO zavad∞Φe
Star Office s Φeštinou
ICQ
Nejde mi runlevel 5 s gdm
Zvukovka koneΦn∞ jede
N∞co o bezpeΦnosti pošty a PGP
Základy instalace balík∙
Zoot
WWW server Apache p°ímo na mém stroji
Perl
PostgreSQL databáze
Propojení databáze PostgreSQL a Web serveruApache
O Linuxu obecn∞ji, Linux na desktopu, reakce windozák∙, co podniky.?
Programování v Tcl/Tk
Wget na stahování stránek/server∙ v Tcl/Tk
RPM balíky podruhé - jak je vyráb∞t
RPM balíky pot°etí - grafický klient pro jejich výrobu
Instaluji Star Office 5.2
První kroky s KDE2
Tip: jak opravit text bez editoru
Kdy₧ nejde Φeština v kvt, TCL aplikacích a HTML editorech
RPM balíky poΦtvrté - kázal jsem bludy
RedHat 7.0 - nejde runlevel 5 a jak to spravit
RedHat 7.0 - migrace aplikací a novinky
KDE 2.1 - a poΦešt∞ní ...

KDE 2.1 - a poΦešt∞ní ..pokraΦuje.
Vypalování pod Linuxem
RedHat 7.1CZ


ZaΦíná:   Základy ovládání  Linuxu

M∙j HW

Tato stránka m∙₧e pomoci ka₧dému, kdo má podobný HW jako já a s Linuxem skonΦil na úrovni textové konzole. Mám grafickou kartu Diamond Speedstar A50 a zvukovku Diamond Monster Sound II. - Aby to bylo jasné hned zpoΦátku, neprezentuji tady své objevy, návody a konfiguraΦní soubory mám z Internetu a z HOWTO help∙. Nechlubím se tedy cizím pe°ím - jde mi spíše o to °íci, jaké jsem m∞l zkušenosti p°i postupu s t∞mito návody.

Pracoval jsem pár let s Ultrixem na hromadném zpracování dat a pak s IRIXem na CADovské pracovní stanici SGI. V té dob∞ jsem se nauΦil krom unixovských základ∙ ocenit robustnost a stabilitu unix∙ a také jejich stavebnicovost. Vzpomínám si, jak známá obdr₧ela v souboru výtisk jakési úΦetní záv∞rky a pot°ebovala to p°eformátovat do tvaru Φistých dat bez záhlaví, sum a zápatí. StaΦil na to jeden regulární výraz - p°iznávám, ₧e jsem ho vymýšlel a ladil celý veΦer, ale zabral. "UNIX Power Tools" uvádí p°íklady regulárních výraz∙ schopných selektovat palindromy ("radar", "kobylamamalybok") .KOmbinace drobných utilit (cut, sort), awku, roury (i sí¥ové), regulárních výraz∙ a umíst∞ní výsledku p°íkazu do p°íkazu jiného (`xxx`) je zkrátka mocným nástrojem, který pom∙₧e skoro z ka₧dé nouze.

X server

Mám instalovaný RedHat 6.0 (PCWorld8/99) a jsem v textové konzoli. POt°ebuji zprovoznit grafickou kartu. SouΦástí instalace je i Xserver XFree verze 3.3.3.1 , který však Diamond Speedstar A50 nerozpoznal. Stahuji z Internetu vyšší verze XFree - zatím ješt∞ ve Windows prost°edí.

Teprve verze XFree 3.3.4 se chytla. Preinst.sh hlásí, ₧e mám starou ld.so, navzdory tomu to zaΦíná fungovat.
Na °adu p°ichází nastavení, pouštím xf86config, výsledným souborem je XF86Config.  Nejd∙le₧it∞jší volby , které do xf86config zadáváte, jsou typ grafické karty, vertikální a horizontální frekvence, ty je nutno znát p°edem z technické dokumentace. Na konci konfigurace, v sekci grafických mod∙ lze urΦovat po°adí nabíhání jednotlivých rozlišení . Lze dát volbu (5) a toto po°adí editovat pozd∞ji, nebo si vybírat postupn∞ jednotlivé barevné hloubky volbami 1-4 a pro ka₧dou nastavit po°adí rozlišení. Tyto volby vytvo°í v XF86Config sekci "screen section" a v ní °ádky mode, z nich₧ ka₧dý pro svou barevnou hloubku obsahuje po°adí jednotlivých re₧im∙. Re₧im, který je na °ádku jako první, se nastaví po startu X systému, p°epínání na další re₧imy na °ádku lze pomocí Ctrl-Alt-+ a zp∞t Ctrl-Alt-- . Pokud jste šli cestou  volby (5), není nic ztraceno. Editací °ádk∙ mode m∙₧ete dodateΦn∞ sestavit toto po°adí. A nejen to - t°eba se vrátíte k "pointer section" a odblokujete dva °ádky emulace t°ítlaΦítkové myši:

# Emulate3Buttons is an option for 2-button Microsoft mice
# Emulate3Timeout is the timeout in milliseconds (default is 50ms)

    Emulate3Buttons
    Emulate3Timeout    50

Na konec se Vás ptá xf86config, kam ulo₧it výsledný soubor XF86Config. Je t°eba si uv∞domit, ₧e m∙₧e být ulo₧en

-do /etc , dále

-do /etc/X11, která₧to druhá lokace je linkována do defaultní pozice /usr/X11R6/lib/X11

-a do vašeho HOME adresá°e,. X server bere nap°ed default, pak /etc a nakonec Váš HOME..

Diakritika

Další kapitolou je poΦešt∞ní, zahajuji ho dle návodu na CDROM PCWORLD8/99
 

Soubor /etc/sysconfig/i18n není, musím si ho vytvo°it s obsahem:
LANG=cs
LINGUAS=cs
LC_ALL=cs_CZ
LC_CTYPE=cs_CZ
SYSFONT=lat2-sun16
SYSFONTACM=iso02

a textová konzole je Φeská.

/etc/X11/fs/config edituji dle patche na CDROM v kapitole "Jak poΦeštit r∙zné distribuce" , úsek
RedHat 6.0 :
*************************
--- /etc/X11/fs/config.orig     Mon Apr 19 01:33:12 1999
+++ /etc/X11/fs/config  Wed Apr 28 14:27:36 1999
@@ -16,7 +16,11 @@
 # directories in /usr/share, because they aren't forced to be
 # installed alongside X.
 #
-catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled,
+catalogue = /usr/share/fonts/ISO8859-2/misc:unscaled,
+       /usr/share/fonts/ISO8859-2/75dpi:unscaled,
+       /usr/share/fonts/ISO8859-2/100dpi:unscaled,
+       /usr/share/fonts/ISO8859-2/Type1,
+       /usr/X11R6/lib/X11/fonts/misc:unscaled,
        /usr/X11R6/lib/X11/fonts/75dpi:unscaled,
        /usr/X11R6/lib/X11/fonts/100dpi:unscaled,
        /usr/X11R6/lib/X11/fonts/misc,
 

********************

patch se aplikuje takto:
patch jménopatche , pokud je v patchi jméno originálního souboru obsa₧eno, nebo
patch jménooriginálu jménopatche
   (od 16. °ádku jich 7 vypus¥ a 11 vlo₧) , p°esto uvedene fonty v X nejsou.   A to je tím, ₧e stejné cesty se musí vlo₧it ješt∞   do /etc/XF86Config jako prom∞nné
FontPath "/usr/share/.../"
A pak chodí také X prost°edí Φesky.

Do /etc/profile dávám echo -e ?\033(K?
V textové konzoli funguje psaní i zobrazení. Musí ale být v
/etc/sysconfig/keyboard
KEYTABLE="cz-lat2"
jinak nep∙jde v textové konzoli Φeská klávesnice .

Nechodí p°íkaz setxkbmap -symbols 'czsk(us_cz_qwertz)' -compat group_led
umíst∞ný v .Xclients . To je kv∙li tomu, ₧e ješt∞ není instalovaná mapa us_cz_qwertz , co₧ prozradí pohled do /usr/X11R6/lib/X11/xkb/keymap.dir , tam je jasné, ₧e instalovaná mapa us_cz_qwertz
Proto nem∙₧e být nata₧ena.

Zbývá: Φeská klávesnice v X prost°edí, zvukovka a pak rozchodit modem a Internet.

Jiný desktop se zapíná p°íkazem switchdesk. Konfigurace myši se d∞lá p°íkazem mouseconfig a zvukovky sndconfig. Oba tyto konfiguráky lze s °adou dalších spustit p°íkazem setup.

Další poznatek se týká chyb p°i zavád∞ní systému. Linux je ú₧asn∞ blbuvzdorný, pokud n∞jaký modul sel₧e, nemá to v drtivé v∞tšin∞ p°íkaz∙ vliv na ostatní. Abychom zjistili, co nám selhalo, podíváme se v textovém re₧imu sem: /var/logs . Tam je soubor bootlog , kde jsou zprávy z aktuálního zavedení systému, zprávy z minulého zavedení jsou v lastlog, všechny chyby jsou v souhrnném souboru messages.
 

Internet a Volny

Chci se p°ipojit k Video on Line (Volny) .
Linux a modem - mám externí a tak je skoro vyhráno. V RedHatu se o p°ipojení na Internet Point-to-Point Protokolem starají 2 programy :

pppd a chat. Navzájem jsou v symbiose: chat generuje dialog programu pppd:
pppd  `chat` samoz°ejm∞ s p°íslušnými p°epínaΦi.

POt°ebné konfigurace jsou v souborech
$HOME/.pppscipt , /etc/ppp/options, /etc/resolv.conf a /etc/ppp/pap-secrets (chap-secrets) .
Stáhl jsem si od Thaleze p∙vodn∞ n∞mecký skript generující tyto soubory, jen₧e pro komunikaci s u₧ivatelem pou₧íval p°íkaz dialog, který nemám ve své instalaci. Tak jsem ho p°eprogramoval tak, aby se bez n∞j obešel, a je zde: pppsetup .

18.01.2000 D∞lám osudovou chybu. V gmc mana₧eru mám vybraný adresá° /sbin a zachv∞je se mi ruka a já ho posunu do /var. Sice mi to napsalo varování, ale jak jsem byl ospalý .... Linux nejde bootovat. Zastaví se v single-user re₧imu a dá bash prompt,ale je v read-only. Fsck.ext2 /dev/hda4 ho vyΦistí, to ale pomoci nem∙₧e. Vím ale, po jaké hlášce se to zastaví, a najdu ji v /var/log/messages. Další hláška, která by m∞la následovat p°i nerušeném normálním zavád∞ní, jde od rc.sysinit. . Tak₧e ho otev°u a tam jsou utilitky s absolutní cestou /sbin/* . Tím se mi potvrdil m∙j dojem, ₧e tento adresá° chybí v ko°eni a p°ebývá ve /var, tak₧e ty utilitky se nenašly a proto to spadlo do single-user re₧imu. Jak /sbin vrátit do ko°ene, kdy₧ jsem read-only ? Linux ale umí dynamicky zm∞nit volby mountu:
mount /dev/hda4 -o remount,rw a filesystém je u₧ rw. Pak p°esunu sbin, kam pat°í, a (p°íkaz reboot ješt∞ nejde) trojhmatem Ctrl-Alt_del rebootuji. A je to dobré.
Netscape 4.6 je nestabilní, kdy₧ odev°u adresní knihu a vlo₧ím adresáta do pole "To:" , spadne to. Málokdy to zobrazí kartu adresáta, kdy₧ kliknu na jeho adresu. Odinstaloval jsem ho a nainstaloval starší 4.0.6 . A jsem spokojený. Ne nadlouho - Nejde nap°íklad Reply, po kliknutí na e-mail adresu to sice správn∞ zobrazí adresáta na nové kart∞, ale Φas od Φasu to celé zmrzne..... Jdu zpátky do 4.6.
Proces pppd se odvolává k neexistujícím modul∙m:
  "modprobe: Can't locate ppp_compress-21
modprobe: Can't locate ppp_compress-24
modprobe: Can't locate ppp_compress-26"
╪ešením je p°idat tyto aliasy do /etc/conf.module:
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate # From original RFC draft
alias ppp-compress-26 ppp_deflate # Final standard per ppp-2.3.4

Stala se mi drobná epizoda ukazující krásný rozdíl mezi linuxoidním a windowsoidním myšlením. UrΦit∞ jste u₧ ve Windowsech za₧ili situaci, kdy n∞jaké nastavení ne a ne povolit, a nezbývalo ne₧ p°einstalovat aplikaci nebo i systém. Hodn∞ Φasto se to stává, kdy₧ systém ₧ije - po°ád p°idáváte a zase odinstalováváte programy, co₧ se p°ihodí ka₧dému, kdo po°ád zkoumá 30-denní verze r∙zných program∙. No a tak p°einstalujete t°eba celý systém s v∞domím, ₧e 99% soubor∙ p°elijete stejnými soubory kv∙li tomu, abyste jeden soubor nebo jednu v∞tev registr∙  p°epsali správným obsahem. A te∩ slíbený p°íb∞h: spustil jsem linuxconf a v n∞m volbu Check File Permission, co₧ je ov∞°ení bezpeΦnosti systémov∞ d∙le₧itých soubor∙. Pro neadministrátory nato p°estalo chodit p°ipojení k Internetu. Postupoval jsem windowsoidn∞ a celé p°ipojení p°einstaloval. šlo to, ale m∞ to nedalo, a tak jsem se v logu linuxconfu, podíval, co se asi zm∞nilo. Bylo to binár pppd , který je srdcem celého p°ipojení k Internetu. Co se ale mohlo zm∞nit ? Pohled do skriptu pppsetup ukazuje, ₧e tomuto souboru nastavuje s-bit.:
PATH1="/usr/sbin/pppd"
.....
chmod u+s $PATH1 2>/dev/null
   To je opat°ení , které umo₧ní neadministrátoru,   aby v dob∞, kdy pou₧ívá tento binár, m∞l práva   jeho vlastníka, tedy roota. Samoz°ejm∞ ₧e takový zp∙sob není   pokládán za nejbezpeΦn∞jší, a proto kontrola  v linuxconfu s-bit zrušila. M∞ to nevadilo, a tak staΦilo dát                   chmod 4750 /usr/sbin/pppd , a systém byl tam,   kde p°edtím, neadministrátor se mohl p°ipojit PPP protokolem.   Samoz°ejm∞ p°einstalace nebyla nutná .. Co z toho plyne ? Unixy obecn∞   jsou postaveny na n∞kolika pilí°ích: "všechno je text"  , "všechno je soubor", "spousta drobných utilit , které  lze stavebnicov∞ skládat, dá  dohromady v∞tší  sílu ne₧ jeden velký ned∞litelný systém". V mém  p°ípad∞ jde o první dv∞ zásady . Skoro ka₧dý problém, ka₧dá hláška jde analyzovat do úrovn∞  souboru a jeho práv, nebo jeho obsahu, který u konfiguraΦních  soubor∙ je tém∞° výhradn∞ ASCII text, ne binár. Samoz°ejm∞  i ve Windows najdeme p°ípady, které lze °ešit takto jednoduše, v∞tšinou ale jsou hlášky odtr₧eny v rámci vytvo°ení "u₧ivatelsky p°íjemného prost°edí"  od konkrétních soubor∙. a jejich obsahu .Nastavení je ponejvíce, v NT výhradn∞ , v binárních registrech,  kdo jste si tam poeditovali nebo porestorovali staré registry a pak zjistili, ₧e to nepomohlo, museli jste jako já zapeklité p°ípady °ešit p°elitím.... Tolik odmítaná p°íkazová °ádka šet°í Φas ka₧dému, kdo je ochoten se t∞ch  pár p°íkaz∙ nauΦit.                
 

Od 08.02.2000 experimentuji s KDE prost°edím a v oblasti Internetu s programem kppp. A₧ budu mít více zkušeností, ozvu se.
P°ipojení modem realizuje program kppp, který   volá pppd navenek však p∙sobí velmi autonomn∞.
Äel p°ipojení na Volny neprobíhá hladce. Z n∞jakého d∙vodu odmítá poboΦkový server providera paket  podruhé potvrzující autorizaci :
 rcvd [CHAP Success id=0x3d ""]
.....
a ve chvíli tady u₧ b∞₧í další fáze dialogu, IPCP,
 rcvd [CHAP Success id=0x3d ""]    je to tady podruhé.
To pppd  2.3.7 nezpracuje a tento paket odmítne. A nejen tento, nyní p°icházejí další hlášení o odmítnutých paketech,

kdy₧ hexadecimální obsah rozkoduji jako ASCII text, vychází

rcvd [IPCP ProtRej (NULL sent VIPCP ConfReq id=0x1 <addr 0.0.0.0> <compress VJ f 00>] \n )]
rcvd [IPCP ProtRej ( rcvd VLCP  ProtRej id= ...)]
╚ili p°ijal jsem pakety obsahující obsah odmítnutých paket∙. Jejich obsah p°ipomíná normální pakety a₧ na to, ₧e všude je prefix V . Co je to za protokol ? Je to Van Jacobs∙v komprimát ?
blokuji ho volbami v konfiguraΦním souboru kppprc:
pppdArguments=novj, novjccomp
Není to však nic platné. Z°ejm∞ posílám ve stávající konfiguraci n∞jakou informaci navíc a server ji odmítá, p°itom ale spojení udr₧uje. -A₧ studium dokumentace p°ináší tip: kppp má vlastní konfigurák HOME/.kde/share/config/kppprc a volby uvedené v /etc/ppp/options s ním mohou kolidovat, jsou-li pochyby, rad∞ji ho vyprázdnit (ne vymazat) . Ukládám p∙vodní soubor mvoptions options.SAV a zakládám nový prázdný:
touch options
kppp

A chyba je pryΦ. Äel práv∞ ve chvíli, kdy jsem se poprvé bezchybn∞ p°ipojil p°es kppp, nešly DNS slu₧by, tak₧e stránky, které jsem pot°eboval navštívit, byly momentáln∞ nedostupné.
Druhý den to jde - Φili °ešení je v bezkonfliktím souboru /etc/ppp/options. Te∩ v n∞m mám tyto:
asyncmap 0
debug
passive
 

A jde to.

P°i výzkumech KDE jsem si poškodil konfiguraci neznámo kde a padá mi pppd p°i odesílání pošty z Netscape.  Výzkumy nikam nevedly a tak jsem se vydal metodou d∞lení intervalu - nejprve zkontroluji sv∙j HOME adresá° a potom vše ostatní :
-je-li chyba v mém HOME, sma₧i sv∙j °ádek z /etc/passwd a /etc/shadow, starý HOME p°ejmenuji  a zalo₧ím se znovu pomocí adduser. Tím si zalo₧ím nový HOME a nové konfiguráky. Ze starého HOME nakopíruji jen data. A Netscape se rozešel správn∞.
Problém byl jen s kppp , uvízlo p°i nastavování hlasitosti modemu. Okno Záznam prozradilo, ₧e modem na povel ATML4 místo OK vrací ERROR. Správn∞ má být ATML1 , potom se to rozešlo. Toto však je modemová zále₧itost, u jiných typ∙ to m∙₧e být jinak.

Loader systém∙ LILO

Problémy na Windows zp∙sobily, ₧e je musím reinstalovat. Reinstalování  smazalo LILO na HDD.

Obnova LILA (p°emazáno p°einstalací W95 na stejném poΦítaΦi) se d∞lá podle
údaj∙ v /etc/lilo.conf p°íkazem
lilo
a to je vše.
Abyste to ale ud∞lali, musíte se do Linuxu dostat a tedy musíte mít LILO disketu. Jak se d∞lá? Hlavn∞ se d∞lá, dokud ješt∞ do Linuxu  m∙₧ete.
Zavád∞cí LILO disketa se d∞lá p°íkazem
mkbootdisk --device disketa Φíslo verze jádra
tedy v mém p°ípad∞
mkbootdisk   --device /dev/fd0 2.2.5-22
a bere data z /lib/modules/2.2.5-22 , tedy z podadresá°e v /lib/modules,
jeho₧ název  je shodný s verzí jádra.

Kancelá°ský balík Star Office

Star Office 5.1 jsem si stáhl u₧  d°íve, ale nešlo mi poΦešt∞ní. Znal jsem ,
návod Petra Kristofa, ale stále mi to nešlo..
Na vin∞ bylo p°ehlédnutí jedné jediné v∞ci. D∞lám podle návodu:

cat psstd.fonts.ulT1mo >> /opt/Office50/xp3/psstd.fonts.
a
p°íkaz LD_PRELOAD=.../XKB-czsk-forcedIM-0.04/libX11-glibc.so.6.99
export LD_PRELOAD
umis¥uji do  .bashrc  zap∙sobil, ₧e pod ním jdou psát háΦky, zase ne Φárky. A to jsem p°ehlédl:

...asi nejlepší je do souboru /usr/X11R6/lib/X11/locale/iso8859-2/Compose p°idat následující °ádky:

<yacute> : "\375" yacute
-<aacute> : "\341" aacute
<iacute> : "\355" iacute
<eacute> : "\351" eacute
<uacute> : "\372" uacute

A jde to i diakritikou. Z návodu Petra Krištofa si stahuji i CPP - modul pro p°evod kodové stránky,
který se vnutí do StarOffice . Pak staΦí jen otev°ít dokument a stisknout ikonu, kterou jste mu p°i°adila.

ICQ


ICQ je slu₧by umo₧≥ující vyhledat práv∞ p°ipojeného kamaráda a zahájit s ním dialog (chat).
Proto₧e s vývojovým prost°edím mám ješt∞ potí₧e, stahuji z mnoha variant kxicq*-*.rpm .
Funguje napoprvé a k plné spokojenosti.
 

Nejde mi runlevel 5!

Zatím jsem bootoval do runlevel 3 , a pak startoval p°es startx . Jen tak bootuji do runlevel 5 a hele - i kdy₧ zadám dobré heslo, neautorizuje mn∞ to. Bádám v X systému obecn∞ a toto je výsledek:
Nastolení X prost°edí probíhá dv∞ma cestami:
1) xinit , startx , kdy₧ je u₧ivatel ji₧ autorizován z konsole.
2) xdm, kdy₧ je t°eba nap°ed spustit X, a pak autorizovat. Vlastní autorizaci d∞lá instance xdm zvaná xlogin.
R∙zná prost°edí nabízejí variantu : GNOME gdm, KDE kdm . Link na n∞ , který o tom rozhodne, je

/etc/X11/prefdm
a referuje se v /etc/inittab v sekci
#Run xdm in runlevel 5
Já ho m∞l nalinkován na gdm, po p°elinkování na xdm to taky nešlo, ale co šlo, bylo kdm :
cd /etc/X11
ln -s ../../usr/bin/kdm prefdm

A runlevel 5 jede správn∞ .
 

Zvuková karta

Dlouho oΦekávané zprovozn∞ní zvukové karty nastalo 05.05.2000. Stejn∞ jako u grafické karty- pro ovladaΦ je podstatn∞jší typ Chipsetu ne₧ jméno karty. Svou grafickou kartu Diamond SpeedStar A 50 jsem rozjel zadáním  jména chipsetu Sis 6326, svou zvukovku Diamond MonsterSound  sta₧ením ovladaΦ∙ pro její chipset Aureal Vortex AU8830 . P°íslušný ovladaΦ se nainstaloval pouhým rozbalením a povelem make install.

Red Hat 6.2 Zoot

Instaluji RedHat 6.2 CZ, zvaný Zoot. V mém p°ípad∞ musím provést Aktualizaci, ka₧dá jiná volba by znamenala smazání veškerých soubor∙ v Linuxových obastech. P°esto mám strach z hladkosti švu. - Dojem z instalátoru: skv∞lý, pln∞ v grafickém re₧imu a Φesky komunikující, v okn∞ s explorer strukturou d∞lí balíΦky RPM do kategorií, tak₧e nejste na pochybách, jestli to, na co jste klepli, je hra nebo p°evodních fyzikálních jednotek, základní Φi vývojová knihovna . Ke ka₧dému ze 767 balík∙ si m∙₧ete p°eΦíst popis, a₧ na pár výjimek Φeský. Aktualizace prob∞hla bez problému, nejde jen zvuk a kppp je anglické. Nejd°íve zvuk: sndconfig pozná zvukovku, ale tvrdí, ₧e ji nepodporuje. P°ímý p°eklad ovladaΦe au8830 selhává. ve fázi zavád∞ní nových modul∙ p°íkazem modprobe (insmod).  Podobn∞ p°eklad oss . ALe odkazuje nás  na chybový log a ten uká₧e, ₧e p°i kompilaci se to opírá o moduly kompilované pod starším jádrem. Zkrátka p°i p°ekladu se vytvá°ejí odkazy na Φleny v knihovnách a kdy₧ se ty knihovny p°i aktualizaci Linuxu vym∞ní za nové, n∞které odkazy p°estanou platit. Proto jsem smazal p∙vodní oss. Také na au8830 jsme dal make clean, po nové instalaci v∞tšina chybových hlášek ubyla, ale jedna tam furt je -nedá se zavést  au8820.o, které tam zbylo z jakýchsi minulých pokus∙. Tak ho ma₧u ruΦn∞ , spolu s ním i vortex.o a nová instalace au8830 u₧ prob∞hla bez chyb . Toté₧ bude nutné ud∞lat se všemi kompilovanými programy.
Internet a kppp : chyba je v tom, ₧e /usr/bin/kppp je anglické, a je to jen link na jakousi nápov∞du consolehelp.   Ovšem /usr/sbin/kppp je Φeské, a  chodí. To chci, a tak odstra≥uji zmín∞ný link a tvo°ím ho na /usr/sbin/kppp.

WEB Server Apache

Instaluji APache , chci, aby mi šel PHP. Co jsem se zaΦal zajímat o dynamické stránky, pocítil jsem pot°ebu testovat si je p°ímo u sebe. Linux mi dává ideální p°íle₧itost -  mohu si nainstalovat WWW server Apache, nakonfigurovat podporu PHP, CGI, SSI a co vytvo°ím si zkusit zrovna lokáln∞ odladit d°íve, ne₧ to vrazím na server.

Samotnou  instalaci APache necítím pot°ebu komentovat, je to rutina. Za zmínku stojí,  ₧e p°íslušný *.rpm soubor má asi 2.9 Mb .(!!).
KOnfigurákem  je textový soubor
/etc//httpd/conf/httpd.conf

╪ídím se kurzem Ji°ího Koska a tak kontroluji, respektive p°idávám tyto prom∞nné:
ServerName localhost
AddType text/html .shtml
AddHandler server-parsed .shtml
Options Indexes FollowSymLinks Includes
DokumentRoot /home/httpd/html 
Tato poslední prom∞nná °íká, které UNC adrese odpovídá Φást "localhost" p°i lokálním, respektive doménová Φást URL www.neco.neco/ p°i provozu sí¥ovém. a pro první zkoušku se do prohlí₧eΦe  zadá http://localhost , co₧ odpovídá adresá°i /home/httpd , a hned je tu úvodní obrazovka.  Co chci vystavovat pomocí WWW serveru dám pak do  /home/httpd/html/username a do prohlí₧eΦe zadám URL  http://localhost/username  a dojde k zobrazení této stránky.
Na co jsem si to p°inesl. Vytvo°il jsem cgi skript a chci ho lokáln∞ o₧ivit.  Zjiš¥uji, ₧e  m∙j ApaΦ na n∞j nemá práva. P°idal jsem tedy ješt∞:
AddHandler cgi-script .cgi
Hodí se ješt∞ v∞d∞t, jak se d∞lá
Stop Apache: /etc/rc.d/init.d/httpd stop
Restart Apache: /etc/rc.d/init.d/httpd start
p°esto jsem CGI skript nerozchodil. POda°ilo se mi však docílit alespo≥ r∙zných  chybových zpráv. Ta poslední ukazující, ₧e se to dostalo nejdále, na rozdíl  od minulých pokus∙ je to Internal Error , a tedy souvisí s nastavením serveru.  Zjiš¥uji, ₧e  skript musel být umíst∞n v /home/httpd/cgi-bin , ne pod cgi-bin u₧ivatel∙. Chybový log je v /var/log/httpd   (podléhá konfiguráku) a ten ukázal, ₧e jde o chybu ve vlastním skriptu.  Tu jsem našel a opravil, šlo o špatnou cestu, , po oprav∞ skript projde dál,  ale pak p°išla  interní chyba 
[Thu Jun  8 18:07:50 2000] [error] [client 127.0.0.1] malformed headerfrom script. Bad header=1:/home/httpd/cgi-bin/pokus.cgi 
Mezitím objevena další vadná instrukce ve shellu , pak se chybovka p°esunula na konec po exitu a je jiná: 
[Thu Jun  8 18:29:47 2000] [error] [client 127.0.0.1] Premature end of script headers: /home/httpd/cgi-bin/pokus.cgi
Kde byla chyba ?  CGI skript nejen n∞co vykoná na serveru, ale také se musí  postarat o okno,  z kterého byl vyvolán. Kdy₧ to neud∞lá, ohlásí se p°edΦasné  ukonΦení skriptu.   Proto chybná instrukce  echo $PROMENNA  vyvolala chybu  typu deformovaná hlaviΦka, proto₧e httpd oΦekává na svém  vstupu standardní  výstup ze skriptu, kterým je aspo≥ toto minimum  :
Content-type : text/plain  za°ízený p°íkazem  echo 'Content-type : text/plain'   
POdrobn∞ji:  hlaviΦka musí respektovat HTTP1.0, Φili 
echo 'Content-type: text/html'
echo
(prázdná °ádka)

A ješt∞: je t°eba  dát skript mezi <PRE> a </PRE>

a content type mít hned na zaΦátku. Dále jsem se p°ehlédl, ₧e v  shellu nem∙₧e  být lokace localhost, tu umí jen httpd, ne shell.

Aby mi chodilo také php, staΦilo do konfiguráku p°idat:
Action application/x-httpd-php3 /php3/php.exe

A te∩ podrobn∞ji o nástrojích dynamických stránek. Jde o to, ₧e na základ∞ údaj∙, které zadám do formulá°e v okn∞, nebo na základ∞ událostí, které se nad oknem d∞jí, se mi okno p°egeneruje. Prost∞ se spustí na serveru skript, který vygeneruje nový html kod, obsahující v sob∞ reakci na zadaná data, a ten pošle do prohlí₧eΦe.
Zp∙sob∙, jak to naprogramovat, je více. Vynechám SSI, proto₧e to se v∞tšinou nepovoluje. Další je CGI skript. Tato metoda znamená, ₧e vyvinu program t°eba v céΦku, Perlu nebo v obyΦejném unixovském shellu (sh, bash atd.) a ten nechám z nad°ízené stránce podmín∞n∞ spustit. Zkoušel jsem to se shellem, proto₧e ten jediný umím. Dlouho to nešlo, ne₧ jsem pochopil, ₧e::
1) skript v sh umí na serveru zakládat soubory a ukládat do nich hodnoty,
2) nesmí však zanedbat mate°skou stránku.
3) ob∞ tyto role navíc nesmí poplést. Proto se výkonná Φást zavírá do náv∞ští <PRE> a </PRE>
4) a skript musí p°íkazem echo vygenerovat HTML stránku v obvyklé struktu°e. Minimáln∞ hlaviΦku musí mít.
echo 'Content-type: text'
echo

co₧ vypíše do okna znaky tak, jako by to byl prostý tex¥ák na INTERNETU, nebo

echo 'Content-type: text/html'
echo

co₧ zformátuje HTML stránku.

V diskusi tuším na Neviditelném psu jsem slíbil p°idat sem n∞jaké novinky. Tak₧e popo°ad∞:

Perl.

Jak asi víte, jde o moderní jazyk jak šitý pro Internet , proto₧e je velmi silný ve zpracování textových °et∞zc∙. Nainstaloval jsem si moduly
perl-5.00503-10
mod_perl-1.21-10 a pozd∞ji i
postgresql-perl-6.5.3-6 , proΦ i tenhle, to se uvidí dále .
UΦím se z kurzu - to je spíše první seznámení - a pak z manuálu . Ve fabrice je zrovna problém s tím, ₧e v hale NC stroj∙ je p°etí₧ené FNG a poloprázdné MAHO (to jsou frézky). Ob∞ mašiny se liší kodem , a to podstatn∞ v tom, ₧e mají p°ehozené osy, a dále v n∞kterých detailech. Píši sv∙j první program v Perlu, který má konvertovat NC kod FNG do prost°edí frézky MAHO. Je -neberu za n∞j ₧ádné záruky- zde: zde

PostgreSQL a Perl rozší°ení

.

Vábí mn∞ relaΦní databáze, asi proto, ₧e jsem p°ed n∞jakými 6 lety pracoval na zavedení podnikového informaΦního systému, který chodil nad INFORMIXem. Instaluji :
postgresql-odbc-6.5.3-6
postgresql-6.5.3-6
postgresql-server-6.5.3-6

Φtu dokumentaci z /usr/doc/postgresql-6.5.3 a tam se dovídám, ₧e jest mi spustit klienta (front-end) psql. On ale hlásí chybu. Zjiš¥uji, ₧e nejde back-end. Jeho startovací skript se nainstaloval do /etc/rc.d/init.d/postgresql, ale nenalinkoval do startovacích adresá°∙ jednotlivých úrovní. To se dá ud∞lat v p°íkazové °ádce, to samé ud∞lá krásný editor runlevel∙ ksysv, kter najdete v KDE pod Systém_SysV Init Editor. Tam staΦí vyhledat v levém okn∞ postgresql a tahnout ho do cílového okna p°íslušné úrovn∞ - typicky 3,5 . OPAKOVÁNÍ: 3 znaΦí, ₧e systém nastartuje do textové konzole, odkud m∙₧ete spustit X ,tedy prost°edí oken, 5 znaΦí p°ímo start do X , ob∞ úrovn∞ (runlevely) jsou víceu₧ivatelské. Pokud chcete spustit PostgreSQL t°eba v úrovni 5, ksysv za°ídí v adresá°i /etc/rc.d/rc3.d link
S52postgresql -> /etc/rc.d/init.d/postgresql
ruΦn∞ se dá ud∞lat - pod superu₧ivatelem-takhle :
cd /etc/rc.d/rc3.d
ln -s /etc/rc.d/init.d/postgresql S52postgresql
Nemusíte rebootovat, runlevely jste nastavili pro automatický chod p°i p°íštím bootu, tak₧e te∩ m∙₧ete ud∞lat to samé, co p°íští boot ud∞lá, toti₧ spustit ten skript:
/etc/rc.d/init.d/postgresql
    klient psql by m∞l spustit. Databáze Vás ale nezná.   Jejím správcem je u₧ivatel postgres,  a ten Vás musí   uvést do salonu. Na p°íkladu kartotéky je vid∞t, jak se to d∞lá : pod u₧ivatelem postgres  se aplikují p°íkazy -createuser, createdb farnici     nap°íklad, zam∞statnaci jsou banální p°íklad. Nápov∞da je v /usr/doc/postgres. Legitimn∞   vytvo°ený u₧ivatel pak spustí klient psql jméno database    . 


Te∩ u₧ to ale chce znát SQL jazyk. Databáze se musí nap°ed vytvo°it SQL p°íkazem:
CREATE TABLE farnici ( prijmeni VARCHAR(40), jmeno VARCHAR(30), rodnecislo VARCHAR(15), datnar VARCHAR(10), ulice VARCHAR(50), cislo VARCHAR(10) );
V meta p°íkazech se SQL ukonΦí znaΦkou ; .
Úmysln∞ volím nekomerΦní p°íklad (farníci - zákazníci jsou u₧ všude ) , ale to není d∙le₧ité pro vlastní princip.
Dále v klientu b∞₧í metap°íkazy uvozené \ . Neju₧iteΦn∞jší z nich vám databázi naplní z textového souboru:
\copy farnici from /cesta/jmenosouboru.txt
\h zp∙sobí, ₧e výstup z klienta je v HTML3.0 formátu, kdy₧ ho chytnete do roury nebo souboru, máte data v podob∞, jak ji znáte z Internetu. \a ruší zarovnávání sloupc∙, pou₧ijte ho, kdy₧ je t°eba 1. sloupec zkraje nakousaný .
Pokud Vám to ale nestaΦí, je Φas na grafického klienta. - Na obsluhu aplikací z oken existují v Linuxu r∙zné projekty, jeden starší a osv∞dΦený je Tcl-Tk. Je to zase urΦitý jazyk, v n∞m₧ se naprogramují okna a kontrolní prvky - tlaΦítka, seznamy atd. No a klient pro PostgreSQL je psán v Tk a je v balíku:
postgresql-tcl-6.5.3-6
a spustí se p°íkazem pgaccess . Tento okenní klient umo₧≥uje kompletn∞ navrhnout tabulku, nastavit p°ístupová práva, kopírovat design jedné tabulky do druhé (tip - po zadání Inherit Φili zd∞dit design zvolené tabulky musíte formát 1. pole zadat, pak dáte Create a ono si to zbytek nakopíruje).

Propojení databáze PostgreSQL a Web serveruApache


KlíΦovou technologií na Internetu je dnes p°ístup do databází z HTML stránek. Mj. tak m∙₧ete vybudovat i Intranetový podnikový informaΦní systém. Mám Apache, mám PostgreSQL , proΦ to nezkusit ?
Vím o 3 cestách p°ístupu do relaΦní databáze:
1) nativní ovladaΦe
2) ODBC ovladaΦe
3) rozší°ení (extensions) . Mám pro tuto cestu po ruce modul
postgresql-perl-6.5.3-6
To je objektové rozší°ení Perlu. Základní informaci získáte p°íkazem: man Pg (ano, s Velkým P) .
P°i programování a o₧ivování se vyvarujte chyb, kterých jsem se dopustil já:
a) WEb server je reprezentován démonem httpd , který b∞₧í pod u₧ivatelem nobody (zatím). Tabulky v databázi musí mít p°ístup pro tohoto u₧ivatele. Snadno lze nastavit pomocí pgaccess .
b) nezapomínejte, ₧e Φást programu, kterou zpracovává HTTP, d∞lá nový °ádek ne pomocí \n, ale pomocí <"br"> .
A v∙bec, ₧e to , co se posílá do HTTP, musí být v HTML formátu.
c) V Perlu nezam∞≥ovat () za {} , $ za @ apod.
d) To se mi nestalo, ale nezapome≥te nastavit Perlovským program∙m právo x-spustit.
No a tady je stránka s formulá°em a k ní skript - velmi k°ovácký - které demonstrují propojení s databází. Skript se umístí do cgi-bin adresá°e ( standardn∞ /home/httpd/cgi-bin ) .
M∙₧ete si zvolit 2 zp∙soby zobrazení dat - strukturované a nestrukturované, ka₧dé vyu₧ívá jinou metodu posílání dat z databáze do httpd. Formulá° umí zadat jednoho po druhém farníky a pak je vybírat podle zadání polí (d°íve jenom podle p°íjmení), a to dokonce i polí neúplných, a jejich kombinací. Pozor - nevypl≥ujte ho, jen stáhn∞te. Doma si ho pak m∙₧ete ladit na svém ApaΦi.

O Linuxu obecn∞ji, Linux na desktopu, reakce windozák∙, co podniky..

.
A₧ zava°ím okurky ...Φekejte .
Okurky zava°eny. Mezitím jsem za₧il u kamaráda horkou chvilku s p°ipojením MSIE 5.0 pod Windows Nt na Internet. DOma jsem to d∞lal, i kdy₧ je to slo₧it∞jší ne₧li t°eba na Linuxu, strach jsem nem∞l. Po 3 hodinách jsem to vzdal.

MSIE nešlo nastavit kv∙li soubor∙m comcat.dll a asctrls.ocx. Zkontroloval jsem jejich datumy , zkusil upgradovat MSIE, nic. SPadne to tvrd∞ do Dr. Watsona. Tak jsem ho zkusil odistalovat, jen₧e MSIE odinstalovat nejde. Proto₧e to u₧ je kus operaΦního systému.
Vzpomn∞l jsem si, jak p°i instalaci Autodesk Viewer , Φili CADovské splikace nemající moc spoleΦného s Webem, to tvrd∞ ₧ádalo povýšit MSIE z 3.0 na 4.0 . A mn∞ to došlo: do Exploreru se st∞huje Φást operaΦního systému, hlavn∞ multimediální v∞ci! -Lidé dnes hlavn∞ diskutují o tom, co vyvolalo soudy proti Microsoftu, o tom, jak se Windows zaΦaly dodávat s MSIE a Netscape byl znevýhodn∞n. Trochu ve stínu z∙stává, jak záva₧ný krok to byl - v MSIE vznikl malý bráška Windows∙, který se zaΦíná roztahovat. Není divu, ₧e kdy₧ jsem pak instaloval multimediální aplikace, tahal se MSIE o asociace p°ípon s utilitkami v operaΦním systému. Pochopil jsem, ₧e p°edstavuje novou politiku Microsoftu, a nechal jsem ho tedy °ádit.
D∙sledek je ten, ₧e kdy₧ Vám nejde rozchodit p°ipojení v MSIE , musíte Φasto p°einstalovat Windows. Stránky stí₧ností se dají najít leckde, a sám bych si mohl p°isadit, ale jde mi o n∞co jiného: vid∞t rozdíl filosofií, ne jen jejich d∙sledky. Zajímav∞jší je jeden rozdíl mezi Windows a UNIXy obecn∞:
-v UNIXech jde o to, ₧e si skládáte stavebnici ze spousty menších, na sob∞ rozumn∞ nezávislých komponent. Jak postupujete, struktura systému se p°ed Vámi odhaluje.
-ve Windowsích instalací nalijete mno₧ství v∞cí do spoleΦné Φerné sk°í≥ky. Ta funguje relativn∞ slušn∞, co se týΦe t°eba schránky a objektové provázanosti aplikací, dále spoleΦného vzhledu a ovládání nasadily Windows la¥ku vysoko. (Jistá rozmanitost vývjových prost°edí na Linuxu je nezvyklá, ale ne nutn∞ negativní - je p°íznakem dynamiky, pohybu, vývoje). Problémem je, ₧e Vám z∙stává skryta struktura vzájemných vazeb, nejste-li zrovna firmou mající exkluzivní p°ístup k API (programátorské rozhraní aplikací) . Tak₧e jako b∞₧ný u₧ivatel se bu∩ n∞kam doklikáte, nebo jste skonΦil a jdete p°einstalovat. V UNIXech se pokusíte více o v∞ci dozv∞d∞t a zjistit, jak je u Vás implementována. Navíc máte stále mocnou konzoli, kdy₧ nejde grafické prost°edí. POMOCÍ JE, ₧e všechno je text. P°edstavte si, kdyby HTML nebyl textový soubor s formátovacími znaΦkami. Jak by se asi programovaly dynamické stránky , kdyby nešlo p°i lad∞ní jít na úrove≥ textu. Naše kultura je toti₧ na textu, chcete-li na slovu zalo₧ená.

Desktop v podnicích. Na seminá°ích Φasto slýchám z °ad ostatních klient∙ dychtivé:" A chodí to pod entýΦkama, vi∩te." Mladí okravatovaní mu₧i pak hrd∞ sd∞lují , ₧e jejich podnik se rozhodl být spasen prost°ednictvím p°echodu z Windows 95 na Windows NT. Trochu pozd∞, sv∞t se p°etoΦil jinam (a dob°e). Jen₧e u nás vít∞zí korporativní myšlení. Nebo opatrnost, jako v našem koncernu: v∞tšina má Windowsy, tak se v ní schováme. Dnes si mana₧e°i myslí, ₧e Linux by sice byl zajímavý , ale nemá aplikace zralé pro souΦasný podnik. Mezitím Linux získává pozice na serverech. To se snad u₧ obecn∞ uznává, málokdo u nás by ale vsadil na linuxové desktopy v kancelá°ích. Osl≥uje pohled na sofistikované Office , srovnatelné StarOffice nejsou pro podnik zadarmo a mají (také jako MSOffice) velkou re₧ii a nejsou poΦešt∞né. Jen₧e na spadnutí je KDE2 s koffice . Bude t∞m,kdo pustí Linux do desktop∙, tolik chyb∞t objektový model ? (V Linuxu se chystá projekt Baboo) . Parettiho pravidlo platí i tady. 80% pracoviš¥ tvo°í ve Wordu relativn∞ jednoduché dokumenty, v Excellu relativn∞ jednoduché tabulky. Sofistikované vymo₧enosti u₧ívá zbývajících 20 %. Tím nechci °íci, ₧e by Linux byl podm∞reΦný- StarOffice je velmi sofistikovaný program. Spíš to, ₧e by Linuxová kancelá° zdarma u₧ívala jednodušší editory a tabulkové procesory, zato nad stabilním jádrem a filesystémem.

Napsal jsem si soubor pro úΦtování Internet_2000 tarifu. Bez záruky je zde, nakopirujte ho do /usr/share/apps/kppp/Rules/Czechia a toto pravidlo nastavte v kppp, nebo v kppprc polo₧kou AccountingFile=/Czechia/internet_2000.rst jako Vaše úΦtovací pravidlo. Bez záruk. Uvítám ka₧dé upozorn∞ní na chybu.

Interpreter wish a jazyk Tcl/Tk.

.
Pat°í mezi oblíbené programovací prost°edky na LInuxu, je free a portuje se i na ostatní platformy, vΦetn∞ Windows. Kdo d∞lal v sh nebo bash, csh, pochopí základní myšlenku. Tcl je odvozenina z Lispu a stará se o °ízení, Tk dodává grafické prvky - tlaΦítka, seznamy apod. Místo csh, bash, sh se spustí wish (Window shell), co₧ je jako jeho *.sh p°íbuzní interpreter, jen₧e interpretované p°íkazy mají grafický výstup.
Nem∞l jsem manuál - nenašel jsem ho na sorry.vse.cz , m∞l jsem jen dema s kody a krásné programy Michala Burdy. Obojích jsme pou₧il jako šablon a zkoumal rys po rysu. Nakonec jsem napsal grafický interface PGPgui k pgpk , gpgp z Gnome mi nevyhovoval. Nemá ošet°enou prázdnost políΦek , nejen p°i operacích exportu, od 31.8.2000 u₧ jde fukce podpisu klíΦe, od 14.9.2000 umí exportovat klíΦ na server , berte to jako alfa verzi, bude-li Φas, zkusím to zdokonalit, p°i troše opatrnosti to však chodí. Uvítám ka₧dé vylepšení.
P°i o₧ivování nezapome≥te nastavit práva chmod 755 pgpgui.tcl. Jsou-li jen práva Φtení, jde to spusti takto wish -f pgpgui.tcl . O PGP jako takovém píšu výše na této stránce.

Wget na stahování stránek/server∙ v Tcl/Tk.


Jednodušším p°íkladem, jak opouzd°it dobrý program ovládaný z p°íkazové °ádky, do Tcl/Tk skriptu je Wget s grafickým rozhraním . Obsahuje opravdu jen základní funkce, v pohod∞ však nahradí t°eba Teleport, na rozdíl od n∞j toti₧ neukládá do speciálního formátu.

Tvorba RPM balík∙


O n∞co výše píšu o všeobecné u₧iteΦnosti RPM a o tom, jak jednoduchým p°íkazem lze získat významné informace o instalovaných balících. Také píši o distribuci *.tgz nebo *.tar.gz , kterou je nutno kompilovat, a o trojici p°íkaz∙
./configure
make
make install

která v 90 % p°ípad∙ ud∞lá p°esn∞ to, co pot°ebujete.


Váš kamarád ale nechce mít instalované balíky pro kompilaci ani se zdr₧ovat t∞mo zbývajícími 10 % p°ípad∙, které nebývají a₧ tak jednoduché pro nutnost nastavovat alternativní prom∞nné podle pokyn∙ v souboru INSTALL.
Chce mít *.RPM balík, který by jednoduše a rychle instaloval. Vy jste zrovna z Internetu stáhl bezvadný program, kompiloval ho a co te∩ ? Jak p°enést to, co te∩ máte na poΦítaΦi, na jiný ? Podrobný návod najdeš na RPM návod
Základní operací je vybudování °ídícího souboru *.spec a pak u₧ jen tvorba balíku p°íkazem :

rpm -ba *.spec

Ovšem kumšt je v sestavení toho °ídícího souboru. Pro lepší pochopení uvádím p°íklad souboru, na kterém jsem si to všechno zkoušel: ╪ídící soubor programu kchmod-0.2 . Máte-li kchmod-0.2. tgz , zkuste si vyrobit kchmod-0.2.rpm popisovaným zp∙sobem. Soubor se Φlení na sekce a v ka₧dé sekci lze uvést p°íkazy stejn∞, jaky by byly v p°íkazové °ádce. K jednotlivým sekcím :
V hlaviΦce se nastaví prom∞nné name , buildroot a informace, které p∙jdou do RPM. V sekci %prep je makro %setup (pozor, jak makra tak sekce mají prefix %) , které rozbalí obvyklý *.tgz a zde je místo pro známé ./configure . V sekci %build m∙₧e být další p°ípravná akce, typicky je tam nastavení prom∞nných pro kompilaci a sem pat°í druhý Φlen trojice make , kterým se všechny Φleny balíku zkompilují. V sekci %install je a t°etí Φlen trojice install, kterým se kompiláty instalují (kopírují s definovanými právy) do svých adresá°∙.


Zhruba a₧ po první mkdir v sekci %install jsou tedy p°íkazy, které zkompilují program na VAšem poΦítaΦi. Zdrojový kód musíte dát do /usr/src/redhat/SOURCES> , *.spec soubor do /usr/src/redhat/SPECS . Kompilace prob∞hne pod /usr/src/redhat/BUILD/jmeno_programu . Ve druhé fázi se instaluje toté₧ pro výstupní balík RPM. Te∩ se uplatní zadaný buildroot, pod n∞j se instalují Φleny balíku. Jako zdroj se p°itom berou Φerstvé kompiláty z /usr/src/redhat/BUILD/jmeno_programu . V sekci %clean je vše pot°ebné pro vyΦišt∞ní buildroota. V sekci %files pak musí být všechny soubory balík tvo°ící vyjmenovány. POkud je vynecháte, bude balík instalovatelný, ale neposkytne svému u₧ivateli všechny informace, kdy₧ zadá rpm -ql jmenobaliku a nesma₧e všechny pot°ebné soubory p°i odinstalaci rpm -e jmenobaliku. Ješt∞ p°ed seznamem soubor∙ se v této sekci uvedou do makra %defattr práva, vlastník a skupina instalovaných soubor∙ a do makra %doc soubory jako README, TODO, COPYING a do makra %config konfiguraΦní soubory. Pokud takový soubor p°i instalaci existuje, je zálohován s p°íponou *.rpmsave . Na konec ješt∞ %changelog . Jsou to tedy formální v∞ci a₧ na to, jak zjistit , které soubory vlastn∞ do balíku pat°í. Je n∞kolik cest . Nap°íklad po kompilaci find / -mtime -1 -print >seznam.txt . Nebo touch casovaznacka, kompilace, find / -newer casovaznacka -print >seznam.txt . Nebo si pr∙b∞h make install zachy¥te do souboru make install >instal_list.txt . A z tohoto souboru pak vychytejte instalované soubory.
V blízké dob∞ sem umístím program na automatické generování *.spec souboru v textovém modu, pozd∞ji i v Tcl/TK oknech..
Tady je
Zvládne opravdu mnoho, vytvo°il jsem s ním i *spec soubor pro tak komplikovaný balík jako je TkPerl. Je však pot°ebí soubor, který se vytvo°í, a v p∙li chodu programu nabídne k editaci, zkontrolovat a nebrat vše mechanicky. Nap°íklad práv∞ tento balík jsem musel roztarovat, ko°enový adresá° p°ejmenovat a znovu zatarovat, proto₧e v originálním taru nebyla repektována struktura jména ko°enového adresá°e jmeno-verze.tar.gz
Také tvorba Makefile se d∞lá odlišn∞ : perl Makefile.Pl .
Prost∞ se to nedá brát automaticky a p°ehlí₧et specifika jednotlivých kompilací, ty musíte znát a doeditovat je - i tak za Vás program ud∞lá f∙ru práce sám. A₧ bude Φas, ud∞lám grafickou verzi.

Zlepšil jsem mezitím program pgpgui.tcl . Nová verze ošet°uje n∞které problémy, na které dosud nebyl Φas - kdy₧ jste nevybrali ₧ádný klíΦ, tak stisknutí tlaΦítek pro práci s klíΦi vyvolalo chybu, te∩ jste upozorn∞n na to, ₧e si musíte klíΦ vybrat. Najdete ho zde - PGPgui. Také umí zalo₧it soubor pgp.cfg, kdy₧ zatím ₧ádný neexistuje. Také je zde opravena chyba, kdy program nezobrazil klíΦ , u jeho₧ identity nebyla dodr₧ena mezera mezi posledním znakem jména a symbolem "<" otevírajícím oblast e-mail adresy.
A nezapome≥te , pokud Vám má fungovat diakritika, zapnout v KDE v Ovládacím centru na kart∞ Pracovní plocha_Styl_Styl volbu "Aplikovat písma a barvy na aplikace nepat°ící do KDE".

Grafický klient k tvorb∞ RPM balík∙

Tady je slíbený grafický klient k makespec.tcl. Instaluje se takto:
#su -
#cd /
#tar zxvf
A spouští se
/usr/src/redhat/SPECS/makespec.tcl
Jako v₧dycky, tento p°íkaz se dá vlo₧it do ikony.


Tady p°idávám verzi , která k p°edb∞₧né kompilaci pou₧ívá kconfigure-0.3 . To vyvolalo tu zm∞nu, ₧e zdrojové soubory jsou te∩ v adresá°i /usr/src/redhat/SPECS, odkud se i spouští hlavní program.

Instaluji Star Office 5.2 z Chip 12/2000


Jde, zkušenosti Φasem..
Sérií pokus∙ zjišt∞no optimální nastavení:
instalaΦní adresá° StarOffice má vlastníka root a skupinu users. Práva jsou rekurzivn∞ 750, s výjimkou
práva 770 rekurzivn∞ (write pro users) u adresá°∙:
../user/config , jinak ani nenab∞hne
../user/sofficerc , jinak spadne do konfigurace
../user/store a
../user/explorer , jinak nab∞hne s prázdnými okny (i Open) .
../user/desktop , jinak se p°i ukonΦení objeví hláška Error opening configuration file
../user/backup , jinak nejde záloha dokument∙
../share/config , jinak se p°i ukonΦení objeví hláška Error opening configuraion file (../user/share/fonts , jinak Φlen users nem∙₧e editovat fonty ) kde je všude zapot°ebí 770, pokud mají všechny adresá°e skupinu users, jinak je to všechno zbyteΦné, pokud mají t°eba skupinu root., tak mu dáte práva p°es ownera i skupinu a nezbyde Vám na u₧ivatele - tohle je dost Φastá chyba zaΦáteΦník∙, ₧e se zajímají o chmod a ne o chown a chgrp, obojí musí být v souladu, pokud má mít daný Φlov∞k daná práva.


A chystám se pomalu na KDE2 a Koffice.. - A je to tady.


Tady je oprava grafického klienta programu wget, chyb∞la tam inicializace prom∞nných.
Do ruky se mi dostal RedHat 7.0 odkudsi z Kanady, ale distribuce nebyla v po°ádku - špatný magic number klíΦového balíku kdelib, KDE je KDE-1.2, a díky této chyb∞ nejde nainstalovat, nejde nainstalovat ani KDE2 kv∙li knihovn∞ libbz2.so.0 , i kdy₧ mu ji dám z balíku anaconda-runtime, nedostane se dál. -GNOME a celek: špatná distribuce, nejdeScreen LOck, vypnutí poΦítaΦe po haltu, nejde swat ani jiný zp∙sob konfigurace SAMBA serveru. -n∞které nové rysy. protokoly pppoe (pppd p°es Ethernet), identd (rozpoznání u₧ivatel∙, kte°í vyvolali spojení p°es TCP/IP). Zkusím tu distribuci n∞jak identifikovat.



Jak jsem blbostí málem p°íšel o všechno a jak jsem se z toho dostal

aneb Jak editovat bez editoru

P°epsal jsem si z blbosti montovací bod nativni Linux oblasti v /etc/fstab , Φili roota . Samoz°ejm∞ jsem u₧ pak nenabootoval. Jak to spravit ? Tip: vlo₧ instalaΦní CDROM, zadej re₧im expert, dostaneš malý Linux, který má utility v /usr/bin vΦetn∞ bashe a dalšího shellu, s jejich vnit°nímu p°íkazy. Dále less (místo more) a editor sed, s kterým se mi ale d∞lat necht∞lo. Samoz°ejm∞ mount, kterým jsem p°ipojil oblast s pod∞lanou /etc/fstab:
#mkdir /mnt/a
#mount /dev/hda41 /mnt/a
#cd /mnt/a/etc/

a jak te∩ fstab p°ed∞lat ?
Z 6 °ádk∙ fstabu byl blbý první. Tak₧e do pomocného souboru dám 5 zbylých:
#tail -5 fstab >pom1
a správný první si nageneruji pomocí p°íkazu echo
#echo "/dev/hda1 / ext2 default 1 1" >pom2
a správný soubor fstab se sestaví pomocí
#cat pom2 pom1 >fstab pak se nabootovalo a šlo to.- Tento malý trik ukazuje, Φím Linux vede : v základu má p°íkazovou °ádku s neuv∞°itelným mno₧stvím kombinací pro tém∞° ka₧dý p°ípad. Nad tím , nebo, pokud myslím na Xserver nebo font server, vedle toho, má grafickou nadstavbu. Tahleta p°irozená filosofie je mnohem úΦinn∞jší ne₧ opaΦná logika obskurních produkt∙, které v podobných p°ípadech musíte p°einstalovat.


Na jedné instalaci nešla Φeština v HTML editorech, v TCL programech


a taky v kvt terminálu .


╪ešení je jednoduché - výše jmenované mají spoleΦné to, ₧e mají defaultn∞ font fixed . No a jeho ISO-8859-2 podoba je v balíku XFree86-ISO8859-2-1.0-9.noarch.rpm , který chyb∞l.


RPM balíky poΦtvrté - kázal jsem bludy


Kompilace HTML editoru Bluefish odhalila slabiny programu pro generaci RPM. Nové °ešení



Balík je makespec2.tgz a doporuΦuji ho rozbalovat  v /usr/local/bin Spouští se prespec.sh   . V závislosti na konstrukci jendotlivých projekt∙ však m∙₧e vy₧adovat úpravy.

Red Hat 7.0 + KDE 2 + migrace



Zkusil jsem upgrade na RedHat 7.0 CZ Guiness. Problémy a jejich °ešení.

Red Hat 7.0 + KDE 2 + migrace aplikací a novinky






Stáhl jsem a nainstaloval KDE-2.1-0.70.3. Oproti KDE-2.0 nap°íklad nepadá Konqueror, kdy₧ se vypnou a znovu zapnou obrázky. Je zde i balíΦek kde1-compat-*, který umo₧ní spušt∞ní aplikací z KDE1, které jsou sice instalovatelné, ale v KDE 2 by se svým nastavením neusp∞ly. Skoro ka₧dá aplikace, kterou zkouším, se rozrostla o  pár dalších rys∙.
Detaily postupn∞.


KDE 2.1 a poΦešt∞ní



KDE 2.1 jsem u₧ vychválil, te∩ jak jsem ho poΦeštil. Je to strašn∞ jednoduché. Na Linuxu jazykový projev prost°edí i dílΦí aplikace je dán katalogy , to jsou binární soubory s p°íponou .mo . Jejich zdroják je textový soubor s p°íponou .po nebo .pot (to druhé je šablona). A co je p°ed teΦkou ? Jméno souboru - shodné se jménem aplikace. Bináry *.mo sídlí v adresá°i /usr/share/locale/cs/LC_MESSAGES (to cs je pro Φeštinu, pro ostatní jazyky jsou analogické adresá°e) . Soubory *.po obsahují mimo hlaviΦky záznamy, v nich₧ se st°ídají dvojice anglický °ádek/Φeský °ádek:
msgid "From"
msgstr "Od"

Z adresy stáhnete katalogy, nainstalujete si balíΦek gettext a p°elo₧íte je:
msgfmt -v -o /usr/share/locale/cs/LC_MESSAGES/jmenoaplikace.mo jmenoaplikace.po
vyjma souboru entry.desktop, ten se nekompiluje a pat°í o adresá° výše:

cp entry.desktop /usr/share/locale/cs/
a jste Φeský. K editaci soubor∙ *.po je doporuΦován kbabel - najdete ho pod KDE-2.1 balíkem kdevelop.


KDE 2.1 a poΦešt∞ní pokraΦuje




KOmbinaci RH 7.0, KDE 2.1 nakonec instaluji i na domácím poΦítaΦi, kde kralovala RH 6.2 CZ. PO instalaci vypadají v∞ci takto:

╪ešení:

       <yacute> : "\375" yacute
       -<aacute> : "\341" aacute
       <iacute> : "\355" iacute
       <eacute> : "\351" eacute
       <uacute> : "\372" uacute


             
Krotím    vypalovaΦku                       


   

Jestli₧e se cimrmanologové p°i  studiu nápisu v hospod∞ u Sirotk∙ °ídili pojednáním  profesora  Šmejdila "Tajemství jeskyn∞ Altamira", °ídil  jsem se po koupi vypalovaΦky CD-RW TEAC W58E kurzy Lumíra Jasioka z Vysoké  školy bá≥ské Ostrava   zde  VypalovaΦka se toti₧ musí p°ipojit jako virtuální  SCSI za°ízení.Na svémLinuxu jsem tedy ud∞lal toto:
#ls -la /dev/ |grep loop    vypsaly se p°íslušné "special files" jinak bych mesel ud∞lat
#MAKEDEV loop
pak jsem do /etc/lilo.conf vlo₧il do sekce Linuxu
append="hdc=ide-scsi" a spustil
#lilo


aby se ta zm∞na promítla. Pak popisuje autor p°ídavky do                    /etc/modules.conf . 14 dní po zprovozn∞ní   vypalovaΦky jsem  p°ešel na RH 7.1CZ instalovanou (viz    dále   ), tedy s formátováním, je₧to jsem   si  pokusy s p°etaktováním dokonale odpálil linuxový   oddíl  na HDD. A tam u₧ tyto zm∞ny pot°ebné nejsou, dokonce   to s nimi nefunguje,  to si vykládám tak, ₧e p°íslušné   volby  zná p°ímo jádro 2.4 nové RH 7,1.
#reboot
#cdrecord -scanbus     je p°íkaz, kterým se lze p°esv∞dΦit o zavedení modul∙
vlastní vypalování je v₧dy dvoukrokové - nejd°ív vytvo°ení image ze soubor∙ p°íkazem mkisofs , pak se image vypálí p°íkazem cdrecord
Typický tvar p°íkaz∙ je:

mkisofs -R -J -l -allow-lowercase -allow-multidot -max-iso9660-filename  -N -o obraz  zdroj  pro tvorbu obrazu
P°íkaz
cdrecord -v -eject speed=4 dev=0,0,0 -multi -data  obraz
nechá CD otev°ené (volba -multi  )
Další stopy otev°eného CD se p°idávají  takto:
mkisofs -R -J -l -allow-lowercase -allow-multidot -max-iso9660-filename  -N -C `cdrecord -msinfo dev=0,0,0` -M /dev/scd0 -o obraz zdroj

cdrecord -v -eject speed=4 dev=0,0,0 -multi -data
   obraz

Oba p°íkazy °eší °adu mo₧ností - od kompatibility  CD formát∙  po multisession vypalování (to znamená  vypálit stopu a nechat disk otev°ený), a proto₧e se mi s tím  necht∞lo vypisovat, vše jsem vlo₧il do skriptu   Vypal , který pokrývá nejb∞₧n∞jší  pot°eby vypalování, to jest kompatibilitu i s Windows, dlouhá  jména, zachování velkých a malých písmen  v názvech . P°íkaz mkisofs toti₧ umo₧≥uje zachovat ortodoxní  Joliet formát , nebo ho r∙zn∞ oslabovat zavád∞ním nepravov∞rných  rys∙, a malá písmena jsou jedním z nich. Do detail∙ se ale poušt∞t nebudu, odkazuji k dokumentaci obou p°íkaz∙. Navíc existuje °ada grafických klient∙ k ob∞ma p°íkaz∙m.
U Φeho se ale zastavit chci, je roubování. Na jeho pot°ebu jsme narazil, kdy₧ jsem do ji₧ vypáleného adresá°e pot°eboval v další "session" p°idat soubor . P°idal se ko ko°eny cédéΦka. Zkoumáním dokumentace jsme zjistil, ₧e pro takové p°ípady je urΦen institut zvaný graft point (bod naroubování). To je bod, který rozd∞lí poslední parametr p°íkazu mkisofs, kterým je vypalovaný soubor/adresá° s plnou cestou, znakem "="  do dvou sekcí: nalevo je adresá°, kam se má soubor naroubovat, napravo cesta k roubovanému souboru/adresá°i poΦítáno od adresá°e, na kterém práv∞ stojím. Defaultn∞ je znak  "=" na ko°eni cesty vypalovaného souboru/adresá°e,a  co je napravo, je zárove≥ cílem i zdrojem. Chytrou syntaxí mohu tuto jednotu porušit a p°esunout objekt na jiné místo stromu (p°esun odn∞kud n∞kam jinam), ne₧ kam pat°ilo, co₧ byl asi primární úΦel zavedení grafting pointu, anebo vlo₧it objekt do stromu, co₧ je logicky toté₧ (p°esun odnikud n∞kam).





                  

Red Hat 7.1 CZ

          

           jsem  po havárii  filesystému  instaloval s formátováním, tedy na Φistý st∙l.  P°i instalaci jsem zvolil 2 jazyky: Φeštinu  a angliΦtinu, po instalaci  mne Φekalo jen velmí málo konfiguraΦních krok∙.  Aby šly kompilace, musil jsem proti defaultní instalaci "Pracovní stanice" doinstalovat   modul kernel-source,   a prozatím    zablokovat firewall   /etc/sysconfig/ipchains  , z instalace nastavený tak, ₧e nepropouští v∙bec nic.     V linuxconf nebylo defaultn∞  zapnuto stromové   zobrazení  .
N∞co ke zvuk. Aureal Vortex au8830 jsem zkompiloval, xmms však nehrálo napoprvé. D∙vodem je obsluha  zvuku zvukovým serverem
artsd, který neb∞₧el. V Nastavení _Zvuk_Zvukový server  lze spustit jeho implicitní spušt∞ní p°i startu KDE, nebo ho spoušt∞t wrapperem artswrapper v okam₧iku pot°eby.




 

Zatím T∞ zdraví

Ji°í Kouba
 

Pište mi

ICQ : 70524118
  
 
 
 
 

.