お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2019-12-21 18:11:04

mizuhugu
新しいメンバ
登録日: 2019-12-21

オフラインでmakeをインストールしたい

こんにちは、初心者です。

Ubuntu 18.04.2LTSのdesktop版をNECのサーバー機にインストールしました。
NICドライバが初めから入っていなかったので、Intelのダウンロードセンターから他のPCを経由して持ってきてmake install
しようとしたところmakeがないと言われてしまいました。
makeをインストールしようにも、インターネットに接続できないのでどうやって build-essentialをインストールすればいいのかわかりません。
オフラインで build-essentialをインストールするにはどうすればいいのでしょうか?

よろしくお願いします。

オフライン

 

#2 2020-03-05 07:13:41

elliptic
メンバ
登録日: 2020-03-05

Re: オフラインでmakeをインストールしたい

Ubuntuのインストールディスクには、そういう時のためにbuild-essential
のパッケージが同梱されています。
* PCのドライブにインストールDVDをセットする。
* 「ソフトウェアとアップデート」(software-properties-gtk)の
[Ubuntuのソフトウェア]タブで CD-ROM/DVDからインストール の箇所に
チェックが入っていることを確認する。
のあとは 普通に
sudo apt update
sudo apt install build-essential
を実行すればgccやmakeが使えるようになります。

オフライン

 

#3 2020-11-15 00:11:09

taku1367
ゲスト

Re: オフラインでmakeをインストールしたい

elliptic による投稿:

* PCのドライブにインストールDVDをセットする。

DVDではなく、USBメモリからインストールすることはできませんか?
(試しにブータブルUSBメモリをPCに挿してやってみたのですが、「メディア変更: 'Ubuntu 20.04.1 LTS _Focal Fossa_ - Release amd64 (2020731)' とラベルの付いたディスクをドライブ '/media/cdrom' に入れて [Enter] キーを押してください」と表示されて無理でした。)

ライブで起動したときはsudo apt install make gccと入力すればインストールできます。
Ubuntuをディスクにインストールして同じ入力をするとインストールに失敗します。
gccやmakeはネットワークドライバをビルドするために必要なので、これらがないとネットに繋ぐことができず困っています。

 

#4 2020-11-15 18:08:35

chichinpui
メンバ
登録日: 2010-02-08

Re: オフラインでmakeをインストールしたい

build-essentialだけインストールできれば良いのであれば。
(debファイルを個別に指定するので、汎用的な指定には不向きと思います)

ubuntu 20.10のDVD版インストールディスクでいうと、以下のフォルダに以下の名前で
「build-essential」のdebファイルが存在します。
(deb名はubuntu 20.04のバージョンで読み替えて下さい)

/DVDのデバイス/pool/main/b/build-essential/build-essential_12.8ubuntu3_amd64.deb
(我が家では「/DVDのデバイス/」は、/media/papa/Ubuntu 20.10 ja amd64/ でした)

ブータブルUSBメモリ(20.04版)にも同様のファイルがあれば、以下のコマンドでインストール
出来ませんかね?

sudo apt install /ブータブルUSBメモリのデバイス/フォルダ/build-essential_12.8ubuntu3_amd64.deb

オフライン

 

#5 2020-11-15 20:54:36

chichinpui
メンバ
登録日: 2010-02-08

Re: オフラインでmakeをインストールしたい

申し訳ありません。
「build-essential」は、複数パッケージのインデックスみたいものですね。
(我が家の環境では、既にbuild-essentialがインストール済みで気付くのが遅れました)
ぶら下がってるパッケージをすべてdebで指定してインストールする必要がある様です。
20.10では、34パッケージがぶら下がってます。
一旦対象パッケージを同一フォルダに集めて、*.debでapt install する等、工夫しないと
難しそうですね。

前投稿を訂正させて頂きます。

オフライン

 

#6 2020-11-15 21:42:06

taku1367
ゲスト

Re: オフラインでmakeをインストールしたい

chichinpui さん、回答ありがとうございます。

一旦対象パッケージを同一フォルダに集めて、*.debでapt install する

これを自動で行う方法を探しています。つまり、build-essential(もしくはgcc,make)の依存するパッケージのリストを取得し、指定のディレクトリ(例えばデバイス/pool/main)下を調べ、必要なdebファイルがあればコピーし、特定の一ヶ所のディレクトリにそれらを集め、apt install *.deb を行うといった方法がないか探しています。

 

#7 2020-11-15 22:14:04

chichinpui
メンバ
登録日: 2010-02-08

Re: オフラインでmakeをインストールしたい

taku1367さん

shell、スクリプトなど駆使すれば可能なのかもしれませんが、私にはその知識がありませぬ。

ただ以下ページの様に、DVDと同様に、USBドライブや通常のフォルダも「apt」の参照先にできる様です。
http://manpages.ubuntu.com/manpages/cosmic/ja/man5/sources.list.5.html

後半、「URI の仕様」部分の以下
       file
           file スキームは、システム内の任意のディレクトリを、アーカイブとして扱えるようにしま
           す。これは NFS マウントやローカルミラーで便利です。

       cdrom
           The cdrom scheme allows APT to use a local CD-ROM, DVD or USB drive with media
           swapping. Use the apt-cdrom(8) program to create cdrom entries in the source list.


また、ターミナルで「apt-cdrom」と叩くと、以下のメッセージが出力されます。

 apt-cdrom は、CD-ROM、USB フラッシュドライブやその他のリムーバブル
 メディアを APT のパッケージソースに追加するために使用されます。
 マウントポイントとデバイス情報は、apt.conf(5)、udev(7) と fstab(5)
 から取得されます。

 最も使用されているコマンド:
   add - Add a CDROM
   ident - Report the identity of a CDROM

 利用可能なコマンドの詳細は apt-cdrom(8) を参照してください。
 設定オプションと構文は apt.conf(5) に詳述されています。
 ソースを設定する方法の詳細は sources.list(5) で見つけることができます。
 パッケージとバージョンの選択は apt_preferences(5) で表現できます。
 セキュリティの詳細は apt-secure(8) を参照してください。

以上の事から、ブータブルUSBメモリを、うまくaptの参照先にできれば、
sudo apt install build-essential 一発で、DVDと同じ結果が得られる気がします。
こちらは、以下の機能と思われます。
http://manpages.ubuntu.com/manpages/bionic/ja/man8/apt-cdrom.8.html

残念ながら、ブータブルUSBメモリを作れていないので、具体的にどういう手順で、何を
設定すれば、ブータブルUSBメモリをaptの参照先にできるのかは分かりません。

半端な情報で申し訳ありません。
ご健闘を祈ります。

オフライン

 

#8 2020-11-16 00:06:32

taku1367
ゲスト

Re: オフラインでmakeをインストールしたい

chichinpui さん、とても丁寧な回答をありがとうございます。

sources.listへの追加は試したのですが、まだうまくいってません。自分の一行スタイルの書き方が間違っているのかしら。apt-cdromは初めて知りました。今度試してみます。

 

#9 2020-12-14 06:00:28

elliptic
メンバ
登録日: 2020-03-05

Re: オフラインでmakeをインストールしたい

#3

taku1367 による投稿:

DVDではなく、USBメモリからインストールすることはできませんか?
(試しにブータブルUSBメモリをPCに挿してやってみたのですが、「メディア変更: 'Ubuntu 20.04.1 LTS _Focal Fossa_ - Release amd64 (2020731)' とラベルの付いたディスクをドライブ '/media/cdrom' に入れて [Enter] キーを押してください」と表示されて無理でした。)

ライブで起動したときはsudo apt install make gccと入力すればインストールできます。
Ubuntuをディスクにインストールして同じ入力をするとインストールに失敗します。

私も正しい対処法はわかりませんが、 ディスク交換を要求されずに進められそうな
手順を見つけたので書いておきます。

1. インストーラISBメモリ または ISOイメージファイルを読めるように接続し
そのマウントされたディレクトリをメモしておく。
以下の例では ’/media/user/Ubuntu 20.04 ja amd64' としています。
2. 「端末」で 次のコマンドを実行する。

コード:

MOUNTDIR='/media/user/Ubuntu 20.04 ja amd64'
sudo sed -i -e '/deb[ \t]\+cdrom:/ d' /etc/apt/sources.list 
sudo apt-cdrom -o Acquire::cdrom::mount="${MOUNTDIR}" \
               -o Dir::Media::MountPath="${MOUNTDIR}" \
               -o Acquire::cdrom::AutoDetect=false -m add
sudo apt update
sudo apt install build-essential

MOUNTDIR=... の箇所は自分の環境に合わせて書き換えて下さい。

オフライン

 

#10 2021-01-07 05:18:59

taku1367
ゲスト

Re: オフラインでmakeをインストールしたい

taku1367 による投稿:

自分の一行スタイルの書き方が間違っているのかしら。

要約:空白を含むパスを避ける。

これらの書き方は、いずれもapt updateを実行するとどこかでエラーが発生し、うまくいきません。

コード:

# /etc/apt/sources.list
deb file:/media/user_name/Ubuntu 20.10 amd64 stable main
deb file:/media/user_name/Ubuntu%2020.10%20amd64 stable main
deb file:/media/user_name/Ubuntu%2020.10%20amd64 groovy main
deb 'file:/media/user_name/Ubuntu 20.10 amd64' stable main
"deb file:/media/user_name/Ubuntu 20.10 amd64" stable main

メモ: 以下の書き方もあるようですが、これを試す前に次の方法でうまくいきました。

コード:

deb file:/media/user_name/Ubuntu*20.10*amd64 stable main

これがその方法です:

コード:

sudo mkdir /media/usb-drive
sudo mount /dev/sdb1 /media/usb-drive/
sudo vi /etc/apt/sources.list
# ファイルの一番下に以下を追加する
# deb file:/media/usb-drive stable main

sudo apt update
sudo apt install make 
sudo apt install gcc

後で次のコマンドを実行するのを忘れないで下さい。

コード:

sudo umount /media/usb-drive
sudo rmdir /media/usb-drive/

やった!

 

#11 2021-01-07 05:39:22

taku1367
ゲスト

Re: オフラインでmakeをインストールしたい

なぜdeb file:/media/user_name/Ubuntu%2020.10%20amd64 groovy main のような書き方でエラーが出るのかは分かりません。以下はapt updateを実行したときの出力の一部です。

コード:

E: file:/media/taku/Ubuntu 20.10 amd64/dists/groovy/main/binary-amd64/Packages の取得に失敗しました  ファイルが見つかりません - /media/taku/Ubuntu 20.10 amd64/dists/groovy/main/binary-amd64/Packages (2: そのようなファイルやディレクトリはありません)

binary-amd64にはPackages.gzというファイルはありますがPackagesはありません。Packages.gzの中身はPackagesですが、それをbinary-amd64に配置することはできません。Ubuntuのディスクイメージは読み取り専用のファイルシステムになっているので、binary-amd64ディレクトリに書き込むことができないからです。

 

Board footer

Powered by FluxBB