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
<solved> eigenes Paket dist-upgrade
<solved> eigenes Paket dist-upgrade
Zuletzt geändert von vicodas am 08.06.2011 16:04:58, insgesamt 1-mal geändert.
Re: eigenes Paket dist-upgrade
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.:
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.:
Analoges für apt-get finde ich jetzt nicht.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.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: eigenes Paket dist-upgrade
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
... und die normalen security Patches müssen halt eingespielt werden.
thx
vicodas
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
... und die normalen security Patches müssen halt eingespielt werden.
thx
vicodas
Re: eigenes Paket dist-upgrade
Dann nur bei diesen Maschinen ein weiteres repo in der sources.list / sources.list.d/ ?Es soll nur auf einigen ausgesuchten Maschinen getestet werden...
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")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: <solved> eigenes Paket dist-upgrade
Ich nutze dsh für einfache Abfragen oder Befehlsausführungen.
Meine /etc/dsh/dsh.conf:
Meine definierten Gruppen (^= ein Maschinenname pro Zeile):
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.
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
Code: Alles auswählen
# \tree /etc/dsh
/etc/dsh
|-- dsh.conf
|-- group
| |-- all -> ../machines.list
| |-- intern
| |-- matrix
| |-- offiziell
| |-- server
| `-- wks
`-- machines.list
Du könntest dann ein aptitude dist-upgrade lostreten.