Дополнительные вопросы по использованию ddrescue с корпусом USB

pingне использует /etc/hostnameдля разрешения сопоставления IP-имен, он использует службу имен(netns)для выполнения этих преобразований. Кстати, /etc/hostnameявляется частью systemd :

.

$ rpm -qf /etc/hostname
systemd-219-42.el7_4.10.x86_64

Короткое имя, которое вы видите, sub, исходит из вашего файла /etc/hostsчерез службу имен. Если вы используете strace, вы можете увидеть, как pingнаходитsub:

$ strace -s 2000 ping -c1 www.google.com |& grep /etc/host
open("/etc/host.conf", O_RDONLY|O_CLOEXEC) = 4
open("/etc/hosts", O_RDONLY|O_CLOEXEC)  = 4
open("/etc/hosts", O_RDONLY|O_CLOEXEC)  = 4

Таким образом, простой способ решить вашу проблему — указать имя вашего сервера так, как вы хотите ping, чтобы оно отображалось в файле /etc/hosts.

Пример

$ ping -c1 www.google.com
PING www.google.com (74.125.141.99) 56(84) bytes of data.
64 bytes from vl-in-f99.1e100.net (74.125.141.99): icmp_seq=1 ttl=63 time=109 ms

--- www.google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 109.903/109.903/109.903/0.000 ms
Now if we were to add that IP, 74.125.141.103, to your `/etc/hosts` file we could manipulate `ping` into showing whatever we want for it:

Добавьте это к/etc/hosts:

74.125.141.99  blah.blah.com

Теперь повторите наш тест:

$ ping -c1 www.google.com
PING www.google.com (74.125.141.99) 56(84) bytes of data.
64 bytes from blah.blah.com (74.125.141.99): icmp_seq=1 ttl=63 time=109 ms

--- www.google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 109.886/109.886/109.886/0.000 ms

Порядок /etc/hosts

Имейте в виду, что порядок добавления хостов в /etc/hostsможет привести к тому, что имена будут отображаться так, как вы видели.

Например, если бы у нас было это в нашем/etc/hosts:

74.125.141.99  blah blah.blah.com

pingпоявится, как вы видите, с коротким именем:

$ ping -c1 www.google.com
PING www.google.com (74.125.141.99) 56(84) bytes of data.
64 bytes from blah (74.125.141.99): icmp_seq=1 ttl=63 time=108 ms

--- www.google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 108.065/108.065/108.065/0.000 ms

Ссылки

0
30.07.2020, 23:11
1 ответ

О дополнительном GPT :да, проблема все еще существует, даже если новый диск еще не содержит существующий GPT, если только новый диск не имеет точно такого же размера, что и исходный диск, что маловероятно. Дополнительный GPT должен располагаться в конце диска, и если вы скопируете образ исходного диска в начало большего целевого диска, включая дополнительный GPT, он не окажется в конце диска..

Создание файла образа — это способ обойти проблему с разными размерами логических секторов. Вот еще одна идея :перед началом копирования заново создайте таблицу разделов на целевом устройстве с помощью fdisk или gdisk. Вам не нужно делать точную копию, достаточно сделать один раздел, который имеет тот же размер, что и раздел, который вы хотите скопировать, и расположение (начального сектора )на диске также не имеет значения. Затем вместо копирования всего диска просто скопируйте данные из исходного раздела в целевой раздел.

Например, предположим, что исходный диск — /dev/sda, а раздел, который вы хотите скопировать, — /dev/sda1. Если целевой диск в корпусе — /dev/sdb, создайте таблицу разделов и раздел /dev/sdb1того же размера, что и /dev/sda1. Затем, вместо попытки копирования из /dev/sdaв /dev/sdb, скопируйте вместо этого из /dev/sda1в /dev/sdb1.

Изменить :это решение устраняет проблему с дополнительным GPT, и вам не нужно иметь дело с файлом изображения. Однако потенциальная проблема с несоответствием размера логического сектора все еще существует. Структура таблицы разделов зависит от размера сектора. В случае несоответствия диск, разбитый на разделы в корпусе, не может быть использован при извлечении из корпуса, и наоборот. Вы можете разбить диск, находясь в корпусе, и копировать файлы в разделы (, включая вышеупомянутый файл образа ), но диск нельзя использовать вне корпуса без его повторного -разбиения на разделы.

Вы можете проверить размер сектора диска, используя sudo blkid /dev/XXX -o NAME,LOG-SEC.

0
18.03.2021, 23:16

Теги

Похожие вопросы