Diferença entre a instalação do ubuntu software center e a linha de comando [fechada]

8

Oi eu sou novo no mundo ubuntu. Eu tenho algumas perguntas sobre a instalação do software no ubuntu:

  1. Qual é a diferença entre instalar um software no ubuntu software center e na linha de comando?

  2. Por que alguns softwares que instalei com a linha de comando não podem ser pesquisados ​​no centro de software (pressione a tecla da janela)?

  3. Quais são os comandos corretos para instalar um software a partir da linha de comando para que eu possa pesquisá-los?

  4. Fiz backup e restaurei meu sistema uma vez, mas alguns comandos funcionados antes (como "subl") não funcionam após a restauração do sistema.

Eu acho que essas perguntas são sobre $ PATH de alguma forma, mas não consigo encontrar algum material sobre isso. Qualquer material extra seria apreciado. :)

Andy
fonte
1
Quais softwares que você instalou via linha de comando não estão aparecendo no Software Center? Qual versão do Ubuntu você está usando?
Anwar
2
@ Andy # 2 e 4 precisam de mais detalhes, por favor. Obrigado!
Edgy1
1
Bem-vindo ao Ask Ubuntu! Lamentamos, mas o Ask Ubuntu não é um fórum, mas um site de Perguntas e Respostas: funciona melhor se você fizer uma pergunta, para receber uma resposta. Quando você faz várias perguntas, precisa encontrar um especialista versado em várias áreas, o que se torna improvável quanto mais perguntas você colocar, bem, uma pergunta! ;-) Então, divida sua pergunta em várias perguntas e envie-me um comentário para que eu possa responder uma de suas perguntas.
David Foerster

Respostas:

9

TL; DR : existem muitas áreas cinzentas e isso depende do que você está fazendo. Principalmente, o Software Center e os métodos de linha de comando fazem coisas semelhantes quando se trata de .debpacotes, mas outros pacotes de software podem exigir etapas diferentes.

Qual é a diferença entre instalar um software no centro de software Ubuntu e na linha de comando?

Aqui está a realidade: a instalação nada mais é do que jogar os arquivos que acompanham o pacote de software nos diretórios apropriados. Não importa se isso é feito via linha de comando ou via Software Center - eles fazem a mesma coisa - lança os arquivos em seus respectivos diretórios. O que importa, no entanto, é o pacote e como você lida com ele. Aqui, examinarei alguns dos pacotes básicos com os quais você pode lidar no Ubuntu. Quanto à diferença entre linha de comando e Software Center, a diferença mais básica é que no Software Center você clica nos botões; na linha de comando, você digita comandos. Eu sei que o Software Center usa muito código python, mas na linha de comando depende do utilitário que você usa. Há também uma quantidade de quanto o Software Center pode remover (leia abaixo sobre isso)

Os pacotes de software para o Ubuntu podem ser de três maneiras: .debarquivo, .runarquivo e apenas o código-fonte bruto, compactado zipou tararquivado. Dependendo de com quem você está lidando, a instalação da linha de comando pode ser mais ou menos dolorosa. Isso não é algo com o qual você realmente deve se preocupar, pelo menos não no primeiro ano de uso do Linux.

Você verá principalmente .debarquivos - eles são pacotes de software pré-compilados, prontos para uso. Estes são menos dolorosos. Eles também costumam especificar dependências - outro software sem o qual seu programa não será executado. Utilitários de linha de comando como apte apt-getinstalam dependências automaticamente para você. De fato, o Software Center usa apt-getcomo back-end, por isso também instala dependências automaticamente.

.runarquivos são tipicamente arquivos binários proprietários e codificados. Você realmente não pode ver o que eles estão fazendo.

Com o código-fonte bruto, você precisa fazer tudo sozinho - criar software e instalar dependências.

Também existem maneiras de instalar pacotes de outras distros, como .rpmpacotes, mas isso é feito muito raramente.

Também existe uma classe de software conhecida como contêineres. Há estivador e lxdcontêineres. Recentemente, o Ubuntu introduziu algo conhecido como snappacotes. O que há de bom nisso tudo? Eles podem ser executados em qualquer lugar, isolados com segurança do sistema principal e podem ser instalados / reinstalados rapidamente. Esses tipos de software não são instaláveis ​​pelo Software Center e geralmente para administradores de sistemas profissionais ou usuários avançados / técnicos. Como novo usuário, você não precisa se preocupar com isso, apenas lembre-se de que eles existem e são incríveis :)

Finalmente, algo como um script (e normalmente um único arquivo) também pode ser considerado um aplicativo e novamente - a instalação nada mais é do que jogar esse arquivo onde ele pertence ou deveria pertencer.

Por que alguns softwares que instalei com a linha de comando não podem ser pesquisados ​​no centro de software (pressione a tecla da janela)?

Novamente, isso realmente depende do pacote. Se os desenvolvedores do software decidirem incluir o .desktoparquivo no pacote, você poderá pesquisá-lo no Dash. .desktopos arquivos são como atalhos do Windows, embora façam muito mais. Um bom exemplo do utilitário de linha de comando que acompanha o .desktoparquivo é o Byobu - um programa muito útil para dividir o terminal em abas / janelas extras.

No entanto, você pode criar seu próprio .desktoparquivo para cada programa e colocá-lo na ~/.local/share/applications/pasta.

Novamente, isso não tem nada a ver com o aplicativo ser linha de comando ou GUI. Depende das escolhas que os desenvolvedores de aplicativos fazem

Quais são os comandos corretos para instalar um software a partir da linha de comando para que eu possa pesquisá-los?

Mais uma vez, depende do que você está fazendo. Se você estiver instalando software de repositórios oficiais do Ubuntu, poderá simplesmente fazersudo apt-get install my-software

Se você estiver instalando um .debpacote, poderá usar o dpkgcomando ou apt-get. Aqui está um exemplo de como instalar o pacote deb do google-chrome com o apt-get. NOTA : no momento da instalação, estou no mesmo diretório que o .debarquivo, portanto, tenho que especificar ./parte

$ sudo apt-get install ./google-chrome-stable_current_amd64.deb                
[sudo] password for xieerqi: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'google-chrome-stable' instead of './google-chrome-stable_current_amd64.deb'
The following NEW packages will be installed:
  google-chrome-stable
0 upgraded, 1 newly installed, 0 to remove and 54 not upgraded.
Need to get 0 B/50.0 MB of archives.
After this operation, 190 MB of additional disk space will be used.
Get:1 /home/xieerqi/下载/google-chrome-stable_current_amd64.deb google-chrome-stable amd64 53.0.2785.101-1 [50.0 MB]
Selecting previously unselected package google-chrome-stable.
(Reading database ... 476104 files and directories currently installed.)
Preparing to unpack .../google-chrome-stable_current_amd64.deb ...
Unpacking google-chrome-stable (53.0.2785.101-1) ...
Processing triggers for menu (2.1.47ubuntu1) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20160701-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up google-chrome-stable (53.0.2785.101-1) ...
update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/x-www-browser (x-www-browser) in auto mode
update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/gnome-www-browser (gnome-www-browser) in auto mode
update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/google-chrome (google-chrome) in auto mode
Processing triggers for menu (2.1.47ubuntu1) .

O que é legal apt-get? Tem --purgeopção, que permite remover tudo relacionado a um programa. Por exemplo, se eu apenas removê-lo sudo apt-get remove google-chrome-stableou fazê-lo via Software Center, ele pode deixar para trás os arquivos de configuração, para que, quando você reinstale o software, ele esteja pronto para uso como antes. --purgeA opção excluirá os arquivos de configuração também. Isso é conveniente se o seu software falhar e você desejar uma instalação completamente nova. O Software Center não faz isso, então isso é outra diferença.

Se você estiver lidando com um .runarquivo, precisará executá-lo e executá-lo. Como isso:

$ sudo chmod +x ./software.run
$ sudo ./software.run

Fiz backup e restaurei meu sistema uma vez, mas alguns comandos funcionados antes (como "subl") não funcionam após a restauração do sistema.

Depende do tipo de backup que você fez. Se o seu backup incluísse todos os arquivos necessários para que sublfuncionassem, ele deveria ter funcionado. Também pode ser que o seu backup tenha ocorrido antes da sublinstalação. Verifique se você configurou seu backup corretamente

Eu acho que essas perguntas são sobre $ PATH de alguma forma, mas não consigo encontrar algum material sobre isso. Qualquer material extra seria apreciado.

A $PATHvariável é relevante para o shell (o interpretador de comandos onde você coloca os comandos). Não é realmente relevante para o Unity Dash. $PATHA variável é realmente uma lista de diretórios, onde o shell procurará programas que tenham permissão de execução configurável. O Dash está realmente preocupado .desktopapenas com arquivos. Por exemplo, eu posso ter um programa na /usr/binpasta e poder abri-lo via linha de comando, mas o Dash não, porque não há um .desktoparquivo correspondente para ele.

Se você quiser encontrar material extra $PATH, escolha literalmente qualquer livro sobre scripts de shell do Linux. É um dos itens de conhecimento básico para qualquer usuário do Linux que queira usar a linha de comando.

Algumas reflexões finais : a complexidade da instalação de software para Linux às vezes pode ser chocante para novos usuários que vêm do mundo Windows ou Mac. Na realidade, são os mesmos princípios - jogue tudo onde ele pertence e funcionará. Você não encontra um atalho para o seu programa? Faça um - é apenas um arquivo de texto! Computadores são máquinas e devem ser operados. O Windows também tem %PATH%variável para sua linha de comando, você nunca soube disso, porque a linha de comando do Windows é menos versátil e menos usada do que no Linux. Em resumo, não se deixe intimidar por tudo o que pode ver, porque no dia-a-dia são cerca de 20% dos comandos ou ações mais frequentemente usados, e eles oferecem 80% do trabalho realizado.

Sergiy Kolodyazhnyy
fonte
1
De fato, muitos pacotes são mais do que alguns arquivos colocados em alguns diretórios. Os aspectos de instalação que vão além disso são dependências, reconstrução de caches e outros gatilhos, configuração de serviço, início de serviços.
QuIT - Anony-Mousse
The complexity of software installation for Linux may sometimes be shocking to new users who come from Windows or Mac worlddepende de como eles os usaram também. Eu "instalei" muitos aplicativos descompactando-os no Windows e vejo que muitos instaladores estavam literalmente descompactando em algum lugar Program Files. Na maioria das vezes, no Linux, a instalação é tão fácil quanto, por exemplo, no Windows. Somente em vez de baixar e executar um .exearquivo, você fará isso com a .deb. Como queiras. E a execução da linha de comando apenas faz esse processo para você. O Software Center é uma GUI no topo.
VLAZ 17/09/16
5
  1. Qual é a diferença entre instalar um software no ubuntu software center e na linha de comando?

Não há diferença em como o software é instalado. Mas costumava haver alguma diferença na qual o software poderia ser instalado antes das 15.10. O Ubuntu Software Center em Trusty costumava permitir que os usuários comprassem aplicativos através dele, e esses aplicativos geralmente não podem ser instalados apt-get.

  1. Por que alguns softwares que instalei com a linha de comando não podem ser pesquisados ​​no centro de software (pressione a tecla da janela)?

Acho que você está se referindo à pesquisa usando o Dash aqui (usando a tecla super). O Dash geralmente mostra apenas os programas que vêm com uma interface gráfica do usuário e têm algum tipo de ícone (mais especificamente com um arquivo .desktop ). Eles são bons para o uso diário e são mostrados na pesquisa Dash. Mas esses não são todos os aplicativos instalados; O Ubuntu tem muitos aplicativos de linha de comando que não aparecem no Dash, porque não são adequados para uso como aplicativos gráficos independentes (e porque geralmente não vêm com o arquivo .desktop). Por exemplo, você não verá o tarprograma no Dash.

Portanto, se você instalar um aplicativo de linha de comando, ele não aparecerá na pesquisa Dash (chave do Windows) em geral. Como você não especificou qual aplicativo não está sendo exibido, essa pode ser a resposta geral.

Nota: Como Serg apontou em um comentário, a aparência dos ícones no Dash depende dos arquivos .desktop. Se um aplicativo de linha de comando vier com um arquivo .desktop, ele também aparecerá no painel. Eu concordo com ele. Mas é verdade que os aplicativos de linha de comando geralmente não vêm com um arquivo .desktop .

  1. Quais são os comandos corretos para instalar o software a partir da linha de comando, para que eu possa pesquisá-los?

Como já foi dito, não há comando para instalar um software a partir da linha de comando que o forçará a aparecer na pesquisa Dash. Alguns softwares aparecerão automaticamente, outros não. Se você instalar o atom-text-editor via linha de comando, ele aparecerá. Se você instalar o p7zippacote, ele não aparecerá na pesquisa do Dash. Depende da disponibilidade dos ícones gráficos do software (e da configuração dos ícones do iniciador no ambiente da área de trabalho, como Unity, Xfce, etc.). Não depende de como você os instala.

  1. Fiz backup e restaurei meu sistema uma vez, mas alguns comandos funcionados antes (como "subl") não funcionam após a restauração do sistema.

Depende de como você fez backup e restauração. sublé o nome do programa para o Sublime Text Editor. Se você ainda não o instalou, instale-o. O sublcomando deve começar a funcionar.

Anwar
fonte
1
A resposta ao ponto 2 não está totalmente correta. O Dash busca arquivos .desktop. Um bom exemplo de utilitário de linha de comando que acompanha o arquivo .desktop é byobu e pode ser pesquisado por meio de traço. Ícones são irrelevantes
Sergiy Kolodyazhnyy
@Serg Obrigado. Eu queria dar uma resposta não técnica, tanto quanto possível. De qualquer forma, eu vou editar
Anwar
@Serg Parece Byobu também vem com um ícone :)
Anwar
Mesmo que ele viesse sem um ícone, ainda seria pesquisável no Dash, por causa do .desktoparquivo, teria apenas um ícone com ponto de interrogação, mas continuaria funcionando. Ícone é realmente opcional. Cabe aos desenvolvedores incluir ícones ou não.
Sergiy Kolodyazhnyy 17/09/16
3

Eu estou supondo que você está usando um aptou a apt-getpartir da linha de comando. O apt é um gerenciador de pacotes no qual o centro de software da GUI conta. Digamos, por exemplo, que você queira instalar o pacote "gimp". Para fazer isso via linha de comando, você usa

sudo apt install gimp

Tudo o que o centro de software faz é que, quando você seleciona o GIMP a ser instalado, executa esse comando em segundo plano para que você não precise digitá-lo.

Para procurar um programa instalável via linha de comando, use este comando:

apt search {search term}
Edgy1
fonte