<solved> eigenes Paket dist-upgrade

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
vicodas
Beiträge: 148
Registriert: 28.06.2006 19:17:17
Wohnort: Frankfurt

<solved> eigenes Paket dist-upgrade

Beitrag von vicodas » 06.06.2011 09:50:54

Hallo,

ich erstelle für interne Zwecke eigene Debian Pakete, welche ich über unser internes repo verteile.
Wie sage ich dem Paket, das für die Installation der Befehl "dist-upgrade" notwendig ist?
Ich vermute die Datei debian/changelog, konnte aber leider nichts finden :(

Gibt es eine Möglichkeit?

thx
vicodas
Zuletzt geändert von vicodas am 08.06.2011 16:04:58, insgesamt 1-mal geändert.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: eigenes Paket dist-upgrade

Beitrag von rendegast » 06.06.2011 13:11:05

Der Sinn vom "normalen" upgrade / safe-upgrade ist,
daß es auch ohne Interaktion durchlaufen kann, weil sich am Paketstatus nichts ändert.
(aptitudes 'safe-upgrade' erlaubt jedoch nach man-page die Installation zusätzlicher Pakete,
siehe 'man-apt-get', 'man aptitude', respektive eigene Testdurchläufe.)

Die Auswahl wird da vom nur vom client getroffen.

Du könntest eine Administrations-Umgebung wie cfengine verwenden, um spezielle Pakete installieren zu lassen.
Im kleineren Umfang dürfte da auch sowas wie cluster-ssh o.ä. ausreichen.


Wenn Du ein dist-upgrade beabsichtigt, hast Du die dependencies des Paketes wohl zwingend erweitert?
Das Paket verlangt (im Zusammenhang mit den apt-conf-Einstellungen zBsp. bzgl. 'recommends')
dann wohl zusätzliche Installationen,
die jedoch beim normalen Upgrade nicht durchgeführt werden und somit das Upgrade des Paketes verhindern?






aptitude könnte auch dauerhaft so eingestellt werden, daß ein 'safe-upgrade' einem 'full-upgrade' entspräche, zBsp.:

Code: Alles auswählen

       --allow-new-upgrades
           When the safe resolver is being used (i.e., --safe-resolver was passed or
           Aptitude::Always-Use-Safe-Resolver is set to true), allow the dependency resolver to install
           upgrades for packages regardless of the value of Aptitude::Safe-Resolver::No-New-Upgrades.

       --allow-new-installs
           Allow the safe-upgrade command to install new packages; when the safe resolver is being used
           (i.e., --safe-resolver was passed or Aptitude::Always-Use-Safe-Resolver is set to true), allow
           the dependency resolver to install new packages. This option takes effect regardless of the
           value of Aptitude::Safe-Resolver::No-New-Installs.
Analoges für apt-get finde ich jetzt nicht.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

vicodas
Beiträge: 148
Registriert: 28.06.2006 19:17:17
Wohnort: Frankfurt

Re: eigenes Paket dist-upgrade

Beitrag von vicodas » 06.06.2011 13:34:29

thx für das schnelle Feedback.

Ich beabsichtigte ein Paket ins Repo zu legen, welches nicht über die "normalen" Interaktionslosen Upgrade Szenarien installiert werden soll.
(ich nutze ap-dater)
Es soll nur auf einigen ausgesuchten Maschinen getestet werden...
Mein Gedanke war halt im Paket was einzustellen, das den Clients apt-get etc. sagt das ein dist-upgrade o.ä. mit Interaktion nötig ist.
Ich konnte halt keine Option dafür finden.
Dist-upgrdae machen die Clients automatisch wenn Abhängigkeiten angepasst wurden?

Ansonsten hilft halt nur pinning, das macht mir aber zu viel Arbeit :cry:
... und die normalen security Patches müssen halt eingespielt werden.

thx
vicodas

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: eigenes Paket dist-upgrade

Beitrag von rendegast » 06.06.2011 14:09:40

Es soll nur auf einigen ausgesuchten Maschinen getestet werden...
Dann nur bei diesen Maschinen ein weiteres repo in der sources.list / sources.list.d/ ?

Den Zugriff darauf könntest Du dann auch vom Server aus steuern,
zBsp. iptables oder htaccess usw.


Solange das Paket nicht installiert ist, wird es durch *upgrade auch nicht hinzugefügt.
Oder ist es ein Paket, das als Abhängigkeit hinzukommen soll, also ein distributions-Paket ersetzen würde?
Das würde dann jedoch auch über eine erhöhte Versionsnummer beim normalen upgrade geschehen.


Jedoch könnten dann auch einfach mit einem Multi-ssh genau diese Maschinen angewiesen werden,
das verfügbare Paket zu installieren.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: <solved> eigenes Paket dist-upgrade

Beitrag von ThorstenS » 10.06.2011 12:37:28

Ich nutze Debiandsh für einfache Abfragen oder Befehlsausführungen.
Meine /etc/dsh/dsh.conf:

Code: Alles auswählen

# cat dsh.conf 
verbose = 0 
remoteshell =ssh  
remoteshellopt = -C
remoteshellopt = -oCheckHostIP=no
remoteshellopt = -oConnectTimeout=1
showmachinenames = 1
waitshell=0  # whether to wait for execution
Meine definierten Gruppen (^= ein Maschinenname pro Zeile):

Code: Alles auswählen

# \tree /etc/dsh
/etc/dsh
|-- dsh.conf
|-- group
|   |-- all -> ../machines.list
|   |-- intern
|   |-- matrix
|   |-- offiziell
|   |-- server
|   `-- wks
`-- machines.list
Um dann z.B. den Releasestand abzufragen, feuere ich sowas ab: dsh -g all "lsb_release -r"
Du könntest dann ein aptitude dist-upgrade lostreten.

Antworten