Paketmanagement: Pakete anpassen?

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
ali
Beiträge: 50
Registriert: 26.06.2007 09:37:30

Paketmanagement: Pakete anpassen?

Beitrag von ali » 21.03.2009 15:17:13

hi,

ich suche eine elegante lösung für mein problem. als beispiel nenne ich jetzt mal Apache. ich hab bisher die sourcen von apache manuell runtergeladen und kompiliert, da ich noch ein paar parameter anhängen musste (features anschalten usw). Diesen weg sehe ich nicht als optimum an, da ich mich bei updates auch manuell bemühen muss, was nicht immer zeitnah möglich ist... ein apt-get upgrade ist da deutlich schneller und einfacher ;) die abhängigkeiten müssen in dem fall auch angepasst werden...

als mögliche lösung hab ich mir folgendes überlegt: Ich lade mit apt die sourcen vom paket runter, ändere die configure-anweisung nach meinen bedürfnissen ab, lasse es kompilieren, paketieren und installieren. somit weiß der paketmanager, das das paket installiert ist, alle abhängigkeiten sind korrekterfüllt usw. das einzige, wo ich noch nicht so ganz weiter komme ist: was passiert, wenns ein update für das paket gibt, und ich apt-get upgrade ausführe? kann ich apt beibrigen, den schritt mit den
sourcen runterladen -> configureanweisung ändern->kompilieren->pakettieren->installieren irgendwie beibringen?

mich interessiert, wie die anderen debianer solche probleme lösen!

gruß,
ali

Benutzeravatar
Six
Beiträge: 8071
Registriert: 21.12.2001 13:39:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Siegburg

Re: Paketmanagement: Pakete anpassen?

Beitrag von Six » 21.03.2009 16:53:22

Ich selber mache das nicht, aber ein Kollege benutzt für etwas ähnliches apt-build. Ich weiß nicht, ob apt-build mit apt-get update aufgerufen wird, aber das sollte dann ja nicht so schwer zu ändern sein.
Be seeing you!

Benutzeravatar
nikaya
Beiträge: 558
Registriert: 23.07.2005 11:32:33

Re: Paketmanagement: Pakete anpassen?

Beitrag von nikaya » 21.03.2009 18:19:19

http://debiananwenderhandbuch.de/debian ... #apt-build
apt-build wird also eingesetzt, um eigene, angepasste Pakete aus bestehenden Debian Paketen zu erzeugen. Wird jedoch ein Upgrade des Systems durchgeführt (apt-get dist-upgrade), so wird das mittels apt-build erzeugte, angepasste Paket durch das offizielle Debian Paket ersetzt. Dies kann verhindert werden, indem die Priorität von Paketen, die mit apt-build erzeugt wurden, erhöht wird.

Um die Priorität solcher mittels apt-build erzeugter Pakete zu erhöhen, muss die Datei /etc/apt/preferences wie folgt angepasst werden:

Code: Alles auswählen

Package: *
   Pin: release o=apt-build
      Pin-Priority: 990 
Durch diese Änderung werden selbst erzeugte Pakete bei einem Upgrade nicht mehr durch neuere, offizielle Debian Pakete überschrieben. Mit dem Kommando apt-cache policy lässt sich dies überprüfen.

Dies ist eine einfache und mit dem Debian Paketmanagement kompatible Methode, eigene Pakete zu verwalten. Zu beachten ist dabei, dass Updates solcher Pakete auf neue Versionen oder auf Versionen, in denen Sicherheitslücken beseitigt wurden, selbst durchzuführen sind. Werden Bibliotheken auf diese Weise selbst verwaltet, so kann dies dazuführen, dass Pakete, die auf diesen Bibliotheken aufsetzen, eventuell nicht aktualisiert werden können. In diesem Fall sind die Bibliotheken auf den neuesten Versionsstand nachzuziehen.
Running: Debian Wheezy/Sid | Kanotix Dragonfire | openSUSE | Arch Linux | Fedora

Aptitude Manual
zypp it...

ali
Beiträge: 50
Registriert: 26.06.2007 09:37:30

Re: Paketmanagement: Pakete anpassen?

Beitrag von ali » 21.03.2009 20:01:40

ok danke erstmal, scheint als hätte ich schon eine halbautomatische lösung.

wenn ich das jetzt zb mit apache machen würde, und es kommt eine neue apacheversion raus. ich tippe apt-get upgrade ein, dann wird apache ja skipped, da ich meinem apache-paket eine höhere prio gegeben hab.

in dem fall muss ich mich ja ab und an informieren, ob es eine neue apache-version gibt, da ich den vorgang sourcen laden -> anpassen -> kompilieren -> installieren ja immer wieder manuell anstoßen muss. gibt es eine hooking-möglichkeit bei apt, um bei bedarf ein script aufzurufen, das genau diese schritte mit vom laden der sourcen bis zur installation für ein paket übernimmt?

oder etwa noch andere ansätze, die es noch weiter automatisieren?

gruß,
ali

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: Paketmanagement: Pakete anpassen?

Beitrag von cirrussc » 21.03.2009 20:26:49

Guck mal im Wiki vorbei, da gibts auch schon was [1].
Um das Paket nicht autom. aktualisieren zu lassen, könntest Du es auf hold setzen.

[1] http://wiki.debianforum.de/AngepasstePa ... nErstellen
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

ali
Beiträge: 50
Registriert: 26.06.2007 09:37:30

Re: Paketmanagement: Pakete anpassen?

Beitrag von ali » 21.03.2009 22:20:24

ja, damit sperre ich pakete fürs upgraden, was ich ja eigentlich nicht möchte.

im idealfall sollte alles mit apt-get upgrade aktualisiert werden, was auf dem rechner ist. Ich möchte erreichen, das ich bei geänderten paketen nicht ständig irgendwas manuell anstoßen muss. im idealfall sollte ein apt-get upgrade reichen. man will ja möglichst einfach up-to-date sein ;)

bin ich denn der erste, der dieses ziel verfolgt? gibt es denn nur wenige, die pakete ändern und somit noch kaum jemand auf dieses problem gestoßen ist? oder machen das die sysadmins alle immer manuell?

Benutzeravatar
Six
Beiträge: 8071
Registriert: 21.12.2001 13:39:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Siegburg

Re: Paketmanagement: Pakete anpassen?

Beitrag von Six » 22.03.2009 10:35:04

Vermutlich kommt das in der Tat eher selten vor. Ich habe auch ein paar angepasste Pakete im Betrieb, aber gerade weil sie angepasst sind, will ich nicht, daß diese Pakete automatisch aktualisiert werden.

Anyway, schreibe einen Wrapper, der z. B. mit apt-show-versions checkt ob von deinem Paket eine neue Version in den Repos vorliegt und rufe davon abhängig dann apt-build auf. Ich würde tippen, daß man das in unter 100 Zeilen Bash hinbekommt.
Be seeing you!

ali
Beiträge: 50
Registriert: 26.06.2007 09:37:30

Re: Paketmanagement: Pakete anpassen?

Beitrag von ali » 22.03.2009 12:32:31

apt-show-versions kannt ich noch garnicht, ja damit sollte das wirklich relativ einfach gehen!

nochmal vielen dank für die antworten.

gruß,
ali

Antworten