オペレーティングシステム:LMDE 5(Debian 11 Bullseyeベース)
システムをきれいに保つために、可能な場合はいつでも元の展開/開発者設定ファイルを別のファイルで上書きします。これにより、開発者が元の構成を変更したときに発生する問題を回避し、設定を安全に保ちます。など...
無人アップグレードの場合、元の設定は次のとおりです/etc/apt/apt.conf.d/50unattended-upgrades
。
Unattended-Upgrade::Origins-Pattern {
// "origin=Debian,codename=${distro_codename}-updates";
// "origin=Debian,codename=${distro_codename}-proposed-updates";
"origin=Debian,codename=${distro_codename},label=Debian";
"origin=Debian,codename=${distro_codename},label=Debian-Security";
"origin=Debian,codename=${distro_codename}-security,label=Debian-Security";
ファイルに置き換えました。51無人アップグレード:
Unattended-Upgrade::Origins-Pattern {
"site=myrepo.example.com"
// "origin=Debian,codename=${distro_codename}-updates";
// "origin=Debian,codename=${distro_codename}-proposed-updates";
// "origin=Debian,codename=${distro_codename},label=Debian";
// "origin=Debian,codename=${distro_codename},label=Debian-Security";
// "origin=Debian,codename=${distro_codename}-security,label=Debian-Security";
元の部品全体が私の部品に置き換えられ、UUがそうなると思いました。ただ更新するmyrepo.example.com
。しかし、4つのリポジトリがすべてアクティブであることがわかりました。
"site=myrepo.example.com"
"origin=Debian,codename=${distro_codename},label=Debian"
"origin=Debian,codename=${distro_codename},label=Debian-Security"
"origin=Debian,codename=${distro_codename}-security,label=Debian-Security"
他のすべてのストレージを無効にし、myrepoのみを有効にする方法変わらない元の50unattended-upgrades
?
答え1
設定ファイルは/etc/apt/apt.conf.d/50unattended-upgrades
パッケージの直接の一部ではありませんunattended-upgrades
。このファイルは、ヘルプツール(dpkg-maintscript-helper
主に)を介してインストールスクリプトによってアップグレードされます。ucf --three-way --debconf-ok
たとえば、postinst
ファイルを参照してください。):まず、ファイルを新しい管理者バージョンに置き換える前に、ファイルが変更されたことを確認します(通常はデフォルトで変更されたバージョンを維持するように求められます)。元の参照はに安全に保存されます/usr/share/unattended-upgrades/50unattended-upgrades
。
すべてを言うと、オプションは次のようになります。
直接変更
50unattended-upgrades
:Debianは変更を尊重し、必要に応じて何をすべきかを教えてくれます(初期デフォルトは「変更されたバージョンを維持」です)。別のファイル()にコピーして
51unattended-upgrades
ファイルを空にします(ただしアーカイブしてください)。上記のように、Debian は変更などを尊重します。
または、APTを構成する特定のAPT関連の方法があります。
特定の使用
apt.conf(5)
構文は古いツリーを忘れて新しい値に置き換えます。この内容は次のように記録されます。
apt.conf(5)
(強調):[...] は、
#clear
構成ツリーの一部を削除するために使用されます。これ指定された要素とその要素のすべての子要素が削除されます。(この行はセミコロンで終わる必要があります。)この
#clear
コマンドは、リストまたは全範囲を削除する唯一の方法です。 範囲を再開したり(または後述の構文に :: を追加して使用)、以前に作成した項目を上書きしません。オプションは、新しい値を割り当てなければ無視できます。リストと範囲は次のとおりです。'ティーはい覆われた、ただ明らか。文書が少し不足しています。試行錯誤テストにより(
needrestart
パッケージ構成で簡単に実行できます)、#clear Some::Tree;
「指示は最上位レベルでのみ実行できます。」つまり、範囲内ではなくすべての範囲外の完全修飾範囲で呼び出す必要があります。 one サブスコープに適用されます。
したがって、51unattended-upgrades
ファイルは次のように起動できます。
#clear Unattended-Upgrade::Origins-Pattern;
このファイルの後続のコンテンツでリストを再入力する前に、リストを空のリストにリセットします。これにより、50unattended-upgrades
まったく変更する必要はなく、他のデフォルト設定(存在する場合)を引き続き使用できます。
方法1、2、3を使用しても、管理者は2つのDebianリリースの(メイン)アップグレードの間に何が起こったのかを確認する必要があります。たとえば、Debian 10 と Debian 11 の間にセキュアストア URL スキーマが変更されました。:Debian 10からDebian 11にアップグレードした後(再)定義するときは手動で調整する必要がありますUnattended-Upgrade::Origins-Pattern
(OPの特定の場合には適用されず、安全なアップグレードを無効にする意図もあります)。