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

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

2
journalctlの選択可能なユニットのリスト
CentOS 7サーバーで、journalctlログを生成できる選択可能なユニットのリストを取得したい。これを達成するために次のコードを変更するにはどうすればよいですか? journalctl --output=json-pretty | grep -f UNIT | sort -u CentOS 7ターミナルでは、上記のコードはを生成しgrep: UNIT: No such file or directoryます。 編集: 次のJavaプログラムは、目的のgrepからの出力を出力せずに終了しています。ターミナルバージョンに加えてjavaプログラムが動作するように、どうすれば変更できますか? String s; Process p; String[] cmd = {"journalctl --output=json-pretty ","grep UNIT ","sort -u"}; try { p = Runtime.getRuntime().exec(cmd); BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); while ((s = br.readLine()) != …
18 grep  systemd 

1
journalctlの変更をリッスンする
通常tail -f /var/log/messages、新しい行がある場合は更新を取得するために使用します。 どのようにのために同様の機能を持っていますかjournalctl?
18 logs  systemd 

3
chrony vs. systemd-timesyncd – NTPクライアントとしての違いとユースケースは何ですか?
どういうわけか、「ntpd vs. systemd-timesyncd-信頼性の高いNTP同期を実現する方法」という古い質問に基づいているわけではありません。、NTP クライアントに関してchronyとsystemd-timesyncdの違いについてお聞きしたいと思います。 systemd-timesyncdは多かれ少なかれ最小のntpクライアント実装であり、chronyはたまたまNTPクライアントを含む完全なNTPデーモンソリューションであることを知っています。 ubuntu Bionic Beaverリリースノートには次のように記載されています。 単純な時間同期のニーズのために、ベースシステムにはsystemd-timesyncdがすでに付属しています。Chronyは、タイムサーバーとして機能する場合、または広告をより正確かつ効率的に同期する場合にのみ必要です。 私は最小限のプリインストールされたツールを使用して仕事をするというアイデアが好きで、systemd-timesyncdが私のユースケースのために仕事をすることはかなり確信していますが、それでも私は興味があります: 精度の点で2つの現実の違いは何ですか? 効率の違いは何ですか? 「単純ではない」時刻同期には、NTPクライアントとしてのchronyの別名であるユースケースが必要ですか?
18 systemd  ntp  chrony 

1
systemdタイマーユニットを無効にする正しい方法はどれですか?
cronジョブのいくつかをsystemdに正常に移行しました。私はいくつかのガイドに従って、3つのファイルを作成する標準的なアプローチを取りました。 myjob.timer - systemd timer unit myjob.service - systemd service unit myjob.sh おそらく推測できるように、特定の時間にmyjob.timerがトリガーされ、myjob.serviceが実行され、myjob.serviceがmyjob.shを実行します。 すべてのタイマーに同じセットアップを使用し、すべてが正常に機能していることが確認できたので、myjob.timerを無効にします。これは単なるテスターです。 私はただやるのですか: systemctl --user disable myjob.timer または私もする必要があります: systemctl --user disable myjob.service 正しいことは何ですか?私はsystemdが初めてなので、適切な方法で物事を行う方法を学びたいです。システムを過剰な荷物が走らないようにするために、両方のユニットを無効にするのが正しいと思います。

2
環境設定された実行可能パスを使用してsystemdユニットファイルを作成する
Javaアプリケーション用のsystemdユニットファイルを作成していますが、起動に使用するJavaのバージョンを制御したいと思います。私の(簡略化された)サービスファイルは [Service] Type=simple EnvironmentFile=%h/Documents/apps/app/app-%i/app.cfg ExecStart=${JAVA_HOME}/bin/java ${JAVA_OPTS} -jar %h/Documents/apps/app/app-%i/myapp.jar SuccessExitStatus=143 起動しようとするとエラーが返されます Apr 28 12:43:37 rombert systemd[1613]: [/home/robert/.config/systemd/user/app@.service:7] Executable path is not absolute, ignoring: ${JAVA_HOME}/bin/java ${JAVA_OPT Apr 28 12:43:37 rombert systemd[1613]: app@1.0.0.service lacks both ExecStart= and ExecStop= setting. Refusing. 私はそれJAVA_HOMEが正しく設定されていることを知っています。ExecStart最初に行を変更してから/usr/bin/java、それを-DsomeOption=${JAVA_HOME}うまく追加できるように追加すると、 明らかな回避策はラッパースクリプトを作成することですが、サービスファイルを使用するポイントを無効にすると感じています。 ユニットファイルを使用してJavaアプリケーションのJAVA_HOMEを設定するにはどうすればよいですか?
17 systemd  java 

2
systemdユーザーサービスを実行して、スリープ(別名、サスペンド、休止状態)でトリガーする方法は?
さまざまなソースに基づいて、私は一緒に石畳をしました~/.config/systemd/user/screenlock.service: [Unit] Description=Lock X session Before=sleep.target [Service] Environment=DISPLAY=:0 ExecStart=/usr/bin/xautolock -locknow [Install] WantedBy=sleep.target を使用して有効にしましたsystemctl --user enable screenlock.service。ただし、再起動、ログイン、サスペンド、および再開後(systemctl suspend蓋を閉めた状態と閉めた状態の両方でテスト)、画面はロックされず、には何もありませんjournalctl --user-unit screenlock.service。何が間違っていますか? 実行DISPLAY=:0 /usr/bin/xautolock -locknowすると、期待どおりに画面がロックされます。 $ systemctl --version systemd 215 +PAM -AUDIT -SELINUX -IMA -SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ +SECCOMP -APPARMOR $ awesome --version awesome v3.5.5 (Kansas City Shuffle) • Build: Apr 11 …

3
rsyslogがロギングしていません
これは奇妙な問題です。 RHEL7 VMでchrony / ntpサービスをテストし、その時間とホストの時間をリセットしていました。それに満足したら、私はそれをチェック/var/log/messagesし、しばらくの間変更されていないことに気付きました。 現在、rsyslogサービス自体を再起動する場合を除いて、何を実行しても何も記録されません。私がこれを取得するとき: Apr 15 13:59:43 mymachine1 rsyslogd: [origin software="rsyslogd" swVersion="7.4.2" x-pid="2847" x-info="http://www.rsyslog.com"] exiting on signal 2. Apr 15 13:59:59 mymachine1 rsyslogd: [origin software="rsyslogd" swVersion="7.4.2" x-pid="2853" x-info="http://www.rsyslog.com"] start Apr 15 14:00:11 mymachine1 rsyslogd-3000: sd_journal_get_cursor() failed: 'Cannot assign requested address' logger test記録しないなどのことを試してみてください。rsyslog自身のメッセージ以外は何もありません。-n -N1引数としてrsyslogを手動で実行すると、次のようになります: rsyslogd: version 7.4.2, config validation …

1
Systemd:最初に失敗した場合に「ワンショット」サービスが再試行されることを保証する方法は?
systemdサービスのマンページを数回読んだことがありますが、基本的なsystemdパターンはまだわかりません。 起動時に1回(ドッカーコンテナーのように、またはドライブをフォーマットして)起動プロセスを1回実行し、正常に完了したい。しかし、そのためにType = oneshotを使用する場合、Restart = on-failureを使用できません。また、失敗した場合、ジョブを再試行しません。ここで明らかな何かを見逃していますか? また、Restart = on-failureでType = simpleを設定しようとしましたが、多くの場合、oneshotサービスが提供する次の動作(マンページから)が必要です。 ワンショットの動作は単純に似ています。ただし、systemdがフォローアップユニットを開始する前にプロセスを終了する必要があります。 更新: 関連するアップストリームsystemdバグ。 また、RemainAfterExitセマンティクスも必要です
17 systemd 


2
hostnamectlコマンドのポイントは何ですか?
/ etc / hostnameを編集するのとは対照的に、または関連する場所はどこですか? 正当な理由があるはずです(私は願っています)-一般に、私はすべてがテキストファイルである「古い」方法を好みます。私は論争しようとはしていません-本当に知りたい、そしてそれが正当な理由かどうかを自分で決めたいです。ありがとう。

3
_ sudo systemctl edit [unit-file] _のデフォルトエディターをvimに変更
[Xorg上のgnome3とgdmを使用した4.13.12-1-ARCH] 既にVISUALおよびEDITOR env-varsをに設定していますvim。同様にSYSTEMD_EDITOR="vim"; export SYSTEMD_EDITOR 、〜/ .bashrcを試してみましたが、役に立ちませんでした。 Arch(systemd)でユニットファイルを変更する場合 $ sudo systemctl edit _unit_ じっと見つめていnanoます。人生は短すぎて、どうしても欲しいvim。どうすればいいですか?
17 systemd  vim  editors 

1
systemdターゲットを作成する方法は?
systemdの問題に関する多くの投稿、Youtubeビデオ、および「ドキュメント」を十分に検索した後、私はまだ途方に暮れています。 リンク(https://wiki.archlinux.org/index.php/systemd#Create_custom_target)は有望であるように見えましたが、少し曖昧でした(私には)。 質問 select .serviceユニットで起動できるように、カスタムsystemdターゲット(IE:foo.target)を作成するにはどうすればよいですか? 例 システムがdefault.targetを起動します(「foo.target」のシンボリックリンク) 「foo.target」は、「gvim」など、最低限のXサーバーとGUIプログラムのみを起動します。 理由 1つのXプログラムをすばやく起動するためのカスタムターゲットを作成するだけです。不要なすべてのサービスを除外すると便利です。 前もって感謝します!

2
Debian Jessie 8.2でsshに動的な今日のメッセージ(motd)を設定する方法は?
動的なmotdが欲しいのですが、どうすればいいのかわかりません。 私は追加して、私が見つけたもの試してみました/etc/update-motd.d/00-header、10-sysinfo、90-footer、とにシンボリックリンク/etc/motd /var/run/motd.dynamic、/run/motd.dynamic、/run/motdまたは/var/run/motd。 私はこれらの行を持っています/etc/pam.d/sshd: # Print the message of the day upon successful login. # This includes a dynamically generated part from /run/motd.dynamic # and a static (admin-editable) part from /etc/motd. session optional pam_motd.so motd=/run/motd.dynamic session optional pam_motd.so noupdate また、systemdと混同しています。 これを行う方法はありますか?誰かが簡単な幸運の例を提供できますか?
16 debian  ssh  systemd  motd 

3
システムユニットに依存するSystemdユーザーユニット(sleep.target)
私はドキュメントを読んでいましたが、次のことが達成できるかどうかはまだわかりません: ~/.config/systemd/user/task.serviceその中で定義されているサービスはシステムに依存しますsleep.target(~/.config/systemd/user/sleep.target.wants/task.service)。 今task.service、私は実行時に開始する予定ですが$ systemctl suspend、task.service開始されていません。 私は、Debianを実行しており、systemdバージョン208でsystemd --user、ArchWikiで説明されているように設定されています。 私は私のシナリオがすべてでsystemdにして実施、またはあることができるかどうかを疑問に思う--systemと--userなるように完全に設計により単離さ--userユニットはの依存性ではないかもしれない--systemユニット。 可能であれば、私の場合の問題は何ですか?
16 systemd 

2
systemdサービスでの起動中にパスワードを要求する
これはArch Linux(およびおそらくを使用する他のディストリビューション)に関連していsystemdます。ブート時にTrueCryptパーティションをマウントしたい。古いものではsysvinit、これはによって呼ばれるスクリプトでかなり簡単でしたrc.local。 私はArchフォーラムスレッドをハイジャックすることで現在に達しました。別のありますスレッドこのsystemdに-develのスレッドがしかし、それが実際にあるものを私には明らかではありません、そしてOPは彼が彼の目標を達成することができなかったことを示す最後のポストを持っている「ソリューションを持つ」との話されては。 その見た目から、この人はそれをやっていますが、パスワードを入力している間、継続的なブートメッセージをオフにする方法を探していました。私はそこに投稿し、彼に実際の.serviceファイルを投稿するように頼みました。 かなりの検索で、人々は成功している、または可能であると述べていますが、解決策が何であったかを正確に述べてはいけません。 systemdサービスを介してコマンドラインからパーティションのロックを解除できる限り(これにより、シャットダウン/再起動時に自動的にマウントを解除できるようになります)、ログイン後に手動で行う必要があります。 dブートプロセスが一時停止してパスワードを要求されるのが本当に好きです。 現在のスクリプトは次のとおりです。 [Unit] Description=Truecrypt Setup for vault #DefaultDependencies=no #Conflicts=umount.target #Before=umount.target #After=systemd-readahead-collect.service systemd-readahead-replay.service #After=cryptsetup.target [Service] Type=oneshot RemainAfterExit=yes #StandardInput=tty-force ExecStart=/bin/sh -c '/usr/bin/truecrypt -t --protect-hidden=no -k "" --filesystem=none --slot=1 -p `systemd-ask-password "Enter password for truecrypt volume: "` /dev/sda4' ExecStop=/usr/bin/truecrypt --filesystem=none -d /dev/sda4 [Install] WantedBy=multi-user.target [Unit]ある時点で、そこにあるべきだという提案に出くわしたので、コメントを残しましたが、問題がありました。上記は、起動/ログイン後でも正常に動作するようです...

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