Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

vytvoření_dvd_s_repozitáři [2012/07/28 16:19] (aktuální)
Ubuntu vytvořeno
Řádek 1: Řádek 1:
 +====== 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:
 +
 +<​code>​
 +wget http://​releases.ubuntu.cz/​gutsy/​ubuntu-7.10-desktop-i386.iso ./
 +</​code>​
 +Rozbalíme CD, chvíli to trvá a zabere cca 2 GB:
 +
 +<​code>​
 +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
 +</​code>​
 +
 +====== Drobné úpravy ======
 +
 +Nastavíme defaultní jazyk na češtinu:
 +
 +<​code>​
 +echo "​cs"​ > lang && sudo mv lang cd-data/​isolinux/​
 +</​code>​
 +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.
 +
 +<​code>​
 +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
 +</​code>​
 +====== Vstup do chrootového prostředí ======
 +
 +<​code>​
 +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
 +</​code>​
 +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"​).
 +
 +<​code>​
 +sudo vim /​etc/​apt/​sources.list
 +</​code>​
 +
 +Na tvar:
 +
 +<​code>​
 +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
 +</​code>​
 +
 +
 +
 +
 +Případně přidáme repozitáře a vzpomeneme si na ně při instalaci/​stahování balíčků:
 +<​code>​
 + # 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/​ ./
 +
 +</​code>​
 +
 +
 +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%%.
 +<​code>​
 +apt-get update
 +apt-get install dpkg-multicd
 +</​code>​
 +====== Pročištění DVD ======
 +
 +Na DVD je spousta věcí, které pravděpodobně nevyužijeme.
 +
 +<​code>​
 +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
 +</​code>​
 +
 +Zbydou jazyky: angličtina,​ němčina, španělština,​ francouzština. Pokud chceme odebrat i NJ, ŠJ a FJ:
 +<​code>​
 +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
 +</​code>​
 +====== Instalace programů, které budou z DVD spustitelné ======
 +
 +Upgradujeme všechny balíčky na nejnovější verzi, která je dostupná.
 +
 +<​code>​
 +apt-get dist-upgrade
 +</​code>​
 +
 +Instalujeme plné počeštění,​ případně plné poslovenštění:​
 +
 +<​code>​
 +aptitude install language-pack-cs language-pack-gnome-cs language-pack-kde-cs language-pack-sk language-pack-gnome-sk language-pack-kde-sk
 +</​code>​
 +Volitelně instalujeme,​ co se hodí mít na liveDVD i v instalovaném systému po ruce:
 +
 +<​code>​
 +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
 +</​code>​
 +Otestujeme funkčnost programu sl:
 +
 +<​code>​
 +sl
 +</​code>​
 +
 +
 +====== 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:
 +<​code>​
 + 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
 +</​code>​
 +
 +===== Přidání balíčků, které nejsou v Ubuntu repozitáři (neověřený postup) =====
 +
 +Ufo - Alien invasion zde:
 +<​code>​
 +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 ../​../​../​../​
 +</​code>​
 +
 +====== Zaindexování balíčků do databáze ======
 +
 +Zaindexujeme balíčky, jmenovku nastavíme jako Ubuntu7.10 :
 +
 +<​code>​
 +dpkg-scanpackages /​var/​cache/​apt/​archives/​ /dev/null > /​var/​cache/​apt/​archives/​Packages
 +apt-cdrom add -m -d=/​var/​cache/​apt/​archives/​
 +</​code>​
 +====== Opuštění chrootového prostředí ======
 +
 +<​code>​
 +rm -rf /tmp/*
 +rm /​etc/​resolv.conf ​ /etc/hosts
 +umount /proc
 +umount /sys
 +exit
 +</​code>​
 +====== Zbastlení DVDčka dohromady ======
 +
 +Změníme jmenovku DVD:
 +
 +<​code>​
 +sudo chmod u+w cd-data/​README.diskdefines
 +sudo vim cd-data/​README.diskdefines
 +</​code>​
 +tzn. na prvním řádku bude:
 +
 +<​code>​
 +#define DISKNAME ​ Ubuntu7.10
 +</​code>​
 +A zabalíme obraz DVD. Chvíli to trvá.
 +
 +<​code>​
 +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
 +</​code>​
 +====== 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/
 +
 +<​code>​
 +sudo vim sq-data/​etc/​apt/​sources.list
 +</​code>​
 +a přidáme řádek:
 +
 +<​code>​
 +deb cdrom:​[Ubuntu7.10]/​ /
 +</​code>​
 +Zapíšeme, že je repozitář na samotném DVD:
 +<​code>​
 +sudo vim sq-data/​var/​lib/​apt/​cdroms.list
 +</​code>​
 +a přidáme magické řádky:
 +
 +<​code>​
 +CD::​b18f9ce7ee7037fcb9b4bda843f5a863-2 "​Ubuntu7.10";​
 +CD::​b18f9ce7ee7037fcb9b4bda843f5a863-2-Label "​Ubuntu7.10";​
 +</​code>​KONEC NEPLATNÉHO
 +----
  • Poslední úprava: 2012/07/28 16:19
  • autor: Ubuntu