Das Verfahren, das ich verwende, ist dieses:
Holen Sie sich die Quelle (über apt-get src).
Wenden Sie einen Patch an oder tun Sie, was geändert werden muss.
Führen Sie debchange --nmu
aus und geben Sie eine Beschreibung der vorgenommenen Änderung ein. Dadurch wird die Versionsnummer automatisch erhöht, sodass das System nicht versucht, Ihr benutzerdefiniertes Paket wieder auf das Standardpaket zu "aktualisieren".
Führen Sie debuild
aus .
Genießen Sie Ihre deb-Dateien.
Ich habe in den Ubuntu-Foren die folgende Anleitung zum Neuaufbau des Netzwerkmanagerpakets hier
gefundenBetreff:Wie man die Quelle eines Debs patcht
Zitat:Ursprünglich geschrieben von Schnur
Ich möchte das Netzwerkmanagerpaket im Grunde mit einer Art benutzerdefiniertem Patch neu erstellen, um etwas zu testen. Also ich möchte:1. Holen Sie sich den Quellcode für die Ubuntu-"Version" des Netzwerkmanagers
Code:
sudo apt-get source network-manager
Zitat:2. Patchen Sie es mit meinem Patch. Die Quelldateien werden in das Arbeitsverzeichnis heruntergeladen. Weitere Informationen finden Sie hier.
Zitat:3. eine Deb-Datei erstellen, die ich anstelle des aktuellen Netzwerkmanagers installieren kann.
Code ausführen:
dpkg-buildpackage -rfakeroot -uc -b
im erstellten Verzeichnis.
Auch diesen Artikel gefunden:Debian-Leitfaden für neue PaketbetreuerKapitel 6 – Das Paket bauen
Ich bin mir nicht sicher, ob Ihre Änderungen durch ein Update aus den offiziellen Repositories verloren gehen. Sie können Ihren Patch immer einfach an die Paketbetreuer von compiz-gnome zurückschicken oder Ihr eigenes Repository für das aktualisierte Paket erstellen.
Die Antwort auf Nr. 3 und Nr. 4 lautet, dass Sie das Paket in Hold versetzen sollten Status, sobald Sie Ihre Version installiert haben. Dies weist das Debian-Paketverwaltungssystem an, alle zukünftigen Änderungen an diesem Paket zu "halten", wodurch Sie das Paket manuell verwalten können.
Aus der Debian-FAQ:
7.11 Was ist mit "Unbekannt", "Installieren", "Entfernen", "Löschen" und "Speichern" im Paketstatus gemeint?
Diese "want"-Flags sagen aus, was der Benutzer mit einem Paket machen wollte (entweder durch die Aktionen des Benutzers im Abschnitt "Select" von dselect oder durch die direkten Aufrufe des Benutzers von dpkg).
Ihre Bedeutungen sind:
-
unbekannt - der Benutzer hat nie angegeben, ob er das Paket haben möchte>
-
install - der Benutzer möchte, dass das Paket installiert oder aktualisiert wird
-
entfernen - der Benutzer möchte, dass das Paket entfernt wird, aber er möchte keine vorhandenen Konfigurationsdateien entfernen.
-
purge - der Benutzer möchte, dass das Paket vollständig entfernt wird, einschließlich seiner>Konfigurationsdateien.
-
hold - der Benutzer möchte, dass dieses Paket nicht verarbeitet wird, d.h. er möchte die>aktuelle Version mit dem aktuellen Status behalten, was auch immer das ist.
7.12 Wie kann ich ein Paket zurückstellen?
Es gibt drei Möglichkeiten, Pakete zurückzuhalten, mit dpkg, aptitude oder mit dselect.
Mit dpkg müssen Sie die Liste der Paketauswahl exportieren, mit:
dpkg --get-selections *> selections.txt
Bearbeiten Sie dann die resultierende Datei selections.txt, ändern Sie die Zeile mit dem Paket, das Sie behalten möchten, z. libc6, von hier:
libc6 installieren
dazu:
libc6 halten
Speichern Sie die Datei und laden Sie sie erneut in die dpkg-Datenbank mit:
dpkg --set-selections
Mit aptitude können Sie ein Paket mit
aptitude hold Paketname
und entfernen Sie das Hold mit
aptitude unhold Paketname
Mit dselect müssen Sie den [S]elect-Bildschirm aufrufen, das Paket finden, das Sie in seinem>aktuellen Zustand halten möchten, und
Hinweis: Es wurden Probleme mit dem Aptitude Hold gefunden Befehl, also sollten Sie meiner Meinung nach den Befehl dpkg bevorzugen, um das Paket zu speichern. Alternativ können Sie das Paket über die GUI-Oberfläche des Synaptic-Paketmanagers halten (Paket> Version sperren). Ich bevorzuge die Verwendung von dpkg, weil es für mich gut funktioniert hat.
Für den Rest haben Sie bereits eine gute Antwort, also wage ich meine Meinung dazu nicht.=' key (or
drücken H'). Die Änderungen werden sofort live geschaltet,>nachdem Sie den [Auswählen]-Bildschirm verlassen.