Por que alguns RPMs "não são relocáveis"?

3

Um RPM é relocável se você puder instalá-lo assim:

rpm -ivh --prefix=/path/to/non/default/dir package-name.rpm

Sem receber a seguinte mensagem de erro:

error: package package-name is not relocatable

Este link afirma:

RPM has the ability to give users some latitude in deciding where packages are to be installed on their systems. However, package builders must first design their packages to give users this freedom. In other words, an RPM package that can be installed into a different directory is said to be relocatable. Please note that not all RPM packages can be installed into another directory.

No entanto, ele não explica por que um construtor de pacotes não deseja permitir aos usuários a liberdade de decidir onde instalar o pacote.

Então, por que é uma boa ideia tornar um pacote específico não relocável?

    
por Matthew Moisen 30.04.2016 / 07:07

1 resposta

7

De fato, a maioria dos pacotes RPM que você encontrará não são relocáveis .

As Diretrizes de Embalagem do Fedora têm isto a dizer :

The use of RPM's facility for generating relocatable packages is strongly discouraged. It is difficult to make work properly, impossible to use from the installer or from yum, and not generally necessary if other packaging guidelines are followed. However, in the unlikely event that you have a good reason to make a package relocatable, you MUST state this intent and reasoning in the request for package review.

Sendo estes os pacotes upstream do RHEL, é pouco provável que você encontre um pacote relocável em um repositório de distribuição oficial do Fedora, RHEL / CentOS ou EPEL.

Você pode, no entanto, muito raramente encontrar RPMs de terceiros que sejam relocáveis. Mas não há uma boa maneira de instalá-los ou gerenciá-los depois que eles são instalados, pois os gerentes de dependências não conseguem lidar com eles, e não há sentido em tentar realocar o pacote de qualquer maneira.

    
por 30.04.2016 / 07:14

Tags