解決策 1:
ssh ベースのもの (rsync over ssh を含む) については、~/.ssh/config ファイルにエントリを追加できます
例
Host myhost
Hostname myhost.example.com
次に、ssh myhost で myhost.example.com に接続します
解決策 2:
Nick が提案したように、特定のアプリケーションには使用できるものがあるかもしれませんが、/etc/hosts ファイルに相当するユーザー ホームディレクトリはありません。
アプリケーションがホスト名を解決しようとすると、NSS によって処理されます。 /etc/nsswitch.conf を見ると、NSS がシステム上のホスト名をどのように処理するかを確認できます
$ grep host /etc/nsswitch.conf
hosts: files dns
これは、ホスト名が最初にファイル データベース (/etc/hosts) に対して解決され、/etc/resolv.conf で指定された dns の詳細に対して失敗することを意味します
解決策 3:
私は同じことを考えていましたが、同僚がこの解決策を見つけました:http://blog.tremily.us/posts/HOSTALIASES/
これには基本的に、ホスト エイリアスに使用するファイルを指す環境変数 (HOSTALIASES) の設定が含まれます (たとえば ~/.hosts を使用できます)。