В Linux-системе есть две независимые(!) концепции имени хоста.
Существует то, что ядро считает локальным именем хоста (обрабатывается системными вызовами gethostname/uname и sethostname) независимо от какого-либо сетевого подключения — эта механика по-прежнему существовала бы, если бы вы построили ядро без поддержки сетей TCP/IP. .
Существует одно или несколько имен хостов, которые фактически подключены к TCP/IP (или другому сетевому стеку — не все сети в мире являются IP!) адресами хоста, и они обрабатываются в пользовательском пространстве функциями библиотеки распознавателя. (часть libc), которая определит такое имя, интерпретируя источники (локальный файл /etc/hosts, DNS, NIS....) в соответствии с правилами, которые вы им задаете в соответствующих файлах конфигурации (/etc/nsswitch.conf). , /etc/host.conf и т. д.).
Мне интересно, не связана ли ваша проблема с tar
не захватывает все специальные файлы. Вы смотрели на использование dd
?