当前位置: 首页>>技术问答>>正文


N:忽略目录’/etc/apt/apt.conf.d/’中的文件’50unattended-upgrades.ucf-dist’,因为它具有无效的文件扩展名

, , , , ,

问题描述

昨天我升级了发行版,今天当我使用apt-get安装任何内容或进行更新时,出现错误:

N: Ignoring file '50unattended-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension

据我所知,当一些新的配置/设置与旧的混合时会发生此错误。所以我试图通过移动到文件夹ls -l /etc/apt/apt.conf.d/进行调试

total 52
-rw-r--r-- 1 root root   82 May 19 07:59 00CDMountPoint
-rw-r--r-- 1 root root   40 May 19 07:59 00trustcdrom
-rw-r--r-- 1 root root  769 Sep  2 23:56 01autoremove
-r--r--r-- 1 root root 1936 Sep 25 11:56 01autoremove-kernels
-rw-r--r-- 1 root root  628 Jan  4  2015 01autoremove-postgresql
-rw-r--r-- 1 root root  202 Sep 13 02:17 20listchanges
-rw-r--r-- 1 root root 1040 Dec  9  2014 20packagekit
-rw-r--r-- 1 root root 1438 Sep 16 16:46 50appstream
-rw-r--r-- 1 root root 3945 Jun 29  2015 50unattended-upgrades
-rw-r--r-- 1 root root 4072 Sep 24 19:57 50unattended-upgrades.ucf-dist
-rw-r--r-- 1 root root  182 Mar 19  2015 70debconf
-rw-r--r-- 1 root root  142 Oct  6  2014 80debtags

看起来像文件50unattended-upgrades.ucf-dist存在。现在我的问题是如果我使用rm 50unattended-upgrades.ucf-dist,那么它会导致未来的死亡?我有点害怕在这里使用rm,因为扩展名是ucf-dist。我在互联网和公共论坛上进行了研究,人们正在写关于使用gconf-cleaner的文章,但还没有尝试过!

更新1:如评论中所建议的,我将cat 50unattended-upgrades.ucf-dist的输出

// Unattended-Upgrade::Origins-Pattern controls which packages are
// upgraded.
//
// Lines below have the format format is "keyword=value,...".  A
// package will be upgraded only if the values in its metadata match
// all the supplied keywords in a line.  (In other words, omitted
// keywords are wild cards.) The keywords originate from the Release
// file, but several aliases are accepted.  The accepted keywords are:
//   a,archive,suite (eg, "stable")
//   c,component     (eg, "main", "crontrib", "non-free")
//   l,label         (eg, "Debian", "Debian-Security")
//   o,origin        (eg, "Debian", "Unofficial Multimedia Packages")
//   n,codename      (eg, "jessie", "jessie-updates")
//     site          (eg, "http.debian.net")
// The available values on the system are printed by the command
// "apt-cache policy", and can be debugged by running
// "unattended-upgrades -d" and looking at the log file.
//
// Within lines unattended-upgrades allows 2 macros whose values are
// derived from /etc/debian_version:
//   ${distro_id}            Installed origin.
//   ${distro_codename}      Installed codename (eg, "jessie")
Unattended-Upgrade::Origins-Pattern {
        // Codename based matching:
        // This will follow the migration of a release through different
        // archives (e.g. from testing to stable and later oldstable).
//      "o=Debian,n=jessie";
//      "o=Debian,n=jessie-updates";
//      "o=Debian,n=jessie-proposed-updates";
//      "o=Debian,n=jessie,l=Debian-Security";

        // Archive or Suite based matching:
        // Note that this will silently match a different release after
        // migration to the specified archive (e.g. testing becomes the
        // new stable).
//      "o=Debian,a=stable";
//      "o=Debian,a=stable-updates";
//      "o=Debian,a=proposed-updates";
        "origin=Debian,codename=${distro_codename},label=Debian-Security";
};

// List of packages to not update (regexp are supported)
Unattended-Upgrade::Package-Blacklist {
//  "vim";
//  "libc6";
//  "libc6-dev";
//  "libc6-i686";
};

// This option allows you to control if on a unclean dpkg exit
// unattended-upgrades will automatically run 
//   dpkg --force-confold --configure -a
// The default is true, to ensure updates keep getting installed
//Unattended-Upgrade::AutoFixInterruptedDpkg "false";

// Split the upgrade into the smallest possible chunks so that
// they can be interrupted with SIGUSR1. This makes the upgrade
// a bit slower but it has the benefit that shutdown while a upgrade
// is running is possible (with a small delay)
//Unattended-Upgrade::MinimalSteps "true";

// Install all unattended-upgrades when the machine is shuting down
// instead of doing it in the background while the machine is running
// This will (obviously) make shutdown slower
//Unattended-Upgrade::InstallOnShutdown "true";

// Send email to this address for problems or packages upgrades
// If empty or unset then no email is sent, make sure that you
// have a working mail setup on your system. A package that provides
// 'mailx' must be installed. E.g. "user@example.com"
//Unattended-Upgrade::Mail "root";

// Set this value to "true" to get emails only on errors. Default
// is to always send a mail if Unattended-Upgrade::Mail is set
//Unattended-Upgrade::MailOnlyOnError "true";

// Do automatic removal of new unused dependencies after the upgrade
// (equivalent to apt-get autoremove)
//Unattended-Upgrade::Remove-Unused-Dependencies "false";

// Automatically reboot *WITHOUT CONFIRMATION* if
//  the file /var/run/reboot-required is found after the upgrade 
//Unattended-Upgrade::Automatic-Reboot "false";

// Automatically reboot even if there are users currently logged in.
//Unattended-Upgrade::Automatic-Reboot-WithUsers "true";

// If automatic reboot is enabled and needed, reboot at the specific
// time instead of immediately
//  Default: "now"
//Unattended-Upgrade::Automatic-Reboot-Time "02:00";

// Use apt bandwidth limit feature, this example limits the download
// speed to 70kb/sec
//Acquire::http::Dl-Limit "70";

最佳解决方案

看到这个explanation of the origin and purpose of .ucf-dist files。这意味着您可以忽略通知(这是N:前缀代表的内容)或删除所述文件。

在删除文件之前,请确保它不包含任何您可能需要的软件包。将其与您系统上当前处于活动状态的相比较:

diff /etc/apt/apt.conf.d/50unattended-upgrades.ucf-old /etc/apt/apt.conf.d/50unattended-upgrades

如果您确定不再需要任何东西,您可以忽略此文件或将其删除。要删除文件运行:

sudo rm /etc/apt/apt.conf.d/50unattended-upgrades.ucf-dist

次佳解决方案

这也发生在我从14.04升级到16.04时,在升级安装期间,我被提示在原始文件(由我修改)50unattended-upgrades文件或包更新中包含的原始文件之间进行选择,我当然选择保留前者。

安装完成后,未调用的文件50unattended-upgrades.ucf-dist出现在我的系统中,在我快速浏览一下以检查文件的旧版本是否有任何重大变化后,显然没有任何区别,所以我简单地删除它。

底线,如果您对当前版本的50unattended-upgrades感到满意,您可以摆脱它。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/833.html,未经允许,请勿转载。