概要
先日の続きで、VMware toolsをインストールします。
VMware toolsのインストールはどうでもよくてmount/umountの備忘録です。
OSインストール直後からスタートです。
目次
環境
- Windows 10 Pro
- VMware Workstation Player 14.1.1
- CentOS 7.4 1708 (20180208時点最新)
前提知識
- VMware Playerを使ったことがある。
※自分でセットアップ等はしたことがない。すでに用意されているもの。 - 高校生の時にさくらVPS使ってDebianで色々していた
CLIにアレルギー反応が出ない
仮想マシンのネットワーク接続確認
ifconfig
が使えないのでip addr show
で確認します。
さあTeraTermで接続だ。
[root@localhost ~]# ip addr show
...中略
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
inet 192.168.XXX.XXX/24 brd 192.168.XXX.XXX scope global dynamic eth0
valid_lft 1459sec preferred_lft 1459sec
inet6 XXXX::XXXX:XXXX:XXXX:XXXX/64 scope link
valid_lft forever preferred_lft forever
パッケージアップデートの実行
VMware toolsをインストールする前にインストール済みのいろいろをアップデートします。
[root@localhost ~]# yum check-update
...中略
[root@localhost ~]# yum -y update
...中略
完了しました!
TeraTermの出力では日本語で完了と出ました。VMware上での操作ではこの限りではないかもしれません
詳しい人は一括でアップデートかけたりしないのかな?
細かいことは気にしません。練習なんですから…
VMware toolsの入手
VMware toolsはどこからかDLしてくるとかではなくVMware Workstation Playerから
ディスクドライブにCD/ROMを挿入する感覚です。
上メニューPlayer → 管理 →VMware toolsのインストール
を選択
こで仮想マシンのディスクドライブにCD/ROMが挿入されました。
※USBメモリが接続されたのほうが正しい?
CD/ROMやUSBメモリ、HDDなどのPCデバイスは/dev
配下に
スクリプト?デバイス本体?を持っています。
※すいません。ここよくわかってません。
先程の操作で挿入されたCD/ROMは/dev/sr0
にあるのでマウントします。
一応と言うか自分もよくわかってないのに説明もクソもないですが
cdromと言うグループに所属していることになっています。
つまりこいつはディスクドライブだ!(無理やり)
[root@localhost ~]# ls -la /dev/sr0
brw-rw----. 1 root cdrom 11, 0 2月 8 23:01 /dev/sr0
mountをかけてVMware toolsを取り出す。
/dev/sr0
がCD/ROMという事がわかったのでマウント掛けます。
/mnt
にマウントしていますが普通に良くない(?)ので配下に作業ディレクトリでも用意してそこにマウントしてください
df
コマンドでマウントされてういることを確認してください
/dev/sr0
が/mnt
にマウントされてると表示されていますね
mountコマンドが成功していればマウント先である/mnt
にVMwareTools-10.2.0-7259539.tar.gz
が存在しているはずです。
[root@localhost ~]# mount /dev/sr0 /mnt/
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/centos-root 17G 1.2G 16G 7% /
devtmpfs 478M 0 478M 0% /dev
tmpfs 489M 0 489M 0% /dev/shm
tmpfs 489M 6.8M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 1014M 153M 862M 16% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sr0 56M 56M 0 100% /mnt
[root@localhost ~]# ls -l /mnt/
合計 56201
-r--r--r--. 1 root root 55734807 11月 30 19:08 VMwareTools-10.2.0-7259539.tar.gz
-r-xr-xr-x. 1 root root 1975 11月 30 19:08 manifest.txt
-r-xr-xr-x. 1 root root 4393 11月 30 19:03 run_upgrader.sh
-r-xr-xr-x. 1 root root 880268 11月 30 19:05 vmware-tools-upgrader-32
-r-xr-xr-x. 1 root root 926440 11月 30 19:05 vmware-tools-upgrader-64
コピー後、umount
VMwareTools-10.2.0-7259539.tar.gz
を任意のディレクトリにコピー後、umount
(アンマウント)をかけます。
マウント状態だとガッチリ掴んで離さない状態なのでアンマウントで外します。
mount
,umount
については下の「mountって何よ?」に解説サイトのリンクがあります。
[root@localhost ~]# cp /mnt/VMwareTools-10.2.0-7259539.tar.gz /root/
[root@localhost ~]# umount /dev/sr0
[root@localhost ~]# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
...中略(/dev/sr0がないことを確認してください)
[root@localhost ~]# ls -l /mnt/
合計 0
[root@localhost ~]# ls -l /root/
合計 54436
-r--r--r--. 1 root root 55734807 2月 8 23:36 VMwareTools-10.2.0-7259539.tar.gz
mountって何よ?
すみません。自分も会社で教えてもらうまで知りませんでした。
mountとは
登る、乗る、またがる、乗せる、(…に)据えつける、装置する、(…に)はる、(…に)はめる、固定する、開催する
https://ejje.weblio.jp/content/mount 🔗
なんか、こう言葉だけで大体想像付きました?
本当にざっくり、ざっくりだけ言うと「デバイス(記憶装置?)からデータとかを取り出せるようにする。」くらいの勢いでいいのではないだろうか。
※HDDの拡張をしているときはPCに装着すると言う感覚のほうがしっくり来たけども
早い話こっちを読んだほうが良い
https://eng-entrance.com/linux-mount 🔗
VMware toolsのインストール
コピーしたVMware toolsを展開します。
[root@localhost ~]# tar zxvf VMwareTools-10.2.0-7259539.tar.gz
[root@localhost ~]# ls -l
合計 54436
-r--r--r--. 1 root root 55734807 2月 8 23:36 VMwareTools-10.2.0-7259539.tar.gz
-rw-------. 1 root root 1238 2月 8 21:47 anaconda-ks.cfg
drwxr-xr-x. 9 root root 145 11月 30 19:08 vmware-tools-distrib
[root@localhost ~]# cd vmware-tools-distrib/
[root@localhost vmware-tools-distrib]# ls -l
合計 372
(...中略)
-rwxr-xr-x. 1 root root 221099 11月 30 19:08 vmware-install.pl
展開後、展開してできたディレクトリに移動します。
vmware-install.pl
を実行します。
インストールに関しては下記の解説記事が詳しく分かりやすかったです。
このブログ記事下部にもトラブルシュートを載せていますがリンク先の記事でも解説されています。
https://urashita.com/archives/1367#VMware_Tools 🔗
インストールの実行
※トラブルシュートを実施してから実行するとスムーズにことが運ぶかと思います。
[root@localhost ~]# ./vmware-tools-distrib/vmware-install.pl
また、-d
のオプションをつけることでインストール中のエンター連打作業がなくなります。
つけない場合はエンターを押しまくりましょう。
完了ログ
Enjoy,
--the VMware team
上記のログで特段エラーも吐いていなければOKだと思われます。
動作確認
先程の記事をパクッ参考にサービスが起動しているか確認します。
[root@localhost ~]# systemctl | grep vmware-tools.service
vmware-tools.service loaded active running SYSV: Manages the services needed to run VMware software
runningとなっているので大丈夫そうですね。
以上で終了です。
トラブルシュート
vmware-install.plが実行できない
事象
インストールを実行すると下記のエラーが出る。
[root@localhost vmware-tools-distrib]# ./vmware-install.pl
-bash: ./vmware-install.pl: /usr/bin/perl: 誤ったインタプリタです: そのようなフ ァイルやディレクトリはありません
※TeraTermでは日本語で表示されています。
解決策
/user/bin/perl
が無いですよと言っています。
perl
をインストールしてあげましょう
[root@localhost ~]# yum provides perl
(...中略)
4:perl-5.16.3-292.el7.x86_64 : Practical Extraction and Report Language
リポジトリー : base
[root@localhost ~]# yum -y install perl
(...中略)
完了しました!
yum search
で検索をかけてもいいんですが大量に引っかかってよくわかりません
なのでperl
がどのパッケージに含まれているかを検索します。それがprovides
です。
yum search
コマンドとyum provides
コマンドについてはこちらがわかりやすいです。
http://kazmax.zpp.jp/linux_beginner/yum_search.html 🔗
インストールが進むとループして進まなくなる(GCC編)
事象
ある程度インストールが進むと下記の質問が発生しこれまで通りエンター連打をしてもループしてインストールが進まないと言う沼にハマってしまいます。
[root@localhost vmware-tools-distrib]# ./vmware-install.pl
(...中略)
Searching for GCC...
The path "" is not valid path to the gcc binary.
Would you like to change it? [yes]
INPUT: [yes] default
What is the location of the gcc program on your machine?
INPUT: [] default
The path "" is not valid path to the gcc binary.
Would you like to change it? [yes]
INPUT: [yes] default
What is the location of the gcc program on your machine?
INPUT: [] default
(...以下ループ)
解決策
gcc
どこにあるの?と聞いています。無いようなのでインストールしてあげましょう。
[root@localhost ~]# yum provides gcc
(...中略)
gcc-4.8.5-16.el7.x86_64 : Various compilers (C, C++, Objective-C, Java, ...)
リポジトリー : base
gcc-4.8.5-16.el7_4.1.x86_64 : Various compilers (C, C++, Objective-C, Java, ...)
リポジトリー : updates
[root@localhost ~]# yum -y install gcc-4.8.5-16.el7.x86_64
(...中略)
エラー: Multilib version problems found. This often means that the root
(...中略)
Protected multilib versions: libgomp-4.8.5-16.el7.i686 != libgomp-4.8.5-16.el7_4.1.x86_64
最初に、リポジトリのベースを入れてからアップデートかければいいのかな?と思い
ベースをインストールしたらエラーでコケました。
なので最新のパッケージをインストールしましょう。
[root@localhost ~]# yum -y install gcc-4.8.5-16.el7_4.1.x86_64
(...中略)
インストール:
gcc.x86_64 0:4.8.5-16.el7_4.1
依存性関連をインストールしました:
cpp.x86_64 0:4.8.5-16.el7_4.1
glibc-devel.x86_64 0:2.17-196.el7_4.2
glibc-headers.x86_64 0:2.17-196.el7_4.2
kernel-headers.x86_64 0:3.10.0-693.17.1.el7
libmpc.x86_64 0:1.0.1-3.el7
mpfr.x86_64 0:3.1.1-4.el7
完了しました!
これでgccが入りました。
インストールが進むとループして進まなくなる(kernel編)
事象
GCC編とほぼ同様です。kernel header
と言うやつで困っているようです。
最初は、最新or未インストールかと思ったのですが、調べるとVMware toolsとのバージョン違いで起きる事象みたいです。
今回、自分の環境では再現されなかったのでログなしです。
解決策
kernel-headerのインストール(アップデート?)の実行
事象が再現できていないので割愛
たぶんですがgccのパッケージのインストール時に依存性関連で一緒にインストールされたからエラーが出なかったのではないかな?と思ったりしています。
参考サイト様
記事途中で紹介したサイト様
雑感
ブログ書くだけでなぜこんなに時間がかかっているのか…
再現しながら書いてるからなんですけどね。
金曜からまた上京するので記事をためておきたかったのだけど仕方がない。