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

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

4
ネットワークが開始する前にsystemdサービスを開始する方法は?
ネットワーク構成が格納されているマウントをセットアップする必要がある新しいサービス(Debian Jessieの下)をセットアップしようとしているため、networking.serviceが開始する前にこのサービスを完了する必要があります。 私は次を試しました: [Unit] Description=mount/repair remaining filesystems (all persistent fs beyond "/") #Before=network-pre.target Before=networking.service [Service] Type=oneshot ExecStart=/opt/intermodul-mounts/start.sh TimeoutSec=0 RemainAfterExit=yes [Install] RequiredBy=networking.service を使用systemd-analyze plotすると、サービスが開始されていることがわかりますが、networking.service約3秒早く開始されます。 どうやら私の設定は間違っていますが、問題を見つけるのに苦労しています...どんな助けも大歓迎です。 更新 私は現在、local-fs.target代わりにサービス設定を前に開始するように変更することで解決しましたnetworking.service: [Unit] DefaultDependencies=no Description=mount/repair remaining filesystems (all persistent fs beyond "/") Before=local-fs.target [Service] Type=oneshot ExecStart=/opt/intermodul-mounts/start.sh TimeoutSec=0 RemainAfterExit=yes [Install] RequiredBy=local-fs.target それでも、なぜ私の最初の構成が期待どおりに機能しなかったのか理解したいのですが...?
11 systemd 


1
ユーザーサービスを有効にできません。「D-Bus接続の取得に失敗しました:接続が拒否されました」サポート
ユーザーとしてsystemdコマンドを実行すると、このエラーが発生します。 admin@Xroklaus:~ $ systemctl --user list-units Failed to get D-Bus connection: Connection refused ユーザーパラメータがない場合、コマンドは正常に実行されます。 admin@Xroklaus:~ $ systemctl list-units UNIT LOAD ACTIVE SUB DESCRIPTION proc-sys-fs-binfmt_misc.automount loaded active waiting Arbitrary Executable File Formats File System Automount Point sys-devices-platform-soc-3f201000.serial-tty-ttyAMA0-hci0-rfkill1.device loaded active plugged /sys/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/rfkil sys-devices-platform-soc-3f201000.serial-tty-ttyAMA0-hci0.device loaded active plugged /sys/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0 ... To show all installed …

1
依存関係がアップグレードされたときにsystemdサービスを再起動する方法
Postgresデータベースを使用するプログラムを作成し、そのためのsystemdサービスファイルを作成しました。現在、私のサービスは起動時に正常に開始され、Postgresがアップグレードのために停止されると(によりapt upgrade)停止されます。ただし、アップグレードが完了してPostgresが再び起動すると、サービスが自動的に開始されません。 いくつかの依存関係を定義して、サービスを自動的に再開することはできますか? これは、Postgresのアップグレード中に自動的に停止された後の私のサービスのステータスです。 ● tabill.service - My service Loaded: loaded (/srv/tabill/tabill.service; enabled; vendor preset: enabled) Active: inactive (dead) since Tue 2017-07-04 00:29:24 EEST; 44min ago Main PID: 1048 (code=killed, signal=TERM) サービスを手動で再開することもできます。 これが私のサービスファイルです: [Unit] Description=My service Wants=nginx.service Requires=postgresql.service After=postgresql.service [Service] Type=simple ExecStart=/srv/tabill/app/serve Restart=always TimeoutSec=60 [Install] WantedBy=multi-user.target 私はとを追加してPartOf=postgresql.serviceからBindsTo=postgresql.service手動でPostgresを停止して起動しようとしましたが、どちらも役に立ちませんでした。 もちろん、を削除するRequiresこともできますが、両方が再開する場合は、両方のサービスを一緒に停止することをお勧めします。

1
systemdでJavaデーモンを構成する
私はこの定義をsystemd仕事に使用しています: [Unit] Description=Some job [Service] ExecStart=/usr/local/sbin/somejob User=dlt Type=forking [Install] WantedBy=multi-user.target スクリプトは次のように呼び出されます(tcpipソケットをリッスンし、入力をファイルに追加する単純なルーチンを呼び出します)。 #!/bin/sh cd /home/user/tmp/testout nohup java -jar /home/user/programming/tests/java/core/SocketTest/SocketTest.jar </dev/null >/dev/null & systemctl start somejobプロセスがinit親として、実行中と表示された後: user@CANTANDO ~$ ps -u dlt eo pid,ppid,command PID PPID COMMAND 8718 1 java -jar /home/user/programming/tests/java/core/SocketTest/SocketTest.jar systemctl stop somejobプロセスの実行後、表示されなくなります(ポートが閉じられます)。 だからすべてが元気でダンディに見える 私の質問は次のとおりです。これは、Javaデーモンをで実行するための許容できる解決策ですかsystemd、それとも警告、つまりこれを達成するためのより安定した安全な方法ですか?
11 systemd  java  daemon 


3
systemdのinit.dスクリプトを無効にする
raspbianインストールで、initシステムをsysvinitからsystemdに変更しました。インストールは正常に起動しますが、起動時にlightdmを開始します。私はそれをしたくありません。 lightdm.service起動時に起動することに気づきました。でサービスを停止する systemctl stop lightdm.service 正常に動作します。 systemctl disable lightdm.service それを無効にする必要がありますが、私に与えます Failed to issue method call: No such file or directory systemctl status lightdm.service くれます lightdm.service - LSB: Light Display Manager Loaded: loaded (/etc/init.d/lightdm) Active: inactive (dead) since Thu, 03 Jul 2014 09:33:00 +0000; 22min ago Process: 762 ExecStop=/etc/init.d/lightdm stop (code=exited, …

1
サービスを開始する前に/ dev / video0を待つ方法
マウントに依存するユニットファイルを記述できます。これは、それらを一覧表示してに追加できるためですRequires=xxx。 # systemctl list-units | grep data mount-data.service loaded active exited Manage the data partition 私がしようとしていることは、ウェブカメラがデバイスに接続されたときにサービスを開始させることです。systemctl list-units | grep video0何も返しません。誰かが簡単な言葉で私を説明できますか?それを確実にするために私は何をしますか?私がしたいのは、、、などが表示されたとき/dev/video0にサービスを開始/dev/video1することです。 この投稿から、udevルールを記述する必要があるという手がかりが得られましたが、ここで正確に何を行う必要があるのか​​わかりません。助けて?
11 systemd  udev 

2
systemdシステムでfstabから離れる理由はありますか?
私はArch Linuxシステムを使用しています。つまり、systemdです。 systemdには、拡張子.mountが付いたマウントポイントのネイティブユニットファイルがあります。私は常に使用してきましたが/etc/fstab、systemdがそこから情報を取得するだけなので問題はありませんでした。しかし、私は実際にドキュメントを読んだので、ネイティブのsystemdユニットファイルに変更する必要があるかどうか疑問に思っています。 Arch Wikiはfstab、初心者向けガイドにを入力するように指示しているため、メリットがないと示唆しています。
11 systemd  fstab 

1
podmanをsystemdで起動すると、なぜ別のcgroupにconmonが表示されるのですか?
与えられたpodmanはLinuxシステムとbaz.serviceという名前のsystemdユニットにインストールされています: # /etc/systemd/system/baz.service [Service] ExecStart=/usr/bin/podman run --rm --tty --name baz alpine sh -c 'while true; do date; sleep 1; done' ExecStop=/usr/bin/podman stop baz そして、baz.serviceが開始しました: # systemctl daemon-reload # systemctl start baz.service 次に、ユニットのステータスを確認すると、/ system.slice / baz.service cgroupにプロセスshまたはsleepプロセスが表示されません。 # systemctl status baz ● baz.service Loaded: loaded (/etc/systemd/system/baz.service; static; vendor preset: enabl Active: …

3
起動Debian 9エラー:「Raiseネットワークインターフェースの起動に失敗しました」
のDebian 9 Stretch起動時のデスクトップPCの新規インストール時 ... Failed to start Raise network interfaces ... エラーが発生しました。(ケーブル)LAN接続は機能しますが、(USB)WiFiが正しく機能していません(WiFiネットワークを検出していますが、接続に失敗しています)。以前は、同じハードウェアDebian 8 Jessieがインストールされ、エラーなしで正常に動作していました。 問題は最近の予測可能なネットワークインターフェイス名の変更に関連しているようです。見つかったユーザーA、B、C、D、およびEにも同様の症状がありました。ただし、Ubuntuシステムは(クリーンインストールなしで)アップグレードされていました。さらに、提案されたソリューションは、固定/予測可能/一意の名前の割り当てを無効にすることを提案しています。私は新しい命名方式/標準を維持し、最終的にそれが正しく機能しない理由(?)を見つけて排除することを望みます。 同じ問題を持つユーザーFとGも見つかりました-解決策はありません。 ヒントがあればとてもありがたいです。また、さらに詳しい情報が必要な場合は、喜んでお答えします。 さらに、いくつかの詳細なシステム出力が見つかります。 $ sudo systemctl status networking.service ● networking.service - Raise network interfaces Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Mon 2017-09-04 17:21:42 IST; 1h 27min ago Docs: man:interfaces(5) …

2
systemdでプロセスの停止と開始の間に遅延を追加する
で本当に奇妙な問題がありsystemdます。私が発行するsystemctl restartと、前のプロセスが完了する前に新しいプロセスが開始されます。 これは、起動メッセージ(「開始ログ」)の後に最後のシャットダウンメッセージ(「終了ログ」)が記録されるログで確認できます。 プロセスの停止と開始の間に遅延を追加する方法はありますか?
10 systemd  services 

1
systemctlはサービスの再起動時にタイムアウトを維持します
CentOS 7.2を実行しています。下記参照: # systemctl stop firewalld Error getting authority: Error initializing authority: Error calling StartServiceByName for org.freedesktop.PolicyKit1: Timeout was reached (g-io-error-quark, 24) Failed to stop firewalld.service: Connection timed out Failed to get load state of firewalld.service: Connection timed out journalctl 次のエラーを報告するだけです: [system] Failed to activate service 'org.freedesktop.PolicyKit1': timed out Ubuntuのこのバグと、RHEL …

1
sdwdateを使用しているときにsystemdジャーナルのsystemdの「時刻が変更されました」メッセージスパムを無効にする方法
デフォルトでsystemdを使用するDebianストレッチとsdwdate(Slow Clock Adjuster(gh)を使用)の併用により、システムクロックが頻繁に変更されます。 その結果journalctl -f、無限にスパム送信されます。 [...] Nov 07 13:46:49 host systemd[766]: Time has been changed Nov 07 13:46:50 host systemd[766]: Time has been changed Nov 07 13:46:51 host systemd[766]: Time has been changed [...] これは、sysvinitを使用したDebian wheezyの問題ではありませんでした。 Time has been changedメッセージをジャーナルに送信しないようにsystemdを構成するにはどうすればよいですか? 関連質問Debian jessieの/ var / log / syslogでsystemdの「時刻が変更されました」というメッセージスパムを無効にする方法は?解決されましたが、その解決策はここでは機能しません。
10 systemd 

3
systemd-networkdでは、ネットワーク構成の変更時にアクションを実行します
Debianからに切り替えていますifupdownがsystemd-networkd、ほとんど問題なく動作します。足りない点の1つは、ネットワークが変更されるたびにを呼び出しkillall -ARLM tincて、VPNがタイムリーに稼働するようにすることです。 systemdそのsystemd-networkdような機能はありますか、または提供していますか?どうやって使うの?

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