Suzdavane na chroot sredi vuv Fedora Core i Red Hat Enterprise Linux chrez yum i rpm
Copyright ©2006 Veselin Kolev, Sofiiski Universitet Sv. Kliment Ohridski
Litsenz: CC Attribution-ShareAlike
- Vuvedenie.
- Utochneniia.
- Suzdavane na direktoriiata za izgrazhdane na chroot sredata.
- Initsializirane na bazata ot danni na paketnata sistema RPM.
- Zarezhdane na OpenPGP sertifikatite za proverka na elektronnite podpisi vurhu paketite.
- Suzdavane na repo failove v pomosht na instaliraneto na paketi v chroot sredata.
- Instalirane na neobhodimite paketi v chroot sredata.
1. Vuvedenie.
Poniakoga dadeno prilozhenie ili sreda za rabota, triabva da se obezopasiat chrez zaklyuchvaneto im v t.nar. chroot sreda. Prichinite za tova sa nai-razlichni, bili sa i produlzhavat da budat predmet na diskusii, no niama da budat diskutirani tuk, dokolkoto tozi dokument predstavliava samo i edinstveno edno vuzmozhno rukovodstvo za izgrazhdaneto na chroot sredite.
Tova rukovodstvo ne biva da se razglezhda kato absolyutno i napulno izcherpatelno. Opisanata v nego praktika ima pretentsiite da bude klasifitsirana kato dobra, no niama pretentsiite da otmeni drugite praktiki po izgrazhdane na chroot sredi.
Avtorut ne nosi otgovornost za prichineni shteti, vsledstvie na izpolzvane na opisanite tuk deistviia i tehniki.
2. Utochneniia.
V primerite po-dolu shte se predpolaga, che chroot sredata shte bude izgradena v direktoriia /home/chroot. Takova polozhenie na direktoriiata vurhu lokalnata failova sistema ne e zadulzhielno i e samo primerno. Mozhe da bude izpolzvana proizvolna i za predpochitane prazna direktoriia vurhu spomenatata veche lokalnata failova sistema.
Vsichki opisani po-dolu operatsii se izvurshvat ot super potrebitel (root). Orientir za tova e nalichieto na znaka # prez opisaniiata za izpulnenie na komanden red.
3. Suzdavane na direktoriiata za izgrazhdane na chroot sredata.
# mkdir /home/chroot
4. Initsializirane na bazata ot danni na paketnata sistema RPM.
# rpm --root /home/chroot --initdb
Izpulnenieto na tozi komanden red, suzdava nachalnata i minimalno neobhodima baza danni, koiato da bude izpolzvana ot paketniia menidzhur. Ako operatsiiata e protekla uspeshno, v direktoriia /home/chroot/var/lib/rpm/ shte se namira failovo durvo sus struktura podobna na tazi:
total 388
-rw-r--r-- 1 root root 24576 Feb 23 14:29 __db.001
-rw-r--r-- 1 root root 1318912 Feb 23 14:29 __db.002
-rw-r--r-- 1 root root 450560 Feb 23 14:29 __db.003
-rw-r--r-- 1 root root 12288 Feb 23 14:29 Packages
5. Zarezhdane na OpenPGP sertifikatite za proverka na elektronnite podpisi vurhu paketite.
RPM e paketna sistema, v koiato ima vgradeni kriptografski elektronni podpisi vurhu sudurzhanieto na vseki paket. Za da mozhe da se udostoveri iztochnika na paketa, v bazata ot danni na paketnata sistema, triabva da budat zaredeni OpenPGP sertifikatite na distributorite na paketite, koito shte budat instalirani v chroot sredata.
SHTe predpolagame, che triabva da budat instalirani samo bazovite za distributsiiata OpenPGP sertifikati, koito po podrazbirane se namirat v direktoriia /usr/share/rhn:
# rpm --root /home/chroot/ --import /usr/share/rhn/RPM-GPG-KEY*
Ako shte bude instaliran OpenPGP sertifikat, koito ne v bazovata kolektsiia, toi triabva da bude posochen kato fail, naprimer:
# rpm --root /home/chroot/ --import /path/to/openpgp-cert.asc
Poslednoto mozhe da se nalozhi da bude napraveno po izklyuchenie, ako se nalaga v chroot sredata da budat instalirani paketi ot vunshni za distributsiiata hranilishta kato tova na Dag Wieers.
6. Suzdavane na repo failove v pomosht na instaliraneto na paketi v chroot sredata.
Pri instaliraneto na rpm paketi v chroot sredata s pomoshtta na instrumenta yum, triabva da se suzdadat repo failove (edin ili poveche, v zavisimost ot nuzhdite na konkretnata instalatsiia), koito otraziavat otdelnite paketni hranilishta. Tezi repo failove shte se izpolzvat samo za izgrazhdane na chroot sredata. Sushto taka v suzdadenite spetsialno za tselta repo failove ne triabva da prisustvat yum promenlivite $basearch i $release.
Eto kak izglezhda primeren preraboten repo faila za instalirane na Fedora Core 4 v chroot sreda:
fedora.repo
[base]
name=Fedora Core 4 — i386 — Base
baseurl=ftp://download.fedora.redhat.com/pub/fedora/linux/core/4/i386/os/
enabled=1
gpgcheck=1
[updates-released]
name=Fedora Core 4 — i386 — Released Updates
baseurl=ftp://download.fedora.redhat.com/pub/fedora/linux/core/updates/4/i386/
enabled=1
gpgcheck=1
Za izpulnenieto na deistviiata opisani v sledvashtata tochka, shte se predpolaga, che tozi fail se namira v direktoriia /home/yum.repo.chroot.i386 i nosi imeto fedora.repo.
7. Instalirane na neobhodimite paketi v chroot sredata.
Neobhodimite za instalatsiia v chroot sredata paketi mogat da se razdeliat na dve kategorii:
Edinstveniiat bazov paket, koito triabva da bude instaliran chrez yum e glibc. Pri instaliraneto mu shte budat instalirani (kato zavisimosti) i drugite bazovi paketi.
# yum --installroot=/home/chroot -c /home/yum.repo.chroot.i386/fedora.repo install glibc
Dopulnitelnite paketi se instalirat v zavisimost ot tselite na izgrazhdaneto na chroot sredata. Edin suvsem kratuk i nagleden primer mozhe da bude daden s instaliraneto na paketa bash:
# yum --installroot=/home/chroot -c /home/yum.repo.chroot.i386/fedora.repo install bash
Sled instalatsiiata mu mozhe da se proveri pravilnostta na izgrazhdaneto na chroot sredata taka:
# chroot /home/chroot
bash-3.00#
Za izlizane ot chroot sredata mozhe da se izpolzva komandata exit:
bash-3.00# exit
exit
#
Ako se nalaga da budat instalirani paketi ot vunshni za distributsiiata hranilishta, prosto triabva da se sustavi pravilno (po opisanata v tochka 6 shema) suotvetniia repo fail i da se izpolzva posochenata v tazi tochka shema za instalatsiia na paketi s yum.
Opisanata tuk shema pozvoliava aktualizatsiia na paketite v chroot sredata s minimalni usiliia. Eto kak izglezhda aktualizirane na bazovite za distributsiiata paketi, ako sledvame pak gorniia primer na instalatsiia:
# yum --installroot=/home/chroot -c /home/yum.repo.chroot.i386/fedora.repo update
Nuzhno e da se kazhe, che pri standartno izpolzvanite tehniki na suzdavane na chroot sredi chrez kopirane na failove, mnogo trudno mozhe da se realizira aktualizatsiia na paketite, a tova bi dovelo do problemi v sigurnostta.