К сожалению, самое худшее, что вы можете сделать, это использовать rsync
в NFS. (Или в любую удаленную файловую систему, смонтированную в локальной системе. )Это отключает почти все улучшения эффективности, для которых известно rsync
.
Для такого большого объема данных одним из самых быстрых способов передачи между системами может быть сброс их через незашифрованное соединение без учета того, что уже было в целевой системе.
Если у вас есть хотя бы частичная копия, лучше всего использовать rsync
между двумя хостами. Это позволяет rsync
запускать по одному процессу на каждом хосте для рассмотрения и сравнения различий. (rsync
полностью пропустит файлы с одинаковым размером и датой модификации. Для других файлов компоненты клиента и сервера будут выполнять скользящую контрольную сумму, чтобы определить, какие блоки (и )еще необходимо передать.)
Быстрый дамп. В этом примере вообще не используется аутентификация или шифрование. Однако он применяет сжатие, которое можно удалить, опустив оба флага -z
:
Запустите это на целевом компьютере, чтобы запустить прослушивающий сервер:
cd /path/to/destination && nc -l 50505 | pax -zrv -pe
Запустите это на исходном компьютере, чтобы запустить клиент-отправитель:
cd /path/to/source && pax -wz. | nc destination_server 50505
Некоторые версии nc -l
могут требовать, чтобы порт был указан с флагом, например nc -l -p 50505
. Версия OpenBSD на Debian (nc.openbsd
, связанная через /etc/alternatives
с /bin/nc
), этого не делает.
Медленная передача. В этом примере используется rsync
вместо ssh
, что обеспечивает аутентификацию и шифрование. Не пропустите косую черту(/
)в исходном пути. Опустите флаг -z
, если вы не хотите сжатия :
rsync -avzP /path/to/source/ destination_server:/path/to/destination
Возможно, вам потребуется настроить сертификаты SSH, чтобы разрешить вход на целевой _сервер с правами root. Добавьте флаг -H
, если вам нужно обрабатывать жесткие ссылки.
Модули не должны иметь функцию инициализации,do_init_module
обрабатывает ее отсутствие:
/* Start the module */
if (mod->init != NULL)
ret = do_one_initcall(mod->init);
Такие модули могут быть выгружены без функции выхода либо (, в отличие от модулей с функцией инициализации, которые являются постоянными, если у них нет функции выхода ).
Когда модули встроены -, функции инициализации становятся __initcall
функциями, которые идентифицируются во время компоновки; их отсутствие также не вызывает никаких проблем.