By ribbon @
2022-12-19 00:12
第四世代の Intel CPU を使ったマシンで openSUSE を使っていると、シャットダウンコマンドで電源をOffにしようとしても( poweroff など)電源が切れません。一旦切れたようになりますが、再度起動してしまいます。この動作は、なぜか Windows と BSD (Dragon Fly BSD)では起こらず Linux のみ起こる現象のようです。 openSUSE 意外に Debian でも現象を確認しています。
色々調べたのですが、正解にはたどり着けず、毎回手動で電源を落としていました。そうすると、マジックパケットを飛ばして WOL による起動ができなくなり、ちょっと不便に感じていました。
結局、Kernel の詳しい人に正解をいただきました。Grub のオプションに
xhci_hcd.quirks=0x2000
を付けるのだそうです。これでちゃんと電源が切れ、さらに WOL も動くようになりました。
By ribbon @
2022-12-18 00:00
この記事は openSUSE Advent Calendar 2022 の18日目です。
systemd が使われるようになると、daemon の制御とかのやり方は大きく変わりました。/etc/init.d にあるスクリプトから、systemd パッケージに含まれるコマンドを使うようになってきました。それらのコマンドは、xxxxxctl という、末尾に ctl が含まれるものが多いように感じました。そこで、/usr/bin/ の中にある、末尾が ctl なプログラムがどんなものかを簡単に調べて見ることにしました。
今回は、wdctl を紹介します。
コマンド名: wdctl
パッケージ: util-linux-2.37.2-150400.8.8.1.x86_64
動作: ○
wdctl は、システムのウオッチドッグ情報を表示するコマンドです。引数なしで起動すると以下のように表示します。
|
% wdctl Device: /dev/watchdog0 Identity: Software Watchdog [version 0] Timeout: 10 seconds Pre-timeout: 0 seconds |
オプションによって表示形式を変更することは出来ますが、基本的に上記のような情報を表示するだけです。ですので、あまり使い道はないかと思います。
By Syuta Hashimoto @
2022-12-15 08:59
この記事は openSUSE Advent Calendar 2022 の15日目です。
CombustionはMicroOSのプリメイドイメージをプロビジョンしてくれるスクリプトです。
ここ数年でMicroOSのプリメイドイメージのプロビジョンソフトが移り変わったので、紹介させて頂きます。
cloud-init
cloud-initはもともとUbuntuのクラウドイメージのプロビジョンソフトウェアでした。MicroOSは初期の頃対応していました。今はOpenStack用のプリメイドイメージ専用になっています。
ignition
CoreOSのプロビジョンソフトウェアで、JSONで記述した設定ファイルを使います。
MicroOSは今もignitionに対応しています。MicroOSのignitionのwikiはこちらです。
Combustion
MicroOS専用のプロビジョンソフトウェアです。スクリプトを書くことで、かなり柔軟な設定をすることが出来ます。dracatモジュールとのことですので、追っていろいろ見てみたいと思います。Combustionのwikiはこちらです。
By Syuta Hashimoto @
2022-12-13 08:38
この記事は openSUSE Advent Calendar 2022 の13日目です。
さて、前回 AkamaiさんがLinodeサービスアピールしてますと紹介させて頂いたのですが、各リージョンのスピードテストが出来る場所があったので紹介させて頂きます。
なお、ちゃんとリージョンに日本もありました。
このページはログインせずとも使えるみたいですね。
日本で測定してみました。
試しに、ムンバイで測定してみました。
それぞれ一回測定しただけなので信憑性は微妙ですが、確かにpingやDLで差が出ていますね。
Akamaiが親会社なので、近いところのリージョンへのアクセスは期待できるのでは無いでしょうか。
By ribbon @
2022-12-12 00:49
この記事は openSUSE Advent Calendar 2022 の12日目です。
systemd が使われるようになると、daemon の制御とかのやり方は大きく変わりました。/etc/init.d にあるスクリプトから、systemd パッケージに含まれるコマンドを使うようになってきました。それらのコマンドは、xxxxxctl という、末尾に ctl が含まれるものが多いように感じました。そこで、/usr/bin/ の中にある、末尾が ctl なプログラムがどんなものかを簡単に調べて見ることにしました。
今回は、timedatectl を紹介します。
コマンド名: timedatectl
パッケージ: systemd-249.11-150400.6.8.x86_64
動作: ○
詳細:
timedatectl は、システム時刻の表示/変更を行うコマンドです。引数なしで起動すると以下のような形で日付と時刻を表示します。また、引数 show を指定すると、機械で処理しやすい形で表示します。
|
% timedatectl Local time: 日 2022-12-11 14:27:55 JST Universal time: 日 2022-12-11 05:27:55 UTC RTC time: 日 2022-12-11 05:27:55 Time zone: Asia/Tokyo (JST, +0900) System clock synchronized: yes NTP service: active RTC in local TZ: no % timedatectl show Timezone=Asia/Tokyo LocalRTC=no CanNTP=yes NTP=yes NTPSynchronized=yes TimeUSec=Sun 2022-12-11 14:30:45 JST RTCTimeUSec=Sun 2022-12-11 14:30:45 JST |
日付の変更もできます。但し、NTP が動作している場合は、一旦 NTP の同期を止めてからでないと変更ができません。ここは date コマンドと違うところです。
|
# timedatectl set-time "2022-12-11 15:40:00" Failed to set time: Automatic time synchronization is enabled # timedatectl set-ntp no # timedatectl set-time "2022-12-11 15:40:00" # timedatectl Local time: Sun 2022-12-11 15:40:07 JST Universal time: Sun 2022-12-11 06:40:07 UTC RTC time: Sun 2022-12-11 06:40:07 Time zone: Asia/Tokyo (JST, +0900) System clock synchronized: no NTP service: inactive RTC in local TZ: no |
日付や時刻の変更は、時刻同期機能を入れておけば使う事は少ないと思いますが、date コマンドよりは情報量が多いので、場合によっては便利かもしれません。
By ribbon @
2022-12-10 10:46
この記事は openSUSE Advent Calendar 2022 の10日目です。
systemd が使われるようになると、daemon の制御とかのやり方は大きく変わりました。/etc/init.d にあるスクリプトから、systemd パッケージに含まれるコマンドを使うようになってきました。それらのコマンドは、xxxxxctl という、末尾に ctl が含まれるものが多いように感じました。そこで、/usr/bin/ の中にある、末尾が ctl なプログラムがどんなものかを簡単に調べて見ることにしました。
今回は、powerprofilesctl を紹介します。
コマンド名: powerprofilesctl
パッケージ: power-profiles-daemon-0.12-1.2.x86_64
動作: ○
詳細:
powerprofilesctl は、電源モードの表示や変更を行うプログラムです。powerprofiles は GNOME の 設定→電源 で表示される電源モードになります。プロファイルの一覧、現状のプロファイル状態は以下のようにして表示できます。
|
% powerprofilesctl list balanced: Driver: placeholder * power-saver: Driver: placeholder % powerprofilesctl get power-saver |
また変更は下記のように行えます。
|
# powerprofilesctl set balanced # powerprofilesctl get balanced |
ただ、電源プロファイルを変更することはほとんど無いので、このコマンドの出番はあまりないのかもしれません。
By ribbon @
2022-12-07 21:40
この記事は openSUSE Advent Calendar 2022 の5日目です。
systemd が使われるようになると、daemon の制御とかのやり方は大きく変わりました。/etc/init.d にあるスクリプトから、systemd パッケージに含まれるコマンドを使うようになってきました。それらのコマンドは、xxxxxctl という、末尾に ctl が含まれるものが多いように感じました。そこで、/usr/bin/ の中にある、末尾が ctl なプログラムがどんなものかを簡単に調べて見ることにしました。
今回は、hostnamectl を紹介します。
コマンド名: hostnamectl
パッケージ: systemd-249.12-150400.8.13.1.x86_64
動作: ○
詳細:
hostnamectl は、システムのホスト名や関連する情報の表示や変更を行うプログラムです。昔ながらの、ホスト名を表示するプログラム hostname は、引数を指定しないで入力すると、単にホスト名を返すだけですが、hostnamectl を引数を指定しないで実行すると、
|
Static hostname: suse154 Icon name: computer-vm Chassis: vm Machine ID: 61ee5253e44f403c9918308e232c84b8 Boot ID: 2dc4f7eae3724c6497708a64e08a516c Virtualization: kvm Operating System: openSUSE Leap 15.4 CPE OS Name: cpe:/o:opensuse:leap:15.4 Kernel: Linux 5.14.21-150400.24.33-default Architecture: x86-64 Hardware Vendor: QEMU Hardware Model: Standard PC _i440FX + PIIX, 1996_ |
と、たくさんの情報を表示します。今回テストしている環境が KVM 配下であることもバレてしまいます。旧来の hostname コマンドと互換を取るには、引数として hostname を指定すれば良いです。単に hostname を返します。
もちろん、root でないとできませんが、host 名を変更することも可能です。
|
# hostnamectl hostname suse154A # hostnamectl hostname suse154A |
そのほかに、JSON形式で出力することも可能です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
hostnamectl --json=pretty { "Hostname" : "suse154", "StaticHostname" : "suse154", "PrettyHostname" : null, "DefaultHostname" : "localhost", "HostnameSource" : "static", "IconName" : "computer-vm", "Chassis" : "vm", "Deployment" : null, "Location" : null, "KernelName" : "Linux", "KernelRelease" : "5.14.21-150400.24.33-default", "KernelVersion" : "#1 SMP PREEMPT_DYNAMIC Fri Nov 4 13:55:06 UTC 2022 (76cfe60)", "OperatingSystemPrettyName" : "openSUSE Leap 15.4", "OperatingSystemCPEName" : "cpe:/o:opensuse:leap:15.4", "OperatingSystemHomeURL" : "https://www.opensuse.org/", "HardwareVendor" : "QEMU", "HardwareModel" : "Standard PC _i440FX + PIIX, 1996_", "ProductUUID" : null } |
JSON 形式で出力する場合、hostname オプションを指定すると、json 機能は無効になってしまうようです。
従来からの hostname コマンドもたぶん残っていくとは思いますが、新しい hostnamectl コマンドも覚えて置いた方が良いかもしれません。