ot Beco(23-02-2006)

reiting (14)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

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


  1. Vuvedenie.
  2. Utochneniia.
  3. Suzdavane na direktoriiata za izgrazhdane na „chroot“ sredata.
  4. Initsializirane na bazata ot danni na paketnata sistema RPM.
  5. Zarezhdane na OpenPGP sertifikatite za proverka na elektronnite podpisi vurhu paketite.
  6. Suzdavane na repo failove v pomosht na instaliraneto na paketi v „chroot“ sredata.
  7. 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:

  • bazovi
  • dopulnitelni

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.



<< Linuks ne e Windows! | KAK DA pechatame ot Windows na CUPS printer/opashka >>