Die festgelegte Struktur des .deb
Dateinamens lautet package_version_architecture.deb
.
Nach diesem Absatz:
Einige Pakete folgen nicht der Namensstruktur
package_version_architecture.deb
. Von dpkg-name umbenannte Pakete folgen dieser Struktur. Im Allgemeinen hat dies keine Auswirkungen darauf, wie Pakete von dselect / dpkg installiert werden. Andere Installationstools hängen jedoch möglicherweise von dieser Namensstruktur ab.
Frage:
Allerdings gibt es keine realen Situationen , wenn die Umbenennung .deb
Paketdatei ist sehr un empfohlen? Ist es üblich, einen benutzerdefinierten .deb
Dateinamen für meine Software anzugeben?
Beispiel:
My Program for Linux v1.0.0 (Pro).deb
- die benutzerdefinierte Benennungmy-program_1.0.0-1_amd64.deb
- die ordnungsgemäße offizielle Benennung
Hinweis:
Ich habe nicht vor, ein Repo zu erstellen. Ich hosten nur das .deb
Paket meiner Software auf meiner Website zum direkten Download.
Antworten:
Im Laufe der Jahre habe ich eine große Anzahl von
.deb
Paketen mit nicht standardmäßigen Namen gesammelt , und ich kann mich nicht erinnern, auf irgendwelche Probleme gestoßen zu sein. Zu den "berühmten" Paketen mit ungewöhnlichen Namen, auf die die Leute heutzutage stoßen, gehörengoogle-chrome-stable_current_amd64.deb
undsteam.deb
. (In beiden Fällen stellt der feste, versionslose Name sicher, dass für Downloads eine stabile URL und für Installationsanweisungen ein stabiler Name verwendet werden kann.)Ich erinnere mich jedoch nicht, dass ich mit Leerzeichen in ihren Namen auf jemanden gestoßen bin . Dies sollte auch keine Probleme mit Tools verursachen, kann aber zu Verwirrung bei Ihren Benutzern führen (da sie den Dateinamen in Anführungszeichen setzen oder die Leerzeichen entfernen müssen, wenn sie Shell-basierte Tools verwenden).
Ein weiterer zu beachtender Punkt ist, dass die Verwendung eines nicht standardmäßigen Namens, der nicht mit Ihrem Paketnamen übereinstimmt (wie in der
control
Datei gespeichert ), ebenfalls Verwirrung stiften kann, z. B. beim Versuch, das Paket zu entfernen (da der Paketname nicht lautet) derselbe wie der Name, der für die Installation verwendet wurde).Infolgedessen würde ich, wenn Sie sich nicht an den kanonischen Namen halten möchten, so etwas wie
my-program.deb
oder empfehlenmy-program_amd64.deb
(je nachdem, ob Sie mehrere Architekturen unterstützen möchten). Sie können dies auch zu einem Symlink auf den versionierten Dateinamen machen, wenn Sie das Herunterladen älterer Versionen zulassen möchten.quelle
Die Dateinamen sind hauptsächlich zum Nutzen der Archivverwaltungssoftware und des lokalen Caches standardisiert.
In früheren Zeiten, bevor die
m68k
Architektur zu Debian hinzugefügt wurde, verwendeten die Dateinamen " package _ version .deb", ohne Probleme. Die Architektur Name wurde den Dateinamen hinzugefügt , wenn die Archiv - Software zum Speichern benötigti386
undm68k
Paketen aus dem gleichen Paket und Version im selben Verzeichnis. Da die Paketliste immer sowohl lange als auch 8.3-Dateinamen enthielt , konnte dies implementiert werden, ohne die Clients zu beschädigen.Dpkg kümmert sich im Allgemeinen überhaupt nicht um die Dateinamen von Paketen. Während der Installationsläufe generiert APT ein Verzeichnis mit allen Paketdateien für diesen Installationslauf, und jeder Datei wird die Nummer des aktuellen Laufs vor dem Dateinamen vorangestellt (dh, wenn Sie Paketversion
foo
1 und Paketversionbar
2 installieren , wasfoo
davon abhängt) wird apt übergeben0-bar_2_all.deb
und1-foo_1_amd64.deb
an dpkg).APT geht im Allgemeinen davon aus, dass Namen für Caching-Zwecke eindeutig sind. Wenn Sie einen Namen wiederverwenden, versuchen Benutzer, die diese Datei bereits im Cache haben, den Download fortzusetzen, wenn die neue Datei größer ist. Dies führt zu einer ungültigen Datei, die anschließend verworfen wird, wenn der Prüfsummentest fehlschlägt. Dieser Fehler wird dem Benutzer jedoch angezeigt und er muss den Installationslauf neu starten.
quelle