「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



ここのところ、Rails環境用として設定を行ってた
VirtualBox上のLinux Mint環境で、rbenv使って
Rails環境を設定してて、なんかうまくいかなかった
(sqlite3のバージョン、Rubyのsqlite3のgem、Rails6
のどれか同士のバージョン不一致が原因みたい)んだけど、
やり直してみてもやっぱりなんかうまくいかない…

timeshiftを使って、OS環境をちょっと前の状態に戻して、
あれこれやり直ししていたものの、そもそもrbenv使って
homeディレクトリ上に個別環境を構築していたせいも
あって、timeshiftでhomeディレクトリを戻せない関係上、
古い環境には戻らないことにようやく気付く。
(まぁ、homeディレクトリが古い状態に戻っちゃったら
それはそれで困ったことになるしなぁ)

というわけで、新しいOS環境を1個作り直してしまおう
かなぁ、と。
こないだようやく設定して使い始めた「メインPC」上の
VirtualBoxには、そういえばまだ1個もOS入れてなかった
ので、どうせならと思って、メインPCのVirtualBoxの環境
設定して、実験用Linux環境を作ってみようかなと。

加えて、VirtualBoxのデフォルト設定では仮想ディスク
イメージをCドライブに作っちゃうので、これをいじって、
DドライブなりEドライブなりにOSイメージを置くように
設定しなおしてみようかなと。
(メインPCは、CドライブがSSD、DとEはHDDになっている)


ちょっと調べてみると、

https://yamakasa3.hatenablog.com/entry/2019/04/23/100000

どうやらWindows10の環境変数をいじればいいみたいな
ことが述べられてた。
「VBOX_USER_HOME」っていう変数名を新たに作って、
その値に「D:\VirtualBox_VMs\.virtualBox」みたいに
フルパスで設定ファイルを保存するディレクトリを
指定してやればいいっぽい。

オイラは、Eドライブの空きが大きかったので、
「E:\VirtualBox_VM」ってディレクトリを作っておいて、
環境変数の値に「E:\VirtualBox_VM\.virtualBox」って
していしてみた。




(ちなみに、この環境変数を指定しなければ、デフォルト
ではCドライブのユーザディレクトリ内の「.VirtualBox」
ディレクトリに、「VirtualBox.xml」などのもろもろの
ファイルが保存される)

で、いざ環境設定を変更してみた。コマンド画面(いわゆる
DOS窓)で「echo "%VBOX_USER_HOME%"」って打ってみると、
ちゃんと反映されてることが確認できた。

で、改めてVirtualBoxを起動して、新規の仮想環境を追加
してみようとしたら…
「マシンフォルダー」欄が元のCドライブで表示されちゃう。
なんで?と思って色々調べてみると、どうやら、環境変数
を追加するだけじゃなく、VirtualBox側の設定変更も必要
みたい。

ファイルメニュー「FILE」から「環境設定」を開いて、
「一般」の「デフォルトの仮想マシンフォルダー」欄に、
各仮想マシンのディスクイメージ一式を格納する
ディレクトリを指定しなおす必要があるみたい。

オイラの場合、さっきのディレクトリの一つ上の
 「E:VirtualBox_VM」
ってディレクトリを指定してみた。



「ok」を押して適用。

あらためて、新規の環境を追加してみる。



よしよし。指定したEドライブが設定されるようになった。

(ちなみに、この後Linux Mintをインストールしてみた
わけだけど、VirtualBoxの各種設定ファイルも、個別の
仮想環境用のデータファイルも、Eドライブ側に保存される
ようになった。Cドライブの方は、ファイル自体は残ってる
けど、更新されなくなった)


結論的には、Cドライブ以外のところにVirtualBoxの
設定ファイルや仮想環境用のデータを置くように設定
するためには、2つのことが必要で、一つは「Windows
の環境変数の変更」、もう一つは「VirtualBoxの環境設定」
でデフォルトの仮想マシンフォルダを変更しておくこと。
この2点。
(VMwareは、仮想マシンのデータが入ってるディレクトリ
を丸ごとコピーして、それをVMwareに教えてあげれば
済むので、どう考えてもVMwareの方がこの点では優れてる
と思うんだよな…)


そうそう。すでにCドライブ側で作成済みだった仮想環境
については、当然ながらこのEドライブなりDドライブなり
に持ってこないといけないんだけど、まだその辺の作業が
出来てないので、ひとまずそのあたりが纏まっていそうな
サイトを検索。

https://www.virment.com/change-virtualbox-folder/

Mac用だけど、多分この辺が参考になりそう。
理解した内容を簡単にまとめておくと、Cドライブで
作成済みの環境の仮想ディスク一式を、ディレクトリ
ごとEドライブなりDドライブなりの新しいディレクトリに
丸ごとコピーしてから、VirtualBox上で登録しなおす
ってことみたい。つまり、マシンリスト上に表示される
古い仮想環境は除去しておいて、改めて仮想マシン
の追加で、コピーしておいた仮想環境のファイルを
登録してやる、と。

そのあたりは、改めて後日やりたいと思ってるところ。
(進展有ればその時にあらためて)

ちなみに、VirtualBoxのスナップショットを使ってる人
だと、このあたりの移行作業でトラブりそうだよという
情報があったので、それもメモ。

https://doruby.jp/users/yokian/entries/VirtualBox%E3%82%92%E6%96%B0PC%E3%81%AB%E7%A7%BB%E8%A1%8C%E3%81%99%E3%82%8B%E6%99%82%E3%81%AB%E3%83%8F%E3%83%9E%E3%81%A3%E3%81%9F%E3%81%93%E3%81%A8

まぁ、なんかやっぱりその辺ってトラブりそうだよねぇ…。
以前、VirtualBoxとかVMwareとかでスナップショット機能
を使ってみたら、妙にトラブった記憶がある。(なので
避けてる)




ひとまず、Eドライブに仮想環境関係のファイルが置かれた
状態にできたので、ようやくLinux Mintをインストールして、
Railsインストール前のあれこれの設定を済ませておこうかな、
と。


Linux Mint19.3をインストールして、各種設定をいつもの
ようにやってみる。…ものの、ちょっと躓いたようなところ
があったので、あとあとのためにメモを残しておく。


一つは、デスクトップの画面サイズ。OSインストール直後は
800×600の小さい画面で使いにくいので、ある程度でかい
画面に変更するわけなんだけど、1280×800にしてみたら、
ちょっとトラブった。

設定してからOSを再起動したら、なぜだかタスクバーの部分
が母艦側のVirtualBoxのステータスバー部分で、こんな風に
隠されちゃうようになっちゃう。



1280×768とかに変えたりしてもダメ。隠れちゃう。
800×600に戻すと隠れないんだけどなぁ。



なんだこれ?
とりあえず、解決策が見つからなかったんだけど、こういう
風になっちゃったら、ひとまずファイルメニューから
 「表示」→「ウィンドウサイズを調整」
ってすると、表示が直ることはわかった。めんどうだけど、
ひとまずはそうすることにしよう。

それにしても、フルHDモニタになって、縦も少し広くなった
関係で、縦が800とか1024とかもまぁ大丈夫になったのは
なかなか便利でいいな。


もう一つは、OSインストール直後の状態をtimeshiftで
OSイメージのスナップショット取っておこうと思ったん
だけど、timeshiftが見当たらなかった。アプリケーション
の選択で「time」とか入力して検索掛けても見当たらない。

これは、どうやらOSインストールしてから実行される
チェックツールで、「言語パック」のインストールと
あわせて、timeshiftのインストールも一緒に行われる
らしい。(OSインストール時に最初から入ってるものと
思い込んでた)

このあたりの処理を一通り行ったら、timeshiftが起動
できて、上記の検索でもヒットする様になった。

ちなみに、仮想環境上に作った実験環境なので、定期的
に実行されるバックアップ処理は全部キャンセルして、
手動で必要な時にだけスナップショット取るようにした。

timeshiftって、できればhomeディレクトリ全体じゃなく、
一部のディレクトリは取得したり、取得しなかったり
を選択できるといいんだけど、



こんな感じで、homeディレクトリ全体や、rootディレクトリ
(これは「/」ディレクトリじゃなく、「root」ユーザ用の
ホームディレクトリの方)っていう単位で、取得/非取得を
設定する様になってるみたいだなぁ。

個別ディレクトリでその手の設定するってことは、できない
のかなぁ?というのが気になるところ。
色々探してみた感じでは、取得するディレクトリを新たに
追加したりするメニューが見つからなかった…


とまぁ、2つほど気になることはあるものの、なんかちょっと
残尿感を感じつつも、あたらしいMintの環境ができたので、
これを使ってRailsの環境構築の実験をあれこれやってみよう
かなと思っているところ。


いつものことだけど、この手の環境構築、オイラ苦手だし
嫌いなんだよな…。無駄に時間食うし、元々十分な
知識や情報持ってないし…。

いろいろ知人にそのあたりの感想とか聞くと、やっぱり
Railsの環境構築ってトラブるようねぇ、っていう話
ばかりが返ってくるんだよなぁ。
なんでまた、そのあたりってきれいに解決していかない
んだろうねぇ?



コメント ( 0 )