それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

systemd

chroot でネットワーク接続ができない。

chroot 環境を作ったらネットワーク接続できない sudo chroot /mnt chroot したので普通と同じようにネットワークを扱えるかと思いきやできない。 dns エラーを切り分ける ping 1.1.1.1 # 通る ping g.co # 取らない。 DNSですね。 systemd-resolved がいた …

journald がログエラーで無限ループになってサーバーが応答なしになった。journald の上限を決める

サーバーの容量不足で無限ループになった 知らない間に、サーバーにDockerのキャッシュを溜めすぎて、残容量が底をついた。 気づかずに発生した journald が無限ループ journld は閾値をもっていて、一定量以上のログを書き込みしないはずだが、容量不足なっ…

systemdでネットワーク待ちを何とかする。Failed to start Wait for Network to be Configured.

ubuntu が起動時にエラーを吐いてネットワーク待ちで時間がかかる。 Failed to start Wait for Network to be Configured. ネットワークを見てみる。 基本的に、networkdに管理させてないが、念のために確認する。 takuya@:~$ networkctl IDX LINK TYPE OPER…

systemd のユニットを@引数で再利用する。

systemd のユニットファイルを引数で使いまわしする 一部が違うだけのユニットファイルを、引数で使い分ける。テンプレートを作成できる。 systemctl start my-service@foo.service systemctl start my-service@bar.service 引数は %i で受け取ります。 i は…

systemd の設定を上書きでゼロから書くのを避ける

systemd の上書き systemd のユニット定義は、上書きしたり、変数を定義したりで、似たような設定をまとめることが出来る。 変数を使う systemctl start serial-getty@ttyUSB0.service name@.service で定義されたサービスは name@VARIABLE.service と@以降…

/var,/homeに設置した systemd ユニット・ファイルが実行されない(シンボリックリンクは詰む)

/var に設置した systemdファイルが読み込まれない。いくら正しいサービスファイルを書いても、起動時にサービスが起動しないのである。 色々見ていたら、こんなエラーが遭遇した systemdはマジ怖い 存在するファイルを実行しない /etc/systemd/system に設…

systemd の /etc/systemd/systemのファイル名とAliasの関係について。

systemd の /etc/systemd/systemにファイルがいっぱい初期設定されています。 ここには、「別名」で登録したユニットファイル<も>配置されます。 ユニットの別名とは? たとえば、ssh.service とsshd.service がある。 これらは、どちらも同じことを意味して…

systemd-networkdでVLANを作る

networkd で VLAN インターフェースを作ろう eth0 の設定に書いた。タグVLANをリッスンするインターフェースを作ろう。networkd の設定で。 networkd の設定は、3つファイルを使った。 systemd-networkd は設定がバラけるので管理が面倒です。そのうちnetpl…

Linuxのデフォルトのタイマーがわかりにくい。cron/systemd.timerの優先関係

伝統的に、cron/atq によってタイマー・スケジュール実行は管理されています。 現代のLinuxでは、systemd.timer が追加されています。いまのLinuxでは両方が存在します。 両方が存在するために、タイマーの設定ファイルが systemd.timer / cron に同時に存在…

journald で今日のログ だけを見たい

今日のログだけを見る 日付を指定して、ログが見れる。 journalctl --since 2021-07-12 もっとかんたんに date コマンドと組み合わせれば、ぱぱっと実行できますね。 journalctl --since $(date -I) journalctl --since $(date -I --date 'yesterday' ) jour…

docker で systemdが動く ubuntu イメージを作って遊ぶ-その2

前回、systemd を動かした。 前回の続き docker の起動コマンドを /sbin/init にすれば、 docker の ubuntu でも systemdを使って遊べることがわかった。 単純な作業だったので、dockerfile でイメージ化して遊ぶ dockerfileを作って遊ぶ FROM ubuntu:20.04 …

dockerで systemd が動く ubuntu を作って遊ぶ

はじめに docker ではシングル・プロセスが前提なので、複数のプロセスを起動するべきではない。 それでも、ちょっと動かしてみたいと思うのが、遊びゴコロってやつ。docker で systemd を動かしてみたらどうなるのか。 今回は、Raspi4 の高速マシンがあるか…

systemd で引数で分割を使う(@:アットマーク)ユニットのテンプレート化で似たような複数サービスをまとめる。

systemd で引数を使う @:アットマークを使えば、ユニットのテンプレート化で似たようなサービスをまとめることができる。 systemd の list-units をすると、user@1001.service のように、ユニット名@値 でいくつも起動しているので、自分でもそれを作って…

systemd タイマーの書き方。OnCalendarのtimer 設定の記述方法とチェック方法をおさらいする。cronの代替にするサンプル集

systemd の timer サービスの書き方で時間の指定が困る。 cron で日付や時間の指定をようやく覚えて自由自在に作ってたのに、systemd timer だと onCalendar です。crontabから覚え直しです。 cron書式と違うんですよね。onCalendarは独自です。 systemd.tim…

splatnet2statinkで stat.inkへアップロードをsystemd で自動化する。

splatnet2statink で戦績を保存したい。 かれこれ2ヶ月くらいスプラトゥーン2から離れている takuya ですこんばんは。 2020年のコロナウイルス感染症騒動で、ちょっと暇になってしまったので、スプラトゥーンを復活しようと思っています。リングフィットア…

systemd のaccounts-daemon がCPU使用率を100%で上がってくるので止めた

ubuntu server の cpu 使用率 ubuntu server を入れてしばらくしていたときに、cpu 使用率をモニタリングしていたら、使用率が定期的にSPIKE してることに気づいた。 cpu 使用率が定期的に上がる cpu 使用率 4コアのうち1コアを完全に使い切る 一時的である…

systemd.path で path(パス) を監視する。

systemd でパス監視機能を使う systemd.path を試していきます。 パスの監視というと理解しくいかもしれませんが、フォルダの監視です。フォルダを監視してなんかやります。もちろんファイルも監視できます。 inotify でアプリを書くより手軽です。 はじめに…

systemd の タイマーは enable してもstart をしないと動かない

systemd でタイマーを作ってみたんですよ。タイマーが動かないので悩んでたんです。 systemd でタイマーを作って、enableして見たんだけど。動かないんですよ。 タイマーを作る手順 service 作って timer 作って service を起動する start してチェック enab…

systemd のdaemonサービスを定期的に再起動(自動再起動)する unit ファイルの書き方- timer Units の代替手段

systemd のサービスを定期的に再起動する systemd で作ったサービスを定期的に再起動したい。 定期的に再起動する必要があるのか。と問われれば、私自身も答えに窮するのだけれど。 今回は pip install しているpython パッケージや npm run で起動している…

systemdのジョブの起動前、起動後に処理を記述する preExec / PostExec

systemd で自動起動するファイルを記述したが pip のアップデートで苦労する systemd でdaemon を起動しているのですが、pip 関連でアップデートが頻繁にあるモジュールだと、前もって更新してあげないとエラーになることがる。 systemd で事前処理・事後処…

ユーザー毎の systemd を使ってシステム全体設定と個人用設定を分ける。

systemd のユーザーごとの設定というのがあります。 systemd は sudo 権限がないと動かないと思ってませんか。 タイマーや自動起動、インスタンスやサービスはもう、ユーザー空間でできるのです。 ユーザーモードでの systemd というのがあります。 引数 --u…

journalctlで指定のサービス(ユニット)のログを上手に見る方法-期間指定,サービス指定,json

systemd の status の結果で、ログもうちょっと多く見たい takuya@:mysql$ systemctl status nginx ● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor pres…

systemdのjournalctl で指定のサービスのログを見たいけど見れない(mysql)

mysql のログが見れない。 systemctl コマンドの status でログが見れる。 takuya@:mysql$ systemctl status mysqld.service ● mariadb.service - MariaDB database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: e…

Systemd-networkdのDHCPネットワークの設定

systemd でのDHCP のIPアドレスの割当をもらってくる よくある例なので、ぱぱっと書いておく。 対象 systemd になってるLinuxディストーション。 今回は、 ubuntu / debian で設定をする。 準備するファイル /etc/systemd/network にファイルを用意する。 /e…

ubuntu がネットワーク待ち(systemd-networkd.wait)で起動が遅い・・・

ネットワーク周りをいじると再起動が遅いですね。 起動時にネットワーク待ちになる。DHCP待ちになる?? A start job is running for wait for network to be configured. これで、しばらく時間がかかるので、Virtualboxなどから使ってると大変。 LANケーブ…

sysd の管理単位-ユニット

systemd の管理単位 systemd は起動のすべてを 「ユニット」という単位で管理する。 ユニットは「Service」が代表例で、/etc/init.d/ に記述するようなサービスDaemonはすべて「Service unit」 として管理される。 ユニットには、service の他に、 target mo…

systemd のファイルについて

systemd のファイルについて debian での systemd の構成について調べた systemd のユニットファイルが置かれている場所 /lib/systemd/ /usr/lib/systemd/ /etc/systemd/ など locate で探すと結構たくさんあってどうなってるのか面食らう。なので役割分担と…

systemdでsysVinit/Upstart系のコマンドはどうなるの?

upstart 系のものはどうなるの? takuya@:systemd$ ls -l /sbin/{start,reload,stop,restart,status} ls: /sbin/start にアクセスできません: そのようなファイルやディレクトリはありません ls: /sbin/reload にアクセスできません: そのようなファイルやデ…

systemdの起動プロセスとinitについて

systemd の起動について /sbin/init (rootプロセス) として systemd が起動する。 此のときに systemd はdefaut.target というユニットをトリガーとしてシステムの起動が始まる。 以前は、sysV init と呼ばた機能がinit からコールされてたがそれが systemd …

systemd起動が遅いので 依存関係を調べて、起動時間の計測

systemd でたまにめっちゃ遅い時がある。 systemd で起動していたらたまに遅い時がある。 理由を探すために、まず、起動時間のログを見てみることにした systemd の起動ログをグラフで出す方法がある。 起動の状況を、グラフ(SVG)の出力して閲覧することが…