問題タブ [sles]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
authentication - Zypper リポジトリ認証 (非インタラクティブ)
Dockerfile からの認証を必要とする zypper を使用してリポジトリを追加する必要があります。追加することはできますが、もちろん、実行しようとすると
zypper -n refresh
認証に失敗したため失敗します。
認証プロセスを自動化するための通常のアプローチは何ですか? 「グーグル」で良い答えが見つかりませんでした。
systemd - 再起動時に systemd がユーザー スライスを強制終了しないようにする
私の解決策 (これまでのところ) は、共通セッションから pam_systemd.so にコメントすることでした。すべてが制御グループなしで system.slice で実行されます。その影響についてはまだわかりませんが、少なくとも実行され、実行され続け、正常にシャットダウンされます。
当社のソフトウェアは社内で開発され、SLES 上で実行されます。これは、java、oracle、sysadmin 用の tomcat Web ページなどです。これらすべてのプロセスを開始するスクリプトを使用しています。systemd まではうまく機能していました。
「env」スクリプトは構成ファイルから情報を収集し、他のスクリプトを呼び出して Java、Oracle などを起動します。これらの他のスクリプトは「oracle」などのユーザーに「su」します。
この「env」スクリプト用のユニットがあり、動作を開始します。「systemctl stop env」を実行すると、停止が機能します。
私の問題は、再起動時に最初にすべてのユーザーが強制終了され、すべての DB、Java プロセスなどが強制終了されることです。DB は実際には適切に停止されていないため、基本的にクラッシュします。その後、停止が実行されようとしますが、物がダウンしているため実行できません。
KillUserProcesses=no、enable-linger、KillExcludeUsers=、systemd-run --scope を追加しようとしましたが、それでも強制終了されます。
systemd が再起動時にユーザーを insta kill しないようにする方法はありますか、またはすべてのサブスクリプトのユニットを把握する必要がありますか?
以下は問題を再現するためのものであり、実際に実行されているスクリプトではありません。
SLES12SP2(systemd 228)で以下を使用して複製できました。Arch マシンを構築しましたが、キルは行われませんでした。
私が気付いた違いの 1 つは、スリープ 600 が sles12 のユーザー スライスであるのに対し、arch のシステム スライスであるということです。
SLES12 の systemd-cgls:
そしてアーチ上:
ユーザー スライスとセッションは、Arch で su を使用しても作成されません。
私のサービスファイル:
envStart スクリプト:
そして睡眠スクリプト: