我正在运行 openSUSE Linux,Tumbleweed 版本。我发现它不使用 /etc/services 文件,尽管我不知道是什么取代了它,也不知道它是如何完成的,而且我在网络上搜索并没有取得多大成功。
实际上,发生在我身上的事情是我的邮件系统在重大系统更新后停止正常工作,无论是邮件内还是邮件外。经过与更专业的用户(其他 Linux 发行版)的大量测试和调试后,我们发现 /etc/services 文件丢失。
我们认为它被意外破坏了,因此创建了一个小端口,至少提供用于电子邮件的端口。它确实解决了我的邮件问题。
为了干净利落地完成工作,我向另一位 openSUSE Tumbleweed 用户索要了发行版中提供的文件副本。但他在自己的系统中并没有找到,不存在邮件问题。所以,没有必要。
显然,我偶然解决了我的问题。
有人至少可以确认 /etc/services 在此 openSUSE Linux 中不再正常使用吗?但我想解释一下现在是如何完成的,如果可能的话,为什么我的问题是通过添加 /etc/services 解决的,以及我是否可以在没有 /etc/services 的情况下解决它。
(根据我对事件的最佳理解和记忆进行报告)
答案1
自从杰奇瑟尔不会把他的评论变成答案,我在这里做,有更多细节。
警告:我不是这些问题的专家,这只是为了提供我收集到的任何理解,痛苦的是,因为我没有正确的搜索关键字。
正如 Jetchisel 所评论的,似乎在某些发行版中通常在文件夹中找到的配置文件/etc
被重新组织为两个文件夹/etc
和
/usr/etc
.据我了解,目的是将发行版级别维护的配置和超级用户维护的配置分开,以便在更新已安装的系统时最大程度地减少冲突。
对于单个文件夹,这种冲突很难自动解决,并且更新软件可能会给系统留下两个版本的配置文件foo.conf
,可以是更新前使用的旧版本和
foo.conf.rpmnew
更新建议的旧版本,也可以是旧版本重命名foo.conf.rpmsave
,该名称foo.conf
用于更新建议的配置文件。这个想法是超级用户以最合适的方式合并两个文件。查看rpmnew
您rpmsave
最喜欢的搜索引擎。
但是,仍然需要在配置文件之间进行仲裁,而这是由配置文件来完成的/etc/nsswitch.conf
。我的问题是该发行版已更新,因此/etc/services
变成了/usr/etc/services
.并且更改已反映在 中/etc/nsswitch.conf.rpmnew
,但它并不活跃,只要我没有将其与旧版本合并/etc/nsswitch.conf
(但我不知道)。
显然,如果您触摸配置文件,检查后缀(例如更新后)的外观总是明智.rpmsave
的.rpmnew
。我不确定哪些是相关发行版。我正在使用 openSUSE Tumbleweed,除此之外我对它很满意。
我开始的参考资料: