Vytvoříme si adresář do kterého nakopírujeme naše .deb balíčky
Např.: mkdir /root/debs
nebo pokud chceme mít balíčky v domácím adresáři:
mkdir /home/uzivatel/debs
Nainstalujeme balíček dpkg-dev
Přejdeme do adresáře kde je adresář s balíčky. Např.: cd root
Zadáme příkaz pro vytvoření souboru Packages.gz:
sudo dpkg-scanpackages debs /dev/null | gzip > debs/Packages.gz
(Jestliže přidáme do adresáře další nové balíčky, možná budete muset tento příkaz provést už jako root heslo viz zde)
Upravíme zdrojový soubor:
sudo gedit /etc/apt/sources.lista přidáme tam náš lokální zdroj:
deb file:/root debs/
#pro domácí adresář:
deb file:/home/uzivatel debs/
A ktualizujeme zdroje:
sudo apt-get update
a můžeme instalovat
#!/bin/bash
LANG=cs_CZ.ISO-8859-2
LC_CTYPE="cs_CZ.ISO-8859-2"
LC_NUMERIC="cs_CZ.ISO-8859-2"
LC_TIME="cs_CZ.ISO-8859-2"
LC_COLLATE="cs_CZ.ISO-8859-2"
LC_MONETARY="cs_CZ.ISO-8859-2"
LC_MESSAGES="cs_CZ.ISO-8859-2"
LC_PAPER="cs_CZ.ISO-8859-2"
LC_NAME="cs_CZ.ISO-8859-2"
LC_ADDRESS="cs_CZ.ISO-8859-2"
LC_TELEPHONE="cs_CZ.ISO-8859-2"
LC_MEASUREMENT="cs_CZ.ISO-8859-2"
LC_IDENTIFICATION="cs_CZ.ISO-8859-2"
LC_ALL=
/usr/bin/aptitude $1
a) Nainstalujeme potřebné balíčky pro tvorbu deb balíčků:
sudo aptitude install fakeroot java-package java-common
b) Přejdeme do adresáře, kde jsme uložili stažený soubor a vytovoříme balíček .deb
fakeroot make-jpkg jre-1_5_0_05-linux-i586.bin
c) Mezerníkem se přesuneme na konec licenčního dokumentu a
odsouhlasíme.
sudo dpkg -i sun-j2re1.5_1.5.0+update05_i386.debe) Nastavíme defaultní javu (vybereme námi nainatalovanou javu)
sudo update-alternatives --config javaf) Nebo instalujeme přímo ze zdrojů (jestli je máme nastaveny) balíček j2re1.4 , nebo sun-j2re1.5 (programátoři i j2sdk1.4 ,nebo sun-j2sdk1.5 )
There are 3 alternatives which provide `java'.
Selection Alternative
-----------------------------------------------
*+ 1 /usr/lib/jvm/java-gcj/bin/java
2 /usr/bin/gij-wrapper-4.0
3 /usr/lib/j2re1.5-sun/bin/java
Press enter to keep the default[*], or type selection number: 3 (napíšeme č.3)
Using `/usr/lib/j2re1.5-sun/bin/java' to provide `java'.
g) Výpis pro javu
dpkg -l | grep -i javanahoru
sudo apt-get install wajig deborphan
sudo wajig orphans
sudo apt-get install deborphan
sudo apt-get remove $(deborphan)
/var/cache/apt/archives/.
Můžete je odstranit tímto příkazem:
apt-get clean
apt-show-versions -u
apt-cache search celest
aptitude search celestia
apt-cache search -n libgtk
apt-cache show celestia
aptitude show celestia
apt-cache showpkg celestia
apt-cache depends celestia
dpkg -L nazev_balíčku
dpkg -l | grep firefo
ii firefox 1.0.7-0ubuntu20 lightweight web browser based on Mozilla
ii firefox-gnome-support 1.0.7-0ubuntu20 Support for GNOME in Mozilla Firefox
ii mozilla-firefox-locale-cs-cz 1.0.4lang20050515-1ubuntu3 Mozilla Firefox Czech language/region packag
ii mozilla-firefox-locale-en-gb 1.0.4lang20050515-1ubuntu3 Mozilla Firefox English language/region pack
dpkg -S libpythonize
libpythonize0: /usr/lib/libpythonize.so.0
libpythonize0: /usr/share/doc/libpythonize0/changelog.gz
libpythonize0: /usr/lib/libpythonize.so.0.0.0
libpythonize0: /usr/share/doc/libpythonize0
libpythonize0: /usr/share/doc/libpythonize0/changelog.Debian.gz
libpythonize0: /usr/share/doc/libpythonize0/copyright
sudo apt-file update
apt-file search libpythonize
libpythonize0: usr/lib/libpythonize.so.0
libpythonize0: usr/lib/libpythonize.so.0.0.0
libpythonize0: usr/share/doc/libpythonize0/changelog.Debian.gz
libpythonize0: usr/share/doc/libpythonize0/changelog.gz
libpythonize0: usr/share/doc/libpythonize0/copyright
libpythonize0-dev: usr/lib/libpythonize.a
libpythonize0-dev: usr/lib/libpythonize.la
libpythonize0-dev: usr/lib/libpythonize.so
libpythonize0-dev: usr/share/doc/libpythonize0-dev/changelog.Debian.gz
libpythonize0-dev: usr/share/doc/libpythonize0-dev/changelog.gz
libpythonize0-dev: usr/share/doc/libpythonize0-dev/copyright
python-kde3-doc: usr/share/doc/python-kde3-doc/libpythonize.html
apt-file list balíček
apt-file$ sudo apt-get install gnupgPříklad importu klíče:
$ sudo apt-get update
##Slovnik_stardic
deb http://debian.cihar.com/ unstable slovnik
$ gpg --keyserver subkeys.pgp.net --recv-keys 3714DD6A
gpg: directory `/home/jablko/.gnupg' created
gpg: new configuration file `/home/jablko/.gnupg/gpg.conf' created
gpg: WARNING: options in `/home/jablko/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/home/jablko/.gnupg/secring.gpg' created
gpg: keyring `/home/jablko/.gnupg/pubring.gpg' created
gpg: requesting key 3714DD6A from hkp server subkeys.pgp.net
gpg: /home/jablko/.gnupg/trustdb.gpg: trustdb created
gpg: key 3714DD6A: public key "Michal Čihař (Automated Debian packages builds) imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1
$ gpg --armor --export 3714DD6A | sudo apt-key add -
gpg: no ultimately trusted keys found
OK
$ sudo apt-get update
$ sudo apt-key list
Password:
/etc/apt/trusted.gpg
--------------------
pub 1024D/437D05B5 2004-09-12
uid Ubuntu Archive Automatic Signing Key
sub 2048g/79164387 2004-09-12
pub 1024D/FBB75451 2004-12-30
uid Ubuntu CD Image Automatic Signing Key
pub 1024D/70BDFEF2 2005-06-25
uid ACTIVE 24 Automatic Signing Key
sub 2048g/A9A7A423 2005-06-25
pub 1024D/3714DD6A 2005-05-16
uid Michal Čihař (Automated Debian packages builds)
sub 2048g/5D11820B 2005-05-16
wget adresa_klíčeNEBO:
sudo gpg --keyserver adresa_serveru --recv-keys kod_klíče
sudo apt-key add jmeno_souboru_s_klíčem.gpgNEBO:
sudo apt-key add /root/.gnupg/pubring.gpg
sudo gpg --keyserver keyserver.ubuntu.com --recv-keys 437D05B5
sudo apt-key add /root/.gnupg/pubring.gpg
wget http://www.kubuntu.org/announcements/kubuntu-packages-jriddell-key.gpg
sudo apt-key add kubuntu-packages-jriddell-key.gpg
sudo gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 1F41B907
sudo gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 529B8BDA
sudo apt-key add /root/.gnupg/pubring.gpg
wget http://ubuntu.wz.cz/soubory_linux/apt-pubkey.sh (Stažení skriptu)chmod +x apt-pubkey.sh (přidání práva pro spuštění skriptu)sh apt-pubkey.sh (spuštění skriptu)sh apt-pubkey.sh Stažení seznamu nepodepsaných repositorů... Stažení chybějících PGP klíčů... Přidávání PGP klíčů... Odstranění dočasných souborů... Dokončeno.
sudo dpkg -i jméno.deb
Tento způsob však nezajišťuje automatickou instalaci případných dalších potřebných balíčků (závislostí). Pokud tedy tyto další balíčky, které právě instalovaný balíček potřebuje k fungování, nejsou v systému přítomny, upozorní na to program dpkg chybovou hláškou. Situaci pak lze napravit např. spuštěním
sudo apt-get -f install
což je příkaz, který potřebné závislosti doinstaluje (za předpokladu,
že určené balíčky obsahuje některý z dostupných zdrojů uvedených v
souboru /etc/apt/sources.list.
Zdroj: abclinuxu.cz
V případě že jsme si pracně upravili nějaký balík a
při apt-get update si ho nechceme
nechat přepsat nějakou novější, ale neupravenou verzí, lze to udělat
takhle:
dpkg --get-selections \* > selections.txtPak editujeme řádek s balíčkem - např.:
teapop-mysql installzměníme na
teapop-mysql holdUložíme soubor a naimportujeme zpět:
dpkg --set-selections < selections.txt
Zdroj: czela.net/wiki
nahoruJestliže nechceme čekat na vydání nové verze Ubuntu a chtěli by jste si nainatalovat novou verzi některého oblíbeného programu, je to nejlépe učinit individuálně pro každý program zvlášť.
Instalovat ze zdrojových kódů není v Ubuntu nutné, ale je dobré vědět, jak se to dělá, aby i běžný uživatel mohl sám instalovat aktuální verze balíčů z nové edice, když to bude náhodou potřebovat.
Tento návod je vhodný jen pro toho, kdo neinstalujete větší množství zdrojových balíčků a nepoužívá zdrojové repository deb-src.
Kdo chce instalovat ze zdrojáků pravidelně a má nastaveny zdrojové repository deb-src (což já nedělám) je vše popsáno v APT HOWTO: Práce se zdrojovými balíčky . V praxi to vypadá asi takto:
sudo apt-get build-dep xxxx
což nainstaluje všechny devel balíky, které jsou na kompilaci xxxx
potřeba.
sudo apt-get source xxxx
Stáhne zdrojový balicek xxxx.
dpkg-source -x xxxx.dsc
balík rozbalí. "Makefile" celého balíku je v souboru debian/rules.
Stačí ho pročíst, aby jsme zjistli, jak systém funguje.
(Případně přidáme v ./configure patřičnou option pro podporu toho co potřebujeme.
fakeroot debian/rules binary
(binary je target pro výrobu binárních .deb a fakeroot je tam kvůli make install apod. Pochopitelně není nutný, pokud kompilujete pod rootem).
Dalším důvodem této instalace ze zdrojových kódů je ten, že pokud nechceme přecházet na nové vydání edice, ale potřebujeme aktualizovat některé programy.
Při této instalaci je také možno upravit vlastnosti programu úpravou zdrojových kódů nebo instalačních skriptů, ale to už vyžaduje věnovat kompilaci a instalaci více času.
Zde jsou příklady jak zdrojové balíčeky z nové edice dapper nainstalovat do edici breezy. Některé balíčky je možno instalovat i v binární podobě, ale nedoporučuje se to, protože balíčky z novější verze jsou kompilovány s novějšími knihovnami.
Upozorňuji, že některé závislosti vyžadované instalovanými zdrojovými balíčky nelze splnit ve starší edici (viz níže kompilace gparted), ale většínou se to povede bez nutnosti stahování nových vývojových knihoven a postačí nám knihovny obsažené ve starší edici.
sudo apt-get install build-essential fakeroot cdbs dpkg-dev
gftp_2.0.18.orig.tar.gz
gftp_2.0.18-11ubuntu1.diff.gz
gftp_2.0.18-11ubuntu1.dsc
dpkg-source -x gftp_2.0.18-11ubuntu1.dsc
dpkg-buildpackage -rfakeroot -uc -b
sudo apt-get install autotools-dev libreadline5-dev
gftp-gtk_2.0.18-11ubuntu1_i386.deb
gftp-text_2.0.18-11ubuntu1_i386.deb
gftp-gtk_2.0.18-11ubuntu1_i386.deb
sudo dpkg -i *debnebo raději je přidáme do databáze APT pro pořádek v systému: Lokální .deb balíčky
Vytvoření adresáře v domácím adresáři, kde mám zároveň i adresář debs s lokálnímí .deb balíčky:
jablko@ubuntu:~$ mkdir gparted_src
Vstup do tohoto adresáře:
jablko@ubuntu:~$ cd gparted_src/
Stažení zdrojáků i s úpravama pro Ubuntu:
jablko@ubuntu:~/gparted_src$ wget -c http://archive.ubuntu.com/ubuntu/pool/main/g/gparted/gparted_0.1.orig.tar.gz
jablko@ubuntu:~/gparted_src$ wget -c http://archive.ubuntu.com/ubuntu/pool/main/g/gparted/gparted_0.1-0ubuntu3.dsc
jablko@ubuntu:~/gparted_src$ wget -c http://archive.ubuntu.com/ubuntu/pool/main/g/gparted/gparted_0.1-0ubuntu3.diff.gz
Rozbalení zdrojáků s vložením informací závislostí a úprav pro Ubuntu:
jablko@ubuntu:~/gparted_src$ dpkg-source -x gparted_0.1-0ubuntu3.dsc
Vstup do rozbaleného zdrojáku:
jablko@ubuntu:~/gparted_src$ cd gparted-0.1/
Příkaz pro kompilaci a vytvoření .deb balíčku
jablko@ubuntu:~/gparted_src/gparted-0.1$ dpkg-buildpackage -rfakeroot -uc -b
dpkg-buildpackage: source package is gparted
dpkg-buildpackage: source version is 0.1-0ubuntu3
dpkg-buildpackage: source changed by Daniel Silverstone
dpkg-buildpackage: host architecture i386
Zde jsme informování co nám chybí!!:
dpkg-checkbuilddeps: Unmet build dependencies: uuid-dev libgtkmm-2.4-dev (>= 2.6.0) libglibmm-2.4-dev (>= 2.6) libparted1.6-dev (>= 1.6.25) docbook-to-man
dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: (Use -d flag to override.)
Instalace chybějících balíčků:
jablko@ubuntu:~/gparted_src/gparted-0.1$ sudo apt-get install uuid-dev libgtkmm-2.4-dev libglibmm-2.4-dev libparted1.6-dev docbook-to-man
Znova příkaz pro kompilaci a vytvoření .deb balíčku:
jablko@ubuntu:~/gparted_src/gparted-0.1$ dpkg-buildpackage -rfakeroot -uc -b
dpkg-buildpackage: source package is gparted
dpkg-buildpackage: source version is 0.1-0ubuntu3
dpkg-buildpackage: source changed by Daniel Silverstone
dpkg-buildpackage: host architecture i386
Potřebujeme balíček libparted1.6-dev vyšší verze než poskytuje Breezy (>= 1.6.25)
dpkg-checkbuilddeps: Unmet build dependencies: libparted1.6-dev (>= 1.6.25)
dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: (Use -d flag to override.)
-------------------------------------------------------------------------
Musíme si tuto chybějící knihovnu stáhnout a zkompilovat z edice Dapper
Návrat do předchozího adresáře:
jablko@ubuntu:~/gparted_src/gparted-0.1$ cd -
Zde vytvoříme nový adresář pro chybějící knihovnu:
jablko@ubuntu:~/gparted_src$ mkdir parted-src
Vstup do tohoto adresáře:
jablko@ubuntu:~/gparted_src$ cd parted-src/
Stažení zdrojáků i s úpravama pro Ubuntu:
jablko@ubuntu:~/gparted_src/parted-src$ wget -c http://archive.ubuntu.com/ubuntu/pool/main/p/parted/parted_1.6.25.1.orig.tar.gz
jablko@ubuntu:~/gparted_src/parted-src$ wget -c http://archive.ubuntu.com/ubuntu/pool/main/p/parted/parted_1.6.25.1-1ubuntu1.diff.gz
jablko@ubuntu:~/gparted_src/parted-src$ wget -c http://archive.ubuntu.com/ubuntu/pool/main/p/parted/parted_1.6.25.1-1ubuntu1.dsc
jablko@ubuntu:~/gparted_src/parted-src$ dpkg-source -x parted_1.6.25.1-1ubuntu1.dsc
jablko@ubuntu:~/gparted_src/parted-src$ cd parted-1.6.25.1/
Příkaz pro kompilaci a vytvoření .deb balíčku:
jablko@ubuntu:~/gparted_src/parted-src/parted-1.6.25.1$ dpkg-buildpackage -rfakeroot -uc -b
dpkg-buildpackage: source package is parted
dpkg-buildpackage: source version is 1.6.25.1-1ubuntu1
dpkg-buildpackage: source changed by Fabio M. Di Nitto
dpkg-buildpackage: host architecture i386
Zde jsme informování co nám pro kompilaci chybí!!:
dpkg-checkbuilddeps: Unmet build dependencies: dpatch texinfo (>= 4.2) autoconf automake1.8 libtool
dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: (Use -d flag to override.)
Instalace chybějících balíčků:
jablko@ubuntu:~/gparted_src/parted-src/parted-1.6.25.1$ sudo apt-get install dpatch texinfo autoconf automake1.8 libtool
Znova příkaz pro kompilaci a vytvoření .deb balíčku:
jablko@ubuntu:~/gparted_src/parted-src/parted-1.6.25.1$ dpkg-buildpackage -rfakeroot -uc -b
Přechod do nadřazeného adresáře:
jablko@ubuntu:~/gparted_src/parted-src/parted-1.6.25.1$ cd ..
Podíváme se jaké a kolik balíčků se nám vytvořilo:
jablko@ubuntu:~/gparted_src/parted-src$ ls
libparted1.6-dbg_1.6.25.1-1ubuntu1_i386.deb parted-doc_1.6.25.1-1ubuntu1_all.deb parted_1.6.25.1-1ubuntu1.dsc
libparted1.6-dev_1.6.25.1-1ubuntu1_i386.deb parted-udeb_1.6.25.1-1ubuntu1_i386.udeb parted_1.6.25.1-1ubuntu1_i386.deb
libparted1.6-i18n_1.6.25.1-1ubuntu1_all.deb parted-1.6.25.1 parted_1.6.25.1-1ubuntu1_i386.changes
libparted1.6-udeb_1.6.25.1-1ubuntu1_i386.udeb parted_1.6.25.1.orig.tar.gz
libparted1.6-13_1.6.25.1-1ubuntu1_i386.deb parted_1.6.25.1-1ubuntu1.diff.gz
Zkopírování nově vytvořených balíčků do lokální databáze (viz. bod 1.)
jablko@ubuntu:~/gparted_src/parted-src$ cp *deb /home/jablko/debs/ (viz bod 1 - lokální balíčky)
Přechod do domácího adresáře kde mám i adresář debs:
jablko@ubuntu:~/gparted_src/parted-src$ cd
Vytvoření, či aktualizace souboru z informacemi o lokálních balíčcích:
jablko@ubuntu:~$ sudo dpkg-scanpackages debs /dev/null | gzip > debs/Packages.gz
Aktualizace všech zdrojů:
jablko@ubuntu:~$ sudo apt-get update
Instalace chybějících balíčků pro kompilaci Gparted
jablko@ubuntu:~$ sudo apt-get install libparted1.6-dev libparted1.6-i18n parted
----------------------------------------------------------------
Pokračování v kompilaci programu Gpated:
Přechod do adresáře s rozbalenými zdrojáky parted:
jablko@ubuntu:~$ cd gparted_src/
jablko@ubuntu:~/gparted_src$ cd gparted-0.1/
Znova příkaz pro kompilaci a vytvoření .deb balíčku:
jablko@ubuntu:~/gparted_src/gparted-0.1$ dpkg-buildpackage -rfakeroot -uc -b
Návrat do předchozího adresáře
jablko@ubuntu:~/gparted_src/gparted-0.1$ cd -
Kontrola, balíčků které byly zkompilovány
jablko@ubuntu:~/gparted_src$ ls
gparted-0.1 gparted_0.1-0ubuntu3.diff.gz gparted_0.1-0ubuntu3_i386.deb parted-src
gparted_0.1.orig.tar.gz gparted_0.1-0ubuntu3.dsc gparted_0.1-0ubuntu3_i386.changes
Zkopírování nově vytvořených balíčků do lokální databáze (viz. bod 1.)
jablko@ubuntu:~/gparted_src$ cp *deb /home/jablko/debs/
Přechod do domácího adresáře kde mám i adresář debs:
jablko@ubuntu:~/gparted_src$ cd
Vytvoření, či aktualizace souboru z informacemi o lokálních balíčcích:
jablko@ubuntu:~$ sudo dpkg-scanpackages debs /dev/null | gzip > debs/Packages.gz
Aktualizace všech zdrojů:
jablko@ubuntu:~/gparted_src$ sudo apt-get update
Instalace našeho zkompilovaného balíčku:
jablko@ubuntu:~$ sudo apt-get install gparted
Spuštění:
sudo gpartd