~からUbuntu 14.04 bashがデフォルトのシェルを使用するのはなぜですか?:
/bin/sh
Debian派生製品では、デフォルトで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のようなものに依存するほど強力とは見なされないからです。dash
update-alternatives
/bin/sh
update-alternatives
/bin/sh
何もない問題が発生して/bin/sh
削除または存在しないファイルを指すと、システムは役に立たなくなり、回復も困難になり、正しく起動できません。常に使用できるように注意しbash
てください。これには、事前インストール「スクリプト」(実際に事前依存性ループを防ぐためのバイナリ)の慎重な処理、関連するトリック、およびインストール後スクリプトのいくつかの最終的なタッチが含まれます。これらすべてのデザインの詳細については、以下で確認できます。dash
/bin/sh
dpkg-divert
バグ #34717(19年前)。
システム内のどのバイナリが代替を使用して処理されたか、どのバイナリが転送(管理者スクリプトで)を使用して処理されたかを確認するには、そのツールを使用します。特にdpkg-divert --list
、すべての転送がリストされます。update-alternatives --list
どの代替グループに興味があるかを知る必要があります。代替グループはすべてを指しているので、簡単に見つけることができるからです/etc/alternatives
。