回答:
Debian 9のTL; DRバージョンは、ルートとして:
echo deb http://ftp.debian.org/debian stretch-backports main contrib > /etc/apt/sources.list.d/stretch-backports.list
apt update
apt install virtualbox-guest-dkms virtualbox-guest-x11 linux-headers-$(uname -r)
これで、VirtualBox Guest Additionsがインストールされました。
VirtualBoxはDebian 10では利用できず、buster-backports
どちらでも利用できません。Lucas Nussbaumには非公式のパッケージセットがあります。それらを使用したい場合は、彼の指示に従う必要があります(リンクのみ—リンクが有効でなくなった場合、パッケージもおそらく利用できないため、ここで指示をコピーしても意味がありません)。
より詳細には、Debianパッケージを使用したDebian 7、8、および9のソリューションを以下に示します。
Debian 7および8では、contrib
リポジトリを有効にします。たとえば、Debian 8の場合/etc/apt/sources.list
は、次のようなものが含まれていることを確認してください
deb http://ftp.debian.org/debian jessie main contrib
Debian 9では、contrib
;でバックポートを有効にします。そのためには、次のような行を追加します
deb http://ftp.debian.org/debian stretch-backports main contrib
to /etc/apt/sources.list
(またはそれ以上)のstretch-backports.list
ファイル/etc/apt/sources.list.d
。
install virtualbox-guest-dkms
、カーネルヘッダー、およびオプションでvirtualbox-guest-x11
(グラフィカルゲストユーティリティ用):
sudo apt update
sudo apt install virtualbox-guest-dkms virtualbox-guest-x11 linux-headers-$(uname -r)
(Debian 9を使用している場合は、2行目に-t stretch-backports
after install
を使用します)。
それがありますすべての必要だということ-あなたはあなたのVMでゲストの追加をマウントするか、インストーラを実行する必要はありません。Vagrantfile
(またはVMのプロビジョニングに使用するもの)に3行のシェル呼び出しを追加して、それらを忘れることができます。
virtualbox-guest-dkms
パッケージをインストールすると、適切なカーネルモジュールが自動的にビルドされ(カーネルのアップグレード時に再ビルドされます)、ゲストの追加がインストールされます。
(これにより、VMで使用しているDebianのバージョンで利用可能なゲスト追加のバージョンがインストールされます。これは、VMを実行しているVirtual Boxのバージョンと一致しない場合があります。
Linux Debian仮想マシンにVirtualBox Guest Additionsをインストールするには、次の手順に従います。
ターミナルを開いてroot
(su
)になります。あなたがしている場合はsudo
有効になって、あなたはまた、例えば行うことができますsudo -i
。man sudo
すべてのオプションを参照してください):
su
ルートパスワードを入力してEnterキーを押します
またはsudo -s
、インストールしていて、ログインしているユーザーに必要な権限がある場合に使用できます...
APTキャッシュを更新します。
apt-get update
最新のセキュリティ更新プログラムをインストールします。
このステップはすべてのパッケージをアップグレードするので、賢明です。以下の手順を最初に試してみてください。うまくいかない場合は、アップグレードしてから再試行してください。
apt-get upgrade
これらの必要なパッケージをインストールします。
パッケージ
build-essential
とmodule-assistant
は両方ともカーネルモジュールをコンパイルできるようにするために必要なため、VirtualBox Linuxゲスト追加機能をインストールする際にはそれらが必要です。そのため、このコマンドは、動作に必要なヘッダーとパッケージ(コンパイラーとライブラリー)を取得します。VirtualBox Linux Guest Additionsをインストールした後、いくつかのパッケージとLinuxヘッダーが残されることに注意してください。これらは後で削除してもしなくてもかまいません。私の場合、彼らは怪我をしませんでしたが、システムの整頓のために、プレイ後に拾いたいと思うかもしれません。
apt-get install build-essential module-assistant
カーネルモジュールを構築するためにシステムを構成します。
m-a prepare
ゲスト追加ISOの挿入:
[ デバイス ]メニューを展開し、[ ゲスト追加CDイメージの挿入 ]をクリックします。
自動的にマウントされますが、何らかの理由でマウントされない場合:
mount /media/cdrom
次のスクリプトを実行します。
sh /media/cdrom/VBoxLinuxAdditions.run
システムを再起動します。
reboot
sudo apt-get update && sudo apt-get install linux-headers-`uname -r`
m-a prepare
はlinux-headers
パッケージをプルする必要があります。Debian9のインストールではすべての指示が正常に機能します。
DebianリポジトリからVirtualBoxゲストアドオンをインストールする代わりに、ベンダーのソースを使用することもできます。リポジトリは、ベンダーからのソースが最新の機能とセキュリティ更新を持っている間、より古く、より安定したコードを提供することが期待されています。
VirtualBox 5.0.30およびOS X 10.11.6を使用して、Linuxカーネル4.9.0-4を実行しているDebian 9.4ゲストで次の手順を正常に試行しました。最初に、ゲストアドオンISOイメージを仮想マシンに接続してから起動します。起動後、イメージのコンテンツはで利用可能になります/media/cdrom0/
。まず、インストールする必要がある2つのパッケージとその依存関係があります。
$ sudo apt-get install linux-headers-$(uname -r) build-essential
次に、ベンダー提供のスクリプトを実行して、必要なカーネルモジュールをビルドおよびインストールします。
$ cd /media/cdrom0/
$ sudo sh VBoxLinuxAdditions.run
仮想マシンを再起動してお楽しみください!
Debian 9では、virtualbox-guest-dkmsパッケージは不安定(sid)リポジトリにあります。
これを追加/etc/apt/sources.list
:
deb http://http.us.debian.org/debian sid main non-free contrib
リポジトリの更新とパッケージのインストール
sudo apt-get update
sudo apt-get install virtualbox-guest-dkms
必要に応じて、不要なパッケージの更新があるため、sidリポジトリを無効にします。
/vagrant
VM にマウントする代わりに、「rsync」dのままです。そのマウントがゲストの追加を望んでいた理由であるため、まだ事実上壊れています。