web-dev-qa-db-ja.com

インターネットなしでソフトウェアまたはパッケージをインストールする方法(オフライン)

インターネットに接続していないコンピューターを持っている友人がいます。ソフトウェアを簡単にオフラインでインストールする方法はありますか?

256
akshatj

チェックアウト Keryx ;オフラインリポジトリマネージャーです。

どのように動作しますか?アップデートと新しいプログラム(依存関係あり)をフラッシュドライブにダウンロードできます。

そのインターフェースはシナプスに似ていますが、ペンドライブから動作します(インストールの必要はありません)。残念ながら、GUIにはwxwidgetsが必要です。これはUbuntuにプリインストールされていません(クロスプラットフォームで、 here およびUbuntuリポジトリ here からインストール可能です)。 Ubuntuシステムにのみソフトウェアをインストールできますが、Linux、Windows、またはOS Xのアップデートまたは新しいパッケージをダウンロードできます。

ここに チュートリアル があります。

別の詳細なステップバイステップのチュートリアルは this answer にあります。

Launchpadは ダウンロード可能ファイル もホストします。

スクリーンショット:

Screenshoot

129
Javier Rivera

クイックハック

簡単なハックは、インストール用にダウンロードしたすべてのパッケージを彼のマシンにコピーすることです( 詳細な手順はこちら )。 .debファイルは/var/cache/apt/archivesに保存され、次に他のコンピューターでSynapticを選択してFile -> Add Package Downloadedを選択し、フォルダーを検索ファイルを入れて開き、すべてを受け入れます(またはコマンドSudo dpkg -i DEB_PACKAGE_NAMEを使用してターミナルからインストールします)。

注:
これは、パッケージマネージャーがインストール直後にパッケージを削除するように設定されていないことを前提としています。また、同じバージョンのUbuntu (10.10、12.04など)およびアーキテクチャバージョン(32bまたは64b)を実行していることを前提としています。


DVDリポジトリ

最新のバグ修正とセキュリティパッチを入手したい場合は、 このチュートリアル をご覧ください。独自のDVDリポジトリの作成について説明しています。

57
jr0cket

USBリポジトリ

適切なサイズのUSBスティックがある場合-4〜8Gb(または外部ハードドライブ)を想定して、Ubuntuリポジトリのカスタムコピーをセットアップし、それを AptGet/Offline/Repository help.ubuntu.comで。

実際のパッケージファイル(.debファイル)を取得するには、apt-mirrorを使用することをお勧めします。

apt-mirrorパッケージは、完全なリポジトリの30Gbよりも小さいカスタムミラーの作成に役立ちます。パッケージをインストールします。

Sudo apt-get install apt-mirror

構成ファイルを編集します

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

またはUbuntu 14.04以降

gksudo gedit /etc/apt/mirror.list

必要なリポジトリセクションのみを含めます。以下は、4つのセクションすべて(メイン、制限、ユニバース、マルチバース)からバイナリの.debファイルをコピーする簡単な例と、最新のバグ修正です。

# 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

ソースなしで、4つのセクションすべてに約15Gbのスペースが必要になると推測されます。

すべての.debファイルのパスを/tmpに設定しました。ハードドライブがいっぱいにならないように十分なスペースを確保してください(ハードドライブがいっぱいになり、コンピューターがフリーズした場合、/tmpは再起動でクリアする必要があります)。

メインファイルだけが必要な場合は、構成ファイルから制限されたユニバースとマルチバースの名前を削除します。

別のアーキテクチャを使用している場合(64ビットを使用しているが、友人は32ビットを使用している場合)、mirror.list構成の先頭に次を追加しますファイル:

set defaultarch i386

apt-mirror設定が完了したら、apt-mirrorを実行して、リポジトリを取得するのに数時間または数日かかるため、何か楽しいことや人生の変更を行います(接続と使用しているUbuntuミラーによって異なります) )。

.debファイルを入手したら、ファイルをUSBメモリスティック(または外部ハードドライブ)にコピーし、前述の記事に従ってローカルリポジトリをセットアップします。

それをテストして、友達に持って行く前に!

42
jr0cket

これを行うには、apt-getを「--print-uris」オプションとともに使用します。また、「-qq」を追加して、静かにします。

Sedを使用して、一部のファイル名(3%2aなど)に追加された余分な文字を削除し、ファイルのURL、ファイル名、md5sumを取得します。 wgetを使用してファイルをダウンロードします。 md5sumを使用して、ファイルが適切にダウンロードされているかどうかを確認します。

これを使用して、LinuxまたはMac OSのシェルスクリプトを作成できます(コマンドの「.cmd」を.shに置き換え、「chmod a + x(ファイル名)を実行してスクリプトを実行する権限を追加します)」またはWindowsコマンドバッチファイル、およびMD5Sumファイルを使用して、ファイルが正しくダウンロードされていることを確認します。

コマンド

スクリプトの作成:

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

例:

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

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

例:

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

そのオペレーティングシステムを使用してファイルをダウンロードする場合は、Windows用のmd5sumが必要です。


リポジトリ一覧をダウンロードするスクリプトを作成します:

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

MD5サムの確認

これらをスクリプトの末尾に追加して、md5sumを確認できます。

Linux:

md5sum --quiet -c md5sum.txt

Windows(古いmd5sumを使用し、-quietをサポートしません):

md5sum -c md5sum.txt

スクリプトに自動的に追加するには:

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

リストファイルのインストール(更新コマンド)

これらのコマンドをターゲットコンピューターに対して実行します。

Bunzip2を使用して、リポジトリリストファイルを抽出する必要があります。

bunzip2 *.bz2

次に、リストフォルダーにコピーします(現在のフォルダーにはリストファイルのみが含まれます)。

Sudo cp * /var/lib/apt/lists/

上記の組み合わせ(現在のフォルダーには他のファイルが含まれる場合があります):

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

高速ダウンロード

ファイルのダウンロードを高速化する場合は、Axelを使用してみてください。

wget -c ... -O ...axel ... -o ...に置き換えます。

フォルダー階層(Windowsを使用したファイルのダウンロード)

通常、次のようなフォルダーを作成します。

  • apt-get /
    • 置き場/
      • msys-1.0.dll
      • msys-intl-8.dll
      • wget.exe
      • msys-iconv-2.dll
      • md5sum.exe
      • libeay32.dll
      • libintl3.dll
      • libssl32.dll
      • libiconv2.dll
    • 更新/
      • update.cmd
      • md5sum.txt
    • インストール/
      • install-foo.cmd
      • install-bar.cmd
      • upgrade.cmd
      • md5sum.txt

次に、上記の行のwget..\\bin\\wget.exemd5sumから..\\bin\\md5sum.exeなどに変更します。

これにより、*。debファイルとリストファイルが異なるフォルダーに分離されます。

システムを更新する

  1. Ubuntuを使用するターゲットコンピューターで起動する
  2. 更新用のスクリプトを作成する
  3. インターネットに接続しているコンピューターから起動する
  4. Update.sh(LinuxまたはMac OSの場合)またはupdate.cmd(Windows)を実行します
  5. ターゲットコンピューターに戻る
  6. リストファイルをインストールする
  7. Upgrade/dist-upgradeのスクリプトを作成します(md5sumコマンドを追加して終了します)
  8. インターネットに接続しているコンピューターに戻る
  9. Upgrade.sh/dist-upgrade.sh(LinuxまたはMac OS)またはupgrade.cmd/dist-upgrade.cmd(Windows)を実行します
  10. ターゲットコンピューターに戻る
  11. * .debファイルをキャッシュにコピー:Sudo cp *.deb /var/cache/apt/archives/
  12. 実行:Sudo apt-get upgradeまたはSudo apt-get dist-upgrade

Windows用の実行可能ファイルをダウンロードする

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

windowsのmd5sum: http://gnuwin32.sourceforge.net/packages/coreutils.htm または http://www.etree.org/cgi-bin/counter.cgi/software /md5sum.exe

MinGW からのものを使用することもできます。これは私が使用しているものです。必要なのは、wget.exe、md5sum.exe、および必要な共有ライブラリのみです。 「フォルダ階層」セクションを確認してください。

ノート

  • これらのコマンドを1か月も使用していないため、上記のコマンドがすべて機能するかどうかはわかりません。特に更新コマンドは、今日はその一部をテストしていません。
  • コマンドの結果を簡単に確認するには、Windowsを使用している場合、スクリプトの最後に「一時停止」行を追加します。
  • これらのコマンドを頻繁に使用する場合は、パッケージを更新、アップグレード、インストールするためのシェルスクリプトを作成することをお勧めします。
32
Arnel A. Borja

まず、インターネットに接続したPCを入手する必要があります。ここで、必要な.debファイルをダウンロードできます。すべてのファイルをダウンロードしたら、ダウンロードしたソフトウェアをオフラインPCにインストールするために使用できるCD/DVD ROMまたはISOファイルを作成できます。

クリーンインストールまたはVMで開始します。
Sudo apt-get install aptoncd

必要なパッケージを1台のPCにインストールします
Sudo apt-get install gbrainy

Aptoncdを実行する
enter image description here
[作成]をクリックします
enter image description here
[書き込み]をクリックしてオプションを設定し、[適用]
enter image description here
焼くか保存する
enter image description here

Aptoncdは現在のapt-cacheにあるものだけをバックアップすることに注意してください。
これが、クリーンVM /新規インストールから始めて、このすべてを一度に実行した理由です。

29
RobotHumans

オフラインリポジトリ

オフラインリポジトリの作成方法について説明します herearchive.ubuntu.com から適切なファイルをダウンロードするだけです。または、 apt-medium を使用できます。

編集:*.debファイルのローカルrchiveに基づく別のアプローチは、さまざまなブログエントリで説明されています( here および here を参照)。 Sarath Chandra は次のように要約します。

  1. ディレクトリにアクセスできるようにする(少なくともルートで)

    Sudo mkdir /var/my-local-repo
    
  2. すべてのdebファイルをこのディレクトリにコピーします。

  3. ディレクトリを

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

    または

    Sudo dpkg-scanpackages /var/my-local-repo /dev/null | gzip -c9 > /var/my-local-repo/Packages.gz
    
  4. ローカルリポジトリをソースに追加する

    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

ステップ1:ファイル内のダウンロードURLを取得します。

次のコマンドを実行して、パッケージ名を必要なものに置き換え、スペースで区切ります。

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

ステップ2:このファイル(apturls)を高速インターネットアクセスが可能なマシンにコピーし、次のコマンドを実行してパッケージをダウンロードします。

wget -i path-to-apturls-file 

ステップ3:ダウンロードしたパッケージをマシンに取得し、以下を使用してインストールします。

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

Sudo dpkg -i *.deb

できた!

20
harisibrahimkv

Cubeを使用できます。これは、インターネットに接続された別のコンピューターにパッケージをダウンロードし、元のLinuxコンピューターにオフラインでインストールして戻すことができるポータブルパッケージマネージャーです。

アプリのダウンロード(Windows) 

アプリのインストール(Linuxの場合) 

Cube のWebサイトでダウンロードできます。

19
Camicri

シナプスでは、インストールするパッケージを選択できます。最初のメニューの下に、別のマシンに移動してそこで実行できるスクリプトを生成するオプションがあります。このスクリプトは、doesがインターネットにアクセスできるコンピューターで実行する、指定したすべてのパッケージ(およびその依存関係)を「wget」(つまり「ダウンロード」)します。

実行すると、切断されたコンピューターに必要なすべてのパッケージファイルが用意されます。それらをCD/USBスティックに入れて、Sudo dpkg -i *.debでインストールします。

17
popey

apt-offlineまたはapt-offline-guiを使用できます。
前提条件:インターネットに接続している友人のシステム。 apt-offlineは両方のシステムにインストールされています。

オフラインインストールは、3つの簡単な手順で実現されます。

ステップ1
自宅の切断されたDebianボックスに署名ファイルを生成します
apt-offline set /tmp/apt-offline.sig
上記のコマンドは、データベースの更新に関してaptから必要なすべての情報を生成します。

ステップ2
以前に生成された署名ファイルに基づいてデータをダウンロードする
apt-offline get C:\apt-offline.sig --threads 5
上記のコマンドは、署名ファイルに記載されているデータをダウンロードします。 (複数のaptリポジトリからの)ダウンロードを高速化するために、この例では5つのダウンロードスレッドを生成します。
完了したら、データ(--bundleオプションを使用した場合はアーカイブファイル)をリムーバブルメディアにコピーし、オフラインホストにコピーして戻すことができます。

ステップ3
ホームDebianマシンに戻ったら、リムーバブルメディアからapt-offlineにデータをフィードします。
apt-offline install /media/USB/apt-offline.Zip
これにより、切断されたマシンのAPTデータベースがシームレスに更新されます。

Apt-offlineは、Windowsシステムでも使用できます。私の意見では、apt-offlineはオフラインインストールに最適なオプションです。

ソース

15
Hashken

上にリストされたいくつかの良い、効果的な答えがあります。しかし、これは私が個人的に使用するメカニズムです- apt-ftparchive 。将来また必要になった場合に備えて、ここで文書化しています。おそらくあなたにとって役に立つかもしれません。

アーカイブスナップショットの作成

  • ターゲット環境によく似たUbuntuのインスタンスを作成します
    • たとえば、AmazonのUbuntu 12.04 64ビットインスタンス
  • クリーンパッケージ環境から開始します
    • Sudo apt-get clean
  • パッケージリストを更新する
    • Sudo apt-get update
  • 利用可能なすべてのパッケージアップデートをダウンロードします
    • Sudo apt-get dist-upgrade --download-only
  • 関連するすべてのパッケージと依存関係をダウンロードします
    • Sudo apt-get install --download-only byobu run-one bikeshed dotdee powernap
  • Apt-ftparchiveユーティリティをインストールします
    • Sudo apt-get install apt-utils
  • パッケージマニフェストを作成します
    • (cd /var/cache/apt/archives/ && Sudo apt-ftparchive packages . ) | Sudo tee /var/cache/apt/archives/Packages
  • パッケージのアーカイブを作成します
    • Sudo tar cvf snapshot.tar -C /var/cache/apt archives/

オフラインターゲットシステムでのアーカイブスナップショットの使用

  • 何らかのメカニズムを使用して、ソースからターゲットシステムにsnapshot.tarを取得する必要があります。おそらくUSBスティックなどに。
  • ターゲットシステム(この場合、/ home/ubuntu)でアーカイブを抽出します。
    • tar xvf snapshot.tar
  • ローカルのオフラインソースを/etc/apt/sources.listに追加します
    • echo "deb file:/home/ubuntu/archives /" | Sudo tee -a /etc/apt/sources.list
  • パッケージリストを更新します
    • Sudo apt-get update
  • 必要に応じてパッケージをインストールします
    • Sudo apt-get install byobu run-one bikeshed dotdee powernap
10
Dustin Kirkland

オフラインインストールには、パッケージが必要になります。 Debianシステムを使用している場合

  • .debファイル拡張子を持つパッケージファイルを取得し、dpkg -i package_nameを使用してインストールします
  • ファイル拡張子が.tar.gzまたは.tar.bz2のソースtarballを取得し、次を使用してそれらを抽出してインストールします。

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

依存関係に問題がある可能性があります。オフラインインストールを成功させるには、まずこれらすべてをインストールする必要があります。

4

オフラインパッケージをインストールする前に最初にできることは、必要なリポジトリを更新することです。更新されたMainリポジトリ(無料で公式にサポートされているソフトウェアの場合)のようなものであることは確かです。

インストールしようとしているアプリケーションは、Universe(無料だが公式サポートなし)、またはRestricted(非フリー、正式にサポート)、またはMultiverse(非フリー、なし公式サポート)リポジトリ。したがって、これらの1つ以上も必要になる場合があります。

したがって、プロセスの最初のステップは、更新されたオフラインリポジトリを構築することです。次に、「ダウンロードする」リストを生成してダウンロードし、最後にインストールを行います。方法は次のとおりです。 ソース

  1. URLを入力します: http://archive.ubuntu.com/ubuntu/dists/suiteCodename wheresuiteCodenameは、Ubuntu 12.04(Precise Pangolin)の場合、適切にsubstituded saypreciseにする必要があります[またはutopic(Ubuntu 14.10(Utopic Unicorn)の場合)] http://archive.ubuntu.com/ubuntu/dists/precise/ または所有しているスイートに固有のその他のもの。

  2. ファイルをダウンロードReleaseRelease.gpg、およびアーキテクチャのContents-????。gzファイル(つまりContents-i386.gz(アーキテクチャがi386の場合) suiteCodename(Precise Pangolinの場合は(precise)にちなんで命名されたディレクトリ/フォルダーにこれらの3つのファイルを保存します.

  3. 次に、必要なリポジトリ(Main、Universe、Restricted、Multiverse)ごとに以下を実行する必要があります。

    a。ターゲットリポジトリディレクトリに移動します。 mainそしてアーキテクチャーディレクトリへ。 binary-i386のようになります http://archive.ubuntu.com/ubuntu/dists/suiteCodename/repositoryName/binary- ???? /

    b。内容をダウンロードPackages.bz2、Packages.gz、Release、それらを次の名前のディレクトリに保存しますrepositoryName例。 mainおよびこのディレクトリを以前に作成したsuiteCodenameディレクトリに配置します。

    c。繰り返しますおよびb。必要なリポジトリごとに。

  4. 最後に、次のような構造が必要です。

     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
    

    (あなたのsuiteCodename =正確、アーキテクチャはi386であり、メインとユニバースのリポジトリが必要だと仮定します)

  5. 次に、更新されたリポジトリをダウンロードした後、ダウンロードしたファイルを適切な構造(上記を参照)に配置して、対象のオフラインコンピューターのディレクトリに配置します。ディレクトリ構造preciseofflineRepository/dists/preciseという名前のフォルダーにユーザーのホーム(~/offlineRepository/dists/precise)またはその他の場所(/home/offlineRepository/dists/preciseターミナルで、またはgksu nautilusで開始されたNautilusファイルマネージャーでSudo previlegesを使用します;また、コピーされた構造に対する適切な権限があることを確認してください)。これで、オフラインリポジトリ情報を使用できるようになります。

  6. 追加sourcesリストのローカルリポジトリUbuntu Software Centreで、Edit-> Software Sources ...-> Other Software-> Add ...そしてAPT行のフィールドにdeb file:///home/offlineRepository precise main universeを追加し、Add Sourceをクリックします。必ずディレクトリ/ファイル構造とスイートに関する行を変更してください。次に、パッケージをリロードするか、ターミナルでSudo apt-get updateを実行します。 snap1

  7. 更新された(そしておそらく新しく追加されたリポジトリも)ようになったので、パッケージと依存関係のURLのリストをダンプできます。

    以前のaskUbuntuの投稿の1つから次のコード行を借ります。

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

    例えば。 Synaptic Package Managerをインストールするには:

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

    (同様の方法で更新リストを生成することもできます。)

    生成されたリストを使用して、パッケージと依存関係全体をオンラインコンピューターにダウンロードできます。ダウンロードするスクリプトを作成するか、一部のダウンロードマネージャーでリストをバッチダウンロードに使用します。 (また、生成されたテキストファイルはUnix/Linuxの行末を使用しており、Windowsに変更することもできます。)Synaptic Package Manager Ubuntuのデフォルトアプリケーションでした。

  8. 最後に、ターゲットシステムで、dpkgを使用して、または他の方法を使用してパッケージをインストールできます。

セキュリティ更新プログラムを含む更新されたパッケージデータベースの取得

上記の説明に加えて、次の構造からアイデアが得られます。

/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

常にオフラインに維持されるシステムでは、通常、他の回答のいくつかで提示されている堅牢なオフラインパッケージ管理方法のいずれかを使用するのが最善です。これは、少数のパッケージを一度だけインストールするのではなく、すでにインストールされているパッケージを最新の状態に保つのを容易にするためです。

ただし、インターネットに接続されていないシステムにパッケージを迅速にインストールするだけの場合(および別のマシンにダウンロードして持ち込む機能がある場合)には、そうすることができます。パッケージには多くの場合、依存する他のパッケージがあり、したがってパッケージをインストールする前に、またはパッケージをインストールすると同時にインストールする必要があるため、主な複雑さは必要なものを決定することです。

この答えは、重複する質問 buntu 14.04のg ++​​ に動機付けられており、g++をコア例としてインストールする必要がある場合を使用しています。

この方法は、少なくとも必要なセキュリティ更新プログラムを自動的に判断してインストールすることを容易にするものの代替として、長期的に使用すべきではないことを強調します。ネットワークに接続しないと、攻撃の可能性が大幅に低下しますが、一部のセキュリティバグは任意のソースからのデータを介して悪用される可能性があります。

この方法は複雑に見えるかもしれませんが、通常は数分しかかかりません。多数の依存関係を持つパッケージの場合、時間がかかる場合があります。非常に多数の依存関係を取り込むメタパッケージ(最小システムのubuntu-desktopなど)をインストールする場合、必要なすべての.debファイルをダウンロードするのに非常に長い時間がかかる可能性があり、この方法は適切ではありません。

必要な依存関係の決定

インストールをシミュレートして、パッケージの依存関係を満たすために必要な他のパッケージを決定できます。 -sフラグをapt-getに渡すと(beforeアクションを指定します)、これが行われます。

apt-get -s install g++

Sudoは省略しました。これは単なるシミュレーションであるため、root権限は必要ありません。

g++だけでなく、パッケージを構築するための最も一般的なすべてのツールを実際にインストールする場合は、次の方法をお勧めします。

apt-get -s install build-essential

出力(g++の場合)は次のようになります。

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

これは、システムにg++をインストールするために、パッケージg++g++-4.8、およびlibstdc++-4.8-devが必要だということです。

シミュレーションの結果を確認することは、通常、単にパッケージの依存関係を検索する(または必要なものが上記と同じであると仮定する)よりも優れています。

  1. すでにいくつかの依存関係がインストールされている場合があります。
  2. 依存関係(パッケージがインストールまたは動作する必要がある他のパッケージ)自体には、まだインストールしていない依存関係がある場合があります。

パッケージの入手

必要なパッケージがわかったら、ダウンロードできます。ダウンロードはSSLで暗号化されているため、ファイルの破損を防ぐために、Launchpadを使用することをお勧めします。

  • これは、悪意のある当事者による意図的な操作に対する単なる保護手段ではありません。また、誤ってファイルが破損するのを防ぐのにも役立ちます。これは、ダウンロードされたファイルでは一般的な問題です。
  • 防止できない種類が1つあります。ファイルが部分的にしかダウンロードされていないにもかかわらず、完了したと思われる場合です。
  • 通常、apt-getを使用してパッケージをインストールするか、ハッシュがデジタル署名されたハッシュリストに対して検証されるため、ソフトウェアセンターはHTTPSを必要としません。これらのパッケージをパッケージキャッシュに配置し、apt-getを使用してインストールすると、それが発生します。
  • しかし、手動でダウンロードしたパッケージをdpkg -iでインストールする必要が生じた場合、それは行われません。

パッケージを検索するには、Packagesの下に名前を入力して https://launchpad.net/ubunt をクリックし、パッケージを探します。」たとえば、g++-4.8を検索すると、- gcc-4.8ソースパッケージページ が表示されます。

次に、Ubuntuリリースのコードネームまでスクロールします。 14.04を実行しているので、Trusty Tahrです。すべてのUbuntuリリースのコードネームがリストされています リリースwikiページ 。右向きの三角形をクリックして、パッケージのダウンロードを表示します。

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

一部のパッケージでは、複数のpocketからダウンロードのリストを展開できる場合があります。あなたは見るかもしれません:

  • release、Ubuntuリリースに同梱されているパッケージのバージョン(またはリリース時に入手可能)。
  • security、リリース後に出荷されるセキュリティ更新。
  • pdates、リリース後に出荷された更新。
  • proposed、インストールは可能であるが、まだテスト中であり、一般的な使用には推奨されない更新。
  • backports、Ubuntuの新しいリリースで作成され、以前のリリース用に再構築されたソフトウェア。

たとえば、14.04のFirefoxで利用できるものは次のとおりです。

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

通常、パッケージが存在する場合はsecurityまたはpdatesに、そうでない場合はreleaseにパッケージが必要です。

パッケージのリストを展開したら、ご使用のアーキテクチャの.debファイルを見つけます。デブの名前はname_version_architecture.debです。最も一般的なアーキテクチャは次のとおりです。

  • 64ビットPC/Mac(IntelプロセッサとAMDプロセッサの両方でAMD64と呼ばれます)
  • 32ビットPC/Mac(両方ともi386と呼ばれる)

たとえば、64ビットバージョンのUbuntuのg++-4.8パッケージを取得するには、g++-4.8_4.8.4-1ubuntu15_AMD64.debをダウンロードできます。

パッケージのインストール

取得したパッケージが同じバージョンapt-getinstallアクションである場合(システムがネットワーク接続されている場合)、自動的に取得およびインストールされます。 /var/cache/apt/archivesのパッケージを作成し、単にそのコマンドを実行します。

Sudo apt-get install g++

このシステムがneverインターネットに接続されていた場合、これはおそらく、取得したすべてのパッケージがreleaseポケットからのものであった場合に当てはまります。システムがインターネットに接続されたことがあるかどうかに関係なく、他のポケットにあるパッケージがLaunchpadに表示されなかった場合も、ほとんど常にそうなります。 (本質的には、アルファまたはベータシステムをインストールし、それを更新したことがない場合のみです。)

g++をインストールする特定のケースでは、apt-getを使用します。

それがうまくいかない場合、またはうまくいかない場合は、パッケージをインストールします。そうしないと、空のフォルダーにパッケージを入れて実行します:

Sudo dpkg -Ri /path/to/folder

または、パッケージに個別に名前を付けることができます。この例では、パッケージが現在のディレクトリにある(つまり、パッケージを含むディレクトリにcdedした)と仮定します。

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

インストールされるパッケージの数が非常に少ない場合を除きand依存関係を満たすためにインストールする必要がある正確な順序を知っている場合、各パッケージを手動でインストールするよりもこれらの方法を使用する方がはるかに効率的です。個別に。

2
Eliah Kagan

ここで回答を参照した後、 インターネットなしでソフトウェアまたはパッケージをインストールする方法(オフライン)? 、Arnel A. Borjaによるこのコードが最も有用であることがわかりました。

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


とにかく、完全な初心者のためのいくつかの指示があります。それらが役に立つことを願っています。

Ubuntu 15.10以降の新しいユーザー向けの完全なダウンロード手順:

  1. ターミナルを開きます(ショートカットCTRL + ALT + T)
  2. 次のコマンドを使用して、パッケージをダウンロードするフォルダーに移動します:

    cd FOLDERNAME
    (例:cd Desktop
    ヒント:dirコマンドを使用してフォルダーをリストすることもできます。

  3. 手順の上のコードで、PACKAGEをダウンロードするパッケージに置き換えます。
  4. 変更したコードをコピーして貼り付け(ショートカットCTRL + SHIFT + V)、Enterキーを押します

    Synaptic Package Managerをダウンロードするサンプルコード:
    Sudo apt-get install synaptic --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install.sh

    VLCプレーヤーをダウンロードするためのサンプルコード:
    Sudo apt-get install vlc --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install.sh

  5. 求められたら、rootパスワードを入力してEnterを押します。 (パスワードの文字が表示されなくてもてないでください。これは単なるセキュリティ対策です。)
  6. 「install.sh」ファイルが生成されます。必要なすべての依存関係は、スクリプト内に含まれています。
  7. 次のコマンドでスクリプトを実行する必要があります。
    sh install.sh
  8. ファイルがダウンロードされるのを待ちます
  9. その後、次のコマンドを使用して、フォルダー内のすべてのパッケージをインストールできます。

    Sudo dpkg -i *.deb

    またはSynapticsなどのプログラムを使用してパッケージをインストールすることもできます。 (シナプス:ファイル-ダウンロードしたパッケージを追加)
    別の方法として、ファイルをダブルクリックすることもできます。これにより、Ubuntu Software Centerが開きます。ソフトウェアセンターが読み込まれたら、インストールボタンを押します。フォルダ内のすべてのファイルがインストールされるまでこれを繰り返します。

2
GSM-S

Windowsで実行できる小さなpythonスクリプトがあり、ubuntuパッケージのWebサイトを解析して依存関係ツリーを見つけ、必要なすべてのパッケージをダウンロードし、チェックサム検証を実行します。

これは明らかに必要以上にダウンロードするかもしれませんが、私にとって最も簡単なソリューションでした。

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

ダウンロードしたすべてのパッケージは、dpkg -i E pkg\*でインストールできます。既にインストールされているパッケージの再インストールを回避します。

使用法:

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)
2
Zitrax

はい。 DVD isoをダウンロードし、DVDに書き込み、DVDからソフトウェアをインストールできます。 こちらをご覧ください CDおよびDVDは、オンラインアーカイブと同じ方法でパッケージマネージャーのソースとして提供できます。

2
txwikinger

インターネットにまったく接続しておらず、インターネットに接続できる場所の近くに誰もいない場合は、まだ言及されていないオプションがあります。通常の投稿を介してソースファイルを送信してください。

DVDを購入することで、メールでUbuntu OS全体を入手できます。オンラインの友人に、DEBファイルまたはVLCなどのパッケージのソースファイルを送信するように依頼するのと同じ方法。誰かがすべてのパッケージを含む完全なDVDを送信することは価値があるかもしれませんが。そうすれば、そのDVDからインストールできます。

1
Rinzwind

Live CDのカスタマイズ をインストールすることをお勧めします。

http://packages.ubuntu.com/filenameでファイルをダウンロードすることもできますが、その後は支払いが必要です依存関係にも注意してください。

0
Jakob

これは完全に詳細な答えではありませんが、高レベルでは次のことが可能です。

  1. 必要な.deb pkgsを取得(およびそれらのリストを作成)(それらが依存するパッケージがまだインストールされていないことを含める)
  2. それらを含むaptアーカイブを作成します
  3. aptアーカイブをCDまたはUSBにコピーします
  4. cDまたはUSBをターゲットシステムに挿入します
  5. ターゲットシステムでaptを構成して、CDまたはUSB aptアーカイブをソースとして含める
  6. apt-get install(pkgsのリスト)を使用してリストからパッケージをインストールします
0
kyleN

別の可能性は、remastersysを使用することです。このツールを使用すると、独自のシステムからisoイメージを作成し、unetbootinを介して起動可能なUSBスティックを作成した後、カスタマイズしたシステムを必要な数のコンピューターにインストールできます。

0
dago

この質問は少し古いので、現時点での回答は冗長かもしれませんが、おそらく dpkg-offline を使用してみることもできます。 bzrをインストールしてから:

bzr branch lp:dpkg-offline

そこにはチュートリアルとreadmeファイルが含まれています。

たとえば、システムがUbuntu 14.04 AMD64システムにgitをインストールするとします。 12.04 i386、次のことができます。

  • ubuntu-14.04-desktop-AMD64.isoイメージをダウンロードします
  • dpkg-offline ubuntu-14.04-desktop-AMD64.iso gitを実行します
  • ターゲットシステムに転送できるtar.gzを取得します。これには、シードパッケージ(git)とそのすべての依存関係が含まれます。また、ローカルリポジトリを追加するヘル​​パースクリプトが含まれているため、apt-getを使用してパッケージをインストールできます。

dpkg-offlineは、10.04以降のUbuntuデスクトップバージョンで動作します(古いバージョンではテストしていませんが、shouldも動作します) 12.10以降のUbuntuサーバーバージョン。ホストアーキテクチャに関係なく、AMD64、i386、およびarmhfイメージでも動作するはずです。繰り返しますが、私はarm64またはpowerpc/ppc64elでテストしていませんが、動作する可能性もあります。

免責事項:私はdpkg-offlineを書きました。

0
roadmr

一部のパッケージは、インストールusbスティックにインストールされます。 network-managerをアンインストールし、再度インストールしたい。

したがって、オペレーティングシステムをインストールしたスティックを(Lubuntu 17.10)から取得しました。 /dev/sdbでした

スティックをパスにマウントします(私の場合は/tmp/mnt

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

次に、/etc/apt/sources.listを編集して、

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

その後、私はやる

Sudo apt-get update

そして、network-managerをインストールできます。

注:これは上記の質問に対する答えではなく、この質問を調べたときに私が持っていた質問に対する答えかもしれません。

0
User

いくつかの簡単な提案があります。図書館に行くことができます。必要なオペレーティングシステムのコンピューターセクションを確認します。一部の書籍にはDVDが含まれています。また、最新のオペレーティングシステムが必要な場合は、わずかな料金でDVDを購入できるこのWebサイトをお勧めします。 www.ubuntu.com/download/desktop。

0
BJsgoodlife