Ein einfaches Tutorial zum Erstellen und Installieren Ihres eigenen Deb-Pakets.
Nichts als ein Debian, Ubuntu oder irgendein Debian-basiertes Betriebssystem
Die Mypackage -App öffnet beim Ausführen die offizielle Website von Ubuntu.
Nomenklatur unseres mypackage_1.0_all
-Ordners: package-name_version_architecture
.
Paketname: mypackage
Version: 1.0
Architektur: kann all
oder eine Teilmenge der unterstützten Architekturen sein
Rohpaketarchitektur:
. └── mypackage_1.0_all # Paket-Hauptordner ├── DEBIAN │ ├── control # Datei mit den Hauptinformationen des Pakets │ ├── postinst # Skript, das nach der Installation ausgeführt wird │ └── preinst # Skript, das vor der Installation ausgeführt wird ├── opt │ └── mypackage # Ordner mit unserer Software │ └── open_link.sh # Skript zum Öffnen des Browsers zu ubuntu.com └── usr └── teilen ├── Anwendungen │ └── mypackage.desktop # Datei mit App-Informationen im Launcher └── Symbole └── mypackage.xpm # Launcher-App-Symbol
Mehr über die DEBIAN/control
Datei:
Package: mypackage
Version: 1.0 # package version
Architecture: all # our package sums up to a bash script and this is POSIX
Essential: no # essential to the system ?
Priority: optional # install order in package management system
Depends: curl,zenity # comma-separated dependency packages (,)
Maintainer: flavienbwk
Description: A sample package...
Obwohl es Möglichkeiten gibt, Deb-Archive ohne Sudo zu installieren, sind die meisten Deb-Pakete für die systemweite Installation konzipiert. Dies bedeutet, dass Preinst- und Postinst- Skripte oder andere im Archiv enthaltene Binärdateien ohne Einschränkungen auf dem eigenen System ausgeführt werden können (eine Alternative finden Sie unter Snap-Pakete ). Überprüfen Sie Ihre Skripte dreimal und seien Sie beim Teilen vorsichtig, damit Sie nicht den Computer anderer beschädigen.
Bauen
dpkg-deb --build ./mypackage_1.0_all
Installieren
sudo gdebi -n ./mypackage_1.0_all.deb # test (erfordert gdebi-core)sudo dpkg -i ./mypackage_1.0_all.deb # installieren
Hinweis Deinstallation mit
sudo apt autoremove mypackage
Sie sollten Mypackage in Ihrem Launcher sehen:
Die erste Option ist die einfachste: Wir können Pakete lokal installieren.
Erstellen Sie einen Ordner, in dem sich unser Repository befindet, und verschieben Sie unser .deb
-Paket hinein
mkdir -p ./mirror/pool cp ./mypackage_1.0_all.deb ./mirror/pool/
Erstellen Sie die Packages
cd ./spiegel dpkg-scanpackages -m ./pool > Pakete
Fügen Sie das Verzeichnis zu den Quellen Ihres Systems hinzu
echo „deb [trusted=yes] file:/path/to/repository/mirror /“ | sudo tee /etc/apt/sources.list.d/mypackage.list
Aktualisieren Sie Ihre Paketdefinition und installieren Sie sie
Sudo apt-Update sudo apt install mypackage
Lokal installierte Repositorys können dann von einem einfachen Apache-Server auf Ihrem eigenen Computer bereitgestellt werden.
Sie können Ihr persönliches Paketarchiv (PPA) erstellen, das auf gehostet wird und dann von jedem mit einem einfachen Befehl add-apt-repository ppa:<repository_name>
aufgerufen werden kann.
Wenn Sie möchten, dass Ihr Paket in den Universe-/Multiversum-Repositorys von Ubuntu veröffentlicht wird, kann es schwierig werden, da Sie die Genehmigung eines MOTU einholen sollten. Möchten Sie es auf main veröffentlichen? Das sind viele Bedingungen, die erfüllt werden müssen, einschließlich Sicherheit und Verpflichtung zu Wartungskriterien.
META-Pakete sind Pakete, die lediglich eine Liste von Abhängigkeiten installieren.
So können Sie einen ganzen Desktop über ein Paket installieren.
APT ist das traditionelle Paketverwaltungssystem, das von Debian und seinen Derivaten (einschließlich Ubuntu) verwendet wird. Es kam 1998 auf den Markt und verwendet .deb
-Pakete.
Snap wurde 2014 von Canonical eingeführt und ist ein neuerer Paketmanager, der eine einfachere Paketverteilung zwischen verschiedenen Linux-Distributionen ermöglichen soll. Es bündelt Abhängigkeiten innerhalb jedes .snap
Pakets, was zu größeren Paketgrößen führt, aber die „Abhängigkeitshölle“ abmildert. Dies ist insbesondere in Offline-Systemen nützlich.
Der Hauptunterschied besteht darin, dass bei Snap-Paketen der Schwerpunkt auf verteilungsübergreifender Kompatibilität und Eigenständigkeit, potenziell besserer Sicherheit durch Paket-Sandboxing und automatischen Updates liegt. APT hingegen ist auf systemweite Bibliotheken angewiesen, wodurch Pakete kleiner werden, aber Abhängigkeitsprobleme auftreten können.