Existem métodos ou bibliotecas de compatibilidade para executar aplicativos .deb no Puppy linux (onde nenhuma fonte de aplicativo é fornecida)?

2

Eu corro o Puppy Linux (Puppeee para ser preciso) no meu velho netbook x86 e adoro: ele deu uma nova vida ao meu netbook e o tornou adequado como um servidor doméstico de baixa potência (ish).

No entanto, algumas empresas de nuvem e telefonia só compõem de má vontade seu código proprietário para o Linux e, geralmente, apenas para algumas grandes distribuições, como o Ubuntu.

Existem métodos para fornecer compatibilidade para o Ubuntu em outra distro, como o Puppy Linux, quando eu tenho apenas o pacote binário que a empresa fornece?

    
por LateralFractal 27.09.2014 / 01:43

1 resposta

2

Como mencionado no meu comentário, o docker funcionaria muito bem para isso. A desvantagem é que ele consome muito espaço em disco. Além do espaço em disco, não há outra sobrecarga, nem mesmo CPU ou memória.

Resumindo, o docker basicamente configura um chroot dentro de uma imagem completa do sistema operacional. Então você acaba executando outra distro dentro da sua. O Docker é simplesmente responsável por configurar o ambiente no qual o aplicativo é executado e, em seguida, iniciar o aplicativo. Uma vez que o aplicativo é iniciado, é apenas outro processo no seu sistema. Aparece em ps , pode ser kill ed, etc.

Como você está executando a distro completa, a única incompatibilidade possível é se o que você está tentando executar depende dos recursos do kernel que seu kernel não possui. Isso não é muito provável.

Depois de obter a janela de encaixe no seu sistema, você pode criar uma imagem contendo o software. Você faria isso criando um "dockerfile" que se parece com:

FROM ubuntu:12.04
RUN apt-get install -y wget
RUN wget http://telephonyco.com/proprietary_code.deb
RUN dpkg -i proprietary_code.deb

Depois de construir isso, você pode executar o programa diretamente com:

docker run -ti name_of_image_you_created proprietary-program-foo

Ou você pode obter um shell dentro da imagem:

docker run -ti name_of_image_you_created bash
    
por 27.09.2014 / 04:29