Dobry den.
S prichodom distribucie FC5 som bol "prinuteny" sa zoznamit s nastrojom YUM na instalaciu RPM balickov a pripadne aj s jeho GUI nadstavbou YUMEX (pirut, pup). V predchadzajucej distribucii FC4 som pouzival apt-get a jeho GUI nadstavbu synaptic a bol som s nimy spokojny (yum bol tiez k dispozicii ale nepouzival so ho). Ci uz yum alebo apt-get obidva pracuju dobre s repositarmi balickov a riesia zavislosti medzi balickami - ale zivot je zmena a momentalne je s FC5 dodavany YUM a vyuzivaju ho aj jeho GUI nadstavby YUMEX, PIRUT a PUP. Pri vyuzivani nastroja yum som sa stretol s istymi problemami.
============================================
PROBLEM CISLO 1.
Yum chce defaultne vsetky balicky stahovat a instalovat (cerstve a aktulane) priamo z "internetu". Ja som si ale nainstaloval na vsetky stroje (na lokalnej sieti) len nutny zaklad a ostatne som chcel doinstalovat podla potreby z CD-ciek (alebo stiahnut zo stroja z lokalnej siete - tie balicky ku ktorim este neboli vydane update verzie).
Ako prve som skusal instalaciu z CD ...
----------------
1. instalacia z CD:
Treba zalozit v adresari /etc/yum.repos.d subor napr. base-CD.repo cim nam vznikne cesta k dalsiemu repozitaru. Musime este jednotlive repozitare zeditovat. Ak nechceme aby sa ostatne repozitare pouzivali tak ich otvorime a nastavime v nich polozku enable=0 naopak v nasom novom lokalnom base-CD.repo nastavime enable=1 a jeho obsah by mal byt asi takyto ....
[base CD]
name=Fedora Base CD
baseurl=file:///media/disk
enabled=1
Treba si dat pozor aby bolo pred samotnym volanim prikazu yum do CDROM-ky vlozene a primontovane CD-cko ! A tiez, ci je primontovave prave ako /media/disk :) !!!
Ale kedze je tych CD-ciek uz celkom dost vela bolo by lepsie ich mat na jednom DVD alebo na HDD. DVDROM nemam na kazdom pocitaci, tak som sa rozhodol pre HDD co mi neskor tiez umozni instalovat RPM balicky po sieti v nasej localnet, aspon dufam :).
Teraz popisem ako som si pripravil repozitar na instalaciu z HDD ...
----------------
2. instalacia z HDD:
Najprv som si zalozil adresar repository, napr. :
/mnt/data/install.lnx/repository a nakopiroval som don obsah vsetkych CD z distribicie (okrem CD-rescue :) )
Podla clanku z jedneho fora je dobre vycistit stare metainformacie:
#> yum clean metadata
Vo vsetkych /etc/yum.repos.d/*.repo, ktore nechcem pouzivat sa musi nadstavit enable=0.
Vytvorime cestu k nasmu repositaru na HDD, preto zalozime subor base-HDD.repo a vlozime do neho nasledujuci obsah:
[base HDD]
name=Fedora Base HDD
baseurl=file:///mnt/data/install.lnx/repository/
enabled=1
a je to. Mozeme vyskusat napr.
#> yum list
a ak vsetko dobre ide tak uvidime vypis naseho repositaru (tento krat z HDD).
----------------
3. instalacia z localnet:
No ale este ani toto riesenie ma neuspokojuje lebo mam viacero pocitacov a bud musim behat od jedneho k druhemu s 5 kus. CD alebo na kazdom musim mat na HDD nakopirovany obsah 5 kusov CD :) FUJ !!!
Moja predstava je mat na jednom stroji ulozeny obsah 5 kusov CD a spristnit ho na lokalnej sieti cez www :). Preto cez apacha spristupnime tento obsah napr. takto:
V adresari /etc/httpd/conf.d/ zalozime subor install.conf s takymto obsahom:
Alias /install.lnx /mnt/data/repository/install.lnx
Options Indexes
Order deny,allow
Deny from all
Allow from 127.0.0.1 10.12.1.0/24
a zadame:
#> /etc/init.d/httpd reload
aby sa novy konfigurak nacital.
Po pousteni firefoxu a zadani URL: http://10.12.1.240/install.lnx/repository/ a uvidime obsah nakopirovanych CD-ciek.
HURA - zatial vsetko ide.
Dalsim krokom je nadstavit u jednotlivych pocitacov konfigurak pre yum tak, aby vyuzivali tento repositar na lokalnej sieti. Tak teda zalozime subor:
/etc/yum.repos.d/fedora-base-localnet.repo
s napr. takymto obsahom:
[base-localnet]
name=Fedora base localnet
baseurl=http://10.12.1.240/install.lnx/fedora/5/os/
enabled=1
#gpgcheck=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
#file:///etc/pki/rpm-gpg/RPM-GPG-KEY
Zaremovane su posledne 3 riadky, lebo nepotrebujeme overovat totoznost naseho vlastneho repositaru.
Opet mozeme vyskusat:
#> yum list
a podla toho, v ktorom repositary mame dane enable=1 alebo 0, vidime odkial sa data nacitavaju. (tento krat z web na localnete)
ZATIAL FUNGUJE VSETKO BEZ VAZNYCH PROBLEMOV, ALE .... !!!
----------------
4. instalacia z INTERNETU:
Ak chceme ale aktualizovat system pomocou novych balikov z internetu (t.j. #> yum update [zoznam balickov], resp. si chceme pozriet dostupne balicky na aktualizaciu #> yum list updates) tak musime nadstavit enable=1 v prislusnom konfiguraku repositaru pre update a tiez musime nadstavit proxy aby yum mohol pristupovat na vonkajsiu siet !
A ZACALI PROBLEMY S PROXY.
============================================
PROBLEM CISLO 2.
Takze chcem aby sa povodne balicky ( base (core)) nacitavali z localnet a ostatne (update a extras) z verejneho internetu.
Nato ako nadstavit pouzivanie proxy, je niekolko sposobov. Ale bud nadstavim proxy a ide mi stahovat balicky z verejneho internetu alebo ho zrusim a ide mi stahovat balicky len z lokalnej siete ! Cielom (problemom) je ako nadstavit proxy tak aby sa pouzival len pre verejny internet a nepouzival (obchadzal sa) pre lokalnu siet !
MOZNOSTI AKO NADSTAVIT POUZIVANIE PROXY:
Proxy sa da casto nadstavit bud globalne, alebo len pre danu aplikaciu v jej vlastnom konfiguraku (vid. napr. /etc/wgetrc) !
poznamka: mne bezi proxy (squid) na tom istom stroji ako je httpd (apache) s repositarom.
A) globalne nadstavenie pre konzolove aplikacie (ako je yum, wget, lynx ...):
A1) Zalozim subor /etc/profile.d/proxy.sh
#!/bin/bash
export http_proxy=http://user:passwd@10.12.1.240:3128/
export ftp_proxy=http://user:passwd@10.12.1.240:3128/
export HTTP_PROXY=http://user:passwd@10.12.1.240:3128/
export FTP_PROXY=http://user:passwd@10.12.1.240:3128/
export no_proxy=127.0.0.1,10.12.1.
pricom je dobre mat nadstavene prava tak aby bol spustatelny pre kazdeho (podla nejakeho fora).
#> chmod a+x proxy.sh
Priznam sa, ze toto riesenie sa mi moc nepaci, lebo kazdy prihlaseny uzivatel si moze cez printenv pozriet moje prihlasovacie meno a heslo na proxy :(.
A2) Viac sa mi paci, ak tieto riadky pridam do ~/.bash_profile pre konkretneho uzivatela. V mojom pripade staci uzivatel root.
Riesenie A1 aj A2 mi pekne akceptuje nadstavenie proxy, az na to, ze pre lokalnu siet by ho nemalo pouzivat (vid. no_proxy). A to je ten problem !!!
Podla diskusnych for som videl priklady:
no_proxy=10.12.1.$ - odignorovalo mi to a poslalo dotaz na proxy (pozoroval som log), nepomohlo ani no_proxy=10.12.1.0/24, no_proxy=10.12.1., no_proxy=10.12.1.*. Nikde som nenasiel spravny a fungujuci tvar zapisu !!!
no_proxy=.company.com - reagovalo inak ale zase zle - aj tak prehladalo cache danej proxy a vyhodilo chybu 503 (503 Service Unavailable - The request was not completed. The server is temporarily overloading or down).
Tak ja teda neviem ? Po niekolkych hodinach som vyskum tymto smerom ukoncil neuspesne. Tak ci onak mi to dotazy na proxy posielalo, aj ked lokalny repositar je na lakalnej sieti a mal som nadstavene no_proxy na sto sposobov.
Preto som zacal skusat konfigurovat proxy konkretne iba a len pre YUM.
B) konkretne nadstavenie pre YUM aplikacie:
podla navodu (man yum.conf) by sa malo dat nadstavit proxy pre:
B1) vsetky repositare naraz v sekci [main] u mna je to subor /etc/yum.conf
alebo
B2) osobitne pre jednotlive repositare v sekcii [repository] u mna su to subory
/etc/yum.repos.d/*.repo
proxy=http://xx.xx.xx.xx:yyyy ak chcem pouzivat proxy
alebo
proxy=_none_ !!!!!!!!!!!!!!!! ak nechcem pouzivat proxy
a ak je treba tak aj autentifikacne meno a heslo
proxy_username=uuuuu
proxy_password=ppppp
NO A TU SOM NARAZIL NA ESTE VACSI PROBLEM - vobec to nerobilo to co som ocakaval - ako by som to tam ani nenapisal. A to som studoval zo zdrojov: man yum.conf, http://fedora.redhat.com/docs/yum/sn-yum-proxy-server.html, http://forum.fedoraforum.org/ a ine ...
No a keby mi to bolo vsetko pekne fungovalo, t.j. RPM baliky core (base) by mi nacitavalo z lokalnej siete a updates a extras cez proxy z internetu, tak by som sa vrhol na dokoncenie a to na YUMEX,PIRUT a PUP - asi by to tiez neslo uplne lahko :).
Napodiv YUMEX predtym ako odovzda riadenie YUMu tak si nacitava nejake data zo siete vo vlastnej rezii a na to musi mat spravne nadstavene proxy :).
PIRUT a PUP nema klikatko na nadstavenie proxy, takze predpokladam, ze pouziva globalne nadstavenie s GNOME resp. KDE.
V grafickom prostredi si nadstavenie PROXY mozeme nadstavit naklikanim cez:
GNOME -> Prostředí -> Nastavení -> Proxy sítě
KDE -> Menu -> Ovládací centrum -> Internet a síť -> Proxy
Som teda v rozpakoch, kde (v ktorom konfiguraku) sa toto nadstavenie prejavi - mam tomu rozumiet, ze toto nadstavenie sa uplatnuje len po prihlasani sa daneho uzivatela do daneho grafickeho prostredia (GNOME/KDE). Pokial sa uzivatel prihlasi len do textovej konzoly (napr. runlevel 3) tak sa musi spoliehat na nastavenie premennych (http_proxy= ...) svojho shellu ?
Aj ked nadstavim globalne nadstavenie pre proxy v GNOME/KDE tak aj tak musim napr. pre Yumex, Firefox, Skype, IM nadstavit proxy v ich vlastnych klikatkach ...
Naopak Pirut a Pup sa musia spoliehat na globalne nadstavenie (cohosi) lebo oni nemaju vlastne klikatka :).
Ja pouzivam GNOME a chcel by som vediet kedy sa pouzije globalne nadstavenie z GNOME (KDE) a kedy globalne nadstavenie premennych zo shellu pre proxy.
Najprv vsak musim vybojovat boj s nastrojom YUM v textovej konzole tak aby obchadzal proxy pre lokalnu siet.
NO, AK STE SA NIEKTO STRETLI S PODOBNYM PROBLEMOM A TIEZ STE SA S TYM HODNE VYHRALI ALE NA ROZDIEL ODOMNA STE BOLI USPESNI AZ DO KONCA TAK TO SEM NAPISTE AKO STE TO SPRAVILI. BUDEM VELMI RAD A MOZNO NIELEN JA :).