运行 sudo apt Upgrade 后,我收到通知,Samba 的软件包维护者提供了一个新的配置文件,我注意到的区别是新注释掉的赢得支持,并且显然不包含我指定的设置。我恢复到旧的文件,因为我的设置是必要的,但如果很重要(例如安全目的),我可以将它们添加到新文件中。一般来说(不仅仅是这种情况,所以我下次做好准备)为什么维护者会推出新的配置文件以及在什么情况下我应该使用新的配置文件?
答案1
Samba 软件包的每个版本都将包含配置文件,因为该软件包也需要对初始安装有用,而不仅仅是对升级有用。
但是dpkg
, 的低级包管理工具apt
足够智能,可以记录任何打包配置文件的哈希值。它知道配置文件的原始安装版本的哈希值是什么,因此它知道您在安装软件包后是否对其进行了更改。
如果当前配置文件与旧的打包版本相比没有变化,则dpkg
每当包更新时,都会自动将其替换为新包中的版本,不会提出任何问题。如果新打包版本的哈希值与旧打包版本相同,则dpkg
知道打包配置文件在包版本之间没有更改,并且您的自定义版本应该仍然适用于新版本的包,没有任何问题。
但是如果你修改了配置文件和新包中的配置文件的哈希值与最初安装的配置文件中记录的哈希值不同,然后dpkg
会提示您如何处理该文件,因此在您不知情和未经授权的情况下,您的自定义设置不会被删除。
请注意,提示包含一个选项show the differences between the versions
:如果您不确定要做什么,您应该首先执行此操作以查看已更改的内容。如果您看到的所有内容都只是您自己的自定义设置和一些新的注释掉的设置,那么您可以继续使用旧文件,只是没有将注释掉的新设置用作示例的小好处。
但是,如果您发现文件结构发生重大更改,则应该阅读软件包的更改日志,或者如果您正在进行重大升级,则应该阅读新操作系统版本的发行说明,并注意您可能需要重做您的自定义方式与新版本兼容。显然,这种情况不应该在操作系统的单个版本中发生,除非旧软件版本存在致命错误,以至于发行版无法选择向后移植修复程序,而必须在发布中期对该软件包进行重大更新。幸运的是,此类事件非常罕见。
对于 Samba,最相关的长期变化是在 WannaCry 蠕虫病毒和相关漏洞之后加速弃用 SMB 协议版本 1 和 NetBIOS。由于安全专家现在对 SMBv1 的态度是“用火杀死它”,预计新版本的 Samba 将不启用 SMBv1 和 NetBIOS,除非经过刻意配置,甚至彻底删除对它们的支持。
作为删除旧 NetBIOS 服务的副作用,非 Active Directory 环境中的 Samba 服务器将变得不可浏览:如果您知道要连接的计算机和共享的名称,您仍然可以联系 Samba 共享到,但您将无法在网络上的计算机列表中找到它们。这可以通过添加基于 WS-Discover 协议的替代浏览解决方案来解决:据我所知,这尚未集成到 Samba 中,但可以使用类似wsdd
或 之类的名称来实现wsdd2
。
答案2
软件变化,安全实践变化,所以新的配置可能更“安全”。这实际上由您决定。这里没有一般的经验法则。
然后(现在这种情况很少见,但过去经常发生)主要的新版本软件有时具有完全不同的配置[文件],因此由于冲突/过时的指令而无法使用旧的配置。
答案3
当某些包管理器警告某些配置文件中可能发生的更改时,这意味着您正在强烈地受邀审查变更。 (手动或通过包管理器提供的某些实用程序)不在这种情况下,您应该盲目地接受更改,特别是如果您知道您已经为以前的版本定制了配置文件。
变化通常很小。并且,如果您之前自定义了配置文件,它将是必要的并且可以轻松地修补新配置文件上的差异。
但也可能发生重要的更改,导致旧配置过时或不合适。
如果它涉及著名的软件包,您很可能可以在某处找到一些更改日志。然后首先阅读并理解变更日志并适当修改新的配置文件。