web-dev-qa-db-ja.com

openSUSEで/ etc / servicesを置き換えるものとその方法

TumbleweedバージョンのopenSUSE Linuxを実行しています。/etc/servicesファイルを使用していないことを発見しましたが、何が置換されているのか、どのように実行されているのかはわかりません。また、Webの検索にあまり成功していません。

実際、私に起こったのは、メールシステムとメール送信システムの両方のメジャーシステムアップデート後に、メールシステムが正常に機能しなくなったことです。 (他のLinuxディストリビューションの)より専門的なユーザーによる多くのテストとデバッグの結果、/ etc/servicesファイルが見つからないことがわかりました。

誤って破壊されたと思って、少なくとも電子メールに使用されるポート用に提供する小さなものを作成しました。そして、それは私の郵便問題を解決しました。

物事をきれいに行うために、私は別のopenSUSE Tumbleweedユーザーに、ディストリビューションで提供されているファイルのコピーを求めました。しかし、彼はメールの問題がない自分のシステムではそれを見つけませんでした。したがって、それは必要ありません。

どうやら、私は偶然に自分の問題を解決していたようです。

/ etc/servicesがこのopenSUSE Linuxで通常使用されなくなったことを誰かが少なくとも確認できますか?しかし、現在はどのように行われているのか、可能であれば/ etc/servicesを追加することで問題が解決した理由、および/ etc/servicesなしで解決できるかどうかについて説明したいと思います。

(私の理解と出来事の記憶を最大限に活かして報告された)

3
babou

Jetchisel は彼のコメントを回答に変換しないので、ここで詳細を説明します。

警告:私はこれらの問題の専門家ではありません。検索のための適切なキーワードがなかったため、これは私が収集した理解を苦痛に利用できるようにするためだけのものです。

Jetchiselによるコメントのように、一部のディストリビューションでは、通常/etcフォルダーにある構成ファイルが、2つのフォルダー/etc/usr/etcに再編成されているようです。私が理解しているように、目的は、インストールされたシステムが更新されたときの競合を最小限に抑えるために、ディストリビューションレベルで維持されている設定とスーパーユーザーによって維持されている設定を分離することです。

単一のフォルダーでは、このような競合は自動的に解決することが難しく、ソフトウェアを更新すると、システムに2つのバージョンの構成ファイルfoo.confが残る場合があります。これは、更新前に使用されていた古いバージョンとfoo.conf.rpmnew更新によって、または古いバージョンの名前がfoo.conf.rpmsaveに変更され、foo.confという名前が更新によって提案された構成ファイルに使用されます。アイデアは、スーパーユーザーが2つのファイルを最も適切な方法でマージすることです。お気に入りの検索エンジンでrpmnewrpmsaveをご覧ください。

ただし、構成ファイル間で調停を行う必要があります。これは、構成ファイル/etc/nsswitch.confによって行われます。私の問題は、/etc/services/usr/etc/servicesになるようにディストリビューションが更新されたことでした。変更は/etc/nsswitch.conf.rpmnewにも反映されましたが、古いバージョン/etc/nsswitch.confとマージしない限り、アクティブではありませんでした(ただし、わかりませんでした)。

どうやら、構成ファイルを変更する場合は、更新後に.rpmsave.rpmnewのようなサフィックスの出現を確認することが常に賢明です。関係するディストリビューションがどれかわかりません。私はopenSUSE Tumbleweedを使用していますが、それ以外はかなり満足しています。

私が始めた参考文献:

4
babou