Obsah

Vytvoření DVD s repozitáři

Tento návod je určen pro pokročilé uživatele

Návod pro pokročilejší uživatele, jak vytvořit vlastní malý repozitář na externím médiu. Lze použít CD, DVD, externí disk. (Disketa se nedoporučuje, lze ji ale s jistým sebezapřením použít také.) Budeme pracovat s aktuální verzí Ubuntu 7.10 Gutsy Gibbon.

Hodí se zejména, když vytváříme vlastní Live DVD s Ubuntu. Chceme uživateli bez internetového připojení umožnit instalaci dalších programů (a to i s rozsáhlými závislostmi, které nemůže dohledávat a stahovat ručně). Zároveň ale s použitím tohoto postupu máme plnou kontrolu nad tím, co na DVD bude - nemusíme stahovat repozitáře s desítkami GB software, které stejně nevyužijeme.

Tento návod se opírá o návod Vytvoření vlastního LiveCD. Prosím, pročtěte jej a důkladně vyzkoušejte nejdříve.

Na CD budeme nejen přidávat balíčky do ISO obrazu, ale upravíme i živý systém na komprimovaném oddíle squashfs.

Příprava

Stáhneme nebo jinak opatříme ISO obraz:

wget http://releases.ubuntu.cz/gutsy/ubuntu-7.10-desktop-i386.iso ./

Rozbalíme CD, chvíli to trvá a zabere cca 2 GB:

sudo su
mkdir cd-mnt
mkdir cd-data
mkdir sq-mnt
mkdir sq-data
mount ubuntu-7.10-desktop-i386.iso cd-mnt/ -o loop -t iso9660
rsync --exclude=/casper/filesystem.squashfs -a cd-mnt/ cd-data
mount cd-mnt/casper/filesystem.squashfs sq-mnt -o loop -t squashfs
cp -a sq-mnt/* sq-data/
umount sq-mnt/; rmdir sq-mnt
umount cd-mnt/; rmdir cd-mnt
exit

Drobné úpravy

Nastavíme defaultní jazyk na češtinu:

echo "cs" > lang && sudo mv lang cd-data/isolinux/

Volitelné: přidáme na DVD české offline-wiki (předpokládáme, že je rozbaleno v ~filip/ubuntu-wiki/) a zařídíme, aby měl odkaz každý uživatel liveCD. Do souboru Ubuntu_Navody.html vložíme odkaz na /usr/share/doc/ubuntu-wiki/index.html a cokoli, co nás napadne.

sudo su
mkdir sq-data/doc/
cp -r ~filip/ubuntu-wiki sq-data/doc/
cd sq-data/etc/skel/
vim Ubuntu_Navody.html
cd ../../
chmod -R +w doc/
chmod -R +r doc/
chmod +x doc/ubuntu-wiki/attachments/ doc/ubuntu-wiki/attachments/* doc/ubuntu-wiki/ubuntu/css/ doc/ubuntu-wiki/ubuntu/
exit

Vstup do chrootového prostředí

sudo cp /etc/resolv.conf sq-data/etc/
sudo cp /etc/hosts sq-data/etc/
sudo chroot sq-data
mount -t proc none /proc
mount -t sysfs none /sys
export HOME=/root
export LC_ALL=C

Nyní je naším kořenovým adresářem adresář sq-data. Můžeme pracovat s balíčkovacím systémem na CD a upravovat skladbu programů.

Nejdříve na DVD povolíme repozitáře universe a multiverse, abychom měli přístup ke všem možným balíčkům. (Tj. odstraníme # na začátku řádků končících na „universe“ a na jejich konec připíšeme „multiverse“).

sudo vim /etc/apt/sources.list

Na tvar:

deb http://archive.ubuntu.cz/ubuntu gutsy main restricted
deb-src http://archive.ubuntu.cz/ubuntu gutsy main restricted
#Uncomment the following (...)
deb http://archive.ubuntu.cz/ubuntu gutsy universe multiverse
deb-src http://archive.ubuntu.cz/ubuntu gutsy universe multiverse

Případně přidáme repozitáře a vzpomeneme si na ně při instalaci/stahování balíčků:

 # Canonical - partner repositories
 deb http://archive.canonical.com/ubuntu gutsy partner
 deb-src http://archive.canonical.com/ubuntu gutsy partner
 # Wine
 deb http://wine.budgetdedicated.com/apt gutsy main #WineHQ - Ubuntu 7.10
 deb-src http://wine.budgetdedicated.com/apt gutsy  main #WineHQ - Ubuntu 7.10


 # Cinelerra
 deb http://www.kiberpipa.org/~gandalf/ubuntu/feisty/cinelerra/i686/ ./

A tyto repozitáře autentizujeme, např. wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -

Instalujeme nezbytné nástroje (jsou v repozitáři universe). Dobudoucna totiž budeme potřebovat program dpkg-scanpackages.

apt-get update
apt-get install dpkg-multicd

Pročištění DVD

Na DVD je spousta věcí, které pravděpodobně nevyužijeme.

apt-get remove ttf-arabeyes ttf-arphic-uming ttf-indic-fonts-core ttf-kochi-gothic ttf-kochi-mincho ttf-lao ttf-malayalam-fonts ttf-thai-tlwg ttf-unfonts-core example-content --assume-yes
apt-get remove language-pack-xh language-pack-gnome-xh language-pack-gnome-xh-base --assume-yes
apt-get remove language-pack-bn language-pack-gnome-bn language-pack-gnome-bn-base --assume-yes
apt-get remove language-pack-ar language-pack-gnome-ar language-pack-gnome-ar-base --assume-yes
apt-get remove language-pack-hi language-pack-gnome-hi language-pack-gnome-hi-base --assume-yes
apt-get remove language-pack-pt language-pack-gnome-pt language-pack-gnome-pt-base --assume-yes

Zbydou jazyky: angličtina, němčina, španělština, francouzština. Pokud chceme odebrat i NJ, ŠJ a FJ:

apt-get remove language-pack-de language-pack-gnome-de language-pack-gnome-de-base --assume-yes
apt-get remove language-pack-es language-pack-gnome-es language-pack-gnome-es-base --assume-yes
apt-get remove language-pack-fr language-pack-gnome-fr language-pack-gnome-fr-base --assume-yes

Instalace programů, které budou z DVD spustitelné

Upgradujeme všechny balíčky na nejnovější verzi, která je dostupná.

apt-get dist-upgrade

Instalujeme plné počeštění, případně plné poslovenštění:

aptitude install language-pack-cs language-pack-gnome-cs language-pack-kde-cs language-pack-sk language-pack-gnome-sk language-pack-kde-sk

Volitelně instalujeme, co se hodí mít na liveDVD i v instalovaném systému po ruce:

apt-get install inkscape vim-gtk mplayer brasero numlockx sl gconf-editor brasero tilda
apt-get install gstreamer0.10-pitfdll gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse gxine ogle ogle-gui lame lame-extras
apt-get install flashplugin-nonfree
apt-get install sun-java6-jre sun-java6-plugin

Otestujeme funkčnost programu sl:

sl

Přidání ostatních programů do repozitáře

Je na našem rozhodnutí, i co budeme chtít v repozitářích na DVD. U všech následujících příkazů sice použijeme apt-get, ale s volbou –download-only.

Instalátor aptitude vždy nejdříve patřičné balíčky stáhne do cache v adresáři /var/cache/apt/archives/ a až pak je instaluje. Parametrem –download-only jej donutíme stáhnout požadované programy i včetně jejich závislostí. Následující programy nechť slouží jako inspirace, čím se může hodit doplnit CD.

Po přidání jiných repozitářů nebo ručním stažení je možno přidat instační balíčky dalších programů, jako je openwengo, moonlight, cinelerra, nvu, deluge, tuxanci, regnum online, coccinella, battle for wesnoth…

 sudo apt-get install --download-only ubuntu-desktop kubuntu-desktop xubuntu-desktop language-pack-kde-cs language-pack-kde-cs-base language-pack-kde-sk language-pack-kde-sk-base

Přidání balíčků, které nejsou v Ubuntu repozitáři (neověřený postup)

Ufo - Alien invasion zde:

cd /var/cache/apt/archives/
wget http://harrisony.com/getdeb.net/uf/ufoai_2.1-0~getdeb1_i386.deb
wget http://harrisony.com/getdeb.net/uf/ufoai-data_2.1-0~getdeb1_all.deb
cd ../../../../

Zaindexování balíčků do databáze

Zaindexujeme balíčky, jmenovku nastavíme jako Ubuntu7.10 :

dpkg-scanpackages /var/cache/apt/archives/ /dev/null > /var/cache/apt/archives/Packages
apt-cdrom add -m -d=/var/cache/apt/archives/

Opuštění chrootového prostředí

rm -rf /tmp/*
rm /etc/resolv.conf  /etc/hosts
umount /proc
umount /sys
exit

Zbastlení DVDčka dohromady

Změníme jmenovku DVD:

sudo chmod u+w cd-data/README.diskdefines
sudo vim cd-data/README.diskdefines

tzn. na prvním řádku bude:

#define DISKNAME  Ubuntu7.10

A zabalíme obraz DVD. Chvíli to trvá.

sudo su
mv sq-data/var/cache/apt/archives/*.deb sq-data/var/cache/apt/archives/Packages cd-data/
rm cd-data/casper/filesystem.manifest
chroot sq-data dpkg-query -W --showformat='${Package} ${Version}\n' > cd-data/casper/filesystem.manifest
cp cd-data/casper/filesystem.manifest cd-data/casper/filesystem.manifest-desktop
sed -ie '/ubiquity/d' cd-data/casper/filesystem.manifest-desktop
rm cd-data/casper/filesystem.squashfs
nice mksquashfs sq-data/ cd-data/casper/filesystem.squashfs
cd cd-data
sudo mkisofs -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-7.10-desktop-i386-mojeDVD.iso .
ls -l
echo 'Ufff! Hotovo.'
exit

Odkazy


NEPLATNÉ Upravíme mv sq-data/var/cache/apt/archives/*.deb cd-data/

sudo vim sq-data/etc/apt/sources.list

a přidáme řádek:

deb cdrom:[Ubuntu7.10]/ /

Zapíšeme, že je repozitář na samotném DVD:

sudo vim sq-data/var/lib/apt/cdroms.list

a přidáme magické řádky:

CD::b18f9ce7ee7037fcb9b4bda843f5a863-2 "Ubuntu7.10";
CD::b18f9ce7ee7037fcb9b4bda843f5a863-2-Label "Ubuntu7.10";

KONEC NEPLATNÉHO