Minun metapaketti
Tämä artikkeli on kirjoitettu Tero Karvisen Linux palvelimena kurssin tämän viikon tehtäväksi.
Tehtäväksi sain:
1. Kerätä kokoon suosikki ohjelmani
2. Tehdä asennettavista ohjelmista metapaketti
3. Paketoida metapaketti asennustiedostoksi
1. Ohjelmiksi valitsin:
firefox, gedit, apache2, mysql-server, mysql-client ja ssh-server
Asennetaan equivs
$ sudo apt-get update
$ sudo apt-get -y install equivs
Valmistellaan metapaketti
Seuraavaksi määritellään metapaketin conffi tiedosto, ja annetaan paketille nimi nikos-apps:
$ equivs-control nikos-apps.cfg
Seuraavaksi muokataan “Package”, “Version”, “Depends” ja "Description" kohtia (Muistathan poistaa kommenttimerkin # rivien edestä). Tiedoston voimme avata muokattavaksi esimerkiksi nanolla:
$ nano nikos-apps.cfg
Muokkaamalla vain yllämainittuja rivejä, ja poistamalla turhat rivit pois, saamme aikaan seuraavanlaisen tiedoston:
Section: misc
Priority: optional
Standards-Version: 3.9.2
Package: nikos-apps
Version: 0.1
Maintainer: Niko Kiuru <niko@kiuru.net>
Depends: firefox, gedit, apache2, php5, libapache2-mod-php5, mysql-server, mysql-client, ssh-server
Description: This package include all my favorite softwares and servers.
.
Try it yourself.
Luodaan metapaketti
$ equivs-build nikos-apps.cfg
ja se muodostaa tiedoston: nikos-apps_0.1_all.deb
Metapaketin tarkistus
Metapaketin synnyttyä tarkastetaan se vielä lintianilla mahdollisista virheistä:
$ lintian nikos-apps_0.1_all.deb
Virheiltä vältyttiin tällä kertaa, ja paketti on valmiina asennukseen.
Paketin saat asennettua komennolla:
$ gdebi -n nikos-apps_0.1_all.deb
Asennus skripti
3. Tehdään skripti, joka asentaa meidän metapaketin, ja laittaa php:n toimintakuntoon:
$ nano install_nikos-apps.sh
Ja kirjoitetaan tiedostoon:
#!/bin/bash
apt-get update
gdebi -n nikos-apps_0.1_all.deb
a2enmod php5
service apahce2 restart
Ohjelmat saa nyt asennettua komennolla:
$ sudo sh install_nikos-apps.sh