本文へ移動

Ubuntuにbuild-essentialをオフラインで導入する

技術

オフラインPCで要求を作り、オンラインPCでパッケージを取得し、対象PCへ戻して導入する往復の図

ネットワークドライバーをビルドしたいのに、対象PCがインターネットへ接続できない。こうした状況では、必要なパッケージと依存関係を別のPCで取得し、USBメモリーなどで持ち込む方法が有効です。

2026年10月8日改訂。旧記事のUbuntu 18.04用ブートUSBの手順を、apt-offlineによる依存関係の取得手順に更新しました。

ブートUSBだけで解決できるとは限らない

build-essentialは、C/C++のビルドに使うコンパイラーやmakeなどを依存関係としてまとめたパッケージです。インストール用USBに、対象環境で必要なパッケージがすべて含まれているとは限りません。Ubuntuのパッケージ情報で依存関係を確認できます。

旧記事が対象にしていたUbuntu 18.04は標準サポートの期間を終えています。継続利用時の拡張サポートと、サポート中のLTSへの移行はUbuntuのリリースサイクルで確認してください。別リリース向けのパッケージを混在させないことも重要です。

作業の前提

  • オフラインPCと取得用PCの両方でapt-offlineを使えること。
  • 対象PCのUbuntuリリース、CPUアーキテクチャ、APTの取得先を把握していること。
  • 署名ファイルとZIPファイルを往復させる媒体があること。

apt-offline自体が未導入の場合は、そのパッケージと依存関係の持ち込みが先に必要です。以下の手順だけでは、その初期準備は完了しません。可能なら、接続できる段階で導入しておきます。

以下のファイル名は作業例です。update.sigはパッケージ一覧の取得要求、packages.sigは必要パッケージの取得要求、各.zipは取得したデータをまとめるファイルです。媒体を移動した後は、ファイルがあるディレクトリで実行します。

1. パッケージ一覧を更新する

オフラインPCで取得要求を作ります。

sudo apt-offline set update.sig --update

update.sigをオンラインPCに移し、一覧を取得します。

apt-offline get update.sig --bundle update.zip

update.zipをオフラインPCへ戻し、APTの一覧に反映します。

sudo apt-offline install update.zip

2. build-essentialと依存パッケージを取得する

一覧を更新したオフラインPCで、必要なパッケージの要求を作ります。

sudo apt-offline set packages.sig --install-packages build-essential

packages.sigをオンラインPCへ移して取得します。

apt-offline get packages.sig --bundle packages.zip

packages.zipをオフラインPCへ戻します。apt-offline installは取得データをAPTへ反映する処理なので、その後にAPTでパッケージの導入を行います。--no-downloadは追加のネットワーク取得を行わない指定です。

sudo apt-offline install packages.zip
sudo apt-get --no-download install build-essential

この流れはUbuntuのapt-offlineマニュアルのset・get・installの役割に基づきます。

3. 導入を確認する

gcc --version
g++ --version
make --version

不足するパッケージが表示された場合は、媒体にあるファイルを無理に適用せず、取得要求を作り直します。署名検証を無効にするオプションも使いません。

なお、カーネルモジュールのビルドには、実行中のカーネルに対応するヘッダーパッケージや対象ドライバー固有の依存関係が追加で必要になることがあります。build-essentialの導入と、ドライバーのビルド・署名・動作確認は分けて進めてください。

関連記事

カテゴリー
アーカイブ

導入・開発のご相談

検査の自動化、品質予測、工程条件の最適化。
課題の整理からご相談ください。

お問い合わせ