dmesg follow во FreeBSD

Когда вы делаете

sudo dd if=/dev/sdh1 of=/dev/sdg bs=4096 conv=notrunc,noerror

вы копируете первый раздел sdhна весь диск sdgс самого начала, перезаписывая таблицу разделов. Поскольку вы перезаписали таблицу разделов, она «стирает все».

Так что это не работает. Что вам нужно сделать, так это сначала создать разделы надлежащего размера на sdh, используя соответствующие инструменты для любой MBR (, например. fdisk,... )или GBR (например. gdisk, gparted,... ). Выберите инструмент, который вам больше всего нравится, поищите в Google руководства по его использованию.

После того, как вы создали разделы, вы можете просто скопировать их (при условии, что размеры соответствуют ). Допустим, вы хотите переместить первый раздел на sdhв третий раздел на sdgиз четырех, которые вы создали,вы можете просто сделать

sudo cp /dev/sdh1 /dev/sdg3

Нет необходимости использовать dd. Дважды проверяйте, что вы печатаете, если вы сделаете ошибку, вы перезапишете то, что не хотите перезаписывать.

Чтобы разделы оставались загрузочными, вы должны пометить их на новом диске так же, как они были помечены на старом диске.

3
19.04.2020, 14:46
3 ответа

Способ просмотра журнала сообщений ядра в FreeBSD совсем не с dmesg. dmesgоснован на sysctl(), который не представляет понятного интерфейса. Вместо этого sysctl()делает снимки только текущего буфера сообщений ядра.

Чтобы следить за журналом сообщений, вместо этого открывается /dev/klogи опрашивается дескриптор файла (с помощью kevent()или подобного )для чтения. Только одна программа в системе может сделать это в любой момент времени, так как чтение разрушительно. Эта программа будет syslogdили что-то вроде набора инструментов nosh klog-read.

Таким образом, человек, скорее, следует выводам этих программ. С klog-readэто эффективно следует за журналом сообщений ядра, как -. С помощью syslogdсистемный администратор может настроить журналы ядра для доставки по частям в разные места.

Дополнительная литература

7
28.04.2021, 23:25

FreeBSD dmesg не имеет переключателя --follow (-w ), но вы можете следить за выводом, используя хвост следующим образом:tail -F /var/log/messages

Источник ответа:Форумы FreeBSD

Примечание :Обновлено для использования -Fвместо -fв соответствии с предложением @Mateusz Piotrowski

4
28.04.2021, 23:25

На самом деле, вы можете использовать tail -F /var/log/messagesвместо tail -f /var/log/messages, чтобы за файлом следили, даже если он был переименован или повернут. Полное описание флага -Fсм. на странице руководства tail (1 ).

1
28.04.2021, 23:25

Теги

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