Instalando o software no Linux sem privilégios de root

4

Acho extremamente difícil instalar software em uma máquina Linux como um usuário comum. Eu não tenho privilégios de root nesta máquina, então não posso usar nenhum sistema gerenciador de pacotes.

Por exemplo, estou tentando instalar um cliente de IRC simples, mas instalar tudo a partir do código-fonte é um problema, pois preciso baixar e instalar manualmente todas as dependências da árvore (irssi- > glib- > ncurses etc .. etc.).

Então eu baixei o ircii que parece ser o cliente mais minimalista que eu posso encontrar, ele ainda requer algum programa chamado lex que eu não consigo encontrar.

Alguma solução fácil para essa tarefa de hassling? Por que as pessoas não entregam apenas binários que têm tudo o que eu preciso incluir nelas (como ".exes")?

    
por Luca Matteis 30.08.2010 / 12:58

8 respostas

2

Você pode querer dar uma olhada no gerenciador de pacotes Nix. Não só toda a sua abordagem ao gerenciamento de pacotes é muito interessante, mas o site também afirma que ele funciona em todas as distribuições Linux e permite que usuários não-privilegiados instalem software usando-os. Você pode encontrar mais informações, bem como uma lista completa de todos os pacotes disponíveis (cerca de 2.500) no link .

    
por 30.08.2010 / 13:28
2

Você poderia pensar que mais pessoas se lembrariam de sistemas com vários usuários e como é geralmente aceitável executar o software a partir do seu diretório pessoal. No entanto, você deve confirmar que está tudo bem com o seu host.

Se o sistema não tiver as dependências para compilar a partir do código-fonte e seu administrador não as instalar, suas melhores opções serão as seguintes:

  • Localize um pacote compilado para a máquina e extraia o binário. (Isso ainda pode falhar sem as dependências).
  • Localize um binário estaticamente compilado para o seu sistema. Pacote ou de outra forma.
  • Compile estaticamente em uma máquina semelhante e copie
por 30.08.2010 / 16:06
0
Any easy solutions for this hassling task? Why don't people just deliver binaries that have all I need included in them (sort of like .exes)?

Correndo o risco de soar o snarky, a maneira de fazer isso é para

  1. obtenha privilégios de root
  2. tenha seu sysadmin à sua disposição e ligue

Estou assumindo que a máquina em que você está trabalhando não é sua, caso contrário, o número 1 seria viável. Com essa suposição disse, se é a minha máquina que você está trabalhando, eu não quero que você seja capaz de instalar novos pacotes e bibliotecas sempre que quiser e eu quero que você venha a mim para fazer isso a menos que eu realmente confie em você. É assim que as distribuições do Linux e a administração do Linux devem funcionar.

Então ... porque as pessoas simplesmente não entregam binários? É mais provável que o linux (bibliotecas) seja muito mais modular e um pouco mais fragmentado. Não há uma API enorme como o win32 que um desenvolvedor pode garantir que estará lá. Eles precisam contar com as bibliotecas explícitas de que precisam e com versões específicas dessas bibliotecas disponíveis tanto em tempo de compilação quanto em tempo de execução para distribuir com êxito seu software. Isso é quase universalmente verdadeiro. AFAIK, o Windows tem o mesmo problema com todos os exceto os mais simples exes que dependem apenas das principais bibliotecas do Windows - você teria que executar um instalador com privilégios de Admin para fazer modificações no registro e instalar bibliotecas. O MacOSX é o único SO fora dos mais conhecidos 3 para cobrir o caso de uso do qual você está falando, já que todos os arquivos .app são completamente independentes e podem ser instalados no $ HOME de um usuário e funcionam bem.

    
por 30.08.2010 / 13:14
0

É assim que deve ser, somente os administradores devem administrar máquinas, e os usuários só devem usá-las.

De qualquer forma, se você encontrar um pacote fonte que dependa do software já instalado, não será necessário recompilá-lo.

Existem também binários para o linux, mas não tantos. Eu recomendo que você tente encontrar programas criados para linguagens interpretadas. Você encontrará muito mais e o requisito será um interpretador java, python ou perl.

Verifique também se você tem a capacidade de começar o vinho, se você puder, você pode executar um executável win32, até mesmo instalá-lo.

    
por 30.08.2010 / 13:18
0

Você pode configurar a mesma versão do seu Linux em uma máquina virtual e tentar criar uma versão estática do seu aplicativo. Então você apenas transfere para seu diretório pessoal no servidor e ele deve rodar (assumindo que você pode executar programas a partir do seu diretório home, isso nem sempre é possível, às vezes / home vive em um sistema de arquivos montado com a opção noexec por razões de segurança). / p>     

por 30.08.2010 / 16:29
0

Ocorre que você provavelmente tem emacs instalados, o que significa que você tem um "SO" hospedado com o gerenciador de pacotes que você pode usar do espaço do usuário .

O pacote suporta o erc, e tenho certeza que existem outros clientes de IRC do emacs.

Claro, se você não é um cara do Emacs, isso não será o que você quer ouvir.

    
por 30.08.2010 / 20:03
0

Linuxbrew pode ajudar. Estou instalando isso. Eu tenho que instalar gcc antes, porque na minha situação eu estou em uma máquina muito antiga e gcc é muito antigo também. Eu consegui instalar o brew , mas para instalar outros pacotes ainda não funcionou (atualmente eu estou no 'making' do gcc).

Eu tentei instalar o nix , mas ele tem muitos pré-requisitos , incluindo pkg-config, Perl DBI, DBD::SQLite, xmllint and xsltproc, the Boehm garbage collector , etc. Se sua tarefa é instalar manualmente menos, isso parece ser uma má escolha.

Em duas palavras: se o seu pacote pode ser instalado via autotools ( ./configure && make && make install ) ou através de outros meios civilizados, você tem sorte, caso contrário, instalar um gerenciador de pacotes pode ser muito mais difícil do que instalar o pacote .

    
por 05.06.2017 / 21:22
-1

Que tal pedir ao administrador do sistema para lhe dar uma conta sudo ? Se configurado adequadamente, você poderá executar apenas alguns comandos como usuário root, como o gerenciador de pacotes, para poder instalar o software sem credenciais raiz.

    
por 30.08.2010 / 14:13