Хотя make (1)
и многие системы сборки, такие как автоинструменты, поддерживают инкрементную компиляцию, Gentoo со стандартным Portage не использует преимущества из этого. После компиляции и установки пакета рабочий каталог удаляется.
Реальная трудность при использовании инкрементальной компиляции будет заключаться в надежной сборке пакетов таким образом. Гораздо легче быть уверенным, что сборка будет успешной, правильной и воспроизводимой, если вы всегда будете делать чистую сборку. Многие системы сборки незаметно сломались бы, если бы Gentoo попытался поддерживать инкрементную перестройку.И во многих случаях потребуется повторно запустить ./ configure
(или его эквивалент), что, вероятно, создаст новый config.h
или обновит переменные среды, такие как ] CFLAGS
и CPPFLAGS
в сгенерированных файлах Makefile
(или их эквивалентах, если используются другие системы сборки). Прикосновение к config.h
потребует перекомпоновки большинства исходных текстов. И если PACKAGE_VERSION
изменяется, что может быть передано в Makefile
через CPPFLAGS
, если пакет не использует config.h
, все исходники следует перестроить , чтобы увидеть новые значения - если вы не можете каким-то образом понять, что определенные исходные файлы не нужно перекомпилировать, потому что они не ссылаются на конкретный макрос препроцессора C.
Таким образом, в конце концов, даже если бы разработчики Gentoo приложили все усилия, чтобы попытаться поддержать инкрементную компиляцию между обновлениями версий пакетов, многим пакетам потребуется либо полностью перекомпилировать , либо make ( 1)
в любом случае приведет к их полной перекомпиляции (например, при изменении временной метки config.h
). Таким образом, это будет дорогостоящим усилием с очень незначительной выгодой - и даже, вероятно, внесет партию из скрытых ошибок , насколько я понимаю. Таким образом, я не ожидаю, что такая функция когда-либо будет представлена.
Мой ответ в основном относится к пакетам autotools / simple Makefile
-type, но не все строится таким образом, поэтому точные причины, вероятно, будут различаться в зависимости от конкретного рассматриваемого пакета.
Параметр -A
указывает ssh-keygen
генерировать ключи хоста . Согласно странице руководства, предполагаемое использование ssh-keygen
составляет
Обычно каждый пользователь, желающий использовать SSH с аутентификацией с открытым ключом, запускает
это один раз, чтобы создать ключ аутентификации. в~ / .ssh / identity
,
~ / .ssh / id_ecdsa
,~ / .ssh / id_dsa
или~ / .ssh / id_rsa
. Дополнительно системный администратор может использовать это для генерации ключей хоста.
Синопсис перечисляет -A
в отдельной строке, без каких-либо других вариантов:
SYNOPSIS
ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment]
[-f output_keyfile]
ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
ssh-keygen -i [-m key_format] [-f input_keyfile]
ssh-keygen -e [-m key_format] [-f input_keyfile]
ssh-keygen -y [-f input_keyfile]
ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile]
ssh-keygen -l [-f input_keyfile]
ssh-keygen -B [-f input_keyfile]
ssh-keygen -D pkcs11
ssh-keygen -F hostname [-f known_hosts_file] [-l]
ssh-keygen -H [-f known_hosts_file]
ssh-keygen -R hostname [-f known_hosts_file]
ssh-keygen -r hostname [-f input_keyfile] [-g]
ssh-keygen -G output_file [-v] [-b bits] [-M memory] [-S start_point]
ssh-keygen -T output_file -f input_file [-v] [-a num_trials] [-K checkpt]
[-W generator]
ssh-keygen -s ca_key -I certificate_identity [-h] [-n principals]
[-O option] [-V validity_interval] [-z serial_number] file ...
ssh-keygen -L [-f input_keyfile]
ssh-keygen -A
Итак (кроме изменения источника и его компиляции самостоятельно), то, что вы спрашиваете, не предназначено использовать.
Дополнительная литература: