Aloitetaan opettajan ohjeiden mukaan asentamalla equivs.
sudo apt-get update
sudo apt-get install equivs
Asennus sujui hyvin. Ja sitten tekemään metapakettia, joka asentaa suosikkiohjelmani. Paremman ajatuksen puuttuessa, päädyn geo-ip:hen. Ensin tehdään paketti:
equivs-control lasse-geoip.cfg
sudo nano lasse-geoip.cfg
Sitten editoidaan cfg-tiedosto tällaiseen kuntoon:
Ja sitten varsinainen rakentaminen:
equivs-build lasse-geoip.cfg
Ja eipä onnistunutkaan vaan tuloksena on valituksia: "badly formatted heading line", "found blank line where expected first heading" ja niin edelleen. Käydäänpä katsomassa miltä se cfg-näyttikään... Korjailen sen perusteella, mitä virheilmoitusket saattaisivat tarkoittaa, mutta lopputulos on sama. Otan alusta asti uudestaan, mutta ei auta aina vaan tuloksena on samankaltainen litanja virheitä:
En ymmärrä vastoinkäymisiä, sillä vastaava onnistui tunnilla käyttämälläni live-CD:llä ilman ongelmia. Päätän jättää harjoituksen tällä erää tähän ja palata siihen vanhalla, tutulla ja turvallisella testikoneella.
* * *
Ja nyt jatkuu! Tällä kertaa alustana edellisistä tehtävistä tuttu HP-torni ja käyttöjärjestelmänä Ubuntu 12.04 LTS live-CD:ltä ajettuna. Tällä se ainakin tunnilla onnistui...
Eli sitten vaan tuttuja komentoja syöttämään. Tällä kertaa päätän tehdä ainakin teoriassa hyödyllisen paketin, joka asentaa Linuxiin "ampin", että saadaan LAMP (Linux-Apache-MySQL-PHP). Laiskuuttani ajan kaikki komennot sudona.
su sudo
apt-get update
apt-get install equivs
...jota ei kuitenkaan löydy, joten edetään kuten aiemmassa tehtävässä hakemalla universe-repository:
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe restricted multiverse"
apt-get update
apt-get install equivs
Nyt onnistui! Sitten tehdään paketti:
equivs-control lasse-lamp.cfg
sudo nano lasse-lamp.cfg
Päivitetään tiedosto näyttämään tältä:
Sitten rakennetaan:
sudo nano lasse-lamp.cfg
Päivitetään tiedosto näyttämään tältä:
Sitten rakennetaan:
equivs-build lasse-lamp.cfg
Ja ladataan lintian testaamista varten:
apt-get install lintian
Testataan:
lintian lasse-lamp_0.1_all.deb
Lintian valittaa sähköpostiosoitteesta, jonka jätin oletukseksi. Kun taas korjaan siihen oman osoitteeni ja poistan #-kommentointimerkin, equivs-build ei suostu rakentamaan pakettia vaan valittaa "trailer linen" väärästä formaatista. Tyydyn lopulta siihen versioon, josta lintian valittaa. Se kuitenkin syntyi, enkä testaamisella pääse virheestä eroon.
Seuraavaksi kokeillaan paketin asennusta:
gdebi -n lasse-lamp_0.3_all.deb
gdebiä ei tietenkään koneella ole, joten se on vielä asennettava:
apt-get install gdebi
Ja sitten alkaa tapahtua! Ohjelmat asentuvat nätisti, ainoa katko on MySQL:n pyyntö saada salasana.
Seuraavana tehtävänä reprepron käyttö. Sekin pitää aluksi asentaa:
apt-get install reprepro
Sitten ohjeiden mukaisesti teen kansion conf ja sinne tiedotston distributions. Se sisällöksi seuraavaa:
Sitten vaan varsinainen rakennus:
reprepro includedeb lammas lasse-lamp_0.3_all.deb
Ja valmista tulee!
Sitten vielä skriptin paketoiminen, siten että se on asennettuna kaikkien käyttäjien käytettävissä. Teen nimellä tiedot.sh yksinkertaisen skriptin työskentelykansion ja vapaan levytilan näyttämiseen. Se sisältö on:
pwd
df
Ja tälle ajo-oikeudet:
chmod 755 tiedot.sh
Sen jälkeen ajan equivsin tehdäkseni tästä paketin:
equivs-control tiedot.cfg
Sen sisältöä muokkaan aiemmin oppimani mukaan:
Sitten ajan buildin:
equivs-build tiedot.cfg
Ja asennan paketin kokeeksi:
gdebi -n tiedot_0.1_all.deb
Ja se olikin sitten siinä!
Lähteet:
- http://terokarvinen.com/2013/aikataulu-%E2%80%93-linux-palvelimena-ict4tn003-11-ja-12-kevaalla-2014
- http://terokarvinen.com/2011/create-deb-metapackage-in-5-minutes
- http://askubuntu.com/questions/148638/how-do-i-enable-the-universe-repository
- http://davehall.com.au/blog/dave/2010/02/06/howto-setup-private-package-repository-reprepro-nginx
- http://anonscm.debian.org/gitweb/?p=mirrored/reprepro.git;a=blob_plain;hb=HEAD;f=docs/short-howto