Tornar os programas do Ubuntu disponíveis para o fedora através do “chroot”

1

Eu tenho o Fedora e o Ubuntu instalados em diferentes partições no meu sistema. Agora eu quero fazer programas como "adobe reader" ou "kerio-control-vpnclient-8.4.2-2869-linux" disponíveis para o fedora. esses programas estão instalados no meu sistema Ubuntu. Eu quero saber como posso disponibilizar esses programas para o Fedora com a ajuda do chroot ou de outros comandos similares (como o LXC).

    
por ali129 19.04.2015 / 04:57

2 respostas

0

chroot não resolve o seu problema. De fato, o chroot fará com que você rode este programa como se estivesse no próprio Ubuntu e não no Fedora. Você precisará de uma configuração complicada para fazê-los acessar seu sistema de arquivos fora do chroot. chroot é mais destinado ao isolamento.

Uma boa solução para o seu problema é apenas usar variáveis de ambiente. Talvez um pequeno script bash que define seu caminho para o local do Ubuntu e também altere o LD_LIBRARY_PATH pode funcionar.

Por exemplo, algo como:

#!/bin/bash
export PATH=PATH_TO_UBUNTU_BIN:$PATH
export LD_LIBRARY_PATH=PATH_TO_UBUNTU_LIB:$LD_LIBRARY_PATH
acroread

onde PATH_TO_UBUNTU_BIN e PATH_TO_UBUNTU_LIB devem ser os caminhos para seu bin do Ubuntu (como / bin e / usr / local / bin ou onde quer que seu acroread reside) e PATH_TO_UBUNTU_LIB é o caminho para o diretório de bibliotecas compartilhadas do Ubuntu (como / lib ou / lib64) .

    
por 19.04.2015 / 07:42
0

Instale o schroot no seu sistema Fedora. O Schroot é um wrapper em torno do chroot que permite que usuários não-root usem chroots predefinidos e organiza a existência de diretórios base, /proc , etc. no chroot.

Eu escrevi um guia schroot em Como executo programas de 32 bits em um Debian / Ubuntu de 64 bits? Com um sistema host do Fedora, a configuração é basicamente a mesma - é principalmente a distribuição no chroot que precisa ser ajustado. Instale o pacote debootstrap para instalar o Ubuntu no chroot.

Para invocar um programa no chroot de fora, você precisa invocar schroot . Você pode usar um invólucro de shell como este para um chroot chamado trusty :

#!/bin/sh
exec schroot -c trusty -p -q -- "${0##*/}" "$@"

Faça links simbólicos para esse script com os nomes dos programas que você deseja invocar. Por exemplo, se este script estiver localizado em /usr/local/bin/trusty e você quiser que o comando acroread chame o programa no chroot confiável, crie um link simbólico

ln -s trusty /usr/local/bin/acroread
    
por 20.04.2015 / 02:03

Tags