====== Vytvoření DVD s repozitáři ======
{{page>konvence/pokročilý}}
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...
* Plně vybavená desktopová prostředí ubuntích odvozenin:
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 ======
* [[http://aptoncd.sourceforge.net/|APTonCD]] - jednoduchá tvorba vlastního CD/DVD jako zdroje balíků
----
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
----