(c) Tero Karvinen
apt4rpm varaston tekeminen
Apt4rpm alkaa olla vanhentunut, koska yum
paketinhallintaohjelma korvaa sen. Varaston tekeminen yumilla on paljon
helpompaa kuin aptilla. ‘man yum-arch’
Apt hakee verkosta ja asentaa halutun ohjelman yhdellä komennolla, joten ylläpito muuttuu helpoksi.
Se toimii myös RPM:n kanssa, esimerkiksi Redhat:lla. Tässä ohjeessa neuvotaan, kuinka rakentaa
apt-varasto eli palvelin, josta ohjelmat haetaan.
Varasto rakennetaan kolmessa vaiheessa. Ensin kopioidaan paketit weppipalvelimella julkaistavaan kansioon, sitten ajetaan genbasedir ja lopuksi laaditaan ohje sources.list:n lisättävistä riveistä.
Tarvitaan
Apt
(apt-*.i386.rpm)
Tilaa www-palvelimelta. Mikä tahansa palvelin kelpaa, mitään dynaamisia sivuja ei tarvita.
1. Julkaistaan RPM-paketit www-palvelimella
Kokeillaan, että rpm-paketit voi ladata (download) weppipalvelimelta ja asentaa perinteiseen
tapaan rpm:llä.
Tehdään apt-kansio oman kotihakemiston alle /home/omanimi/public_html/apt. Sen
alle syntyy hakemistot levityspaketti/versio/kieli/arkkitehtuuri. Nyt meillä on hakemisto
/home/omanimi/public_html/apt/redhat/8.0/en/i386.
Sen alle tehdään RPMS ja SRPMS -hakemistot kullekin komponentille os, updates ja extra:
apt `-- redhat `-- 8.0 `-- en `-- i386 |-- RPMS.extra |-- RPMS.os |-- RPMS.updates |-- SRPMS.extra |-- SRPMS.os `-- SRPMS.updates
Komponentit tarkoittavat eri lähteistä tulleita asennuspaketteja. os sisältää levityspaketin
valmistajan paketit versiojulkaisusta, eli Redhat 8.0 tapauksessa samat paketit kuin
asennusrompuilla. Levityspaketin valmistajan viralliset päivitykset kuuluvat komponenttiin
updates. Kaikki muut, eli omat ja verkosta haetut paketit ovat extra.
Hakemistossa RPM on valmiiksi käännetyt binääripaketit, eli ne tavalliset, joita voi asentaa
komennoilla ‘apt-get install ohjelma` tai ‘rpm –install ohjelma-versio.i386.rpm`. Hakemistossa
SRPMS.komponentti on lähdekoodi-rpm-paketit (source rpm), joiden avulla voi tehdä omia versioita
ohjelmista.
Kopioidaan muutamia rpm:iä kansioihin. Haetaan ne weppiselaimella ja asennetaan
‘rpm -i ohjelma-0.9-3.i386.rpm’
2. Tehdään pakettilista
Pakettilistassa on kaikkien asennuspakettien nimet, kuvaukset ja riippuvuudet. Käyttäjät hakevat
sen komennolla ‘apt-get update’. Pakettilista tulee kansioon base, ja se tehdäänkin komennolla
genbasedir:
genbasedir –flat /home/omanimi/public_html/apt/redhat/8.0/en/i386 os updates
extra
Huomaa, että genbasedir vaatii täyden hakemistopolun, sellaisen joka alkaa kauttaviivalla.
Hakemistopolku loppuu arkkitehtuuriin (i386) ja komponentit luetellaan erikseen välilyönnillä
eroteltuna.
3. Ohje sources.list:n lisättävistä riveistä
Jotta apt osaa hakea paketteja jostakin varastosta, se on määriteltävä tiedostossa
/etc/apt/sources.list. Sen syntaksi on muotoa
pakettityyppi apt-hakemiston_palvelin_ja_polku levityspaketti/versio/kieli/arkkitehtuuri komponentit
Eli meillä
rpm http://munpalvelin.net/~omanimi/apt redhat/8.0/en/i386 os updates extra rpm-src http://munpalvelin.net/~omanimi/apt redhat/8.0/en/i386 os updates extra
Huomaa, että polku on paloiteltu apt-hakemiston ja versiokansioiden väliltä välilyönnillä, ja
komponentit erotettu toisistaan välilyönneillä. rpm ja rpm-src rivit erovat todellakin toisistaan vain
neljän merkin verran (“-src”). Palvelimen kohdalla ei tietenkään voi lukea localhost.
Laitetaan vielä kommentteina esimerkkitiedostoon ohje käyttäjille
# Install apt, add these lines to your /etc/apt/sources.list, 'apt-get update' # then you can install programs with (for example) 'apt-get install calc' # Asenna apt, lisää nämä rivit /etc/apt/sources.list, aja 'apt-get update', # sitten voit asentaa ohjelmia esimerkiksi 'apt-get install calc'
Testataan vielä apt-varastomme toiminta lisäämällä rivit ohjeen mukaan, asennetaan
jokin ohjelma varastostamme apt:illa ja kokeillaan, että se toimii. Valmiit apt-varastot
kannattaa ilmoittaa vaikkapa freshrpms.net:n ja google.com:n.
Testaus
Testasin itse Redhat 8.0, kurssilaiset asentavat eri koneille samalla redhatin versiolla.
Kirjallisuutta
Mika Hirvonen: Ohjeet
RedHat 8.0 apt-varaston tekemiseen
Mathias Saou: Freshrpms.net
apt4rpm team: apt4rpm.sourceforge.net
Copyright 2002-11-03 Tero Karvinen.
XHTML Basic 1.0