Links:
wiki.ubuntuusers - Probleme mit der Paketverwaltung
Befehl | Beschreibung |
---|---|
rpm -i paket.rpm | ein Paket installieren |
rpm -i URL | Paket aus dem Internet installieren |
rpm -U paket.rpm | ein Paket upgraden / aktualisieren |
rpm -e paket | ein Paket deinstallieren |
rpm -e --nodeps Paket | Paket vollständig deinstallieren |
rpmlocate paket | zeigt Dateien eines Paketes an |
rpm -qf /usr/sbin/named | zu welchem Paket gehört diese Datei |
rpm -qa | Liste aller installierten Pakete |
rpm -qa | grep -i Paket | ist ein Programmpaket installiert? |
rpm -qi Paket | Ausführliche Infos über ein Paket |
rpm -qip paket.rpm | Ausführliche Infos über eine Archivdatei |
rpm -ql Paket | Liste aller Dateien in einem Paket |
rpm -qlp .rpm-Datei | Liste aller Dateien einer Archivdatei |
rpm -qf Datei | aus welchem Paket stammt eine Datei? |
rpm2cpio paket.rpm | cpio --list | RPM Paket Dateien anzeigen |
rpm2cpio paket.rpm | cpio --extract --make-directories --no-absolute-filenames | RPM Paket wird ins aktuelle Verzeichnis entpackt |
Paket rpm-build muss installiert werden (je nach Distribution)
das Arbeitsverzeichnis
/usr/src/packages unter Suse
/usr/src/rpm unter Mandrake
/usr/src/redhat wie der Name schon sagt
Unterverzeichnisse SOURCES, SPEC, BUILD, RPMS und SRPMS
- RPMS und SRPMS nehmen später die Binär und Source Pakete auf, in BUILD wird die Software kompiliert. Unter SOURCES wird das Quellcode Archiv als .tar.gz abgelegt und in SPEC muss die Steuerdatei zum erstellen der Pakete angelegt werden.Schema der Steuerdatei programm.spec# Specfile für Programm
# 1. Abschnitt Beschreibung des Programmes
Summary: Programmbeschreibung
Name: Programmname
Version: 0.1.1.0
Release:
Copyright: GPL
Group: Games/Arcade
Source: programm.tat.gz
URL: http://www.server.de
Distribution:
Packer: Ted Mustermann <tmustermann@online.de>
# 2. Abschnitt Konfigurationsanweisungen
%description
Programmbeschreibung
%prep
%setup
./configure --prefix=/usr/local -with-gnome=no
%build
make
%install
make install-strip
%post
# wenn Bibliotheken im Paket enthalten sind
# ldconfig
# 3. Abschnitt Dateilisten je nach Programm anpassen
%files /usr/local/man/man6/programm /usr/local/bin/programm /usr/local/share/programm %doc /usr/local/share/programm/programm.txt
- Pakete gcc make müssen installiert sein
zypper in gcc make
- Programmpaket aus der Konfigurationsdatei (programm.spec) erstellen, es wird ein Source und ein Binärpaket gebaut.
rpmbuild -ba programm.spec
- erzeugt nur das BinärPaket
rpmbuild -bb programm.spec
- erzeugt nur ein SourcePaket
rpmbuild -bs programm.spec
- macht ein Testdurchlauf ohne das ein Paket erzeugt wird (das SPEC File wird nur bis %build abgearbeitet)
Parameter | Erklärung |
---|---|
-bi | kompiliert die Quellen und installiert ins Buildroot Verzeichnis, ein Paket wird nicht erstellt |
Infos zu dem selbst erstellten Paket abfragen.
rpm -qilp /usr/src/packages/RPMS/i586/<Paket>.rpm | less
unter /usr/src/packages liegen die Ordner
Verzeichnis | Bedeutung |
---|---|
BUILD | entpackte und kompilierte Quellen |
RPMS | fertige BinärPackete |
SOURCES |
Quellen |
SPECS | Steuerdateien zum Paketbau |
SRPMS | fertige SourcePackete |
tmp | Temp Verzeichnis |
- im Home Ordner des Users die Datei .rpmmacros erstellen
# ~/.rpmmacros %_topdir /usr/src/packages %_tmppath /usr/src/packages/tmp %distribution SuSE Linux %packager user@online.de
- Packet nach /usr/src/packages/SOURCES laden
wget http://www.openwall.com/john/g/john-1.7.3.4.tar.gz
- .spec Datei für das Paket erstellen
#SPEC/john-1.7.3.4.spec #Specfile for John the Ripper %define name john %define version 1.7.3.4 %define release 1$HOSTNAME Summary: John the Ripper Name: %{name} Version: %{version} Release: %{release} License: GPL Group: Utilities/System Source: %{name}-%{version}.tar.gz URL: http://www.openwall.com/john BuildRoot: %_tmppath/%{name}-buildroot %description John the Ripper für x86 mit SSE2 Befehlssatz %prep %setup %build cd src make linux-x86-sse2 make clean linux-x86-sse2 #make clean generic %install #make DESTDIR=$RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/usr/share/john/ mkdir -p $RPM_BUILD_ROOT/usr/sbin/ mkdir -p $RPM_BUILD_ROOT/etc/john/ cp run/*.chr $RPM_BUILD_ROOT/usr/share/john/ cp run/*.lst $RPM_BUILD_ROOT/usr/share/john/ cp run/john $RPM_BUILD_ROOT/usr/sbin/ cp run/mailer $RPM_BUILD_ROOT/usr/sbin/ cp run/unafs $RPM_BUILD_ROOT/usr/sbin/ cp run/unique $RPM_BUILD_ROOT/usr/sbin/ cp run/unshadow $RPM_BUILD_ROOT/usr/sbin/ cp run/john.conf $RPM_BUILD_ROOT/etc/john/ %clean rm -rf $RPM_BUILD_ROOT %files %changelog
- mit dem erstellen des RPMs beginnen -bb erstellt nur das BinärPacket -bs nur Source RPM
cd /usr/src/SPECS
rpmbuild -bb john-1.7.3.4.spec
- nach dem ersten Start bleibt rpmbuild mit der Meldung stehen.
error: Installed (but unpackaged) file(s) found:
/all.chr /alnum.chr /alpha.chr ...
die angezeigte Dateiliste muß dann in den Abschnitt %files der SPEC Datei eingetragen werden.
... %files %defattr(-,root,root,0755) /usr/share/john/all.chr /usr/share/john/alnum.chr /usr/share/john/alpha.chr /usr/share/john/digits.chr /usr/share/john/lanman.chr /usr/share/john/password.lst /usr/sbin/john /usr/sbin/mailer /usr/sbin/unafs /usr/sbin/unique /usr/sbin/unshadow /etc/john/john.conf %changelog
Wenn es zu Probleme mit Abhänigkeiten kommt fragt zypper nach, ob man die vorgeschlagene Lösung übernehmen möchte, oder mit der Taste "p" manuell auflösen will.
Speicherort der Paketmetadaten /var/cache/zypp/raw/
Speicherort der Paketabhänigkeiten /var/cache/zypp/solv/
Befehl | Beschreibung |
---|---|
zypper install Paket | Paket installieren |
zypper remove Paket | Paket deinstallieren |
zypper update Paket | Paket updaten |
zypper search Paket | Paket suchen |
Kurzform | |
zypper in Paket | Paket installieren |
weiter Beispiele | |
zypper remove "Paket*" | es können auch Wildcards angegeben werden |
zypper remove -D Paket | eine Simulation durchführen |
zypper lr | zeigt eingerichtete Repositories an |
zypper in -r repo kaffeine | Installiert kaffeine aus dem Packman Repositorie |
zypper patterns | zeigt verfügbare Patterns an, das sind Paketsammlungen, die vom Distributor zusammengestellt wurden |
zypper in -t pattern kde | Pattern KDE installieren |
zypper se -d mail | Paket mit Namen und Beschreibung Mail suchen |
zypper info Paket | ausführliche Infos zu dem Paket anzeigen |
zypper repos -e ~\backup.repo | Backup der eingerichteten Repoitories Einstellungen anlegen |
zypper lu | Updates anzeigen |
zypper up | Updates einspielen |
Optionen | |
-D | führt einen Test durch, Pakete werden nicht installiert oder deinstalliert |
-l | Lizenz wird automatisch bestätigt |
--no-recommends | empfohlene Pakete werden nicht installiert, nur die unbedingt nötigen zum Funktionieren de Paketes |
-r | nur Pakete vom angegebenen Repositorie installieren |
-i | bei der Suche nur installierten Paketen suchen |
-u | bei der Suche nur nicht installierten Paketen suchen |
-s | bei der Suche zeigt noch das Repositorie an |
in - install
si - source-install
rm - remove
ve - verify
up - update
dup - dist-upgrade
lu - list-updates
se - search
if - info
ar - addrepo
rr - removerepo
lr - repos (Repos zeigen)
ref - refresh (Repos)
Repositories unter Yast auf die neue Version einstellen
- Zypper auf die neue Version updaten, danach die Distribution updaten.
zypper in zypper libzypp zypper dup
Befehl | Beschreibung |
---|---|
dnf install <Paket> | das angegebenen Paket installieren |
dnf remove <Paket> | entfernt das angegebene Paket |
dnf update | |
dnf upgrade | System upgraden |
dnf list | alle installierten Pakete auflisten |
dnf info | Beschreibung zu allen installierten Paketen anzeigen (lange Version) |
dnf info <Paket> | Beschreibung zum angegebenen Paket anzeigen (lange Version) |
dnf clean packages | Paketcache bereinigen |
Befehl | Beschreibung |
---|---|
/etc/yum.conf | Konfigurationsdatei für YUM |
yum install 'Paket' | das angegebenen Paket installieren |
yum install '*bin/befehl' | Programm installieren, das den angegebenen Befehl enthält |
yum update paket | update für das angegebene Paket durchführen |
yum update | Update des Systems |
yum remove paket | entfernt das angegebene Paket |
yum info paket | Informationen zu dem angegebenen Paket auzeigen |
yum list | Infos zu verfügbaren Paketen |
yum list updates | Secure updates anzeigen |
yum list '*String*' | sucht nach Paketen die den angegebenen String im Namen enthalten |
yum info '*String*' | zeigt ausführliche Infos zu den Paketen an, die den String im Namen enthalten |
yum search 'String' | listet Name und Kurzbeschreibung aller Pakete die den String in der Beschreibung haben |
yum provides '*/befehl*' | zeigt alle Pakete mit Dateien, die den Befehl enthalten |
yum check-update | verfügbare Updates werden gesucht |
yum clean all | löscht alle Informationen aus dem Cache-Verzeichnis von YUM |
OpenPKG Projekt
Benutzerreferenz
Entwicklerreferenz
SPEC Datei eines OpenPKG 4 Paket auf v.5 aktuallisieren, als erstes das Paket laden, entpacken und dann nach den Änderungen ein neues SourcePaket erstellen.
#Paket laden openpkg curl -0 http://URL/zum/Paket #Paket entpacken openpkg dev unpack -l simple -b name paketname #neues SourcePaket erstellen openpkg rpm -bs name.spec
prüfen ob eine Software noch aktuell ist
rpm -bt dateiname.spec
neue Programmversion aus den Netz laden
rpm -bf dateiname.spec
pre | vor der Installation / Deinstallation (Scriptname preinst / prerm) |
post | nach der Installation / Deinstallation (Scriptname postinst / postrm) |
inst | Installation |
rm | DeInstallation |
dpkg --info packet.deb | zeigt Informationen über ein Debian Packet an |
z.b. | |
Package: | Name des Packetes |
Version: | Versionsnummer |
Section: | Kategorie des Paketes |
Priority: | Wichtigkeit des Paketes für das System z.b. |
required - unabdingbar | |
important - wird vorrausgesetzt das das Paket installiert ist | |
standard | |
optional | |
extra | |
Architecture: | für welches System z.B. i386 |
Depends: | Abhänigkeit |
Recommends: | Paket das notwendig ist, damit man dieses Paket voll nutzen kann. |
Suggests: | Paket das den Funtionsumfang dieses Paketes erweitert |
Conflicts: | Pakete die nicht mit diesem Paket installiert sein sollten |
Installed-Size: | Grösse der zu installierenden Dateien |
Maintainer: | Betreuer des Paketes |
Description: | Beschreibung |
Befehl | Beschreibung |
---|---|
Pakete installieren | |
dpkg -i paket.deb | Installation eines Paketes |
dpkg --force-depends -i paket.deb | dpkg zur Installation des Paketes zwingen, wenn Abhänigkeiten das verhindern |
dpkg --force-overwrite -i paket.deb | wenn Packete gleiche Dateien enthalten, zum Überschreiben zwingen |
apt-get install Paket | Installation eines Paketes |
apt-get --reinstall install <Paket>/stable | ein Paket durch eine Version mit Status stable ersetzen |
apt-get install Paket1 Paket2- | Paket1 wird installiert und Paket2 wird deinstalliert (Minus-Zeichen nachgestellt) |
apt-get install --dry-run Paket | zeigt an welche Pakete in welcher Version es einspielen würde (nur ein Testlauf) |
apt-get install -t unstable Paket | Ein Paket aus einer bestimmten Distribution installieren (ist notwendig wenn man in der sources.list stable testing und unstable Sourcen drin hat) |
apt-get install Paket/unstable | Ein Paket aus einer bestimmten Distribution installieren (ist notwendig wenn man in der sources.list stable testing und unstable Sourcen drin hat) |
apt-get -f install ; dpkg --configure -a |
bei Abbruch der Paketinstallation versuchen diese wieder fortzusetzen, es kann sein das man dpkg --configure -a auch mehrmals ausführen muss. |
apt install Paket | Paket installieren |
Pakete deinstallieren | |
dpkg -r Paket | DeInstalliert ein Paket (entfernt alle Dateien des Paketes, außer Konfigurationsdateien) |
dpkg -P --force-all Paket | DeInstalliert ein Paket sowie die Konfigurationsdateien (Paket wird vollständig gelöscht) ohne Fragen und Abhänigkeitsprüfung ("--force-all" bei Problemen wird alles erzwungen Hilfe mit "dpkg --force-help") |
apt-get remove Paket | DeInstalliert ein Paket (entfernt alle Dateien des Paketes, außer Konfigurationsdateien) |
apt-get --purge remove Paket | DeInstalliert ein Paket sowie die Konfigurationsdateien (Paket wird vollständig gelöscht) ohne Fragen und Abhänigkeitsprüfung |
apt remove Paket | Paket deinstallieren |
apt purge Paket | Paket deinstallieren und Einstellungen entfernen |
Paketinformationen anzeigen | |
dpkg -L paket | Liste aller Dateien in einem Paket |
dpkg -c paket.deb | Liste aller Dateien in einem Paketarchivdatei |
dpkg -p paket | Ausführliche Infos über ein Paket |
dpkg -s paket | Beschreibung eines Paketes |
dpkg -I paket.deb | Ausführliche Infos über ein Paketarchivdatei |
apt-cache showpkg paket | generelle Informationen zum Paket. |
apt-cache show paket | Informationen zum Paket und wenn neuere Versionen dieses Paketes verfügbar sind, werden diese auch angezeigt. |
apt-cache showsrc paket | zeigt Informationen über Abhängigkeiten des Sourcepaket an. |
apt list Paket | Kurzinfos zum Paket anzeigen, Version |
apt show Paket | Ausführliche Infos zum Paket |
Pakete suchen | |
apt search Paket | nach Paket mit der Zeichenfolge suchen |
apt-cache search Paket | Suche nach Paketnamen |
apt-cache search "Begriff" | Volltextsuche in der Paketbeschreibung nach einem Begriff |
Aktualisieren | |
apt update | Liste verfügbarer Pakete aktualisieren |
apt upgrade | Pakete des Systems aktualisieren |
apt full-upgrade | System durch Entfernung/Installation/Aktualisierung der Pakete vollständig hochrüsten |
apt-get update | Liste verfügbarer Pakete aktualisieren |
apt-get upgrade | Pakete des Systems aktualisieren |
sonstiges | |
dpkg -S Datei | zeigt an zu welchem Paket eine bestimmte Datei auf dem System gehört |
dpkg -x paket.deb /Verzeichnis | ein Paket in ein beliebiges Verzeichnis entpacken |
dpkg-query -W -f='${Depends}\n' Paketname | Abhänigkeiten eines Paketes prüfen |
apt-get clean | Installationspakete aus den Ordnern /var/cache/apt/archives/ und /var/cache/apt/archives/partial/ löschen (apt cache wird geleert) |
apt-get autoclean | entfernt Pakete, die nicht mehr als Download der Distribution zur Verfügung stehen. |
apt autoremove | entfernt Pakete, die nicht mehr als Download der Distribution zur Verfügung stehen. |
apt-get autoremove | entfernt Pakete, die automatisch installiert, aber nicht mehr gebraucht werden. |
apt-cache policy Paket | zeigt an von welcher Quelle ein Paket istalliert wurde / werden soll |
apt-cache depends paket | Abhängigkeiten eines Paketes anzeigen. |
apt-show-versions -u | zeigt alle upgradebaren Pakete an |
apt-file search Datei | zeigt in welchem Paket die Datei enthalten ist (Paket apt-file) |
apt edit-sources | Paketquellen bearbeiten /etc/apt/sources.list |
add-apt-repository ppa:launchpad-team/ppa-name | PPA-Quelle (Personal Package Archive) hinzufügen inkl. Signierungsschlüssel, der Eintrag der Quelle ist unter /etc/apt/sources.list.d/... zu finden. |
debsums | vergleichen aller MD5-Checksummen der installierten Dateien mit den orginal Paketen |
debsum -s | gibt nur Fehler aus |
dpkg -l | Liste aller installierten Pakete und entfernten Packete auf (Liste unter /var/lib/dpkg/available) |
dpkg -l '*paket*' | Liste alle Pakete, die mit den Namen "paket" beginnt auf |
dpkg -l | grep '^ii' | Listet alle installierten Pakete auf |
COLUMNS=200 dpkg -l | grep '^[^i][^i]' | awk '{print $2}' > remove.txt | speichert eine Datei mit allen gelöschten Paketen |
xargs -n1 apt-get --purge remove -y < remove.txt | die gelöschten Paketen werden restlos entfernt, jedes Pakte steht in einer Zeile der Datei |
COLUMNS="100" dpkg -l | grep font | zeigt an welche Fonts installiert sind |
(COLUMNS="100") verhindert das die Namen der Pakete von dpkg abgeschnitten werden, wenn 100 nicht reicht, kann man es auch höher setzen. | |
/var/log/dpkg.log | dpkg LOG Datei |
jedem Paket sind zwei Buchstaben vorrangestellt, der zweite nennt den aktuellen Zustand des Paketes,
i = installiert
n = nicht installiert.
der erste Buchstabe gibt auskunft über den Status der für dieses Paket vorgesehen ist.
in = zur Installation ausgewählt, aber noch nicht installiert
ii = Paket installiert
ri = zur Deinstallation vorgesehen, aber noch auf dem System vorhanden
rc = Paket wurde entfernt (remove), Konfigurationsdateien noch vorhanden
pn = Paket komplett entfernt (purge), Paket nicht vorhanden
un = unbekannt, Paket nicht installiert
Auswertung der letzten Installationen
grep 'install' /var/log/dpkg.log
dpkg --get-selections | Status aller Pakete anzeigen |
dpkg --get-selections > seletions.txt | Status in einer Datei speichern |
dpkg --set-selections < seletions.txt | gespeicherten Zustand wiederherstellen (auch auf einem anderen Rechner möglich) |
apt-get dselect-upgrade | installiert den durch "--set-selections" gesetzte Auswahl |
echo paket hold | dpkg --set-selections | setzt ein Paket auf "hold", das Paket wird nicht mehr aktualisiert |
dpkg-repack Paket | erzeugt ein akuelles Packet aus den installierten Dateien eines Systems. In dem Paket werden die neuen, geänderten Konfigurationsdateien mit eingepackt. |
dpkg-reconfigure paket | Konfiguration eines Paketes aufrufen |
die Option --print-uris gibt eine Liste der zu installierenden Pakete mit URL aus, die man sich dann auf einem anderen Rechner mit Internet Downloaden
kann.
Script zum Downloaden der Pakete findet man hier.
apt-get --print-uris upgrade > /tmp/upgrade-liste apt-get --print-uris dist-upgrade >> /tmp/upgrade-liste
apt-get --print-uris install mutt Reading Package Lists... Done Building Dependency Tree... Done The following NEW packages will be installed: mutt 0 packages upgraded, 1 newly installed, 0 to remove and 5 not upgraded. Need to get 1301kB of archives. After unpacking 3482kB will be used. 'http://security.debian.org/pool/updates/main/m/mutt/mutt_1.3.28-2.2_i386.deb' mutt_1.3.28-2.2_i386.deb 1301466 aa1b5f036516de1e6ffe434c71e53ea9
- alle gelöschten Pakete komplett entfernen
dpkg -l | grep '^rc ' | cut -d" " -f3 | xargs dpkg --purge
- Liste der verfügbaren Pakete bereinigen und mit dselect neu erstellen. Die Liste ist in der Datei /var/lib/dpkg/available
gespeichert.
dpkg --clear-avail dselect update
GPG Keys am Terminal ins Schlüsselbund aufnehmen.
gpg --keyserver subkeys.pgp.net --recv KEY gpg --export --armor KEY | sudo apt-key add - oder gpg --keyserver subkeys.pgp.net --recv-keys 55BE302B; gpg --export 55BE302B | apt-key add -
gpg --keyserver subkeys.pgp.net --recv-keys 6BC16967; gpg --export 6BC16967 | apt-key add -
GPG Keyserverauswahl
subkeys.pgp.net keys.gnupg.net pgpkeys.mit.edu www.de.pgp.net keyserver.ubuntu.com
GPG Keysuche per Webbrowser
Befehl | Erläuterung |
---|---|
apt-key list | alle GPG Schlüssel der Paketverwaltung anzeigen |
apt-key update | neuste Schlüssel holen |
apt-key del <Key-ID> | einen Schlüssel löschen |
apt-key exportall > all.asc | alle Schlüssel in Datei exportieren |
apt-key add /path/zum/key.asc | Key aus einer Datei hinzufügen |
Datei | Erläuterung |
/etc/apt/trusted.gpg | Liste aller vertrauenswürdigen Schlüssel |
/etc/apt/trustdb.gpg | Datenbank aller vertrauenswürdigen Archive |
- Keydatei laden und importieren
wget -O - http://server.domain.tld/key-datei.asc | apt-key add -
nötige Pakete installieren
apt-get install fakeroot debhelper dh-make
Desweiteren müssen noch die erforderlichen <Paket-dev> Pakete installiert werden
mkdir build;cd build tar zxf <QuelltextPaket-Version>.tar.gz cd <QuelltextPaket-Version> dh_make -e mail@doamin.tld -f ../<QuelltextPaket-Version>.tar.gz fakeroot dpkg-buildpackage -b -uc cd .. sudo dpkg -i <Paket-Version>.deb
Archive laden und in einem Verzeichnis speichern.
.dsc Paket Steuerdatei .tar.gz das eigentliche Source Paket .diff.gz Debian spezifische Änderungen
- Paket entpacken und Debian Änderungen einspielen
dpkg-source -x paket.dsc
- in das neu erstellte Verzeichnis wechseln (z.B. paket-1.1) und das Paket erstellen
dpkg-buildpackage -rfakeroot -b
!! Paket fakeroot muss dafür installiert sein, ansonsten die Option -r weglassen
und als User ROOT das Paket bauen.
was für Pakete man zusätzlich noch benötigt, kann man unter paket-1.1/debian/control
nachlesen
Wenn man des öfteren Pakete aus Sourcen erstellt, kann man in der /etc/apt/sources.listden Eintrag (deb-src) aufnehmen (funzt auch mit Sourcen von testing oder unstable wenn man stable einsetzt).
- Installiert alle Pakete, die zum erstellen des angegebenen Paketes aus den
Sourcen benötigt werden. z.B. will man das Paket alien aus den
Sourcen kompilieren, wird beim Ausführen von apt-get build-dep
alien
das Paket debhelper installiert, da alien vom
Paket debhelper abhängt. Dies kann man auch in der .dsc Datei
der Soucen nachsehen.
cd /tmp apt-get source mypacket cd mypacket-* dpkg-buildpackage -b oder dpkg-buildpackage -rfakeroot -uc -b cd .. dpkg -i mypackage*.deb rm -rf mypacket-*
- mit apt-get -b source Paket kann man gleich ein Paket nach dem Herunterladen erstellen lassen.
Paket dh-make installieren
- Sourcen entpacken
tar xvfz source.tar.gz
- Das entpackte Verzeichnis in kleinen zusammenhängenden Buchstaben max.20
Zeichen
mit
Versionsnummer umbenennen.<Paketname>-<Version>
Wenn das Programm keine Versionsnummer hat, sondern nach Erstellungsdatum so
sollte als Versionsnummer das Datum mit vorgestellter 0.0. erstellt werden z.B.
0.0.19981219 für den 19.12.1998
- ins Quellarchiv wechseln
cd source-version
- in den Sourcen das Unterverzeichnis Debian erstellen mit
"dh_make" (neue Variante) oder "deb-make" (alte Variante)
dh_make -e your.maintainer@address -f ../gentoo-0.9.12.tar.gz
- anpassen der Dateien die im Debian Verzeichnis erstellt wurden
joe debian/rules
- Binäry Paket erstellen
dpkg-buildpackage -b
program-version/Makefiles.in Anpassen mit dem Eintrag
# Edited for Debian GNU/Linux.
DESTDIR =
# Where to put binary on 'make install'?
BIN = $(DESTDIR)/usr/X11R6/bin
program-version/debian/
control
Source: gentoo
2 Section: unknown
3 Priority: optional
4 Maintainer: Josip Rodin <joy-mg@debian.org>
5 Standards-Version: 3.0.1
6
7 Package: gentoo
8 Architecture: any
9 Depends: ${shlibs:Depends}
10 Description: <insert up to 60 chars description>
11 <insert long description, indented with spaces>
changelog #Erläuterungen zu dem Paket wird bei der Installation
des Paketes
unter "/usr/share/doc/gentoo/changelog.Debian.gz" abgelegt
1 gentoo (0.9.12-1) unstable; urgency=low
2
3 * Initial Release.
4
5 -- Josip Rodin <joy-mg@debian.org> Wed, 11 Nov 1998 21:02:14 +0100
6
7 Local variables:
8 mode: debian-changelog
9 End:
rules #Anweisungen beim erstellen des Paketes
apt-get install equivs
equivs kann man verwenden, wenn man ein Programm selbst kompiliert hat und ein anderes Programm von dem selbstkompilierten Programm abhängt und wegen dieser Abhänigkeit nicht installiert werden kann, z.B. Postfix wurde aus den Quellen erstellt und bei der Installation von mutt, soll ein anderer mail-transport-agent installiert werden, da mutt einen MTA voraussetzt.
equivs-control mail-transport-agent
- jetzt die Datei mail-transport-agent noch editieren
Section: misc Priority: optional Standards-Version: 3.0.1 Package: mta-local Provides: mail-transport-agent
- jetzt wird aus der Datei ein virtuelles Paket erstellt
equivs-build mail-transport-agent
in Directory /usr/share/doc/equivs/examples gibt es ein paar Beispieldateien.
Tasten | Bedeutung |
---|---|
STRG+T | Menü |
u | Paketauswahl aktualisieren |
i | durch Paketbeschreibungen blättern |
+ | Paket zur Installation markieren |
- | Paket zur Deinstallation markieren |
= | Paket auf halten setzen |
g | ausgewählt Pakete installieren |
l | alle Pakete die nicht dem kriterium entsprechen werden ausgeblendet |
/ | Suchen, mit Taste n zur nächsten Übereinstimmung |
suche | |
?description(kernel) | nach Paketen suchen die das Wort kernel in der Beschreibug haben |
?and(?description(mail-client),?description(mail-dir)) | und/oder suche |
weiter Suchkriterien
?name
?version
?conflicts
?provides
?maintainer
?and
?or
Befehl | Erklärung |
---|---|
aptitude install Paket | Paket installieren, empfohlene Pakete werden automatisch mitinstalliert |
aptitude -R install Paket | Paket ohne empfohlene Pakete installieren |
aptitude -s install Paket | Installation wird nur simuliert |
aptitude remove Paket | Paket entfernen |
aptitude search ?name\(mozilla\) | Paket mit Suchkriterien suchen, die Klammer muß in der Bash durch \ geschützt werden, so das sie als Zeichen erkannt wird, nicht als Befehl |
aptitude safe-upgrade | alle Pakete aktualisieren, aber keine entfernen |
aptitude full-upgrade | alle Pakete werden aktualisiert, nicht mehr passende werden entfernt |
aptitude show Paket | Paketinfos anzeigen |
aptitude why Paket | zeigt die Abhänigkeitskette des Paketes an |
aptitude why-not Paket | prüft den Grund zur Entfernung |
- Paketliste speichern
sudo synaptic
Datei | Vorgemerkte Änderungen speichern unter...
Gesamte Paketauswahl und nicht nur Änderungen sichern: aktivieren
- Paketliste übernehmen
sudo synaptic
Datei | Vorgemerkte Änderungen einlesen...
Variante 1
- Liste exportierten
dpkg --get-selections "*" > paketliste.txt
Liste ohne deinstallierte Pakete
aptitude search "~i ?not(~M)" -F "%p install" >paketliste.txt
- Liste einlesen
dpkg --set-selections < paketliste.txt
- Änderungen ausführen
apt-get dselect-upgrade
Variante 2
- Liste erstellen
dpkg --get-selections | awk '!/deinstall|purge|hold/ {print $1}' > paketliste.txt
- Änderungen auf anderen System ausführen
xargs -a "paketliste.txt" sudo apt-get install
Variante 3
apt-get install apt-clone apt-clone clone --with-dpkg-repack /
Datei apt-clone-state-<Rechnername>.tar.gz wird im Root Verzeichnis erstellt.
- Datei auf einen anderen Rechner einspielen
apt-clone restore apt-clone-state-<rechnername>.tar.gz
Befehl | Beschreibung |
---|---|
conary updateall | Aktualisiert das gesamte System |
conary update Paket | installiert Paket |
conary erase Paket | löscht Paket |
conary query | gibt die Liste der installierten Pakete aus |
conary repquery Paket | sucht im Repository nach Paket |
/etc/conaryrc
/etc/conary/
Befehl | Beschreibung |
---|---|
eopkg --help | Hilfe anzeigen |
eopkg search <Suchbegriff> | Suche in der Paketbeschreibung |
eopkg info <Paket> | Info zum Paket anzeigen |
eopkg it <Paket> | Paket installieren |
eopkg rm <Paket> | Paket entfernen |
eopkg dc | Paket Cache bereinigen |
eopkg hs | Verlauf der Installation/Deinstallation anzeigen |
eopkg up | Systemupdates suchen und installieren |
- Snap Paketverwaltung installieren, auf einem Debian basierten System
apt install snap
- Snap Paket installieren
snap install <Paketname>
flatpak.org
Flatpak Wiki Debian
Flatpak Wiki archlinux
- Flatpak Paketverwaltung installieren, auf einem Debian basierten System
apt install flatpak