「代替更新」対「dpkgの再構成」

「代替更新」対「dpkgの再構成」

~からUbuntu 14.04 bashがデフォルトのシェルを使用するのはなぜですか?:

/bin/shDebian派生製品では、デフォルトでdashをrootとして実行してDashとBashを切り替えることができますdpkg-reconfigure

update-alternativesどちらもdpkg-reconfigureシンボリックリンクを使用してリンクされた実行可能ファイルを変更できます。これは正しいですか/bin/

それでは、この目的のためのupdate-alternatives違いは何ですかdpkg-reconfigure

ありがとうございます。

ベストアンサー1

update-alternatives実際にシンボリックリンクを管理/binしたり、他の場所でも使用できます。それが目的です。。コラボレーションパッケージまたは手動設定が必要で、さまざまな選択肢を登録する必要があります。

dpkg-reconfigureまったく具体的ではなく、パッケージのインストール後にメンテナンススクリプトを実行します。したがって、その動作は設定された特定のパッケージに完全に依存します。bashとのdash場合、メンテナンススクリプトは/bin/shシンボリックリンクを処理するため、はい、この特別な場合はdpkg-reconfigureシンボリックリンクを管理するために使用されます。

使用せずにbash管理しない理由は、単にその可能性が有効になっていると、.ifのようなものに依存するほど強力とは見なされないからです。dashupdate-alternatives/bin/shupdate-alternatives/bin/sh何もない問題が発生して/bin/sh削除または存在しないファイルを指すと、システムは役に立たなくなり、回復も困難になり、正しく起動できません。常に使用できるように注意しbashてください。これには、事前インストール「スクリプト」(実際に事前依存性ループを防ぐためのバイナリ)の慎重な処理、関連するトリック、およびインストール後スクリプトのいくつかの最終的なタッチが含まれます。これらすべてのデザインの詳細については、以下で確認できます。dash/bin/shdpkg-divertバグ #34717(19年前)。

システム内のどのバイナリが代替を使用して処理されたか、どのバイナリが転送(管理者スクリプトで)を使用して処理されたかを確認するには、そのツールを使用します。特にdpkg-divert --list、すべての転送がリストされます。update-alternatives --listどの代替グループに興味があるかを知る必要があります。代替グループはすべてを指しているので、簡単に見つけることができるからです/etc/alternatives

おすすめ記事