====== 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 ----