19.04.2023

Paket-Verwaltung

Linux Tastenkombinationen
Konfigurations-Dateien und Verzeichnisse unter Linux
System Anpassung
Systemreparatur
Bootmanager - Grub2/Grub/LiLo
Hardwareerkennung
Paket-Verwaltung
Init-System SysV-Init, Systemd, Upstart, Busybox u.a.
System Protokollierung - syslog
PAM Zugriffssteuerung
Admin-Rechte-Steuerung
Kernel 2.4 | 2.6
Linux Intrusion Detection System (LIDS)
User Mode Linux UML
Dateisysteme
Drucken unter Linux
Sound konfigurieren
Partition kopieren
IPX Protokoll
SoftwareRAID
Netzwerk
Bluetooth
X-Server und Desktops
64Bit und 32Bit auf einem System
ACPI System einrichten
Shared Libraries
Linux Console
Jobs mit cron automatisieren
PCMCIA
ISDN und Capi
VNC-Server einrichten
Verschlüsselter Zugriff auf Ressourcen übers Netzwerk
Festplatten Überwachen mit S.M.A.R.T
Linux Systemhilfe richtig verwenden
sudo konfigurieren
Installation aus den Sourcen
SCSI Emulation für ATAPI Geräte einrichten
cloop (Komprimiertes Loopback Device) einrichten
Übersicht ext2 / ext3 Zusatzflags
Versionsverwaltung von Dateien
SSHFS einrichten
Linux unter VMware
sonstiges

Navigation:

Links:
wiki.ubuntuusers - Probleme mit der Paketverwaltung

Seitenanfang

RPM Pakete erstellen

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

Paket erstellen

Wiki

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

Zypper

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)

Systemupdate mit zypper

Repositories unter Yast auf die neue Version einstellen
- Zypper auf die neue Version updaten, danach die Distribution updaten.

zypper in zypper libzypp
zypper dup
Seitenanfang

DNF

DNF Docs

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

 

Seitenanfang

Yum (Yellow dog Updater, Modified)

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

 

Seitenanfang

OpenPKG | RPM v.5

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
Seitenanfang

DEB Paketverwaltung

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
Seitenanfang

APT Schlüsselverwaltung

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 -

 

Seitenanfang

Debian Pakete erstellen

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

 

Seitenanfang

Pakete erstellen aus Sourcen die schon für Debian angepasst sind

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.

Seitenanfang

Pakete erstellen aus Sourcen die nicht für Debian angepasst sind

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

Seitenanfang

Dummy-Pakete mit equivs erstellen

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.

Seitenanfang

Aptitude

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
Seitenanfang

Synaptic

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

Seitenanfang

sonstiges

Pakete zwischen Rechnern abgleichen

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

 

Seitenanfang

conary Paketverwaltung der Firma rPath

Conary Wiki

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
   
   

Konfigurationsdateien und Verzeichnisse

/etc/conaryrc
/etc/conary/

Seitenanfang

PiSi (Packages Installed Successfully as Intended)

Wiki Aktikel zu PiSi

 

Seitenanfang

EOPKG Paketverwaltung

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

 

Seitenanfang

Snap Paketverwaltung von Canonical

Wiki Snap

- Snap Paketverwaltung installieren, auf einem Debian basierten System

apt install snap

- Snap Paket installieren

snap install <Paketname>

 

Seitenanfang

Flatpak Paketverwaltung

flatpak.org
Flatpak Wiki Debian
Flatpak Wiki archlinux

- Flatpak Paketverwaltung installieren, auf einem Debian basierten System

apt install flatpak

 

Seitenanfang

AppImage Paketverwaltung

AppImage Wiki

 

 

Seitenanfang

sonstiges