タグ付けされた質問 「systemd」

systemdは、LinuxのSystemVおよびUpstart initデーモンの代替アプローチです。これは、サービスの依存関係を表現するためのより良いフレームワークを提供し、システム起動時により多くの作業を並行して実行できるようにし、シェルのオーバーヘッドを減らすことを目的としています。

1
systemdと他のinitシステムの違いは何ですか?
公式ではありませんが、systemdがDebianにやってくるようです。その決定に関する白熱したメーリングリストの議論を読んだ後、Linuxユーザーの間でsystemdが二極化する性質に興味があります。私はDebian(sysvinit)およびGentoo(OpenRC)システムを実行しており、systemdについて具体的なことは何も知りませんが、私の方法が近づいているように見えます。 systemd対upstartの長所と短所を尋ねるこの関連する質問を見てきましたが、その質問が投稿されてから3年が経ち、その間に状況が変わったと確信しています。 私の質問は次のとおりです。systemdは他のinitシステムと比較してどうですか? 他のinitシステムではできないことで何ができるのでしょうか? 別の初期化システムからそれに切り替えることで失うものはありますか? systemdの管理は他と比較してどうですか?

1
起動と有効化の両方を行う1つのsystemctlコマンド
1つのコマンドを使用してsystemctl管理対象ソフトウェアを起動および有効化することは、いくつかのスクリプトで数行を節約し、それらをもう少し美的にするのに役立ちます(実際には問題ではなく、持っているのは良いことです)。 1つのそこにあるsystemctlの両方にコマンドstartとenableによって制御されるプログラムはsystemctl?

2
systemdユニットファイルのExecStartPreエントリと混同される
にディレクトリを作成する必要があるsystemdサービスがあります/runが、そうでない場合は非ルートユーザーとして実行します。ブログの例から、次のソリューションを導き出しました。 [Unit] Description=Startup Thing [Service] Type=oneshot ExecStart=/usr/bin/python3 -u /opt/thing/doStartup WorkingDirectory=/opt/thing StandardOutput=journal User=thingUser # Make sure the /run/thing directory exists PermissionsStartOnly=true ExecStartPre=-/bin/mkdir -p /run/thing ExecStartPre=/bin/chmod -R 777 /run/thing [Install] WantedBy=multi-user.target 魔法はコメントに続く3行にあります。どうやらExecStartPreこのようにルートExecStartとして実行されますが、指定されたユーザーとして実行されます。 ただし、次の3つの質問があります。 の-前で何をし/bin/mkdirますか?なぜそこにあるのか、何をするのかわかりません。 ExecStartPreユニットファイルに複数のがある場合、それらはユニットファイル内で見つかった順に連続して実行されますか?または他の方法? これは実際には、非rootユーザーが使用できるように実行ディレクトリを作成するという私の目標を達成するための最良の手法ですか?
23 systemd 

3
systemdで順序サイクルをデバッグするための一般的な方法論
私は次のスレッドとおそらくそれに対する答えを知っています。回答を除き、一般的な意味での回答ではありません。1つの特定のケースで問題が何であったかがわかりますが、一般的にはわかりません。 私の質問は、一般的な方法で注文サイクルをデバッグする方法はありますか?たとえば、サイクルと、あるユニットを別のユニットにリンクするものを記述するコマンドがありますか? たとえば、私は以下を持っていますjournalctl -b(日付を無視してください、私のシステムには時間を同期するRTCがありません): Jan 01 00:00:07 host0 systemd[1]: Found ordering cycle on sysinit.target/start Jan 01 00:00:07 host0 systemd[1]: Found dependency on local-fs.target/start Jan 01 00:00:07 host0 systemd[1]: Found dependency on cvol.service/start Jan 01 00:00:07 host0 systemd[1]: Found dependency on basic.target/start Jan 01 00:00:07 host0 systemd[1]: Found dependency on sockets.target/start …
23 systemd 



2
arch / systemdのふたを閉じたときに画面を中断してロックする
画面をロックし、蓋を閉じるときに中断する最も簡単な方法は何ですか?イベントフックを使用して/etc/systemd/logind.confおり、ふたを閉じると正常に中断します。しかし、ロック部分に関しては失われています-スクリーンセーバーサービスを有効にする必要がありlogind.confますか?2つのイベントを一度にトリガーするにはどうすればよいですか?

2
journalctl --verifyは破損を報告します
私はちょうどこのverifyオプションに気づきjournalctl、それを試してみることにしました、それは破損を示しています、何がそれを引き起こす可能性がありますか?そして、私はそれについて何をしたらいいですか?さらに調査する必要がありますか? journalctl --verify PASS: /var/log/journal/19184893a1d645c7a43729e79b10a876/user-1000.journal Invalid object contents at 3733856░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 0% File corruption detected at /var/log/journal/19184893a1d645c7a43729e79b10a876/system.journal:3733856 (of 91734016, 4%). FAIL: /var/log/journal/19184893a1d645c7a43729e79b10a876/system.journal (Bad message) Invalid object contents at 21575496░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 45% File corruption detected at /var/log/journal/19184893a1d645c7a43729e79b10a876/system@60e058db556e4de4b256d0b1ff176aa4-0000000000000001-0004e0b436d20aa1.journal:21575496 (of 44052480, 48%). FAIL: /var/log/journal/19184893a1d645c7a43729e79b10a876/system@60e058db556e4de4b256d0b1ff176aa4-0000000000000001-0004e0b436d20aa1.journal (Bad message) PASS: /var/log/journal/19184893a1d645c7a43729e79b10a876/user-1000@60e058db556e4de4b256d0b1ff176aa4-0000000000000a91-0004e0b4ff9a949a.journal PASS: /var/log/journal/19184893a1d645c7a43729e79b10a876/user-1001.journal

6
ログインすると、crng initが完了するまでハングします
Debian Unstableを実行しているラップトップでLightDMでログインするとjournalctl、メッセージが表示されるまで約2分間ハングし始めましたkernel: random: crng init done。キーボードのハング中にランダムなキーを押すと、ログインが速くなります(約10秒)。この問題が発生する前に、それを修正する方法はありますか? 編集:作品のlinux-image-4.15.0-3-amd64代わりlinux-image-4.16.0-1-amd64に使用しますが、古いカーネルを使用したくありません。

2
coredumpctlリストのクリーンアップ
の古いコアダンプの痕跡を削除する方法を探していますcoredumpctl list。現時点では、2014年12月14日以降のコアダンプが一覧表示されます。その間は頻繁にソフトウェアを更新しているため、これらの古いコアダンプが問題のデバッグに役立つとは思えません。残念ながら、ファイルを削除すると、/var/lib/systemd/coredumpcoredumpctls出力の「PRESENT」列のアスタリスクが消えるだけです。 mandumpsまたはcoredumpctlのヘルプ出力でコアダンプに関するすべての情報を削除する方法が見つかりませんでした。

1
何がsystemd-nspawnを「安全なコンテナ設定に適さない」のでしょうか?
これは、systemd-nspawnの manページに記載されています これらのセキュリティ予防措置が講じられているにもかかわらず、systemd-nspawnは安全なコンテナのセットアップには適していないことに注意してください。セキュリティ機能の多くは回避される可能性があるため、コンテナからホストシステムへの偶発的な変更を避けるために主に役立ちます。このプログラムの使用目的は、ブートとシステム管理に関連するパッケージ、ディストリビューション、およびソフトウェアの構築だけでなく、デバッグとテストです。 この質問は2011年にメーリングリストで続けて尋ねられましたが、答えは時代遅れのようです。 systemd-nspawnにはCLONE_NEWNET、--private-network現在このオプションを使用して実行するコードが含まれています。これは、プライベートカバーすると思われるAF_UNIX名前空間の問題を、と私は推測CAP_NET_RAWしてCAP_NET_BIND問題が言及しました。 この時点でどのような問題が残っており、systemd-nspawn現在できることに加えて、たとえばLXCは何をしていますか?
21 security  systemd  lxc 

2
仮想コンソールでgettyを起動するには、最小限のsystemdブートに何が必要ですか?
SysVのためにinit、私は必要/etc/inittab湧きゲッティエントリ、/sbin/initバイナリ、シェル用のバイナリおよび共有ライブラリ、login、getty、PAM /セキュリティ/影のようなもの、といくつかのデバイスファイルを。 以下のためにupstart私は、同じ要件ほとんど必要がありますが、その代わりに/etc/inittab、私はいくつか持っている*.conf下のファイル/etc/initという* .confの1:start on startupでランレベルを設定しtelinit、スタート/復活ということ、そしてそれぞれのttyのための1 * .confのgetty適切なランレベルでそのttyの上。 どのような構成とバイナリが必要ですsystemd initか? 私が見つけたドキュメントはすべて、すでにインストールされているシステムを使用してサービスを開始および停止する方法に焦点を当てているようです。 実行中のArchまたはfedoraインストールからコピーするファイル(kernel / initrdを除く)の最小限のリストは問題ありませんが、についてのそのような情報を見つけることができないようですsystemd。 私が知りたいのは、systemdinitramfsがをswitch_root呼び出した後にログインシェルを開始するために必要なファイルとそれらに含まれる必要があるファイルですsystemd /sbin/init。 たとえばupstart、バイナリと2つ*.confのファイル: ファイル/etc/init/whatever.conf: 起動時に開始 ランレベルを出力します 仕事 スクリプト telinit 2 終了スクリプト ファイル/etc/init/tty1.conf: ランレベルで開始[12345] 復活する exec / sbin / agetty -8 --noclear 38400 tty1 linux の例sysvinit、バイナリと1つのconfファイルの名前/etc/inittab: id:2:initdefault: c1:12345:respawn:/ sbin / agetty 38400 tty1 linux 今、私はsystemd同等のものの後です。 *.serviceどこかに少なくとも1つのファイルが必要で、[Service]エントリにとが含まれているExecStart=-/sbin/agetty --noclear …
21 boot  systemd 

1
テストのために、単一のsystemdタイマーペアサービスユニットを手動で実行することは可能ですか?
--user条件の下で1日1回実行するタイマー/サービスユニットセットがあります。systemctl --user statusジャーナルとともに表示され、ログに記録されますが、コマンドの一部が失敗します。 コマンド内の何かが正しく解釈されていないようです。問題をデバッグするために、ユニットファイルを使用してサービスを実行し、ログを調べたいなどです。ただし、タイマーを編集して将来の1分間をトリガーし、待機し、ログをチェックするのは退屈です。 systemctl --user execute xxxxxx.serviceまるでタイマーがトリガーされたかのようにちょっとしたことを実行するようなことができますか?
21 systemd 

5
systemctlサービスログから最新のx行を確認する方法
Debianのsystemctlサービスから最後のX行を単に印刷する方法を探しています。このコードを、印刷された最新のログエントリを使用するスクリプトにインストールしたいと思います。この投稿を見つけましたが、自分の目的に合わせて変更できませんでした。 現在、私はこのコードを使用しています。これは、ログファイルの小さな断片を提供するだけです。 journalctl --unit=my.service --since "1 hour ago" -p err 結果がどのように表示されるかを示す例として、上記のコマンドをサービスに入力して、ログの最後までスクロールします。次に、最後から300行を下からコピーします。 私の考えは、egrep exを使用することです。egrep -m 700 .しかし、私は今から運がありませんでした。

3
ドキュメント:Linuxセッションのアーキテクチャ
私は、最新のLinuxセッションに関係するデーモンとサービスのスタックを説明する優れた概要ドキュメントを探しています。dbus、およびに関するさまざまなドキュメントを読みましたsystemdが、全体像はまだわかりません。 特に、私はこれらの質問への回答を探しています(質問に答えないでください、彼らは私が探しているどんな種類のドキュメントを明確にするべきです): ログインした後、ユーザーのセッションのルートはどのプロセスですか? どのプロセスを開始する必要があり、なぜですか?Gnome、KDE、FVWM、または単純なシェルのいずれが起動されているかにかかわらず、デスクトップに依存しない回答を探しています。 これらすべてのデーモンはどのような役割を果たしますか?どれが単独で実行され、どれが他に依存しますか?誰が、誰が、どのくらいの期間開始する必要がありますか?そして、誰がその動物園を維持すべきですか? 私は右の起動後に実行しているデーモンの全体の動物園を持っていることがわかったので、私は、求めています:systemd-journald、systemd-udevd、dbus-daemon、 systemd-logind。しかし、十分ではない:これらとは別に、超軽量PDFビューアを実行すると、zathura さらにと私のセッションを移入しdbus-launch、 dbus-daemon、at-spi2-registryd、そしてat-spi-bus-launcher、後者の打ち上げさらに別のdbus-daemon。それらのどれも以前にそこにいなかったし、誰も招待されていないが、彼らは家の周りにとどまり、ログアウトするまで気味が悪い。私はここに何かが欠けていると確信しています... 別の例:ログイン後systemd、ユーザーUIDで実行していますが、それが何をすべきかわかりません(バージョン206をセッションマネージャーとして使用するはずがないと思いますか?)。子プロセス(sd-pam)がありますが、ドキュメントを見つけることができませんでした。 彼らは何をしますか?このセットアップの背後にあるアイデアは何ですか? 私の視点を明確にする:「昔」で、それは知っているのに十分だった login(私のログインシェルを起動しますbash実行、~/.profile)、およびその時点から、私は、セッションを構築する状況に応じて、多分起動し続けることができscreen、またはstartx。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.