В процессе создания пакета RPM я должен указать BuildRoot, а позже будет использоваться в% install, который вызывает $RPM_BUILD_ROOT. Я всегда думаю, что $RPM_BUILD_ROOT - это поддельная установка для RPM для упаковки. Затем, во время установки с использованием пакета RPM, он будет установлен в фактическое местоположение. Например:
$RPM_BUILD_ROOT/usr/bin
Я думал, что $RPM_BUILD_ROOT предназначен только для процесса упаковки, и в некотором роде RPM может отличить $RPM_BUILD_ROOT и фактическое место установки, когда пользователь выполняет "rpm -ivh package.rpm", будет /usr/bin.
Но недавно, прочитав некоторые документы, предлагается, что $RPM_BUILD_ROOT - это фактическое место, которое будет установлено, и $RPM_BUILD_ROOT задается пользователем с настройкой переменной среды $RPM_BUILD_ROOT, чтобы позволить пользователям установить пакет в местах их желаний. В противном случае $RPM_BUILD_ROOT будет null, и он будет установлен в местоположение по умолчанию. В приведенном выше случае это /usr/bin. Таким образом, $RPM_BUILD_ROOT предназначен не только для процесса упаковки или "поддельной установки", но и для пользователя, чтобы определить местоположение установки, аналогично выбору местоположения папки в Windows.
Я не знаю, что мое мышление верное или нет. Может кто-нибудь, пожалуйста, подтвердите? Спасибо заранее.