最新記事

ClamD サービスを開始できません。 [RHEL9]
systemd
rhel
alma-linux
clamav

ClamD サービスを開始できません。 [RHEL9]

私は現在これをフォローしていますガイドしかし、ClamAV自分のコンピュータに設定するとAlmaLinux 9.3ステップ11起動できず、clamd@service他のソースから多くの情報が見つからないため、他の人がこの問題に遭遇したかどうか疑問に思います。 [root@localhost tester]# sudo systemctl status clamd@service × [email protected] - clamd scanner (service) daemon Loaded: loaded (/usr/lib/systemd/system/[email protected]; disabled; preset: disabled) Active: failed (Result: exit-code) since Thu 2023-12-28 12:08:15 GMT; 3min 26s ago Docs: man:clamd(8) man:clamd.conf(5) https://www.clamav.net/documents/ Process: 6728 ExecStart=/usr/sbin/clamd -c /etc/clamd.d/service.conf (code=exited, status=1/FAILURE) CPU: 3ms Dec 28 12:08:15 localhost.localdomain systemd[1]: [email protected]: Scheduled restart job, restart counter is at 5. Dec 28 12:08:15 localhost.localdomain systemd[1]: Stopped clamd scanner (service) daemon. Dec 28 12:08:15 localhost.localdomain systemd[1]: [email protected]: Start request repeated too quickly. Dec 28 12:08:15 localhost.localdomain systemd[1]: [email protected]: Failed with result 'exit-code'. Dec 28 12:08:15 localhost.localdomain systemd[1]: Failed to start clamd scanner (service) daemon. 提案された端末出力に基づいて、次のコマンドを実行しました。 $ journalctl -xeu [email protected] ░░ The process' exit code is 'exited' and its exit status is 1. Dec 28 12:45:18 localhost.localdomain systemd[1]: [email protected]: Failed with result 'exit-code'. ░░ Subject: Unit failed ░░ Defined-By: systemd ░░ Support: https://access.redhat.com/support ░░ ░░ The unit [email protected] has entered the 'failed' state with result 'exit-code'. Dec 28 12:45:18 localhost.localdomain systemd[1]: Failed to start clamd scanner (service) daemon. ░░ Subject: A start job for unit [email protected] has failed ░░ Defined-By: systemd ░░ Support: https://access.redhat.com/support ░░ ░░ A start job for unit [email protected] has finished with a failure. ░░ ░░ The job identifier is 7444 and the job result is failed. Dec 28 12:45:18 localhost.localdomain systemd[1]: [email protected]: Scheduled restart job, restart counter is at 5. ░░ Subject: Automatic restarting of a unit has been scheduled ░░ Defined-By: systemd ░░ Support: https://access.redhat.com/support ░░ ░░ Automatic restarting of the unit [email protected] has been scheduled, as the result for ░░ the configured Restart= setting for the unit. Dec 28 12:45:18 localhost.localdomain systemd[1]: Stopped clamd scanner (service) daemon. ░░ Subject: A stop job for unit [email protected] has finished ░░ Defined-By: systemd ░░ Support: https://access.redhat.com/support ░░ ░░ A stop job for unit [email protected] has finished. ░░ ░░ The job identifier is 7568 and the job result is done. Dec 28 12:45:18 localhost.localdomain systemd[1]: [email protected]: Start request repeated too quickly. Dec 28 12:45:18 localhost.localdomain systemd[1]: [email protected]: Failed with result 'exit-code'. ░░ Subject: Unit failed ░░ Defined-By: systemd ░░ Support: https://access.redhat.com/support ░░ ░░ The unit [email protected] has entered the 'failed' state with result 'exit-code'. Dec 28 12:45:18 localhost.localdomain systemd[1]: Failed to start clamd scanner (service) daemon. ░░ Subject: A start job for unit [email protected] has failed ░░ Defined-By: systemd ░░ Support: https://access.redhat.com/support ░░ ░░ A start job for unit [email protected] has finished with a failure. ░░ ░░ The job identifier is 7568 and the job result is failed.

Admin

独立コアに割り当てられたサービスにはCPU統計は適用されません。
systemd

独立コアに割り当てられたサービスにはCPU統計は適用されません。

一部のサービスでCPU統計を設定しているうちに、一部のサービスがCPU使用率を正しく報告していないことがわかりました。使用量を報告しないようなサービスは、CPUAffinityカーネルパラメータを使用してカーネルレベルで分離されたコアでのみ実行されるサービスですisolcpus。 以下は、これらのサービス状態の例です。 Drop-In: /etc/systemd/system.control/gnss.service.d └─50-CPUAccounting.conf, 50-MemoryAccounting.conf Active: active (running) since Fri 2023-12-15 22:31:10 UTC; 2 days ago Main PID: 1233 (quectel_lg69t_g) Tasks: 4 (limit: 8479) Memory: 3.7M CPU: 0 CGroup: /system.slice/gnss.service また、同じシステムの他のサービスが使用量を正しく報告しています。 Drop-In: /etc/systemd/system.control/cameras.service.d └─50-CPUAccounting.conf, 50-MemoryAccounting.conf Active: active (running) since Mon 2023-12-18 17:29:43 UTC; 1s ago Main PID: 3253648 (cameras) Tasks: 1 (limit: 8479) Memory: 3.7M CPU: 27ms CGroup: /system.slice/cameras.service でCPUを使用しているサービスを見ることができるので、htop単にアイドル/凍結されているのではなく、実際にCPUを使用しないことが確実です。 これがコア分離の副作用のためだと思いますが、どこから始めるべきかわかりません。おそらく、systemdは割り当てられたタスクのCPU時間使用量を追跡するために別のコアで何かを実行する必要がありますか? isolcpusこの問題の調査中に使用されなくなる可能性があるため、代わりに使用する必要があるという事実も発見されましたcpuset。試してみますがcpuset、隔離されたコアでスケジューラを有効にするように聞こえます。可能。

Admin

systemctl daemon-reload 呼び出し時に systemd デバイスを無効にする
systemd
systemctl

systemctl daemon-reload 呼び出し時に systemd デバイスを無効にする

私はsystemdを実行しているいくつかの組み込みシステムをデバッグしています。私が観察した動作は、systemdを実行した後にターゲットが指定されbasic.target無効local-fs.targetになったことです(図を参照)。これにより、多くのシステムデバイスが無効になり、システムを再起動する必要がありました。multi-user.targetsystemctl daemon-reloadsystemctl list-units --type target --all このシステムターゲット変換をデバッグする方法はありますか?有効にしましたが、この特定のシステムを呼び出すとシステムターゲットが変更されるsystemctl log-level debug理由はまだわかりません。systemctl daemon-reload

Admin

rootles systemd/quadletを使用して生成されたファイルはどこに保存されますか?
systemd
mysql
podman

rootles systemd/quadletを使用して生成されたファイルはどこに保存されますか?

遊んでいます。このガイド起動時にコンテナを起動できることを確認してください。これでsystemdサービスを完了して削除し$HOME/.config/containers/systemd/ましたが、サービスによって生成されたファイル(データベースフォルダ/ファイルなど)をクリーンアップしたいと思います。ところで問題は私が知らないということだ。どこファイルが作成されました。どんな助けでも大変感謝します。 mysqld.コンテナ [Unit] Description=MySQL Container After=local-fs.target [Container] Image=docker.io/library/mysql:latest Environment=MYSQL_DATABASE=dat2000 MYSQL_ROOT_PASSWORD=password MYSQL_USER=user MYSQL_PASSWORD=password TZ=Etc/UTC [Install] WantedBy=multi-user.target default.target 使用されたコマンド: systemctl daemon-reload --user systemctl start --user mysqld.service systemctl stop --user mysqld.service systemctl daemon-reload --user

Admin

systemdが定義された「After =」の前にサービスを開始するのはなぜですか?
systemd

systemdが定義された「After =」の前にサービスを開始するのはなぜですか?

だから、本の虫を実行するRaspberry Pi OSライトがあり、ここにPulseAudioをインストールしました。 Piは私のテレビの月明かりのデバイスとして設定されました(EoL SteamLinkを提供してくれたSamsungに感謝します!)。やるべきことは、電源を入れて自動的にMoonlightを実行することだけです。現在はそうしています。これは非常にうまく機能します。 質問... piはLite OSを実行し、MoonlightはX11インターフェイスを独自に実行する必要がないため、Moonlightはデフォルトでそのインターフェイスを見つけるので、Pulse Audioを手動でインストールする必要があります。 デフォルトでは、Pulse Audioはユーザーがログインしたときにのみ起動するように設定されています。そのため、MoonlightはPyのログインを必要とせず、自動的にシステムサービスとして起動されるため、オーディオはまだ準備されておらず、ストリームの開始時に音は出ません。 そこで、ここで説明されている指示に従って、ユーザーに関係なくシステムサービスから始めるためにpulseaudio systemdサービスも作成しました(https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/) 私のPulseオーディオサービスファイル... [Unit] Description=PulseAudio system server After=bluetooth.service [Service] Type=simple PrivateTmp=true ExecStart=/usr/bin/pulseaudio --system --realtime --log-target=journal --disallow-module-loading --disallow-exit Restart=on-failure [Install] WantedBy=default.target このサービスを有効にしてシステムを再ロードして再起動すると、サービス起動のsystemdグラフを取得すると、私が定義したBluetoothサービスの前にサービスが開始されたことがわかります。 システム図 bluetooth.targetに変更してみましたが、何の効果もありませんでした。 私は理解できません...

Admin

systemctlの状態に将来の時間と残りの時間が表示されるのはなぜですか?
linux
systemd
systemctl
systemd-timer
systemd-unit

systemctlの状態に将来の時間と残りの時間が表示されるのはなぜですか?

""をエクスポートすると、systemctl status通常、出力にステータスとそのステータスにあった時間を示す行が表示されます。 「いいね!」(数分前にこの記事を投稿しました) Active: active (running) since Wed 2023-11-22 01:56:06 CST; 10h ago ただし、システム時間が01:19:27 CSTの場合、同じサービスは次の行を受け取ります。 Active: active (running) since Wed 2023-11-22 **01:56:06** CST; 36min **left** なぜ「since」の後の時間は未来型ですか? 「残り」の時間が表示されるのはなぜですか?なぜ去るの? 私は過去の時間とx時間単位前の時間を見ることを期待しています。 systemctl list-timers --allサービスに関連するタイマーがあるかどうかを確認するために ""を実行してみましたが、何も見つかりませんでした。

Admin

Raspberry Piで一貫したイーサネットデバイス番号を取得するには?
systemd
ethernet

Raspberry Piで一貫したイーサネットデバイス番号を取得するには?

私はカスタムYocto Linuxイメージを含むRaspberry pi 3B +を持っています。オンボードイーサネットがeth0であり、USBイーサネットアダプタがeth1やusb_eth0などの他のものになりたいです。 1つのパイには常にオンボードイーサネット番号eth0がありますが、2番目のデバイスではUSBドングルは常にeth0に初期化され、オンボードイーサネットはeth1に初期化されます。 SSHとeth1にeth0を使用して異なるIPアドレスを取得し、別のネットワークに接続したいと思います。ただし、/etc/network/interfacesの構成とアプリケーションの両方がハードコードされた名前を使用します。私はさまざまな場所でこの動作を変えようとしています。たとえば、systemd/network にあります。 /etc/systemd/network/10-eth1.link: [Match] MACAddress=00:14:5c:9c:67:3b [Link] Description="White USB ethernet dongle" NamePolicy= Name=eth_usb ログ制御 -b: kernel: usb 1-1.1.2: new high-speed USB device number 7 using dwc_otg kernel[275]: [ 609.282053] usb 1-1.1.2: new high-speed USB device number 7 using dwc_otg kernel: usb 1-1.1.2: New USB device found, idVendor=0b95, idProduct=1790, bcdDevice= 1.00 kernel: usb 1-1.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 kernel: usb 1-1.1.2: Product: AX88179 kernel: usb 1-1.1.2: Manufacturer: ASIX Elec. Corp. kernel: usb 1-1.1.2: SerialNumber: 00000000000:;3 kernel[275]: [ 609.418133] usb 1-1.1.2: New USB device found, idVendor=0b95, idProduct=1790, bcdDevice= 1.00 kernel[275]: [ 609.418148] usb 1-1.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 kernel[275]: [ 609.418157] usb 1-1.1.2: Product: AX88179 kernel[275]: [ 609.418166] usb 1-1.1.2: Manufacturer: ASIX Elec. Corp. kernel[275]: [ 609.418175] usb 1-1.1.2: SerialNumber: 00000000000:;3 kernel: ax88179_178a 1-1.1.2:1.0 eth0: register 'ax88179_178a' at usb-3f980000.usb-1.1.2, ASIX AX88179 USB 3.0 Gigabit Ethernet, 00:14:5c:9c:67:3b kernel[275]: [ 609.780308] ax88179_178a 1-1.1.2:1.0 eth0: register 'ax88179_178a' at usb-3f980000.usb-1.1.2, ASIX AX88179 USB 3.0 Gigabit Ethernet, 00:14:5c:9c:67:3b systemd-udevd[563]: Using default interface naming scheme 'v243'. systemd-udevd[563]: ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable. systemd-udevd[563]: [[0;1;31m[[0;1;39m[[0;1;31meth0: Failed to rename network interface 5 from 'eth0' to 'eth_usb': Device or resource busy[[0m kernel: IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready kernel[275]: [ 610.139890] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready systemd-udevd[563]: [[0;1;38;5;185m[[0;1;39m[[0;1;38;5;185meth0: Failed to process device, ignoring: Device or resource busy[[0m systemd-networkd[288]: eth0: IPv6 successfully enabled ご覧のとおり、名前を変更できません。 また、/etc/udev/rules.d/70-pertant-net.rulesを変更してみました。 SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:14:5c:9c:67:3b", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="neweth0" しかし、これも失敗した。 また、/usr/lib/systemd/network/99-default.linkを追加してみました。しかし、このファイルは完全に無視されているようです。 私はいくつかのチュートリアルを試しましたが、それらのどれも私のデバイスで動作しないようです。 USBイーサネットドングルがオンボードイーサネットと同じ名前を持つことを望みます(衝突がないように最大1つのドングルを接続します)。 MACアドレスはボードとドングルによって異なるため、設定ファイルにMACアドレスを使用することは好きではありません。

Admin

他のサービスが「完了」した後にシステムサービスを開始する方法は?
systemd

他のサービスが「完了」した後にシステムサービスを開始する方法は?

私は常にサービスAに関連するプログラムがサービスBの前に完了するように実行する必要がある状況に直面しています。 「以降」では問題は解決しません。後で言う 最も重要なのは、サービスデバイスの場合、設定された起動コマンドがすべて呼び出され、失敗した場合、または成功した起動を報告した場合、Before = / After =の目的に応じて起動が完了したと見なされることです。 」、ただし、これは基本プロセスが正常に完了したことを意味するわけではありません。 私の考えには、機能に目立つ穴があるようです。サービスBがサービスAの正常な完了に依存している場合、サービスBをどのように起動しますか?

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

shスクリプトの私のコマンドは拒否されましたが、端末で同じコマンドを実行できます。
systemd
permissions
rhel
dash

shスクリプトの私のコマンドは拒否されましたが、端末で同じコマンドを実行できます。

RedHat 8.8でsystemctlによって実行されるサービスがあります。サービス自体は比較的簡単です。 cat /etc/systemd/system/myservice.service [Unit] Description=My service After=network-online.target [Service] Type=forking User=myuser Group=mygroup Restart=no TimeoutSec=60 ExecStart=/usr/lib/myapp/service.sh start ExecStop=/usr/lib/myapp/service.sh stop [Install] WantedBy=multi-user.target 「mygroup」のすべてのメンバーが「myuser」という名前でこのサービスを実行できるように、Sudoersファイルを設定します。 %mygroup ALL = (ALL : myuser) NOPASSWD: /usr/bin/systemctl start myservice 問題はservice.shファイルにあります。序文はです#!/bin/sh。 JBoss インスタンスを起動し、次のようないくつかのタスクを実行しようとします。 cat /dev/null > $JBOSS_CONSOLE_LOG START_FILE="${JBOSS_HOME}/start_user" ACCESS_USER="$(who am i | awk '{print $1}')" echo "${ACCESS_USER}" > ${START_FILE} 「myuser」を使用してSSHを介してログインし、次のようにこのサービスを開始すると、上記のコマンドでいくつかsudo systemctl start myserviceの権限拒否エラーが発生します。 JBOSS_CONSOLE_LOGにdevnullを入れようとしたとき: /usr/lib/myapp/service.sh: line 82: /opt/myapp/home/domain/log/console.log: Permission denied START_FILEで印刷しようとしたとき: /usr/lib/myapp/service.sh: line 92: /opt/myapp/home/start_user: Permission denied 私が知っている限り、ファイル権限は正しく設定されており、すべては「myuser」と「mygroup」が所有しています。 ll /opt/myapp drwrwxr-x+ 11 myuser mygroup 4096 Nov 14 20:56 home ll /opt/myapp/home drwxrwxr-x+ 10 myuser mygroup 4096 Nov 14 20:29 domain ll /opt/myapp/home/domain drwxrwxr-x+ 10 myuser mygroup 4096 Nov 14 20:29 log 端末から直接同じコマンドを実行すると正常に動作します。単純なtest.shファイルを作成してそこにコマンドを入れると、再びうまく実行されます。そのため、サービススクリプトを実行するときに何かを変更する必要がありますが、理由はわかりません。また、スクリプトが次のようにACCESS_USER変数を決定しようとしていることがわかりました。 ACCESS_USER="$(who am i | awk '{print $1}')" 空の結果が得られます。ただし、端末で同じコマンドを実行すると、「myuser」が正しく印刷されます。私のtest.shファイルでも動作します。 どこから始めるべきですか?これは私が使っている一種の製品なので、必ずサポートチームにお問い合わせいたしますが、たぶんここでもアイデアを得ることができるようです。 編集:あなたのコメントに感謝します。回答させていただきます。 @Chris Davies:$ JBOSS_CONSOLE_LOGは/opt/myapp/home/domain/log/console.log、$ JBOSS_HOMEは/opt/myappです。元の質問で既に所有者を共有しています。また、「whoami」と「Who am I」の説明に感謝します。以前読んだことがありましたが、今「Who am I」を操作するには端末が必要であることが明らかになりました。 @waltinatorと@muru:このスクリプトはcrontabでは実行されず、上記のサービスを起動すると実行されます。sudo systemctl start myservice元の質問のサービス説明をご覧ください。サービスを開始できるように、ユーザー "myuser"がsudoersファイルに追加されます。 @rivimey: "id"コマンドと "whoami"コマンドの出力を印刷していますが、正しいユーザーが表示されます。 echo "id = $(id), whoami = $(whoami) id = uid=1001(myuser) gid=1001(mygroup) groups=1001(mygroup) context=system_u:system_r:unconfined_service_t:s0, whoami = myuser また、「ps -ef」出力で実行中のスクリプトを確認すると、そのスクリプトを実行している正しいユーザーも表示されます。 編集2:ああ、SELinuxです...前の編集に入ったときにSELinuxを無効にしようとしましたが、サービスは正常に動作します。奇妙なことに、監査ログを手動で確認し、audit2allowコマンドを使用して監査ログを確認しようとしているため、「不足しているタイプの適用」ルールが表示されますが、私のアプリケーションとは関係ありません。より良い解決策が得られない場合は、回答として投稿します。

Admin

アプリケーションがDebianではなくUbuntuで実行されているように見えるようにするための偽の/ etc / os-release
debian
ubuntu
systemd
dpkg
etc

アプリケーションがDebianではなくUbuntuで実行されているように見えるようにするための偽の/ etc / os-release

RHEL、SuSE(SLE [DS])、および特定のUbuntu LTSバージョンを正式にサポートするサードパーティ製のソフトウェアを使用する必要があります。 残念ながら、私はすべてのシステムでDebianを使用しています。 このソフトウェアのインストーラスクリプトを実行すると、エラーメッセージ(「配布はサポートされていません」)で終了してインストールされません。 インストールのダウンロードには、.debUbuntuで実際に動作するパッケージが付属しています。.debインストーラスクリプトは、Ubuntuのバージョンが含まれている場合にのみこのファイルをインストールします(簡単な文字列の確認)。/etc/os-releaseしかし、良いニュースは、ファイル名を見つけて.debDebianに手動でインストールするだけで、インストールされたdpkg -iソフトウェアが完全に機能するということです。 :) 私が満足していない唯一のことがあります。ソフトウェアの自動更新機能は上記のインストーラスクリプトを使用しますが、これはDebianを好まない。したがって、私はこのアプリケーションの無人アップグレードを実行しません。更新プロセスは.debファイルを含む新しいバージョンを正常にダウンロードしましたが、ファイルをインストールするのではなく、インストーラスクリプトを起動しました.deb。インストーラがエラーで終了します。更新が失敗しました。 :((なぜサプライヤが/etc/apt/sources.list.dこの不気味なカスタム更新メカニズムを作成するのではなく、URLだけを提供していないのかわかりません。) 新しいバージョンを手動でダウンロードし、* .debファイルを抽出して再インストールする必要がありました。 これについてどんな考えや提案がありますか? /etc/os-release「Debian」の代わりに「Ubuntu」を表示するようにテキストファイルを編集します。これで問題が解決します。しかし、これはシステムに問題のような副作用をもたらしますかapt-get update && apt-get upgrade? それとも、/etc/os-releaseシステムサービスユニットの偽のファイルを「マウント」できますか?それでは、このサービスだけがDebianではなくUbuntuで実行されていると思いますか?おそらくchrootのようなものですか?しかし、chrootディレクトリにあるシステム全体のコピーを手動で最新の状態に保つ必要がありますか?

Admin