Instalar programas no Linux (ubuntu) é ainda uma tarefa complicada

Iniciado por Ro301, 23 de Junho de 2014, 10:10

tópico anterior - próximo tópico

zekkerj

Citarpossivelmente estéril a iniciantes

Passa por aqui um dos problemas: o Ubuntu, como qualquer outro sistema Linux, é um sistema diferente do "paradigma" Windows. Assim, usar o Ubuntu, ou usar Linux, exige uma curva de aprendizado das coisas novas e de "desaprendizado" das antigas. É preciso, antes de tudo, aceitar que algumas coisas são diferentes, e não vão mudar para se tornarem iguais ao windows.

O primeiro pressuposto do Linux é a liberdade, e sendo assim, quem o usa deve ser livre. Livre pra usar, e livre pra não usar.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Tota

Citação de: zekkerj online 01 de Julho de 2014, 13:26
O primeiro pressuposto do Linux é a liberdade, e sendo assim, quem o usa deve ser livre. Livre pra usar, e livre pra não usar.

Acrescente-se livre para estudar e aprender, e livre para não fazê-lo e ficar na mesma.

Ro301

Citação de: Tota online 01 de Julho de 2014, 12:24
Citação de: davidpt online 01 de Julho de 2014, 10:33
A maior parte já falou do centro de programas e o resto? Essa qualquer iniciante se apercebe nos primeiros dias que usa o ubuntu. E o resto?

Bem o resto é bem simples:

Pacotes .bin - necesitam de um compilador, este é apontado no pacote de instalação.

Pacotes .js - são pacotes java, invocados pelo comando em terminal java -jar <nome_do_pacote>

Pacotes .run - São pacotes auto executáveis. Como foram criados em maquina diferente da do instalador necessitam permissão de execussão (chmod +x) e de usuário para serem iniciados pelo interpretador, que no caso do Ubuntu é o BASH (Bourne Again SHell) que por defeito exige a instrução ./ para sua execussão.

Pacotes .zip - exigem um decompressor que interprete o algoritmo de compressão deste formato.

Pacotes .rar - exigem um decompressor que interprete o algoritmo de compressão deste formato.

Pacotes .Tar.gz e tar.gz2 - São pacotes comprimidos em formato TAR (Tarball). Podem conter codigo binário ou código-fonte onde ambos necessitam compilação. Pelas regras GNU, um pacote tarball é acompanhado das respectivas instruções de instalação em um arquivo nominado README, e das licenças GNU. Como cada pacote tem instruções próprias, a leitura do arquivo REDME é obrigatória, como o é a necessidade de se ter préviamente instados os pacotes de compilação GCC, GNUtils, etc.

Pacotes RPM (Red Hat Packages Manager) - são pacotes pré-compilados para as distribuições derivadas da distribuição Red Hat. Podem ser portadas (mas não sem erros) através do pacote Alien, que "converte" a pré compilação a pacotes .deb (Debian Packages) utilizadas pelo Ubuntu e outras distribuições. Sua sintaxe é: alien --to-deb [--scripts_de_instalação] ./pacote.rpm

Pacotes .sh - São pacotes em formato texto escritos para serem interpretados em shell script ( BASH, SH, e outros). São auto executáveis, necessitando de permissão de execução e de usuário

Pacotes .deb - São pacotes pré-compilados com debconf para uso em distribuições Debian e derivadas interpretadas pelo pacote dpkg e que podem ser acessados por "front-ends" como os pacotes apt, synaptic, central de programas, dentre vários outros como aptitude, dselect, fink, apper, etc.

Creio serem estes o "é o resto?".

Acredito ainda não ser objeto do tópico, entendimentos sobre shell script, gcc, permissões POSIX, requisitos de sistema e ambientes gráficos, pressupostos essenciais à compilação de pacotes, como o são no Windows o conhecimento prévio de edição do registro, bibliotecas de vínculo dinâmico e uso do Windows terminal, Visual BASIC, e outras nativas a este sistema.

Citação de: davidpt online 01 de Julho de 2014, 10:33
Estou convencido no entanto que é possível tecer algumas palavras que ajudem-nos melhor a compreender a instalação e desinstalação das várias formas.

Quanto a desinstalar um pacote no Ubuntu, devemos assumir que o conhecimento do pacote dpkg é de pleno domínio no manejo de pacotes nativos .deb, coisas que alguns "front-ends" o fazem de forma automática, sem intervenção do usuário.

Outros pacotes como já citados, e notadamente .js, .phy, e .bin, basta que sejam localizados no sistema (na pasta de instalação) e sumariamente removidos para sua desinstalação, já que diferentemente do Windows, o GNU/Linux não utiliza o conceito de um arquivo de registro.

Arquivos .run vêm em sua maioria com um arquivo de desinstalação (geralmente uninstall.sh, à semelhança do Windows) bastando invocar o arquivo para a remoção do pacote e suas dependências.

Desnecessário comentar os arquivos compactados .zip e .rar (existem outros, como lha, etc.) que são apenas formas de empacotamento e não são executáveis sem o decompilador apropriado.

Arquivos .RPM uma vez "convertidos" a deb se conportam como um pacote .deb usual.

Restam, finalmente, os pacotes compilados. Estes exigem um esforço maior em sua remoção pois não possuem um desisntalador apropriado. Como é obrigatório o conhecimento dos padrões POSIX para compilação, este é necessário também na remoção.

Para se remover um pacote compilado, inicialmente este deve ser localizado no sistema da maneira usual através dos comandos em shell find e/ou locate, anotados os seus respectivos locais em pastas/diretórios e sequencialmente removidos com o comando em shell rm. Após estes procedimentos, se pesquisam as bibliotecas a este pacote "atreladas" e que devem ser removidas da mesma forma com rm, apesar da facilidade proporcionada por alguns "front ends" do dpkg o fazerem de forma automática (como por exemplo apt-get autoremove) e bastante simples.

Para encerrar, peço desculpas pelo texto longo, e possivelmente estéril a iniciantes, e que como iniciantes deveriam se ater apenas à facilidade da central de programas (software-center no Ubuntu),  um pacote precioso presente no Ubuntu (em outras distros pode ter seus instaladores/desinstaladores por semelhança) e só imitado pelo Mac OS a mais ou meos 5 anos atrás e no Windows a um ano com o lançamento do Windows 8 / 8.1.

Abraços e bons estudos a todos

Fantástico! Era mesmo este tipo de informação que procurava. Mas ainda falta saber como se instala e desinstala correctamente os softwares pelo terminal. Quero começar a habituar-me usar o terminal. Já ouvi dizer que existem códigos de remoção de software que não são tão eficientes, enfim. Gostava de aprender a dar os primeiros passos.

Obrigado.

Ro301

Citação de: zekkerj online 01 de Julho de 2014, 13:26
Citarpossivelmente estéril a iniciantes

Passa por aqui um dos problemas: o Ubuntu, como qualquer outro sistema Linux, é um sistema diferente do "paradigma" Windows. Assim, usar o Ubuntu, ou usar Linux, exige uma curva de aprendizado das coisas novas e de "desaprendizado" das antigas. É preciso, antes de tudo, aceitar que algumas coisas são diferentes, e não vão mudar para se tornarem iguais ao windows.

O primeiro pressuposto do Linux é a liberdade, e sendo assim, quem o usa deve ser livre. Livre pra usar, e livre pra não usar.

Li as tuas mensagens e vou ver os links que sugeriste, só para que fique registado.

Em relação a esta só corrijo uma coisa que disseste. Não acredito que por querermos aprender algo novo tenhamos de esquecer outras coisas (windows). Mas é verdade que para aprender algo novo temos de nos desprendermos dos hábitos antigos e adoptar uma nova postura. Porém, esquecer nunca é o caminho.

Sinceramente ás vezes sinto o vicio do windows, da sua facilidade (w7). Mas, depois penso no que ele representa e nas suas limitações e lá acordo. Coisa de iniciantes.
Não estou nada arrependido de instalar o ubuntu e já nem me consigo imaginar sem o linux.
Irei futuramente dedicar-me a aprender mais sobre ele. Agora estou com exames à porta. Estou ansioso para aprender mais sobre o mundo fantástico do linux.

zekkerj

Citação de: davidpt online 01 de Julho de 2014, 16:26
Fantástico! Era mesmo este tipo de informação que procurava. Mas ainda falta saber como se instala e desinstala correctamente os softwares pelo terminal. Quero começar a habituar-me usar o terminal. Já ouvi dizer que existem códigos de remoção de software que não são tão eficientes, enfim. Gostava de aprender a dar os primeiros passos.

Obrigado.
Ah, estamos avançando.

No terminal há programas que trabalham em conjunto com a Central de Programas, chamados "front-ends". --- aliás, a Central de Programas é apenas mais um deles.

Os mais conhecidos são o apt (com os comandos "apt-get", "apt-cache", etc.) e o aptitude. A função deles é a mesma, apesar de trabalharem ligeiramente diferente. Basicamente, você escolhe o pacote dos repositórios que deseja instalar, e ordena a instalação com um dos dois.

Eu tenho mais costume de usar o apt, via "apt-get". Quando eu quero instalar o phpMyAdmin, simplesmente digito o comando abaixo numa janela de comandos:

sudo apt-get install phpmyadmin

Isso inicia o processo de instalação do phpMyAdmin da mesma forma que aconteceria se eu usasse a Central de Programas.

Note que embora simples, o processo de instalar um programa pode ter vários passos delicados. Esse phpMyAdmin já é um bom exemplo disso. Para funcionar, o phpMyAdmin necessita um servidor MySQL, um servidor Web e uma série de pacotes adicionais aos dois (são os "pacotes de dependência"). Se eu fosse simplesmente baixar o pacote fonte, ou ainda o pacote ".deb" correspondente, teria que prover manualmente uma série de outros pacotes. Isso, além de ser terrivelmente chato, também gera dois problemas:
1. Os pacotes de dependência precisam ser de versões específicas para funcionar corretamente com o pacote que vc quer instalar.
2. Quando você desinstala o pacote que pedia aquela dependência, tem que desinstalar as dependências dele também --- mas só se não houver outro pacote que dependa delas.

Ao fazer a instalação pelo apt, aptitude ou Central de Programas, o próprio sistema identifica os pacotes de dependência necessários, baixa-os na versão mais apropriada, e os instala.
Quando você desinstala o programa, o sistema verifica os pacotes que não são mais necessários e os desinstala (ou pelo menos avisa a você que eles podem ser desinstalados).

Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

zekkerj

Citação de: davidpt online 01 de Julho de 2014, 16:32
Em relação a esta só corrijo uma coisa que disseste. Não acredito que por querermos aprender algo novo tenhamos de esquecer outras coisas (windows). Mas é verdade que para aprender algo novo temos de nos desprendermos dos hábitos antigos e adoptar uma nova postura. Porém, esquecer nunca é o caminho.

Sinceramente ás vezes sinto o vicio do windows, da sua facilidade (w7). Mas, depois penso no que ele representa e nas suas limitações e lá acordo. Coisa de iniciantes.
Não estou nada arrependido de instalar o ubuntu e já nem me consigo imaginar sem o linux.
Irei futuramente dedicar-me a aprender mais sobre ele. Agora estou com exames à porta. Estou ansioso para aprender mais sobre o mundo fantástico do linux.

Você entendeu o que eu quis dizer. Sistema novo, costumes novos. Não dá pra continuar fazendo tudo igual.
Vc já fez isso com o Android e com o iPhone. É só fazer o mesmo com o Ubuntu.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D