
Ubuntu日本語フォーラム
ログインしていません。
こんにちは、初心者です。
Ubuntu 18.04.2LTSのdesktop版をNECのサーバー機にインストールしました。
NICドライバが初めから入っていなかったので、Intelのダウンロードセンターから他のPCを経由して持ってきてmake install
しようとしたところmakeがないと言われてしまいました。
makeをインストールしようにも、インターネットに接続できないのでどうやって build-essentialをインストールすればいいのかわかりません。
オフラインで build-essentialをインストールするにはどうすればいいのでしょうか?
よろしくお願いします。
オフライン
Ubuntuのインストールディスクには、そういう時のためにbuild-essential
のパッケージが同梱されています。
* PCのドライブにインストールDVDをセットする。
* 「ソフトウェアとアップデート」(software-properties-gtk)の
[Ubuntuのソフトウェア]タブで CD-ROM/DVDからインストール の箇所に
チェックが入っていることを確認する。
のあとは 普通に
sudo apt update
sudo apt install build-essential
を実行すればgccや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はネットワークドライバをビルドするために必要なので、これらがないとネットに繋ぐことができず困っています。
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
オフライン
申し訳ありません。
「build-essential」は、複数パッケージのインデックスみたいものですね。
(我が家の環境では、既にbuild-essentialがインストール済みで気付くのが遅れました)
ぶら下がってるパッケージをすべてdebで指定してインストールする必要がある様です。
20.10では、34パッケージがぶら下がってます。
一旦対象パッケージを同一フォルダに集めて、*.debでapt install する等、工夫しないと
難しそうですね。
前投稿を訂正させて頂きます。
オフライン
chichinpui さん、回答ありがとうございます。
一旦対象パッケージを同一フォルダに集めて、*.debでapt install する
これを自動で行う方法を探しています。つまり、build-essential(もしくはgcc,make)の依存するパッケージのリストを取得し、指定のディレクトリ(例えばデバイス/pool/main)下を調べ、必要なdebファイルがあればコピーし、特定の一ヶ所のディレクトリにそれらを集め、apt install *.deb を行うといった方法がないか探しています。
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の参照先にできるのかは分かりません。
半端な情報で申し訳ありません。
ご健闘を祈ります。
オフライン
chichinpui さん、とても丁寧な回答をありがとうございます。
sources.listへの追加は試したのですが、まだうまくいってません。自分の一行スタイルの書き方が間違っているのかしら。apt-cdromは初めて知りました。今度試してみます。
#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=... の箇所は自分の環境に合わせて書き換えて下さい。
オフライン
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/
やった!
なぜ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ディレクトリに書き込むことができないからです。