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

systemdは、従来のLinux initの最新の代替品です。その主な機能には、サービス間の依存関係を表現する機能と、サービス起動の積極的な並列化が含まれます。


1
非rootユーザーによるサービスの再開を許可する
バックグラウンド : 私はと呼ばれるアプリを作成myappしてをSpring-boot。自己実行可能なjarで構成され、systemdサービスと互換性があります。今、私はそれをジェンキンスと統合しようとしています。 私が欲しいもの: 私はジェンキンにできることをしたい: サービスを停止します。 jarを交換します。 サービスを再起動します。 問題: 今までは、sudoerのみがサービスを開始/停止できます。私はジェンキンスが愚か者になりたくない(それは厄介なようだ)。 現在の構造: フォルダーを持っているユーザーmyappがい/home/myappます。生成されたjarが呼び出されmyapp、に配置され/home/myappます。ユーザーmyappは、生成されたjarの所有者です。 myapp@myserver:~/backend$ ll total 53900 drwxrwxr-x 2 myapp myapp 4096 Apr 25 17:09 ./ drwxr-xr-x 6 myapp myapp 4096 Apr 25 17:08 ../ -rw-rw-r-- 1 myapp myapp 511 Apr 20 16:13 application.properties -rwxr--r-- 1 myapp myapp 55175294 Apr 20 …
27 systemd  jenkins 

5
systemdを使用したUSBドライブの自動マウント
私たちは、lightdm / xfce、もちろんsystemd(およびudisks2)を含む、非常に古いディストリビューションから最新のDebian Jessieベースのシステムにサーバーを更新しています。1つの問題点は、USBドライブの自動マウントです。以前はいくつかのudevルールでこれを達成していました。古いルールはほとんど機能します-マウントポイントが作成され、ドライブが正常にマウントされますが、数秒後にsystemdがマウントを壊す何かをしているため、その後のアクセス試行は「トランスポートエンドポイントが接続されていません」エラーになります。 コマンドラインを使用してドライブを手動でマウントすると正常に機能します。また、ファイルマネージャー(thunarおよびthunar-volman、順番にudisks2を使用)も許可します。しかし、これらは実行可能なオプションではありません-これらのシステムはほとんどヘッドレスで実行されるため、thunarは通常実行されません。cronベースの無人バックアップ用にディスクドライブを接続できる必要があります。 udevスクリプトを変更してマウントを実行する前に数秒待機するデタッチされたジョブを生成するとうまくいくかもしれないと思いましたが、systemdはこれを防ぐために邪魔にならないようです-それはどういうわけかデタッチされたジョブが完了する前に待つ続きます。 おそらく、udevスクリプトにudisks2をくすぐらせるのが正しい方法でしょうか?私は迷っているので、アドバイスは大歓迎です。

3
CentOS 7でsystemdによって起動されるプロセスのnprocを増やす
ローカルユーザーのnofileとnprocの値を増やすことに成功しましたが、systemdによって起動されたプロセスの適切なソリューションが見つかりませんでした。max_open_filesをMariaDB構成に追加しても役に立ちません。su-制限を手動で変更するmysqlも機能しません(このアカウントは現在利用できません)。 /etc/security/limits.conf * soft nofile 102400 * hard nofile 102400 * soft nproc 10240 * hard nproc 10240 /etc/security/limits.d/20-nproc.conf(ディレクトリに他のファイルは存在しません) * soft nofile 102400 * hard nofile 102400 * soft nproc 10240 * hard nproc 10240 /etc/sysctl.conf fs.file-max = 2097152 /etc/pam.d/system-auth #%PAM-1.0 # This file is auto-generated. # User changes will …

3
アップストリームユニットファイルを変更せずにsystemdユニットファイルを変更する
を使用してpimdサービスをインストールしましたapt。これには、アップストリームsystemdユニットファイル(/lib/systemd/system/pimd.service)が付属しています。 何らかの理由で強制終了されたときにサービスを再起動したいのでRestart = always、ユニットファイルに行を追加したいと思います。 ただし、アップストリームユニットファイルを変更する必要はありません。 これに対する回避策はありますか?
24 systemd 

4
サービス開始要求が速すぎるため、制限の開始を拒否しました
次のエラーを表示するsystemdサービスがあります service start request repeated too quickly, refusing to start サービスは障害時に再起動するように構成されており、何度も再起動することを理解しています。しかし、いつ再起動を拒否するのですか?それを定義する制限または数はありますか? さらに、too quickly正確に何を意味するのか、それは一定期間内の再起動回数の制限ですか?
23 linux  systemd 

2
古いjournalctlログをどのように表示しますか(ローテーション後でしょうか?)
ubuntu 16.04でdockerを実行していますが、ログを表示したいと思います。ただし、何らかのローテーションまたはログが特定のサイズに拡大したと推測した後、ログを表示できません。 journald.confに変更を加えていないため、デフォルトを使用しています。 私が見ているものの例: systemctl docker statusサービスがアクティブであることを確認しsince Thu 2016-10-13 18:56:28 UTCます。 ただし、次のようなものを実行するとjournalctl -u docker.service --until "2016-10-13 22:00"-唯一の出力は-- Logs begin at Fri 2016-10-14 01:18:49 UTC, end at Fri 2016-10-14 16:18:25 UTC. --、その範囲のログを期待どおりに表示できることです。 私の質問は、journalctlを使用して古いログを表示できないのはなぜですか?この問題を修正してログを表示するにはどうすればよいですか?

3
systemdのjournalctlパターンをどのように使用しますか
でjournalctlパターンマッチングを使用しようとしていますSYSLOG_IDENTIFIERS。例として、タグ付けされた大量のメッセージがありますsshd: $ journalctl -t sshd | wc -l 987 しかし、パターンマッチングを使用してそれらを見つけようとすると: $ journalctl -t 'ssh*' -- No Entries -- $ journalctl -t 'ssh.*' -- No Entries -- journalctlのmanページには、パターンが機能するはずであると書かれていますが、systemdでパターンがどのように使用/定義されているかについては他に何も見つかりません。 $ man journalctl .... -t, --identifier=SYSLOG_IDENTIFIER|PATTERN Show messages for the specified syslog identifier SYSLOG_IDENTIFIER, or for any of the messages with a "SYSLOG_IDENTIFIER" …

4
ルートアクセスで実行するためのSystemdサービスの構成
Raspbian JessieのSystemdでセットアップされたnode.jsアプリケーションの形式のサービスがあり、独自のユーザーアカウントを使用しています。ただし、必要なアクセス許可がないため、サービスが正しく実行されないことがわかりました。インストールしたノードモジュールの1つにルートアクセスが必要です。sudoを使用してアプリケーションを手動で実行すると、すべて正常に動作します。 systemdにsudoでサービスを実行するように指示する方法はありますか?

2
SIGKILLを介して終了するようにバグのあるsystemdサービスを構成する
バックグラウンド systemd新しいサービスのスクリプトを作成するように依頼されました。これはfoo_daemon、「悪い状態」になることもあり、経由しないこともありますSIGTERM(カスタムシグナルハンドラのせいで)。これは、次の方法でサービスを開始/停止/再起動するように指示されているため、開発者にとって問題です。 systemctl start foo_daemon.service systemctl stop foo_daemon.service systemctl restart foo_daemon.service 問題 時には、foo_daemon悪い状態になるために、強制的に強制終了する必要があります: systemctl kill -s KILL foo_daemon.service 質問 どのようにすることができますが、私のセットアップ私のsystemdためのスクリプトをfoo_daemonするように、停止へのユーザーの試みは/サービスを再起動するたびに、systemd以下となります。 foo_daemonviaの正常なシャットダウンを試みSIGTERMます。 シャットダウン/終了がfoo_daemon完了するまで最大2秒かかります。 プロセスがまだ有効な場合は、foo_daemonviaの強制シャットダウンを試行しSIGKILLます(したがって、PIDがリサイクルされたり、間違ったPIDに対してsystemd問題が発生するリスクはありませんSIGKILL)。私たちがテストしているデバイスは、多数のプロセスを迅速に生成/分岐するため、PIDリサイクルが問題の原因となることはめったにありませんが、非常に現実的な懸念があります。 実際に、PIDのリサイクルについて単に妄想しているだけであれば、スクリプトはSIGKILL、リサイクルされたPIDを殺すことを心配せずに、プロセスのPIDに対して発行するだけで構いません。

3
systemd:特定のサービスを変更するための権限のないユーザーのアクセス許可を付与します
ヘッドレスLinuxボックスでプライベートゲームサーバーを実行しています。私はばかではないので、サーバーは更新をダウンロードしてワールドデータベースを変更するために必要な最低限のアクセス権を持つ、独自の非特権ユーザーとして実行されています。 また、必要に応じてサーバーを適切に起動、停止、および再起動するためのsystemdユニットファイルを作成しました(たとえば、上記の更新のため)。 ただし、実際に呼び出すために systemctlまたはservice <game> start/stop/restart私はまだルートまたはいずれかとしてログインする必要がsudo可能なユーザ。 systemdに、<game>サービスに対して、非特権ユーザーgamesrvがstart / stop / restartコマンドの実行を許可されていることを通知する方法はありますか?
20 linux  systemd 

4
Systemd:別のユニットが本当に起動した後にユニットを起動します
私の特定のケースではremote-fs、すべてがglusterfs完全に起動した後にユニットを起動します。 私のsystemdファイル: glusterfs ターゲット: node04:/usr/lib/systemd/system # cat glusterfsd.service [Unit] Description=GlusterFS brick processes (stopping only) After=network.target glusterd.service [Service] Type=oneshot ExecStart=/bin/true RemainAfterExit=yes ExecStop=/bin/sh -c "/bin/killall --wait glusterfsd || /bin/true" ExecReload=/bin/sh -c "/bin/killall -HUP glusterfsd || /bin/true" [Install] WantedBy=multi-user.target remote-fs ターゲット: node04:/usr/lib/systemd/system # cat remote-fs.target [Unit] Description=Remote File Systems Documentation=man:systemd.special(7) Requires=glusterfsd.service After=glusterfsd.service remote-fs-pre.target …
20 nfs  glusterfs  systemd 

1
systemdユニットを別のユニットで起動および停止する方法は?
CoreOSを使用して、フリートでsystemdユニットをスケジュールしています。私は2つのユニットを持っている(firehose.serviceとfirehose-announce.service私が取得しようとしています。firehose-announce.service一緒に起動・停止するfirehose.service。ここのユニットファイルです。firehose-announce.service: [Unit] Description=Firehose etcd announcer BindsTo=firehose@%i.service After=firehose@%i.service Requires=firehose@%i.service [Service] EnvironmentFile=/etc/environment TimeoutStartSec=30s ExecStartPre=/bin/sh -c 'sleep 1' ExecStart=/bin/sh -c "port=$(docker inspect -f '{{range $i, $e := .NetworkSettings.Ports }}{{$p := index $e 0}}{{$p.HostPort}}{{end}}' firehose-%i); echo -n \"Adding socket $COREOS_PRIVATE_IPV4:$port/tcp to /firehose/upstream/firehose-%i\"; while netstat -lnt | grep :$port >/dev/null; do etcdctl set /firehose/upstream/firehose-%i $COREOS_PRIVATE_IPV4:$port …
20 systemd  coreos 

4
Systemdの依存関係と起動順序
プロセスを開始するためのブート順序を指定する必要があります。Fedora 18で389のDirectory ServerとSambaを実行しています。ネットワークサービス、389 DS、Sambaを起動するにはどうすればよいですか?Fedoraでこれを管理するGUIはありますか? Sambaをで開始できるようにしましたsystemctl enable smb.service。で389 DSも有効にしましたsystemctl enable dirsrv.target。
20 linux  fedora  systemd 

3
Debian Jessieシステムのホスト名を設定する方法は?
Debian Jessieにはが付属していsystemdます。ホスト名を設定するための推奨事項は、systemdにhostnamectlを使用することです。ただし、EC2でブートされたDebian Jessie イメージでは、このコマンドは機能しません(現在のホスト名を表示する場合でも)。 sudo hostnamectl sudo: unable to resolve host ip-172-30-0-17 Failed to create bus connection: No such file or directory そこで、ここでDebianの推奨を進めようとしました。 echo "myhostname" > /etc/hostname echo "127.0.0.1 myhostname" >> /etc/hosts /etc/init.d/hostname.sh start /etc/init.d/networking force-reload ただし、ログアウトして再度ログインした後、ホスト名は変更されません。ただし、再起動後に変更されますが、それは望ましくありません。 この方法は、Debian Wheezyで使用されていました。 これを正しくするための助けをいただければ幸いです。

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