最新記事

Systemdがターゲットユニットを再び隔離するように強制する
linux
debian
ubuntu
systemd

Systemdがターゲットユニットを再び隔離するように強制する

私の目標は、コマンドを使用してグラフィカルターゲットデバイスをプログラムで再実行することですsystemctl。 thisが利用可能であることを知っていますが、sudo systemctl isolate graphical.targetグラフィックターゲットがすでに有効になっている場合、このアプローチは機能しないようです。 現在アクティブな場合でも、グラフィックターゲットデバイスをきちんと起動する方法についてのガイドラインを探しています。 たとえば、systemdグラフを再起動する前にすべてのターゲットプロセス(+その他)を強制終了するコマンドです。システムを再起動したのとほぼ同じです。 これを達成するために、まず構造体に切り替えてからグラフisolateに戻ります。より良い解決策はありますか?

Admin

systemd サービスファイルで Apache Superset を実行しても機能しません。エラー:Flaskアプリケーションが見つかりません。
systemd

systemd サービスファイルで Apache Superset を実行しても機能しません。エラー:Flaskアプリケーションが見つかりません。

Linuxでbashスクリプトを作成するのは初めてです。 Apache Supersetダッシュボードをインストールして設定するためのbashスクリプトを生成したいと思います。これを使用して、問題なくすべての依存関係と要件をインストールしました。これで問題は、サービスがバックグラウンドで実行されるようにApache Superset用のシステムサービスファイルを生成することです。このコマンドを実行すると、SSHを介してインスタンスに接続している間のみ持続します。 superset run -h 0.0.0.0 -p 8088 --with-threads --reload --debugger 接続を閉じると、親セットの実行が停止します。 これがApache Superset用のシステムサービスファイルを生成したい理由です。 以下は、systemdを生成するbashスクリプトの一部です。 cat < Aug 18 03:11:28 ip-172-31-122-121 systemd[1]: superset.service: Main process exited, code=exited, status=2/INVALIDARGUMENT Aug 18 03:11:28 ip-172-31-122-121 systemd[1]: superset.service: Failed with result 'exit-code'. Aug 18 03:11:28 ip-172-31-122-121 systemd[1]: superset.service: Scheduled restart job, restart counter is at 1. Aug 18 03:11:28 ip-172-31-122-121 systemd[1]: Stopped Apache Superset service. Aug 18 03:11:28 ip-172-31-122-121 systemd[1]: Started Apache Superset service. このコードはすでにbashスクリプトにありますexport FLASK_APP=superset。私が何を見逃しているのかわかりません。それともこれを設定する他の方法はありますか? ちなみに、Amazon EC2インスタンスのUbuntuバージョンは20.04です。

Admin

サービスのすべてのサブプロセスが同じOOMスコア調整に従うようにする方法
debian
systemd
out-of-memory

サービスのすべてのサブプロセスが同じOOMスコア調整に従うようにする方法

私はインストールしましたボンケアイドルCPUは多いが、利用可能なメモリはほとんどないDebian 11システムで。時にはOOMキラーが介入し、忙しいBOINCプロセス以外のプロセスを常に終了します。 使ったOOMSスコア調整BOINC サービスユニットおよび維持する他のサービスでは、procfs の oom_adj スコアは、これが子プロセスに伝播されないことを示しています。したがって、BOINCによって生成された実際のメモリ消費プロセスは、私のプロセスと同様に、まだスコア0です。保存したいです。 システム構成のみを使用して、目的のOOMスコア調整をどのように伝播できますか?今回がインストールを行う唯一の機会です。朝そして、oom Killerが間違ったプロセスを終了する前にboincプロセスに介入するように設定しますか?

Admin

systemd DynamicUser = GNU Mailutilsを使用するサービスユニットで使用できますか?
systemd

systemd DynamicUser = GNU Mailutilsを使用するサービスユニットで使用できますか?

私はsystemd 253.5を使用していますが、私の目標はDynamicUser=GNU Mailutils 3.15を使用してこのコマンドを介してmail電子メールを送信することです。 [[email protected]:~]# systemctl cat [email protected] # /etc/systemd/system/[email protected] [Unit] After=network.target Description=Unit Status Mail Notifier [Service] Environment="LOCALE_ARCHIVE=/nix/store/5l0qzzkb3r3yxygdq3688fjcc18lwg3j-glibc-locales-2.37-8/lib/locale/locale-archive" Environment="PATH=/nix/store/n0wyrb99dxinh0y6rjixmqdgvbm57fa6-mailutils-3.15/bin:/nix/store/f11ibsj5vmqcy8ihfa8mzvpfs4af7cw5-coreutils-9.1/bin:/nix/store/jvh4fbqfxwwn162k5hb8ndc4h5555wfa-findutils-4.9.0/bin:/nix/store/rn5b13lbsslbvmmbqnqxdcagzqp4435w-gnugrep-3.7/bin:/nix/store/w64nwxs3r6cyqgy6ssxib5i2r6k8yfc2-gnused-4.9/bin:/nix/store/8lgs0dqh9ks1164fp4g14gq7w1ihjbf0-systemd-253.5/bin:/nix/store/n0wyrb99dxinh0y6rjixmqdgvbm57fa6-mailutils-3.15/sbin:/nix/store/f11ibsj5vmqcy8ihfa8mzvpfs4af7cw5-coreutils-9.1/sbin:/nix/store/jvh4fbqfxwwn162k5hb8ndc4h5555wfa-findutils-4.9.0/sbin:/nix/store/rn5b13lbsslbvmmbqnqxdcagzqp4435w-gnugrep-3.7/sbin:/nix/store/w64nwxs3r6cyqgy6ssxib5i2r6k8yfc2-gnused-4.9/sbin:/nix/store/8lgs0dqh9ks1164fp4g14gq7w1ihjbf0-systemd-253.5/sbin" Environment="TZDIR=/nix/store/4faw3w020cjxvd1dnxhg73mi10wcxvpw-tzdata-2023c/share/zoneinfo" CapabilityBoundingSet= ExecStart=/nix/store/1asmwq09fdn42k8rw09ps3jwsq6b0pqf-unit-status-mail/bin/unit-status-mail "[email protected]" "[email protected]" %I \ " Pretty hostname: Server 1" \ " Authoritative FQDN: server1.example.com" \ " Machine ID: %m" \ " Boot ID: %b" IPAddressDeny=any LockPersonality=true MemoryDenyWriteExecute=true PrivateDevices=true PrivateNetwork=true PrivateTmp=true ProtectControlGroups=true ProtectHostname=true ProtectKernelModules=true ProtectKernelTunables=true ProtectSystem=strict RemoveIPC=true RestrictAddressFamilies=AF_UNIX RestrictNamespaces=true RestrictRealtime=true RestrictSUIDSGID=true SystemCallArchitectures=native SystemCallErrorNumber=EPERM SystemCallFilter=@system-service SystemCallFilter=~@privileged SystemCallFilter=~@resources Type=simple UMask=0077 [[email protected]:~]# cat /nix/store/1asmwq09fdn42k8rw09ps3jwsq6b0pqf-unit-status-mail/bin/unit-status-mail #!/nix/store/7q1b1bsmxi91zci6g8714rcljl620y7f-bash-5.2-p15/bin/bash MAILTO="$1" MAILFROM="$2" UNIT="$3" EXTRA="" for e in "${@:4}"; do EXTRA+="$e"$'\n' done UNITSTATUS="$(systemctl status $UNIT)" mail \ --content-type 'text/plain; charset=utf-8' \ --append=From:"$MAILFROM" \ --subject="Status for unit: $UNIT" \ "$MAILTO" <

Admin

종료 중에는 systemd를 제거할 수 없습니다.
debian
systemd

종료 중에는 systemd를 제거할 수 없습니다.

처음에 컴퓨터를 종료할 때 다음 메시지가 표시되었습니다. Job usere1000.service/stop running (59s / no Limit): User job app-gnome-yandexx2ddisk-1908.scope/stop running (58s / no limit)... 그런 다음 설정했습니다 KillUserProcesses=yes. /etc/systemd/logind.conf이제 컴퓨터가 먼저 종료되지만 오류가 보고됩니다. Failed unmounting media-ismail-SSDWorking.mount - /media/ismail/SSDWorking. 그런데 Yandex.Disk데몬을 통한 동기화는 이전에 메시지를 발행한 이 SSD(/media/ismail/SSDWorking)에 있습니다. 어쩌면 내 시스템이 제거하기 전에 프로세스를 종료하지 않기 때문일 수도 있습니다(잘 모르겠습니다). 업데이트 1: 나는 /run/systemd/generator/media-ismail-SSDWorking.mount다음을 발견했습니다 : # Automatically generated by systemd-fstab-generator [Unit] Documentation=man:fstab(5) man:systemd-fstab-generator(8) SourcePath=/etc/fstab After=blockdev@dev-disk-by\x2dlabel-SSDWorking.target [Mount] What=/dev/disk/by-label/SSDWorking Where=/media/ismail/SSDWorking Options=nosuid,nodev,nofail,x-gvfs-show app-gnome-yandexx2ddisk-1908.scope추가 하면 어떨까 생각했는데After=systemd-fstab-generator 제거를 위해그러면 문제가 해결될 수도 있습니다. 업데이트 2: $ systemd-umount /dev/sda1 $ journalctl -xe A stop job for unit media-ismail-SSDWorking.mount has begun execution. ░░ ░░ The job identifier is 3897. Jul 07 12:38:22 debian-i5 umount[10089]: umount: /media/ismail/SSDWorking: target is busy. Jul 07 12:38:22 debian-i5 systemd[1]: media-ismail-SSDWorking.mount: Mount process exited, code=exited, status=32/n/a ░░ Subject: Unit process exited ░░ Defined-By: systemd ░░ Support: https://www.debian.org/support ░░ ░░ An n/a= process belonging to unit media-ismail-SSDWorking.mount has exited. ░░ ░░ The process' exit code is 'exited' and its exit status is 32. Jul 07 12:38:22 debian-i5 systemd[1]: Failed unmounting media-ismail-SSDWorking.mount - /media/ismail/SSDWorking. ░░ Subject: A stop job for unit media-ismail-SSDWorking.mount has finished ░░ ░░ The job identifier is 3897 and the job result is failed. 업데이트 3: 을 실행하면 yandex-disk stop제거 systemd-mount /dev/sda1됩니다. 문제는 yandex-disk제거를 시도하기 전에 시스템이 중지되지 않는다는 것입니다. 업데이트 4: 다음 명령을 실행했습니다. sudo tee /etc/systemd/system/run-before-shutdown.service << END [Unit] Description=Run my custom task at shutdown Requires=network.target DefaultDependencies=no Before=reboot.target shutdown.target [Service] Type=oneshot User=ismail Group=ismail ExecStart=/bin/true ExecStop=/usr/bin/bash -c '/usr/bin/yandex-disk stop' RemainAfterExit=yes [Install] WantedBy=multi-user.target END sudo systemctl daemon-reload sudo systemctl start run-before-shutdown.service sudo systemctl enable run-before-shutdown.service 여전히 오류가 발생합니다. Failed unmounting media-ismail-SSDWorking.mount - /media/ismail/SSDWorking.

Admin

systemd 상태가 활성이지만 스크립트가 제대로 실행되지 않습니다.
systemd

systemd 상태가 활성이지만 스크립트가 제대로 실행되지 않습니다.

구성 파일은 다음과 같습니다. sudo nano /etc/systemd/system/shutova.service [Unit] Description=Shutova After=multi-user.target [Service] User=django Type=simple Restart=always ExecStart=/usr/bin/python3 /home/django/Shutova_assist/bot.py [Install] WantedBy=multi-user.target 내가 사용할 때 python3 bot.py 모든 것이 정상입니다. systemd를 시작할 때: sudo systemctl start shutova 상태는 활성인데 봇과 통신해도 아무런 응답을 받지 못합니다. 로그에도 오류가 없습니다. 무엇이 문제일까요?

Admin

システムサービスユニットのファイルパスを取得するために、パスユニットによってトリガされます。
systemd
inotify

システムサービスユニットのファイルパスを取得するために、パスユニットによってトリガされます。

ディレクトリに新しいファイルが表示されるたびにスクリプトを起動する必要があります。以前の実装ではデルタテーブル。inotifyウォッチを追加するには、incrontab次のように各ディレクトリに行を追加します。 /dir/to/watch IN_CLOSE_WRITE /script/to/call $@/$# ファイルが作成されるたびに、私のスクリプトは、新しく作成されたファイルへのパスであるパラメータで呼び出されます。 incrontabディレクトリウォッチャーから次に切り替えています。システムパス単位: [Path] PathChanged=/dir/to/watch そのサービスユニットが呼び出されると、イベントをトリガーした新しいファイルの名前を何らかの形で検索する必要があります。私が見つけた最も近いものTRIGGER_PATH 変えるパス単位で初期化されます。問題は、/dir/to/watch新しく作成されたファイルではなくディレクトリに変数が設定されていることです。 特定のファイル名を知る必要がありますが、systemdからifを取得する方法が見つかりません。

Admin

Ubuntuなどの最新のLinuxディストリビューションでは、自動マウントはどのように機能しますか?
systemd
mount
automounting

Ubuntuなどの最新のLinuxディストリビューションでは、自動マウントはどのように機能しますか?

最新のLinuxディストリビューションでは、リムーバブルメディアの自動マウントがどのように機能するかについての情報を見つけることは困難です。 多くの場合、答えは編集と同じです/etc/fstab。しかし、それらはほとんど役に立たない。 リムーバブルメディアの自動マウントがどのように機能するかを知りたいです。これにより、インストール設定とセキュリティポリシーを変更できます。たとえば、デフォルトでは、私のSDカードは次のようにマウントされます。 root:rootそして755、だから私はそれから何も削除できません。

Admin

systemctl を使用して Prometheus または Blackbox エクスポートを実行することはできません。
systemd
prometheus-exporter

systemctl を使用して Prometheus または Blackbox エクスポートを実行することはできません。

以下の手順に従ってPrometheus Blackbox Importerをインストールしました。https://devconnected.com/how-to-install-and-configure-blackbox-exporter-for-prometheus/ コマンドラインからブラックボックスのエクスポートを開始すると正常に動作します。 /usr/local/bin/blackbox_exporter --config.file=/etc/blackbox/blackbox.yml --web.listen-address=":9115" level=info ts=2023-05-09T15:18:12.170335169Z caller=main.go:213 msg="Starting blackbox_exporter" version="(version=0.14.0, branch=HEAD, revision=bba7ef76193948a333a5868a1ab38b864f7d968a)" level=info ts=2023-05-09T15:18:12.17114947Z caller=main.go:226 msg="Loaded config file" level=info ts=2023-05-09T15:18:12.171355458Z caller=main.go:330 msg="Listening on address" address=:9115 サービスとして実行しようとすると、次のことは発生しません。 systemctl status blackbox_exporter blackbox_exporter.service - Blackbox Exporter Loaded: loaded (/etc/systemd/system/blackbox_exporter.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Tue 2023-05-09 15:20:40 GMT; 5s ago Process: 22483 ExecStart=/usr/local/bin/blackbox_exporter --config.file /etc/blackbox_exporter/blackbox.yml (code=exited, status=1/FAILURE) Main PID: 22483 (code=exited, status=1/FAILURE) May 09 15:20:40 hostname systemd[1]: Started Blackbox Exporter. May 09 15:20:40 hostname systemd[1]: blackbox_exporter.service: main process exited, code=exited, status=1/FAILURE May 09 15:20:40 hostname systemd[1]: Unit blackbox_exporter.service entered failed state. May 09 15:20:40 hostname systemd[1]: blackbox_exporter.service failed. 私は別のボックスでPrometheusを実行しています。これがブラックボックスエクスポートプログラムとPrometheusを別々のボックスで動作するかどうかはわかりませんが、試してみたいです。何らかの理由でPrometheusがローカルにないことが問題の原因である可能性があると考え、次の手順を使用してPrometheusをローカルにインストールしてみました。https://devconnected.com/how-to-setup-grafana-and-prometheus-on-linux/ 残念ながら私も同じ問題があります。コマンドラインからPrometheusを起動できますが、sudo systemctl start prometheusを使用して起動することはできません。また、私が調査した他のスレッドでこれが問題であることがわかったので、この特定のシステムではSELinuxが無効になっていることに言及します。誰でも欲しいですか?ティア!

Admin

Curlは、systemdとコマンドラインを介して呼び出すと異なる結果を生成します。
systemd
curl
discord

Curlは、systemdとコマンドラインを介して呼び出すと異なる結果を生成します。

次の単位ファイルがあります。 [Unit] Description=Sends a message to a discord channel [Service] Type=oneshot ExecStart=curl --header "Content-Type: application/json" --request POST --data '{"content":"MESSAGE TEXT HERE"}' https://discord.com/api/webhooks/WEBHOOK_ID_HERE/WEBHOOK_TOKEN_HERE DynamicUser=yes # No [Install] since this is meant to be used with a timer {"code": 50109, "message": "The request body contains invalid JSON."}ExecStartでcurlコマンドを実行すると、このWebフックに対応するDiscordチャネルに手動でメッセージが公開され、サービスを開始するとDiscordサーバーから応答が生成されます。 systemdを介してコマンドを実行することと直接実行することに大きな違いはありますか?たとえば、ExecStartの最大コマンド長がある可能性があるという指示が見つかりません。

Admin

systemd linuxで2つのネットワークインターフェイスに静的IPを設定する方法
systemd
network-interface
yocto

systemd linuxで2つのネットワークインターフェイスに静的IPを設定する方法

systemd私は(ArchLinuxなど)/etc/systemd/network/20-wired.networkファイルを介した静的IP設定を可能にするYoctoディストリビューションを持っています。 eth02つのネットワークインタフェース(&)に対して固定IPを設定する必要がありますが、ファイルに指定して設定eth1できないようです。20-wired.networkまた、別々に設定してファイルを作成してみましたが、/etc/systemd/network/eth0.network動作し/etc/systemd/network/eth1/networkませんでした。 20-wired.networkきれいに設定できます。一つ相互作用。 2つのインターフェースを指定する方法についての指示を教えてくれてありがとう。

Admin