Os pacotes RPM e deb contêm arquivos dos arquivos a serem instalados (arquivos cpio no caso de rpm, tar no caso de deb). Esses arquivos contêm metadados sobre cada arquivo, incluindo seu nome, data de modificação, usuário e grupo proprietário e permissões. Quando um pacote é instalado, cada arquivo acaba tendo a propriedade descrita no arquivo (a menos que um script de pós-instalação o modifique).
A maioria dos arquivos instalados pelos pacotes é de propriedade do root, porque nenhum usuário está autorizado a modificá-los.
O Alien converte pacotes descompactando o arquivo e reembalando-o (além de outras coisas, como a conversão de scripts pré / pós-instalação). Por exemplo, para converter um rpm em deb, o estrangeiro chama cpio
para extrair o arquivo para um local temporário e, em seguida, tar
para criar um novo arquivo. Se a descompactação não for feita com permissões de root, todos os arquivos temporários pertencerão ao usuário que estiver realizando a descompactação, portanto, quando os arquivos forem compactados no novo arquivo, eles acabarão sendo de propriedade desse usuário.
O Alien não precisa realmente ser executado como root, já que não precisa modificar nada no sistema. Fakeroot executa alien (ou qualquer outro comando ) em um ambiente onde esse comando recebe informações falsas sobre as operações do sistema de arquivos, fingindo que as operações que normalmente requerem raiz (como alterar a propriedade do arquivo) foram bem-sucedidas. Dessa forma, a descompactação é feita como raiz e define o destino correto do arquivo (no que se refere a alien
e seus subprocessos) e, portanto, o reempacotamento cria o arquivo pretendido.