ti-enxame.com

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

Eu tenho um amigo que tem um computador que não está conectado à Internet. Existe alguma maneira de instalar o software off-line facilmente?

252
akshatj

Confira Keryx ; é um gerenciador de repositórios offline.

Como funciona? Permite que você baixe atualizações e novos programas (com dependências) para o seu pen drive .

Sua interface é semelhante à synaptic, mas funciona a partir de um pendrive (não precisa de instalação). Infelizmente, a GUI precisa de wxwidgets, que não vêm pré-instalados no Ubuntu (eles são multi-plataforma e instaláveis ​​de aqui e repositório do 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 m tutorial .

Outro tutorial passo-a-passo detalhado está em esta resposta .

O Launchpad também hospeda arquivos para download .

Uma captura de tela:

Screenshoot

128
Javier Rivera

Um rápido hack

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 em /var/cache/apt/archives, em seguida, no outro lançamento do computador Synaptic e selecione File -> Add Package Downloaded e pesquise na pasta onde você colocou os arquivos e os abriu, aceitar tudo (ou instalar do terminal usando o comando Sudo dpkg -i DEB_PACKAGE_NAME).

NOTA:
Isso pressupõe que seu gerenciador de pacotes não está configurado para excluir os pacotes logo após a instalação. Ele também assume que você está executando a mesma versão do Ubuntu (10.10, 12.04, etc) e versão de 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, dê uma olhada em este tutorial , que cobre a criação de seu próprio repositório de DVD.

57
jr0cket

Um repositório USB

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

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

O pacote apt-mirror ajudará você a criar um espelho personalizado que deve ser menor que os 30Gb 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, restrito, 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

Acredita-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 para ser /tmp, verifique se você tem espaço suficiente para o seu disco rígido não encher (se o seu disco rígido não encher e seu computador congela, /tmp deve ser limpo com uma reinicialização) .

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

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

set defaultarch i386

Uma vez que você tenha a configuração apt-mirror desejada, execute apt-mirror e faça alguma coisa divertida ou de mudança de vida, pois levará horas ou dias para obter o repositório (dependendo da sua conexão e do espelho do Ubuntu que você está usando).

Depois de ter os arquivos .deb, copie os arquivos para o pen drive USB (ou disco rígido externo) e configure o repositório local de acordo com o artigo mencionado anteriormente.

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

40
jr0cket

Eu uso o apt-get com a opção "--print-uris" para fazê-lo. Eu também adiciono "-qq" para ficar quieto.

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

Você pode usar isso para criar um script Shell para Linux ou Mac OS (substitua ".cmd" nos comandos por .sh e faça "chmod a + x (nome do arquivo) para adicionar permissão para executar o script) ou um arquivo em lotes do 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

Criar 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.


Criar script para baixar listagens de repositório:

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

Verificando as somas MD5

Você pode adicioná-los ao final dos scripts para verificar o 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 Update)

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ê quiser fazer o download dos arquivos mais rápido, tente usar o Axel.

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

Hierarquia de pastas (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 wget nas linhas acima para ..\\bin\\wget.exe, md5sum para ..\\bin\\md5sum.exe, etc.

Isso separará os arquivos * .deb e os arquivos de lista em pastas diferentes.

Atualizando seu sistema

  1. Inicialize para direcionar o computador 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 para o computador de destino
  6. Instalar arquivos de lista
  7. Crie um script para upgrade/dist-upgrade (adicione os comandos md5sum ao final)
  8. Volte para o computador com conexão à internet
  9. Execute o upgrade.sh/dist-upgrade.sh (Linux ou Mac OS) ou upgrade.cmd/dist-upgrade.cmd (Windows)
  10. Volte para o computador de destino
  11. Copie arquivos * .deb para o cache: Sudo cp *.deb /var/cache/apt/archives/
  12. Executar: Sudo apt-get upgrade ou Sudo apt-get dist-upgrade

Baixar arquivos executáveis ​​para o 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 de MinGW , que são o que eu uso. Você só precisa do wget.exe, do md5sum.exe e das bibliotecas compartilhadas necessárias. Verifique a seção "Hierarquia da pasta".

Notas

  • Não tenho certeza se tudo o que está acima dos comandos funcionará, já que não os utilizo 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 Shell para atualizar, atualizar e instalar pacotes se você estiver usando esses comandos com freqüência.
32
Arnel A. Borja

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

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

Instale os pacotes que você quer em um PC
Sudo apt-get install gbrainy

Executar aptoncd
enter image description here
Clique em Criar
enter image description here
Clique em Gravar e defina as opções e, em seguida, aplique
enter image description here
Queime ou salve
enter image description here

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

29
RobotHumans

Repositório Offline

Como criar um repositório offline é descrito aqui : Você só precisa baixar os arquivos apropriados em archive.ubuntu.com . Alternativamente, você poderia usar apt-medium .

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

  1. Tornar um dir acessível (pelo menos pela 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 a 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
    
22
tohuwawohu

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

Execute o seguinte comando substituindo os 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

Passo 2: Copie este arquivo (apturls) para 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 

Passo 3: Agora, pegue os pacotes baixados em sua máquina e instale-os usando:

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

Sudo dpkg -i *.deb

Feito!

19
harisibrahimkv

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

Baixando aplicativos (no Windows)  

Instalando aplicativos (no Linux)  

Você pode baixá-lo no site Cube .

18
Camicri

No synaptic você pode selecionar os pacotes que deseja instalar e sob o primeiro menu existe uma opção para gerar um script que você pode levar para outra máquina e rodar lá. Este script irá "wget" (ou seja, "download") todos os pacotes que você especificou que você queria (e suas dependências) que você executa em um computador que não tem acesso à Internet.

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

17
popey

Você pode usar apt-offline ou apt-offline-gui.
Pré-requistes : Sistema de um amigo com conexão à Internet. apt-offline instalado em ambos os seus sistemas.

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

Passo 1 :
Gerar 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 do apt sobre como atualizar seu banco de dados.

Passo 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 nós geramos 5 threads de download.
Uma vez completado, você poderia simplesmente copiar os dados (um arquivo, se você usasse a opção --bundle) de volta para a mídia removível e copiá-la de volta para seu Host offline.

Passo 3 :
Uma vez que você voltou para a máquina Debian, você alimenta os dados da mídia removível para apt-offline:
apt-offline install /media/USB/apt-offline.Zip
Isso atualizará o banco de dados APT em sua máquina desconectada sem problemas.

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

fonte

15
Hashken

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

Criando o instantâneo do arquivo

  • Crie uma instância do Ubuntu que imita de perto o ambiente de destino
    • Por exemplo, uma instância do Ubuntu 12.04 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 arquivo morto no sistema de destino offline

  • Por meio de algum mecanismo, você precisará obter o snapshot.tar da origem para o sistema de destino. Talvez em um pendrive, ou de outra forma.
  • Extraia o arquivo no sistema de destino (neste caso, em /home/ubuntu)
    • tar xvf snapshot.tar
  • Adicione a fonte local e offline ao /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
10
Dustin Kirkland

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

  • Obtenha o arquivo de pacote com a extensão de arquivo .deb e use dpkg -i package_name para instalá-lo
  • Obtenha o tarball de origem com a extensão de arquivo .tar.gz ou .tar.bz2 e, 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.

4
Harshit Chaudhary

A primeira coisa que você pode fazer antes de instalar o pacote offline é atualizar o repositório/repositório que você precisa. Você deve, com certeza, atualizar o repositório Main (para software gratuito e oficialmente suportado).

Os aplicativos que você está procurando instalar podem estar em alguns outros repositórios como o niverse (livre mas sem suporte oficial), ou o Restricted (não-livre, oficialmente suportado) , ou o repositório Multiverse (não-livre, sem suporte oficial). Então você pode querer um ou mais destes também.

Portanto, a primeira etapa do processo é construir um repositório offline atualizado; em seguida, gere a lista "download" e baixe-os e, finalmente, a instalação. Veja como isso é feito: fonte

  1. Digite o url: http://archive.ubuntu.com/ubuntu/dists/ suiteCodename onde suiteCodename deve ser apropriadamente substituído preciso para o Ubuntu 12.04 (Precise Pangolin) [ou utopic para Ubuntu 14.10 (Utopic Unicorn)] para que você esteja agora em http://archive.ubuntu.com/ubuntu/dists/precise/ ou qualquer outro específico da suíte que você possui.

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

  3. Em seguida, você terá que fazer o seguinte para cada um dos repositórios (entre Main, Universe, Restricted, Multiverse ) que você deseja.

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

    b. baixe o conteúdo Packages.bz2, Packages.gz, Release e salve-os em um diretório nomeado após o repositoryName, por exemplo. main e coloque este diretório no diretório anteriormente criado suiteCodename .

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

  4. Finalmente você deve ter uma estrutura como 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
    

    (assumindo o seu suiteCodename = precise, a arquitetura é i386, e você precisa de repositórios main e universe)

  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 off-line de destino. Salve a estrutura de diretórios precise em uma pasta chamada offlineRepository/dists/accurate no seu usuário home (~/offlineRepository/dists/precise) ou em qualquer outro lugar (/home/offlineRepository/dists/precise usando o sudo previleges em um terminal ou com o gerenciador de arquivos Nautilus iniciado com gksu nautilus; verifique também se você tem as permissões corretas para a estrutura copiada). Suas informações do repositório off-line estarão prontas para uso.

  6. Adicionar o repositório local na sua lista de fontes . Com Ubuntu Software Center , vá para Edit -> Software Sources ... -> Outro Software -> Adicionar ... e depois no campo para APT linha, adicione: deb file:///home/offlineRepository precise main universe e clique em Add Source . Certifique-se de modificar a linha quanto ao seu diretório/estrutura de arquivos e suíte. Em seguida, recarregue os pacotes ou execute Sudo apt-get update em um terminal. snap1

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

    Eu empresto 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 Gerenciador de Pacotes Synaptic:

    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 as dependências inteiras em um computador online. Crie um script para baixar ou usar a lista para download em lote em alguns gerenciadores de download. (Observe também que o arquivo de texto gerado usa o final da linha Unix/Linux, e que você pode querer mudar para o Windows.) Costumava ser uma maneira mais fácil para isso quando Gerenciador de Pacotes Synaptic era uma aplicação padrão no Ubuntu.

  8. Finalmente, no sistema de destino, você pode instalar os pacotes com dpkg ou usando qualquer outra forma.

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

A estrutura a seguir, 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
2
precise

Para um sistema que sempre será mantido offline, geralmente é melhor usar um dos robustos métodos de gerenciamento de pacotes offline apresentados em algumas das outras respostas. Isso porque eles facilitam a atualização de pacotes já instalados, em vez de simplesmente instalar um punhado de pacotes uma vez.

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

Esta resposta é motivada pela questão duplicada g ++ no Ubuntu 14.04 , e usa o caso da necessidade de instalar o g++ como seu principal exemplo.

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

Embora esse método possa parecer complexo, geralmente leva apenas alguns minutos. Para pacotes com um grande número de dependências, isso pode levar mais tempo. Para instalar metapacotes que atraem um número muito grande de dependências (por exemplo, ubuntu-desktop em um sistema mínimo), pode levar 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 sinalizador -s para apt-get ( antes de você especificar qualquer ação) faz isso.

apt-get -s install g++

Eu omiti o Sudo, já que isso é apenas uma simulação, então os privilégios de root não são necessários.

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

apt-get -s install build-essential

A saída (para g++) será algo como isto:

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])

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

Indo pelos resultados de uma simulação é geralmente melhor do que simplesmente olhar para as dependências de um pacote (ou supondo que o que você precisa é o mesmo que o anterior), porque:

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

Obtendo os pacotes

Depois de saber quais pacotes você precisa, faça o download deles. Eu sugiro usar o Launchpad para isso, porque os downloads são criptografados por SSL, o que ajuda a evitar corrupção de arquivos.

  • Isto não é apenas uma salvaguarda contra a manipulação deliberada de uma parte maliciosa; Ele 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 acabou.
  • A instalação de um pacote normalmente com apt-get ou o Software Center não requer HTTPS porque seu hash é verificado em relação a uma lista de hashes assinada digitalmente. Se você acabar colocando esses pacotes no seu cache de pacotes e usando apt-get para instalá-los, isso acontecerá.
  • Mas se você acabar tendo que instalar os pacotes baixados manualmente com dpkg -i, isso não será feito.

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

Em seguida, desloque-se para o codinome do seu lançamento do Ubuntu. Você está correndo 14.04, então é o Trusty Tahr. Nomes de código para todos os lançamentos do Ubuntu são listados na página wiki de lançamentos . Clique no triângulo apontando para a direita para ver os downloads de pacotes para ele.

screenshot showing the rightward facing triangle with which one expands a release to see downloads for it

Para alguns pacotes, você poderá expandir as listas de downloads de mais de um pocket . Você pode ver:

  • release , a versão de um pacote lançado com uma versão do Ubuntu (ou disponível no momento do lançamento);
  • security , atualizações de segurança enviadas após o lançamento;
  • atualizações , quaisquer atualizações enviadas após o lançamento;
  • proposto , atualizações que estão disponíveis para serem instaladas, mas ainda estão em teste e não são recomendadas para uso geral;
  • backports , software originado em 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 em 14.04:

Launchpad screenshot showing expandable selections of package downloads for multiple pockets in the same release

Geralmente você vai querer pacotes em security ou updates se existirem, e caso contrário pacotes em .

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

  • 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 pacote g++-4.8 para a versão de 64 bits do Ubuntu, você pode baixar g++-4.8_4.8.4-1ubuntu15_AMD64.deb.

Instalando os Pacotes

Se os pacotes recuperados forem as mesmas versões que a ação install de apt-get teria sido recuperada e instalada automaticamente (se o seu sistema estivesse conectado à rede), você pode colocar os pacotes em /var/cache/apt/archives e simplesmente execute esse comando:

Sudo apt-get install g++

Se este sistema era nunca conectado à Internet, então este provavelmente será o caso quando todos os pacotes que você recuperou forem da versão bolso. 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 mostrado no Launchpad. (Essencialmente, a única situação que não é se você instalou um sistema alfa ou beta e nunca o atualizou.)

No caso específico de instalar g++, usaria apt-get.

Nos casos em que isso não funcionar ou se você não quiser, 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 estão no diretório atual (isto é, que você tem cded no diretório que os contém):

Sudo dpkg -i package1.deb package2.deb ...

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

2
Eliah Kagan

Depois de navegar as respostas aqui: Como eu posso instalar software ou pacotes sem Internet (offline)? , eu encontrei este código por 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 para a qual você gostaria que o pacote fosse baixado usando o comando:

    cd FOLDERNAME
    (Exemplo: cd Desktop)
    Dica: Você também pode usar o comando dir 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 Gerenciador de Pacotes Synaptic:
    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 player VLC:
    Sudo apt-get install vlc --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install.sh

  5. Se solicitado, digite a senha do 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 sã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ê poderia usar um programa como o Synaptics para instalar os pacotes. (Synaptics: File - Adicionar pacotes baixados)
    Alternativamente, você também pode apenas clicar duas vezes nos arquivos. Isso abrirá o Ubuntu Software Center. Quando o centro de software estiver carregado, pressione o botão de instalação. Repita isso até que todos os arquivos da pasta estejam instalados.

2
GSM-S

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

2
txwikinger

Se você não tem nenhuma conexão com a Internet e não tem ninguém perto de onde você pode se conectar à Internet, existe uma opção não mencionada ainda: mande alguém enviar os arquivos fonte através da postagem normal.

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

1
Rinzwind

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ência e baixar todos os pacotes necessários + fazendo verificação de soma de verificação.

Isso pode, obviamente, 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)
1
Zitrax

Sugiro para personalizar CDs ao vivo e instalá-los.

Você também pode baixar os arquivos em http://packages.ubuntu.com/ nome do arquivo , mas então você tem que pagar atenção às dependências também.

0
Jakob

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

  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. criar 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 apt no sistema de destino para incluir o CD ou o arquivo morto do USB como fonte
  6. instalar os pacotes da sua lista com o apt-get install (lista de pkgs)
0
kyleN

Outra possibilidade é usar remastersys. Esta ferramenta permite que você faça uma imagem ISO a partir do seu próprio sistema e depois de criar um pendrive inicializável via unetbootin você pode instalar um sistema personalizado para quantos computadores quiser.

0
dago

Esta questão é um pouco antiga, então uma resposta neste momento pode ser redundante, mas talvez você também possa tentar usar dpkg-offline . Instale o bzr, então:

bzr branch lp:dpkg-offline

há um tutorial e um arquivo leia-me incluído lá.

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

  • baixar a imagem do ubuntu-14.04-desktop-AMD64.iso
  • Executar 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. Também inclui um script auxiliar para adicionar um repositório local, para que você possa usar apt-get para instalar seus pacotes.

o dpkg-offline funcionará com qualquer versão desktop do Ubuntu a partir de 10.04 (eu não testei com versões mais antigas, mas elas devem também funcionar), e com qualquer Versão do servidor Ubuntu a partir de 12.10. Ele também deve funcionar com imagens AMD64, i386 e armhf, independentemente da arquitetura do host. Mais uma vez, eu não testei com arm64 ou powerpc/ppc64el, mas eles também podem funcionar.

Disclaimer: Eu escrevi dpkg-offline.

0
roadmr

Alguns pacotes estão instalados no usb-stick de instalação. Eu desinstalei network-manager e quero instalá-lo novamente.

Assim eu tenho o pau eu instalei o sistema operacional de (Lubuntu 17.10). Foi /dev/sdb

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

mkdir /tmp/mnt
Sudo mount /dev/sdb1 /tmp/mnt

Então, eu edito /etc/apt/sources.list para 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 para a pergunta que eu tive ao procurar por essa.

0
User

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

0
BJsgoodlife