Der Unterschied
Bei LEAP hat der Benutzer ein konstantes Basis-System, welches nur die Pakete aktualisiert. Nur wenn es zu ein einem dist-upgrade auf die nächste Version kommt, wird auch das eigentliche Basis-System auf die neue Version angepasst.
Bei TUMBLEWEED ändern sich sowohl adas Basis-System als auch die Pakete. Hier findet quasi jedes Mal ein dist-upgrade statt.
Hierbei erfolgt die Verwaltung als Snapshots und jeder Snapshot hat sein eigenes Repo.
Tumbleweed, eine rollende Distribution, verändert sich ständig und Pakete werden ständig gegeneinander neu aufgebaut und die Anforderungen aktualisiert.
Ein neues Paket kann einen Haufen neuer Abhängigkeiten mitbringen, welche evetl. gegen neuere Versionen der bereits installierten Abhängigkeiten gebaut wurden und dadurch kann es zu unbrauchbaren Paketen kommen oder schlimmeres.
Hier will TUMBLEWEED mit seinen Snapshots gegenwirken, indem neue Pakete installiert und verwendet werden, welche die gleichen Abhängigkeiten und die gleiche build-Umgebung haben wie sie gerade vom Benutzer verwendet wird.
Nähere Einzelheiten zu den Ideen welche hinter TUMBLEWEED Snapshots stecken kann man hier nachlesen: lists.opensuse.org
Introduction to openSUSE Tumbleweed Snapshots
www.youtube.com/watch?v=CSXRreUjiIc
Installation
unter OpenSUSE erfolgt die Installation per zypper
:
zypper in tumbleweed-cli
und um die Einrichtung abzuschließen folgt noch ein:
tumbleweed init
$ tumbleweed init
backup /etc/zypp/repos.d/openSUSE-20180529-0.repo
backup /etc/zypp/repos.d/repo-non-oss.repo
vor tumbleweed init
:
$ zypper lr -U
Repository priorities are without effect. All enabled repositories share the same priority.
# | Alias | Name | Enabled | GPG Check | Refresh | URI
--+---------------------+-----------------------------+---------+-----------+---------+---------------------------------------------------------
2 | repo-debug | openSUSE-Tumbleweed-Debug | No | ---- | ---- | http://download.opensuse.org/debug/tumbleweed/repo/oss/
4 | repo-source | openSUSE-Tumbleweed-Source | No | ---- | ---- | http://download.opensuse.org/source/tumbleweed/repo/oss/
3 | repo-non-oss | openSUSE-Tumbleweed-Non-Oss | Yes | (r ) Yes | Yes | http://download.opensuse.org/tumbleweed/repo/non-oss/
1 | openSUSE-20180529-0 | openSUSE-20180529-0 | Yes | (r ) Yes | Yes | http://download.opensuse.org/tumbleweed/repo/oss/
5 | repo-update | openSUSE-Tumbleweed-Update | Yes | (r ) Yes | Yes | http://download.opensuse.org/update/tumbleweed/
nach tumbleweed init
:
zypper lr -U
Repository priorities are without effect. All enabled repositories share the same priority.
# | Alias | Name | Enabled | GPG Check | Refresh | URI
--+---------------------+----------------------------------------+---------+-----------+---------+------------------------------------------------------------------
2 | repo-debug | openSUSE-Tumbleweed-Debug | No | ---- | ---- | http://download.opensuse.org/debug/tumbleweed/repo/oss/
4 | repo-source | openSUSE-Tumbleweed-Source | No | ---- | ---- | http://download.opensuse.org/source/tumbleweed/repo/oss/
5 | repo-update | openSUSE-Tumbleweed-Update | Yes | (r ) Yes | Yes | http://download.opensuse.org/update/tumbleweed/
3 | repo-non-oss | openSUSE-Tumbleweed-Non-Oss (20180529) | Yes | (r ) Yes | Yes | http://download.tumbleweed.boombatower.com/20180529/repo/non-oss/
1 | openSUSE-20180529-0 | openSUSE-20180529-0 (20180529) | Yes | (r ) Yes | Yes | http://download.tumbleweed.boombatower.com/20180529/repo/oss/
Die Initialisierung kann man auch wieder rückgängig machen… und zwar mit:
tumbleweed uninit
Ändern des aktuell verwendeten Snapshots
Welche Snapshot-Version aktuell verwendet wird findet man in der Datei /etc/zypp/vars.d/snapshotVersion
cat /etc/zypp/vars.d/snapshotVersion
20180529
alternativ kann man sich den aktuellen Status natürlich auch anzeigen lassen:
tumbleweed status
latest : 20180529
target : 20180525
installed: 20180525
Den aktuellsten Snapshot verwenden
Wenn man nun auf den aktuellsten Snapshot umsteigen will, gibt es folgende Befehle:
tumbleweed update
oder
tumbleweed latest
oder
tumbleweed switch
tumbleweed update
choosing latest version
switching from 20180209 to 20180529? [y/n] (y):
Retrieving repository 'openSUSE-20180525-0 (20180529)' metadata .............................................................................................................................................[done]
Building repository 'openSUSE-20180525-0 (20180529)' cache ..................................................................................................................................................[done]
Retrieving repository 'openSUSE-Tumbleweed-Non-Oss (20180529)' metadata .....................................................................................................................................[done]
Building repository 'openSUSE-Tumbleweed-Non-Oss (20180529)' cache ..........................................................................................................................................[done]
Repository 'openSUSE-Tumbleweed-Update' is up to date.
All repositories have been refreshed.
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Loading repository data...
Reading installed packages...
Computing distribution upgrade...
...
The following product is going to be upgraded:
openSUSE Tumbleweed 20180525-0 -> 20180530-0
346 packages to upgrade, 14 new, 7 to remove.
Overall download size: 221.0 MiB. Already cached: 0 B. After the operation, additional 296.8 MiB will be used.
Continue? [y/n/...? shows all options] (y):
Meist muss nach der Aktualisierung das System neu starten, da eventl. noch Dateien verwendet werden, welche durch das „Upgrade“ verändert oder entfernt wurden.
There are some running programs that might use files deleted by recent upgrade. You may wish to check and restart some of them. Run 'zypper ps -s' to list these programs.
$ zypper ps -s
The following running processes use deleted files:
PID | PPID | UID | User | Command | Service
-----+------+------+------------+-----------------------------+-----------------
376 | 1 | 0 | root | systemd-journald | systemd-journald
386 | 1 | 0 | root | haveged | haveged
884 | 1 | 0 | root | systemd-logind | systemd-logind
1962 | 1 | 0 | root | VBoxService (deleted) | vboxadd-service
2148 | 2147 | 1000 | rasputin | systemd |
2153 | 2136 | 1000 | rasputin | lxsession |
2160 | 2147 | 1000 | rasputin | dbus-daemon |
2174 | 1 | 1000 | rasputin | VBoxClient (deleted) |
2176 | 2174 | 1000 | rasputin | VBoxClient (deleted) |
2184 | 1 | 1000 | rasputin | VBoxClient (deleted) |
2186 | 2184 | 1000 | rasputin | VBoxClient (deleted) |
2189 | 1 | 1000 | rasputin | VBoxClient (deleted) |
2191 | 2189 | 1000 | rasputin | VBoxClient (deleted) |
2193 | 1 | 1000 | rasputin | VBoxClient (deleted) |
2194 | 2193 | 1000 | rasputin | VBoxClient (deleted) |
...
letzte Snapshotänderung rückgängig machen
um die letzte Änderung der Snapshot-Version rückgängig zu machen verwendet man:
tumbleweed revert
openSUSE Tumblewed Snapshots
www.youtube.com/watch?v=RkDwGiS9Kcc
Ich bin durch einen Vortag von der openSUSE Conference 2018 auf dieses Thema aufmerksam geworden…
Den kompletten Vortrag findet man hier:
openSUSE Conference 2018 - Tumbleweed Snapshots: Rolling With You