Como posso instalar software ou pacotes sem a Internet (offline)?

257

Eu tenho um amigo que possui um computador que não está conectado à Internet. Existe alguma maneira de instalar o software offline facilmente?

akshatj
fonte
1
O link a seguir também pode ser interessante para você. askubuntu.com/questions/86358/…
starkus 28/09/2013

Respostas:

129

Confira o Keryx ; é um gerenciador de repositório offline.

Como funciona? Permite baixar atualizações e novos programas (com dependências) para a sua unidade flash .

Sua interface é semelhante à sináptica, mas funciona a partir de um pendrive (não precisa de instalação). Infelizmente, a GUI precisa de wxwidgets, que não são pré-instalados no Ubuntu (eles são multiplataforma e instaláveis ​​a partir daqui e o repositório Ubuntu aqui ). Ele só pode instalar software em um sistema Ubuntu, mas você pode baixar as atualizações ou novos pacotes em qualquer Linux, Windows ou OS X.

Aqui você pode encontrar um tutorial .

Outro tutorial passo a passo detalhado está nesta resposta .

O Launchpad também hospeda arquivos para download .

Uma captura de tela:

Screenshoot

Javier Rivera
fonte
12
O keryx não está mais em desenvolvimento; se você estiver tentando isso em uma versão mais recente do Ubuntu, use a versão portátil para se livrar do problema das dependências.
Alex R
1
Ainda uso keryxsem problemas, embora claramente precise de mais desenvolvimento e melhorias.
carnendil
1
Como eu uso isso?
carnendil
E se o outro computador offline não tiver gcc, g ++? É um ubuntu instalado recentemente. Como posso instalar wxwidgets? Sem wxwidgets, ele reclama da falta do módulo ...
uma oferta não pode ser
3
Acabei de lançar uma nova versão do Keryx ( 0.92.5 ), que pode resolver algumas preocupações. A versão compilada deve conter dependências como wxWidgets e permitir que você execute no Windows sem problemas.
Michael Crenshaw
57

Um corte rápido

Um truque rápido é copiar todos os pacotes que você baixou para sua instalação em sua máquina ( instruções detalhadas aqui ). Os arquivos .deb são armazenados e /var/cache/apt/archives, em outro computador, inicie o Synaptic, selecione File -> Add Package Downloadede pesquise a pasta onde você colocou os arquivos e abra-os, aceite todos (ou instale do terminal usando o comando sudo dpkg -i DEB_PACKAGE_NAME).

NOTA:
Isso pressupõe que o seu gerenciador de pacotes não esteja configurado para excluir os pacotes logo após a instalação. Ele também pressupõe que você esteja executando a mesma versão do Ubuntu (10.10, 12.04, etc) e a versão da arquitetura (32b ou 64b) .


Um repositório de DVD

Se você deseja as últimas correções de bugs e patches de segurança disponíveis, consulte este tutorial , que aborda a criação de seu próprio repositório de DVD.

jr0cket
fonte
2
Se você não pode executar sudo apt-get updateisso não vai funcionar muito bem, ainda um bom tempo saver quando a criação de um novo sistema :)
GM-Script-Writer-62850
Concordou, apenas atualizou dois computadores para 13.10 a partir de 13.04. O primeiro teve que baixar ~ 1.8Gb, ao copiar o conteúdo /var/cache/apt/archivespara o segundo, ele fez o download apenas ~ 250Mb. Ainda assim, você precisa de uma conexão para executar a instalação.
precisa
apt-get updatenão é necessário se você copiar /var/lib/apt/lists- este diretório contém as informações do repositório que são baixadas por apt-get update.
23414 ignis
Copiei o meu .debpara o meu usbpartir /var/cache/apt/archives. No outro computador, apenas abri o drive USB e cliquei duas vezes no .debque lançava a GUI do Ubuntu Software Updater. Fácil pezy.
Jacksonkr
@ jr0cket: Existe alguma maneira de evitar os pacotes nesta pasta /var/cache/apt/archivesque vêm (embutidos) quando o Debian está instalado?
Justin05 /
42

Um repositório USB

Se você possui um pendrive de tamanho decente - assumindo entre 4 e 8 GB (ou disco rígido externo), pode configurar uma cópia personalizada do repositório Ubuntu e configurá-lo como repositório local, conforme coberto no AptGet / Offline / Repository no help.ubuntu .com.

Para obter os arquivos de pacote reais (os arquivos .deb), sugiro usar apt-mirror.

O apt-mirrorpacote ajudará você a criar um espelho personalizado que deve ser menor que os 30 GB do repositório completo. Instale o pacote:

sudo apt-get install apt-mirror

e edite seu arquivo de configuração

gksudo gedit /etc/apt-mirror/mirror.list

ou desde o Ubuntu 14.04

gksudo gedit /etc/apt/mirror.list

Inclua apenas as seções do repositório que você deseja. Aqui está um exemplo simples que copia os arquivos .deb binários de todas as 4 seções (principal, restrita, universo e multiverso), bem como as últimas correções de bugs.

# apt-mirror configuration file
##
## The default configuration options (uncomment and change to override)
##
#
set base_path    /tmp/ubuntumirror
#

## Repositories to copy from - 

## use a mirror so you don't overload the main server!!!

# Lucid binaries - no source files
deb http://archive.ubuntu.com/ubuntu lucid main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lucid-updates main restricted universe multiverse


## Clean up older .deb files no longer in the archive
clean http://archive.ubuntu.com/ubuntu

Supõe-se que você precisará de cerca de 15 GB de espaço para todas as 4 seções, sem a fonte.

Eu coloquei o caminho para todos os arquivos .deb /tmp, verifique se você tem espaço suficiente para o disco rígido não encher (se o disco rígido encher e o computador congelar, /tmpdeve ser limpo com uma reinicialização).

Se você deseja apenas os arquivos principais, remova os nomes restritos, universo e multiverso do arquivo de configuração.

Se você estiver usando uma arquitetura diferente (você tem 64 bits, mas seu amigo possui 32 bits), adicione o seguinte no início do arquivo de configuração mirror.list :

set defaultarch i386

Depois de ter a apt-mirrorconfiguração desejada, execute apt-mirrore vá fazer algo divertido ou mudar a vida, pois levará horas ou dias para obter o repositório (dependendo da sua conexão e do espelho do Ubuntu que você estiver usando).

Depois de ter os arquivos .deb, copie-os para o seu cartão de memória USB (ou disco rígido externo) e configure o repositório local conforme o artigo mencionado anteriormente.

Teste se funciona antes de levá-lo ao seu amigo!

jr0cket
fonte
O pacote apt-mirror é detalhado em:: apt-mirror.sourceforge.net
jr0cket
Quando tentei sudo apt-get install apt-mirrordiretamente no Ubuntu 16.10 (Yakkety Yak), edição para desktop / Rufus / stick USB / modo de teste, obtive " E: Unable to locate package apt-mirror". Houve conexão com a Internet, verificada por ping.
Peter Mortensen
Correr sudo apt-get updatenão corrigiu.
Peter Mortensen
32

Eu uso o apt-get com a opção "--print-uris" para fazer isso. Também adiciono "-qq" para que fique quieto.

Use sed para remover caracteres extras adicionados a alguns nomes de arquivos (algo como 3% 2a) e obter o URL, o nome do arquivo e o md5sum dos arquivos. Use wget para baixar os arquivos. Use o md5sum para verificar se os arquivos foram baixados corretamente.

Você pode usar isso para criar um script de shell para Linux ou Mac OS (substitua ".cmd" nos comandos para .sh e faça "chmod a + x (nome do arquivo) para adicionar permissão para executar o script) ou um arquivo em lotes de comando do Windows e um arquivo MD5Sum para garantir que os arquivos sejam baixados corretamente.

Comandos

Criar script:

sudo apt-get <<<apt-get command and options>>> --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > script.cmd

Exemplos:

sudo apt-get install anjuta --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install-anjuta.cmd
sudo apt-get upgrade --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > upgrade.cmd
sudo apt-get dist-upgrade --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > dist-upgrade.cmd

Crie o arquivo md5sum:

sudo apt-get <<<apt-get command and options>>> --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4  .\/\2/p" > md5sum.txt

Exemplos:

sudo apt-get install anjuta --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4  .\/\2/p" > md5sum.txt
sudo apt-get upgrade --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4  .\/\2/p" > md5sum.txt
sudo apt-get dist-upgrade --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4  .\/\2/p" > md5sum.txt

Você precisa do md5sum para Windows se estiver usando esse sistema operacional para baixar arquivos.


Crie um script para baixar as listagens de repositório:

sudo apt-get update --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) :/wget -c \1 -O \2.bz2/p" > update.cmd

Verificando somas MD5

Você pode adicioná-los ao final dos scripts para verificar md5sum:

Linux:

md5sum --quiet -c md5sum.txt

Windows (usa md5sum mais antigo, não suporta --quiet):

md5sum -c md5sum.txt

Para adicionar automaticamente ao script:

echo -e "md5sum -c md5sum.txt\npause" >> script.cmd

Instalando arquivos de lista (comando Atualizar)

Execute esses comandos no computador de destino.

Você precisa usar bunzip2 para extrair os arquivos da lista de repositórios:

bunzip2 *.bz2

Em seguida, copie para a pasta de listagem (a pasta atual contém apenas arquivos de lista):

sudo cp * /var/lib/apt/lists/

Acima combinado (a pasta atual pode conter outros arquivos):

for listfile in `ls *.bz2`; do bunzip2 $listfile; sudo cp ${listfile%.bz2} /var/lib/apt/lists/; done

Downloads mais rápidos

Se você deseja acelerar o download dos arquivos, tente usar o Axel.

Substitua wget -c ... -O ...por axel ... -o ....

Hierarquia de pastas (Fazendo download de arquivos usando o Windows)

Eu costumo criar uma pasta como esta:

  • apt-get /
    • bin /
      • msys-1.0.dll
      • msys-intl-8.dll
      • wget.exe
      • msys-iconv-2.dll
      • md5sum.exe
      • libeay32.dll
      • libintl3.dll
      • libssl32.dll
      • libiconv2.dll
    • atualizar/
      • update.cmd
      • md5sum.txt
    • instalar/
      • install-foo.cmd
      • install-bar.cmd
      • upgrade.cmd
      • md5sum.txt

Em seguida, altere wgetas linhas acima para ..\\bin\\wget.exe, md5sumpara ..\\bin\\md5sum.exeetc.

Isso irá separar os arquivos * .deb e listar os arquivos em diferentes pastas.

Atualizando seu sistema

  1. Inicialize no computador de destino que usa o Ubuntu
  2. Crie um script para atualização
  3. Inicialize em um computador com conexão à Internet
  4. Execute update.sh (para Linux ou Mac OS) ou update.cmd (Windows)
  5. Volte ao computador de destino
  6. Instalar arquivos da lista
  7. Crie um script para upgrade / dist-upgrade (adicione comandos md5sum ao final)
  8. Volte ao computador com conexão à Internet
  9. Execute upgrade.sh/dist-upgrade.sh (Linux ou Mac OS) ou upgrade.cmd / dist-upgrade.cmd (Windows)
  10. Volte ao computador de destino
  11. Copie os arquivos * .deb para o cache: sudo cp *.deb /var/cache/apt/archives/
  12. Executar: sudo apt-get upgradeousudo apt-get dist-upgrade

Baixar Executáveis ​​para Windows

Wget para Windows: http://gnuwin32.sourceforge.net/packages/wget.htm

md5sum para Windows: http://gnuwin32.sourceforge.net/packages/coreutils.htm ou http://www.etree.org/cgi-bin/counter.cgi/software/md5sum.exe

Você também pode usar os do MinGW , que são o que eu uso. Você só precisa do wget.exe, md5sum.exe e das bibliotecas compartilhadas necessárias. Verifique a seção "Hierarquia de pastas".

Notas

  • Não tenho muita certeza se tudo acima dos comandos funcionará, pois não os uso há um mês. Especialmente o comando update, que eu não testei hoje algumas partes dele.
  • Para ver facilmente os resultados dos comandos, adicione uma linha de "pausa" no final dos scripts, se estiver usando o Windows.
  • Eu recomendo criar scripts de shell para atualizar, atualizar e instalar pacotes se você estiver usando esses comandos com frequência.
Arnel A. Borja
fonte
3
Você pode criar uma interface gráfica simples para este :)
Tachyons
usando janelas para isso parece muito estranho ...
Alex R
1
Também é aplicável ao Linux (que é realmente melhor porque você não precisa instalar o md5sum e o wget). A parte do Windows é para aqueles que não têm um computador Linux com conexão à Internet; portanto, você pode usá-lo em uma lan house ou no computador de um amigo que tenha apenas o Windows.
Arnel A. Borja
-qqA opção aparece para suprimir toda a saída de apt-get update. Suponho que você realmente não deseja essa opção.
Ruslan
29

Você precisa primeiro de um PC com conexão à Internet, para baixar os arquivos .deb necessários. Depois de baixar todos os arquivos, agora você pode criar um CD / DVD ROM ou um arquivo ISO que pode ser usado para instalar o software baixado no seu PC off-line.

Comece com uma instalação limpa ou VM.
sudo apt-get install aptoncd

Instale os pacotes que você deseja em um PC
sudo apt-get install gbrainy

Executar aptoncd
insira a descrição da imagem aqui
Clique em Criar
insira a descrição da imagem aqui
Clique em Gravar e defina as opções e em Aplicar Aplicar
insira a descrição da imagem aqui
Gravar ou salve-o
insira a descrição da imagem aqui

Observe que o aptoncd faz backup apenas de coisas no apt-cache atual.
É por isso que começamos com uma VM limpa / nova instalação e fizemos tudo isso de uma só vez.

RobotHumans
fonte
Então, você está dizendo se eu faço um vm e instalo todos os aplicativos que eu quero, então execute este programa, leve o CD / DVD para o PC offline. e instalaria todos os aplicativos nele?
1155 Alex
2
Contanto que você use a mesma mídia de sistema base, sim. Se você está implantando um escritório e deseja uma maneira rápida e simples de adicionar algo, isso se torna muito útil. Se você usar o pacote criar-meta, sim
RobotHumans
A restauração da imagem requer que o hal seja instalado, mas está obsoleto e não é mais suportado pelo que entendi.
Flashrunner
Há uma compilação para vívida code.launchpad.net/~ubuntu-branches/ubuntu/vivid/hal/vivid
RobotHumans
22

Repositório offline

Como criar um repositório offline é descrito aqui : Você só precisa fazer o download dos arquivos apropriados em archive.ubuntu.com . Como alternativa, você pode usar apt-medium.

EDIT: Outra abordagem baseada em um arquivo local de *.debarquivos é descrita em diferentes entradas de blog (veja aqui e aqui ). Sarath Chandra resume da seguinte forma:

  1. Tornar um diretório acessível (pelo menos por raiz)

    sudo mkdir /var/my-local-repo
    
  2. Copie todos os arquivos deb para este diretório.

  3. Faça o diretório como um

    sudo bash -c 'dpkg-scanpackages /var/my-local-repo /dev/null | gzip -c9 > /var/my-local-repo/Packages.gz'
    

    ou

    sudo dpkg-scanpackages /var/my-local-repo /dev/null | gzip -c9 > /var/my-local-repo/Packages.gz
    
  4. Adicione o repositório local às fontes

    echo "deb file:/var/my-local-repo ./" > /tmp/my-local.list
    sudo mv /tmp/my-local.list /etc/apt/sources.list.d/my-local.list
    sudo apt-get update
    
tohuwawohu
fonte
20

Etapa 1: obtenha os URLs de download em um arquivo:

Execute o seguinte comando substituindo nomes de pacotes pelos necessários, separando por um espaço.

apt-get -y install --print-uris package-name | cut -d\' -f2 | grep http:// > apturls

Etapa 2: Copie este arquivo (apturls) em uma máquina que tenha acesso à Internet de alta velocidade e execute o seguinte comando para baixar os pacotes:

wget -i path-to-apturls-file 

Etapa 3: Agora instale os pacotes baixados em sua máquina e instale-os usando:

cd path-to-the-downloaded-packages-directory

sudo dpkg -i *.deb

Feito!

harisibrahimkv
fonte
Imprime --print-urisaté dependências já instaladas no sistema?
yuric 25/09/2015
19

Você pode usar o cubo . É um gerenciador de pacotes portátil que permite baixar pacotes em outro computador conectado à Internet e instalá-los de volta no seu computador Linux original, offline.

Download de aplicativos (no Windows)

Instalando aplicativos (no Linux)

Você pode baixá-lo no site da Cube .

Camicri
fonte
é .deb ou .exe?
2
Não há arquivo .deb porque é autônomo, portátil e pode ser executado sem a instalação (basta executar o arquivo cube-normal). Cube.exe também está incluído para usuários do Windows.
Camicri
1
Mais pessoas precisam saber sobre isso. Eu te amo.
howderek
Estou recebendo um erro ao executar este aplicativo no win 7 Ultimate 32 bit. Imagem: i.stack.imgur.com/XW3wt.jpg mensagem de erro: Assinatura do problema: Nome do evento de problema: CLR20r3 Assinatura do problema 01: cube.exe Assinatura do problema 02: 1.0.9.3 Assinatura do problema 03: 54bd0258 Assinatura do problema 04: glib-sharp Assinatura do problema 05: 2.12.0.0 Assinatura do problema 06: 517edc4c Assinatura do problema 07: 1b4 Assinatura do problema 08: 17 Assinatura do problema 09: System.DllNotFoundException Versão do sistema operacional: 6.1.7600.2.0.0.256.1 ID de localidade: 16393
Sandeep
Olá e obrigado por usar o Cube. Infelizmente, a versão do cubo que você está usando não é mais mantida. Por favor, use o novo e estável Cube Server: launchpad.net/cube-server. Veja a resposta atualizada acima.
Camicri
17

No synaptic, você pode selecionar os pacotes que deseja instalar e, no primeiro menu, há uma opção para gerar um script que você pode levar para outra máquina e executar lá. Este script "wget" (ou seja, "download") todos os pacotes que você especificou que você queria (e suas dependências) que você funciona em um computador que faz têm acesso à Internet.

Uma vez executado, você terá todos os arquivos de pacote necessários para o computador desconectado. Carregue-os em um stick de CD / USB e instale-os sudo dpkg -i *.deb.

popey
fonte
é um truque legal, mas 2 computadores para fazer o processo? hmmmm
Suhaib
@Suhaib - não sei como você faria o download dos pacotes necessários em qualquer medida sem 'dois computadores' ... você precisa de uma máquina 'online' para obter os pacotes que você enviará de alguma forma para a sua máquina offline (mesmo que seja uma VM ou Docker Container em execução em um sistema operacional host diferente ou um monte de manuais curl/ wgetcópias em alguma mídia externa ...
Cinderhaze
15

Você pode usar apt-offlineou apt-offline-gui.
Pré-requisitos : sistema de um amigo com conexão à Internet. apt-offline instalado em seus dois sistemas.

A instalação offline é realizada em 3 etapas simples.

Etapa 1 :
Gere um arquivo de assinatura na caixa Debian Desconectada em casa
apt-offline set /tmp/apt-offline.sig
O comando acima irá gerar todas as informações necessárias sobre o apt para atualizar seu banco de dados.

Etapa 2 :
Baixar dados com base no arquivo de assinatura gerado anteriormente
apt-offline get C:\apt-offline.sig --threads 5
O comando acima fará o download dos dados conforme mencionado no arquivo de assinatura. Para acelerar os downloads (que podem ser de vários repositórios apt), neste exemplo, geramos 5 threads de download.
Depois de concluído, você pode simplesmente copiar os dados (um arquivo morto, se você usou a opção --bundle) de volta para a mídia removível e copiá-los de volta para o host offline.

Etapa 3 : Ao
voltar para a máquina Debian em casa, você alimenta os dados da mídia removível para o apt-offline:
apt-offline install /media/USB/apt-offline.zip
Isso atualizará o banco de dados do APT na sua máquina desconectada sem problemas.

O Apt-offline pode até ser usado em sistemas Windows. Na minha opinião, apt-offlineé a melhor opção para instalação offline.

Fonte

Hashken
fonte
Duas observações: Primeiro, a geração de uma assinatura para um pacote já instalado ou pronto para instalar "falha" no sentido de que o arquivo .sig está vazio. Isso é um pouco desconcertante, mas aparentemente normal. Segundo, o apt e o apt-offline funcionam corretamente somente se / var / lib / apt / lists tiver sido propriamente propagado. É uma quantidade razoável de trabalho se as máquinas de destino e host tiverem arquiteturas diferentes.
Urhixidur
Os PCs de origem e de destino precisam ter a mesma versão do Ubuntu?
Tulains Córdova
Como instalar a máquina do apt-offline para offline?
Sami Şimşekli
10

Existem várias respostas eficazes e boas listadas acima. No entanto, esse é o mecanismo que eu pessoalmente uso - apt-ftparchive . Estou documentando aqui, caso precise novamente no futuro. Talvez possa ser útil para você.

Criando o instantâneo de arquivamento

  • Crie uma instância do Ubuntu que imite de perto o ambiente de destino
    • Por exemplo, uma instância do Ubuntu 12.04 de 64 bits na Amazon
  • Comece com um ambiente de pacote limpo
    • sudo apt-get clean
  • Atualize as listas de pacotes
    • sudo apt-get update
  • Baixe todas as atualizações de pacotes disponíveis
    • sudo apt-get dist-upgrade --download-only
  • Baixe todos os pacotes e dependências relevantes
    • sudo apt-get install --download-only byobu run-one bikeshed dotdee powernap
  • Instale o utilitário apt-ftparchive
    • sudo apt-get install apt-utils
  • Crie o manifesto do pacote
    • (cd /var/cache/apt/archives/ && sudo apt-ftparchive packages . ) | sudo tee /var/cache/apt/archives/Packages
  • Crie um arquivo dos pacotes
    • sudo tar cvf snapshot.tar -C /var/cache/apt archives/

Usando o instantâneo de arquivamento no sistema de destino offline

  • Por meio de algum mecanismo, você precisará obter o snapshot.tar da origem ao sistema de destino. Talvez em um pendrive, ou não.
  • Extraia o arquivo no sistema de destino (neste caso, em / home / ubuntu)
    • tar xvf snapshot.tar
  • Adicione a fonte offline local a /etc/apt/sources.list
    • echo "deb file:/home/ubuntu/archives /" | sudo tee -a /etc/apt/sources.list
  • Atualize a lista de pacotes
    • sudo apt-get update
  • Instale os pacotes conforme desejado
    • sudo apt-get install byobu run-one bikeshed dotdee powernap
Dustin Kirkland
fonte
4

Para instalação offline, você precisará dos pacotes. Se você estiver usando um sistema Debian

  • Obtenha o arquivo do pacote com a .debextensão e use-o dpkg -i package_namepara instalá-lo
  • Obtenha o tarball de origem com a extensão .tar.gzou .tar.bz2, em seguida, extraia e instale-os com:

    tar -zxvf your_pack.tar.gz` or tar `-jxvf your_pack.tar.bz2
    make
    sudo make install
    make clean        (optional, and may prevent uninstallation)
    

Você pode ter problemas com dependências. Você precisa instalar todos os primeiros para uma instalação offline bem-sucedida.

Harshit Chaudhary
fonte
2

Sim. Você pode baixar o iso do DVD, gravá-lo em um DVD e instalar o software a partir do DVD. Veja aqui CDs e DVDs podem ser fornecidos como fonte para os gerenciadores de pacotes da mesma maneira que os arquivos online.

txwikinger
fonte
2

A primeira coisa que você pode fazer antes da instalação de um pacote offline é atualizar o repositório / repositórios que você precisa. Você deve, com certeza, atualizar o repositório principal (de graça e com suporte oficial).

Os aplicativos que você deseja instalar podem estar em outros repositórios, como o Universe (gratuito, mas sem suporte oficial), ou o restrito (não-livre, oficialmente suportado) ou o repositório Multiverse (não-livre, sem suporte oficial) . Então você pode querer um ou mais desses também.

Portanto, a primeira etapa do processo é criar um repositório offline atualizado; em seguida, gere a lista "baixar" e faça o download deles, e finalmente a inscrição. Aqui está como é feito: source

  1. Digite o URL: http://archive.ubuntu.com/ubuntu/dists/ suiteCodename em que suiteCodename deve ser adequadamente substituído, digamos, preciso para Ubuntu 12.04 (Precise Pangolin) [ou utópico para Ubuntu 14.10 (Utopic Unicorn)] para que você Agora esteja em http://archive.ubuntu.com/ubuntu/dists/precise/ ou em qualquer outro específico da suíte que você possui.

  2. Faça o download dos arquivos Release , Release.gpg e o arquivo Contents - ????. Gz para sua arquitetura ( por exemplo , Contents-i386.gz , assumindo que sua arquitetura seja i386). Salve esses três arquivos em um diretório / pasta com o nome do seu suiteCodename ( preciso para o Precise Pangolin).

  3. Em seguida, você deverá fazer o seguinte para cada um dos repositórios (entre Principal, Universo, Restrito, Multiverso ) que desejar.

    uma. vá para o diretório do repositório de destino, por exemplo. principal e depois para o diretório de arquitetura, por exemplo. binary-i386 para que você esteja em http://archive.ubuntu.com/ubuntu/dists/suiteCodename/repositoryName/binary-????/

    b. faça o download do conteúdo Packages.bz2, Packages.gz, Release e salve-o em um diretório com o nome do repositoryName, por exemplo. principal e coloque esse diretório no diretório suiteCodename criado anteriormente .

    c. repita a. e B. para cada um dos repositórios que você deseja.

  4. Finalmente, você deve ter uma estrutura parecida com esta:

     precise
     ├── Contents-i386.gz
     ├── main
     │   └── binary-i386
     │       ├── Packages.bz2
     │       ├── Packages.gz
     │       └── Release.txt
     ├── Release.gpg
     ├── Release.txt
     └── universe
         └── binary-i386
             ├── Packages.bz2
             ├── Packages.gz
             └── Release.txt
    

    (supondo que seu suiteCodename = preciso, a arquitetura seja i386 e você precise dos repositórios principal e do universo)

  5. Em seguida, depois de baixar os repositórios atualizados, você colocaria os arquivos baixados organizados em uma estrutura adequada (como mostrado acima) em um diretório do computador offline de destino. Salve a estrutura de diretórios preciseem uma pasta chamada offlineRepository / dists / precision na página inicial do usuário ( ~/offlineRepository/dists/precise) ou em qualquer outro lugar ( /home/offlineRepository/dists/preciseusando as prevalências sudo em um terminal ou com o gerenciador de arquivos Nautilus iniciado gksu nautilus; também verifique se você possui as permissões corretas para a estrutura copiada) . Suas informações de repositório offline estarão prontas para uso.

  6. Adicione o repositório local na sua lista de fontes . Com o Ubuntu Software Center , vá em Editar -> Fontes de software ... -> Outros softwares -> Adicionar ... e, em seguida, no campo da linha APT, adicione: deb file:///home/offlineRepository precise main universee clique em Adicionar fonte . Certifique-se de modificar a linha de acordo com a estrutura e o conjunto de diretórios / arquivos. Em seguida, recarregue os pacotes ou execute sudo apt-get updateem um terminal. snap1

  7. Agora, com repositórios atualizados (e provavelmente recém-adicionados também), você pode despejar a lista de URLs para os pacotes e dependências.

    Tomo emprestado a seguinte linha de código de uma das postagens anteriores do askUbuntu:

    sudo apt-get install packageName --print-uris | grep -o '\'http.*\' | tr "\'" " " > /tmp/package-list.txt
    

    por exemplo. para instalar o Synaptic Package Manager:

    sudo apt-get install synaptic --print-uris | grep -o '\'http.*\' | tr "\'" " " > /tmp/package-list.txt
    

    (Você também pode gerar listas de atualização de maneira semelhante.)

    A lista gerada pode ser usada para baixar o pacote e todas as dependências em um computador online. Crie um script para baixar ou use a lista para download em lote em alguns gerenciadores de download. (Observe também que o arquivo de texto gerado usa o final de linha Unix / Linux e pode ser alterado para Windows.) Costumava haver uma maneira mais fácil disso quando o Synaptic Package Manager era um aplicativo padrão no Ubuntu.

  8. Finalmente, no sistema de destino, você pode instalar os pacotes com dpkgou usando qualquer outro meio.

Obtendo o banco de dados do pacote atualizado, incluindo as atualizações de segurança

A seguinte estrutura, além da explicação acima, deve lhe dar a ideia:

/opt/offlineRepoList/
└── dists
    ├── precise
    │   ├── Contents-i386.gz
    │   ├── main
    │   │   └── binary-i386
    │   │       ├── Packages.bz2
    │   │       ├── Packages.gz
    │   │       └── Release.txt
    │   ├── Release.gpg
    │   ├── Release.txt
    │   └── universe
    │       └── binary-i386
    │           ├── Packages.bz2
    │           ├── Packages.gz
    │           └── Release.txt
    ├── precise-security
    │   ├── Contents-i386.gz
    │   ├── main
    │   │   └── binary-i386
    │   │       ├── Packages.bz2
    │   │       ├── Packages.gz
    │   │       └── Release
    │   ├── Release
    │   ├── Release.gpg
    │   └── universe
    │       └── binary-i386
    │           ├── Packages.bz2
    │           ├── Packages.gz
    │           └── Release
    └── precise-updates
        ├── Contents-i386.gz
        ├── main
        │   └── binary-i386
        │       ├── Packages.bz2
        │       ├── Packages.gz
        │       └── Release
        ├── Release
        ├── Release.gpg
        └── universe
            └── binary-i386
                ├── Packages.bz2
                ├── Packages.gz
                └── Release
preciso
fonte
2

Depois de procurar as respostas aqui: Como instalar software ou pacotes sem a Internet (offline)? , Achei esse código de Arnel A. Borja o mais útil.

sudo apt-get install PACKAGE --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install.sh


De qualquer forma, aqui estão algumas instruções para iniciantes completos. Espero que você os ache úteis.

Instruções completas de download para outras pessoas novas no Ubuntu 15.10+:

  1. Abra o terminal (atalho CTRL + ALT + T)
  2. Navegue até a pasta na qual você deseja baixar o pacote usando o comando:

    cd FOLDERNAME
    (Exemplo: cd Desktop)
    Dica: Você também pode usar o dircomando para listar as pastas.

  3. No código acima das instruções, substitua PACKAGE pelo pacote que você deseja baixar.
  4. Copie e cole o código modificado (atalho CTRL + SHIFT + V) e pressione Enter

    Exemplo de código para baixar o Synaptic Package Manager:
    sudo apt-get install synaptic --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install.sh

    Exemplo de código para baixar o VLC player:
    sudo apt-get install vlc --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install.sh

  5. Se solicitado, digite a senha root e pressione Enter. (Não entre em pânico se os caracteres da senha não aparecerem. É apenas uma medida de segurança.)
  6. O arquivo "install.sh" deve ser gerado agora. Todas as dependências necessárias estão incluídas no script.
  7. Agora precisamos executar o script com este comando:
    sh install.sh
  8. Aguarde o download dos arquivos
  9. Depois, você pode usar este comando para instalar todos os pacotes dentro da pasta:

    sudo dpkg -i *.deb

    Ou você pode usar um programa como o Synaptics para instalar os pacotes. (Synaptics: File - Adicione pacotes baixados)
    Como alternativa, você também pode clicar duas vezes nos arquivos. Isso abrirá o Ubuntu Software Center. Depois que o centro de software estiver carregado, pressione o botão de instalação. Repita isso até que todos os arquivos na pasta estejam instalados.

GSM-S
fonte
2

Eu tenho um pequeno script python que pode ser executado no Windows que analisa o site do pacote ubuntu para encontrar a árvore de dependências e baixar todos os pacotes necessários + verificando a soma de verificação.

Obviamente, isso pode baixar mais do que o necessário, mas foi a solução mais simples para mim.

https://gist.github.com/Zitrax/2bad212a3b0571357e1b

Todos os pacotes baixados podem ser instalados com dpkg -i E pkg\*. Evita a reinstalação de pacotes que já estão instalados.

Uso:

usage: ubuntu-deps.py [-h] [-a ARCH] [-r RELEASE] [-m MIRROR] [-f FALLBACK] [-d DIRECTORY] dep [dep ...]

Download ubuntu dependencies

positional arguments:
  dep                                  The main/top package

optional arguments:
  -h, --help                           show this help message and exit
  -a ARCH, --arch ARCH                 The architecture to use (default: amd64)
  -r RELEASE, --release RELEASE        Ubuntu release (default: trusty)
  -m MIRROR, --mirror MIRROR           Mirror to use for download (default: http://no.archive.ubuntu.com/)
  -f FALLBACK, --fallback FALLBACK     Mirror to use when main mirror is not found (default:
                                       http://security.ubuntu.com/)
  -d DIRECTORY, --directory DIRECTORY  Target directory (default: pkg)
Zitrax
fonte
2

Para um sistema que sempre será mantido offline, geralmente é melhor usar um dos métodos robustos de gerenciamento de pacotes offline apresentados em algumas das outras respostas. Isso porque eles facilitam manter os pacotes já instalados atualizados, em vez de simplesmente instalar um punhado de pacotes de uma só vez.

No entanto, para casos isolados em que você deseja instalar rapidamente pacotes em um sistema que não possui conexão à Internet (e você pode baixá-los em outra máquina e trazê-los), é possível fazê-lo. A principal complicação é determinar o que você precisa, pois um pacote geralmente possui outros pacotes dos quais depende e, portanto, deve ser instalado antes ou ao mesmo tempo em que o pacote está instalado.

Essa resposta é motivada pela pergunta duplicada g ++ no Ubuntu 14.04 e usa o caso de precisar instalar g++como seu exemplo principal.

Enfatizo que esse método não deve ser usado a longo prazo como uma alternativa a algo que pelo menos facilita automaticamente a determinação e instalação das atualizações de segurança necessárias. Nunca conectar-se a uma rede reduz consideravelmente o potencial de ataque, mas alguns bugs de segurança podem ser explorados por meio de dados de qualquer fonte.

Embora esse método possa parecer complexo, geralmente leva apenas alguns minutos. Para pacotes com um grande número de dependências, pode levar mais tempo. Para instalar metapacotes que geram um número muito grande de dependências (por exemplo, ubuntu-desktopem um sistema mínimo), pode demorar muito mais tempo para baixar todos os arquivos .deb necessários e é improvável que esse método seja adequado.

Determinando dependências necessárias

Você pode simular a instalação para determinar quais outros pacotes são necessários para satisfazer as dependências do pacote. Passar o -ssinalizador para apt-get( antes de você especificar qualquer ação) faz isso.

apt-get -s install g++

Omiti sudo, já que isso é apenas uma simulação, portanto, não são necessários privilégios de root.

Se você realmente deseja instalar todas as ferramentas mais comuns para criar pacotes, em vez de apenas g++, você pode preferir:

apt-get -s install build-essential

A saída (for g++) será mais ou menos assim:

NOTE: This is only a simulation!
      apt-get needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  g++-4.8 libstdc++-4.8-dev
Suggested packages:
  g++-multilib g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg
  libstdc++-4.8-doc
The following NEW packages will be installed:
  g++ g++-4.8 libstdc++-4.8-dev
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Inst libstdc++-4.8-dev (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Inst g++-4.8 (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Inst g++ (4:4.8.2-1ubuntu6 Ubuntu:14.04/trusty [amd64])
Conf libstdc++-4.8-dev (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Conf g++-4.8 (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Conf g++ (4:4.8.2-1ubuntu6 Ubuntu:14.04/trusty [amd64])

Este diz que para instalar g++no meu sistema, eu preciso de pacotes g++, g++-4.8e libstdc++-4.8-dev.

Seguir os resultados de uma simulação geralmente é melhor do que simplesmente procurar as dependências de um pacote (ou assumir que o que você precisa é o mesmo que o acima), porque:

  1. Você já pode ter algumas dependências instaladas.
  2. As dependências (isto é, os outros pacotes que um pacote precisa instalar ou funcionar) podem ter dependências que você ainda não instalou.

Obtendo os pacotes

Depois de saber quais pacotes você precisa, você pode baixá-los. Sugiro usar o Launchpad para isso, porque os downloads são criptografados por SSL, o que ajuda a evitar a corrupção de arquivos.

  • Isso não é apenas uma salvaguarda contra manipulação deliberada de uma parte maliciosa; também ajuda a evitar corrupção acidental de arquivos, que é um problema muito mais comum para arquivos baixados.
  • Há um tipo que não impede: quando um arquivo é baixado apenas parcialmente, mas você acha que terminou.
  • A instalação de um pacote normalmente com apt-getou o Software Center não requer HTTPS porque seu hash é verificado em uma lista de hashes assinada digitalmente. Se você acabar colocando esses pacotes no cache e usando-os apt-getpara instalá-los, isso acontecerá.
  • Mas se você precisar instalar os pacotes baixados manualmente dpkg -i, isso não será feito.

Você pode procurar um pacote digitando seu nome em Pacotes em https://launchpad.net/ubuntu e clicando em "Localizar um Pacote". Por exemplo, a pesquisa g++-4.8leva você à página do pacote de origem gcc-4.8 .

Em seguida, role para baixo até o codinome da sua versão do Ubuntu. Você está executando o 14.04, então esse é o Trusty Tahr. Os nomes de código para todas as versões do Ubuntu estão listados na página wiki das versões . Clique no triângulo apontando para a direita para visualizar os downloads de pacotes.

captura de tela mostrando o triângulo voltado para a direita com o qual se expande uma versão para ver os downloads

Para alguns pacotes, você pode expandir listas de downloads de mais de um bolso . Você pode ver:

  • release , a versão de um pacote enviado com o Ubuntu (ou disponível no momento do release);
  • segurança , atualizações de segurança enviadas após o lançamento;
  • atualizações , quaisquer atualizações enviadas após o lançamento;
  • propostas , atualizações disponíveis para instalação, mas ainda em teste e não recomendadas para uso geral;
  • backports , software originário de uma versão posterior do Ubuntu e reconstruído para uma versão anterior.

Por exemplo, aqui está o que está disponível para o Firefox na versão 14.04:

Captura de tela da barra de ativação mostrando seleções expansíveis de downloads de pacotes para vários bolsos na mesma versão

Geralmente, você deseja pacotes em segurança ou atualizações, se existirem, e pacotes em versão .

Depois de expandir a lista de pacotes, localize o .debarquivo para sua arquitetura. Os debs são nomeados . As arquiteturas mais comuns são:name_version_architecture.deb

  • PC / Mac de 64 bits (chamado amd64, para processadores Intel e AMD)
  • PC / Mac de 32 bits (chamado i386, também para ambos)

Por exemplo, para obter o g++-4.8pacote para a versão de 64 bits do Ubuntu, você pode fazer o download g++-4.8_4.8.4-1ubuntu15_amd64.deb.

Instalando os pacotes

Se os pacotes recuperados tiverem as mesmas versões que apt-geta installação teria recuperado e instalado automaticamente (se seu sistema estivesse conectado à rede), você poderá colocar os pacotes /var/cache/apt/archivese simplesmente executar esse comando:

sudo apt-get install g++

Se esse sistema nunca foi conectado à Internet, provavelmente será o caso quando todos os pacotes recuperados forem do bolso de liberação . Independentemente de o sistema estar ou não conectado à Internet, isso também será quase sempre o caso, se nenhum pacote em outros bolsos for exibido no Launchpad. (Essencialmente, a única situação que não ocorrerá é se você instalou um sistema alfa ou beta e nunca o atualizou.)

No caso específico da instalação g++, eu usaria apt-get.

Nos casos em que isso não funciona ou você espera que não funcione, instale os pacotes colocando-os em uma pasta vazia e executando:

sudo dpkg -Ri /path/to/folder

Ou você pode nomear os pacotes individualmente. Este exemplo supõe que os pacotes estejam no diretório atual (ou seja, você cdeditou para o diretório que os contém):

sudo dpkg -i package1.deb package2.deb ...

A menos que o número de pacotes sendo instalados seja muito pequeno e você saiba a ordem exata em que eles precisam ser instalados para que as dependências sejam atendidas, é consideravelmente mais eficiente usar esses métodos do que instalar manualmente cada pacote individualmente.

Eliah Kagan
fonte
1

Se você não tem conexão com a Internet e não tem ninguém perto de onde você pode se conectar à Internet, existe uma opção ainda não mencionada: peça a alguém que envie os arquivos de origem via correio normal.

Você pode obter todo o sistema operacional Ubuntu via correio, pagando por um DVD. Da mesma forma que você pode pedir a um amigo on-line para enviar os arquivos DEB ou mesmo os arquivos de origem de um pacote como o VLC para você. Embora possa valer a pena ter alguém para enviar um DVD completo com todos os pacotes. Dessa forma, você pode instalá-lo a partir desse DVD.

Rinzwind
fonte
0

Esta não é uma resposta totalmente detalhada, mas em um nível alto você pode:

  1. obtenha os pacotes .deb desejados (e crie uma lista deles) (inclua pacotes dos quais eles dependem e que ainda não estão instalados)
  2. crie um arquivo apt que os contenha
  3. copie o arquivo apt para um CD ou USB
  4. insira o CD ou USB no sistema de destino
  5. configure o apt no sistema de destino para incluir o arquivo apt do CD ou USB como fonte
  6. instale os pacotes da sua lista com o apt-get install (lista de pkgs)
kyleN
fonte
0

Sugiro personalizar os Live CDs e instalá-los.

Você também pode baixar os arquivos em http://packages.ubuntu.com/ filename , mas também precisa prestar atenção nas dependências.

Jakob
fonte
(Originalmente esta era uma resposta a uma pergunta ligeiramente diferente que se tornou fundiu-se com isso.)
Jakob
Tempo matando trabalho
totti
0

Outra possibilidade é usar o remastersys. Essa ferramenta permite criar uma imagem iso do seu próprio sistema e depois de criar um pendrive inicializável via unetbootin, você pode instalar um sistema personalizado em quantos computadores desejar.

dago
fonte
Mas como atualizá-los depois?
Eliah Kagan
0

Eu tenho algumas sugestões simples. Você pode ir à biblioteca. Procure na seção do computador o sistema operacional desejado, alguns dos livros têm DVDs dentro deles. Além disso, se você quiser o sistema operacional mais atualizado, recomendo este site onde você pode comprar um DVD por uma taxa nominal. www.ubuntu.com/download/desktop.

BJsgoodlife
fonte
0

Esta pergunta é um pouco antiga, portanto, uma resposta no momento pode ser redundante, mas talvez você também possa tentar usar o dpkg-offline . Instale o bzr e:

bzr branch lp:dpkg-offline

há um tutorial e um arquivo leia-me incluídos nele.

Supondo que você queira instalar o git em um sistema Ubuntu 14.04 amd64, mesmo que seu sistema seja, por exemplo, 12.04 i386, você pode:

  • baixe a imagem ubuntu-14.04-desktop-amd64.iso
  • Corre dpkg-offline ubuntu-14.04-desktop-amd64.iso git
  • Você obterá um tar.gz que poderá transportar para o sistema de destino, ele conterá o pacote de sementes (git) e todas as suas dependências. Ele também inclui um script auxiliar para adicionar um repositório local, para que você possa usar apt-getpara instalar seus pacotes.

O dpkg-offline funcionará com qualquer versão da área de trabalho do Ubuntu a partir do 10.04 (não testei com versões mais antigas, mas elas também devem funcionar) e com qualquer versão do servidor Ubuntu a partir das 12.10 em diante. Também deve funcionar com imagens amd64, i386 e armhf, independentemente da arquitetura do host. Novamente, não testei com arm64 ou powerpc / ppc64el, mas eles também podem funcionar.

Isenção de responsabilidade: eu escrevi dpkg-offline.

roadmr
fonte
Isso é ótimo, porém eu acho que é um exagero para transferir toda a distro usar o script, desejo que poderia trabalhar apenas por especificando os pacotes necessários e distro-alvo
Javier López
0

Alguns pacotes estão instalados no pendrive de instalação. Eu desinstalei network-managere quero instalá-lo novamente.

Assim, peguei o stick do qual instalei o sistema operacional (Lubuntu 17.10). isso foi/dev/sdb

Monte o bastão em um caminho ( /tmp/mntno meu caso)

mkdir /tmp/mnt
sudo mount /dev/sdb1 /tmp/mnt

Em seguida, edito /etc/apt/sources.listpara conter apenas

deb file:///tmp/mnt/ main universe

Então eu faço

sudo apt-get update

E eu posso instalar network-manager.

Nota: Essa pode não ser a resposta para a pergunta acima, mas sim para a pergunta que eu tinha ao pesquisar esta.

Do utilizador
fonte
1
Você provavelmente deve fazer backup sources.liste restaurá-lo também.
Chai T. Rex