しかつきかふぇ

ちょっとした休憩時間に

openSUSE Tumbleweed をコマンドでアップグレードしてみよう〜

投稿遅れて申し訳ございません!!

鹿野です。
本記事は、 openSUSE Advent Calendar 2022 の 16日目の記事となります。

てかおい、何日だよ!??(2日遅れ・・・

理由はこれとは特に関係ありませんが、、、

函館は、大雪でした。

宿の人に何回「記念に雪かきでもやっていきませんか?」と声をかけられたことか(笑)
本当にお疲れ様です(>_<)

さて今回の記事は、 openSUSE Tumbleweed を使ってみよう!ってタイトルでやってみます。
openSUSE の最新の世界へ、足を踏み入れていきましょ〜!!!!! (半分ヤケ??

そもそも Tumbleweed ってなんだっけ?

本記事のようなものにどうやって辿り着いたかは存じませんが、きっとこの記事に辿り着く人は既に openSUSE ユーザーのはず!??(いやわかりませんけど!)
ユーザーの方はご存知かと思いますが、 openSUSE には2種類存在します!

  • Leap
  • Tumbleweed

どちらもインストールイメージはこちらにあります。

get.opensuse.org

Leap は安定版とされており、主にサーバー用途に使用される方が多いのではないでしょうか。
(最近は)年に1度程度のリリースがあり、その分ちょっとだけ長く安心して使えるというものですね。

それに対して、 Tumbleweed は Arch Linux 等と同様に、ローリングリリース版となります。
つまりはリリース日を設けず、都度パッケージが更新されるというもの。当然 Leap よりも新しいパッケージが続々と入ってきます。

Tumbleweed を使用する注意点としては、 こまめに zypper update を行いましょう! かなと。
あまりにも頻繁に更新が入るため、パッケージ更新を怠っていると、急激なアップデートを試みる羽目になります。それでハマるなんてこともあったりするので、その辺りは計画的に。

そんな頻繁に openSUSE なんて起動しないよ〜!! なんて方は、素直に Leap にしておいたは方が無難と思います。

え、それなら Kubernetes が、なんで Leap じゃなくて Tumbleweed で動かす必要があるかって?

それは Kubernetes そのものが常に不安定版みたいなものだから Leap じゃどうしようもできないのだよ!!
(・・・Ubuntu でも Kubernetes を安易にアップデートした途端に動かなくなって、「アップデートするんじゃなかった〜!!」などとしょっちゅうぼやいている人間がここにいたりして(棒)

今回は 15.4 から Tumbleweed へコマンドでアップグレード!

さて、手元に 15.4 をインストールしたノーパソがあります!
以前の記事 で、ひたすら K8s インストールに失敗した代物ですね・・・

今回はコマンド投入で、このノーパソを Tumbleweed へ変えてみようと思います。

やり方はこちらに書いてあります。

openSUSE:Tumbleweed upgrade - openSUSE Wiki

が、どうやら翻訳がされていないらしく、英語版しかないようです。
(ところで翻訳したところで需要あるのだろうかこのページ・・・・・。

このページの手順を踏む前に、まずは現状の Leap 15.4 でカーネルバージョンを確認しておきましょう。

openSUSE Leap 15.4

> uname -a
Linux localhost.localdomain 5.14.21-150400.24.33-default #1 SMP PREEMPT_DYNAMIC Fri Nov 4 13:55:06 UTC 2022 (76cfe60) x86_64 x86_64 x86_64 GNU/Linux

カーネルバージョンは 5.14.21 のようです。

・・・びみょ〜だ。(せめて絶妙と書きなさい!

というわけで、 Tumbleweed へアップグレードしていきます。

その前にちょっとだけ sudo の話

先程の英語のページに載っているコマンドですが、いずれも一般ユーザーでは動きません。
とりあえず全コマンドの一番先頭に sudo をつけてもいいのですが、今回は su - で root ユーザーに切り替わって操作していこうと思います。

Ubuntu が出てくる前はこれが一般的な方法だったのかな? という私の超個人的な私感ですが、今ではすっかり sudo が定着した印象がありますね。とはいえその辺りは 宗教戦争になりかねない 個人的に使いたいものを使えばいいと思っているため、どちらでもいいかな〜と。
そもそも、個人のみで使う場合と複数人で使う場合とだけでもルールは全く異なるはずですしね!

su と sudo の違いについてはぐぐればたくさん出てきたので、ここではあえて触れません、まる。

それではアップグレードします!!

上に書いたとおり、まずは su - で root ユーザーに切り替わります。
この手順は先程のページには書いてませんし、他に代替する方法があればそちらを優先してください。

su -

次に、古いリポジトリ、つまりここでいうと Leap 15.4 のリポジトリを待避します。
万一失敗したときのために残しておきましょうってやつですね。

mkdir /etc/zypp/repos.d/old
mv /etc/zypp/repos.d/*.repo /etc/zypp/repos.d/old

待避が終わったら、新しいリポジトリ、つまりは Tumbleweed のリポジトリを追加します。

zypper ar -f -c http://download.opensuse.org/tumbleweed/repo/oss repo-oss
zypper ar -f -c http://download.opensuse.org/tumbleweed/repo/non-oss repo-non-oss
zypper ar -f -c http://download.opensuse.org/tumbleweed/repo/debug repo-debug
zypper ar -f -c http://download.opensuse.org/update/tumbleweed/ repo-update

次はソースパッケージのリポジトリです。OBS(動画のアレじゃない!)を使う方はこちらも忘れずに。
ちなみに私は追加しませんでした。後で追加もできますしね。

zypper ar -f -d -c http://download.opensuse.org/tumbleweed/repo/src-oss repo-src-oss
zypper ar -f -d -c http://download.opensuse.org/tumbleweed/repo/src-non-oss repo-src-non-oss

ちゃんと Tumbleweed のリポジトリが追加されたか、確認してみましょう〜!

zypper lr -u

Repository priorities are without effect. All enabled repositories share the same priority.

# | Alias        | Name         | Enabled | GPG Check | Refresh | URI
--+--------------+--------------+---------+-----------+---------+-----------------------------------------------------
1 | repo-debug   | repo-debug   | Yes     | ( p) Yes  | Yes     | http://download.opensuse.org/tumbleweed/repo/debug
2 | repo-non-oss | repo-non-oss | Yes     | ( p) Yes  | Yes     | http://download.opensuse.org/tumbleweed/repo/non-oss
3 | repo-oss     | repo-oss     | Yes     | ( p) Yes  | Yes     | http://download.opensuse.org/tumbleweed/repo/oss
4 | repo-update  | repo-update  | Yes     | ( p) Yes  | Yes     | http://download.opensuse.org/update/tumbleweed/

とりあえず上の4つ、ソースパッケージを含める場合は6つ表示されればOKですね!

というわけでお待ちかね。アップグレードを開始します!

zypper cc -a && zypper ref && zypper dup --allow-vendor-change

どきどき。わくわく。

ちなみに、 zypper dup 実行時にいくつか質問されるケースがあるかと思います。
私はリポジトリの競合が1件あったのですが、とりあえず一番上(が問題なさそうだったので)を選んで回避したという具合です。

元のPCにもよるとは思いますが、私の手元の環境では1時間程度で完了しました。
今回は、何も起きず、無事に終わったようですね。。。(汗

最後にPC再起動です!
ここはお好みなところのような気もしますが、デスクトップ環境ではそもそも諸々が動かなくなってるので、否応なしに再起動が必要ですね。

reboot

というわけで、今回は何事もなく無事に完了しました!

・・・お願いですからなんだつまらんとか言わないでくださいね(汗汗

Tumbleweed を調べてみよう

Leap 15.4 のときと同様に、カーネルバージョンを確認してみます!

> uname -a
Linux localhost.localdomain 6.0.12-1-default #1 SMP PREEMPT_DYNAMIC Thu Dec 8 10:49:09 UTC 2022 (523a283) x86_64 x86_64 x86_64 GNU/Linux

おっ、 6が入ってきた。
2022/12/18 現在は、 6.0.12 が入ってくるようですね。
もちろんローリングリリースなので、明日以降は更に新しいものが入ってきていると思います。

  • Leap 15.4 : 5.14.21
  • Tumbleweed : 6.0.12 (2022/12/18現在)
  • Ubuntu 21.10 : 5.19
  • Debian 11 : 5.10
  • CentOS 8.5 : 4.18.0

openSUSE 以外は Wikipedia 調べです。ごめんなさい。違っていたらご指摘願います。(Wikipediaも修正しなきゃだけど

次こそは Kubernetes やってみよう!

今回は Tumbleweed の切り替えについて紹介しました。いかがでしたでしょうか。
案外スムーズに行ったので私も少し驚いてます(コラ

最新の Linux カーネルを扱う実験場としてもいいかもしれませんね。
皆さんもローリングリリースの斬新さ(?)を試してみてはいかがでしょうか。