観察と傍観のはて

アプリ、プログラム、本、映画、メンタル的なこと、日記などを書いています。

macの開発環境構築(その4)

vagrantプラグインについて

まずはプラグインの確認。

$ vagrant plugin list
No plugins installed.

プラグインのインストールコマンド

$ vagrant plugin install (プラグイン名)

vagrant-vbguest
GitHub - dotless-de/vagrant-vbguest: A Vagrant plugin to keep your VirtualBox Guest Additions up to date

vagrant up で起動した際に、VirtualBox Guest Additionsのバージョンをチェックして、
新しいバージョンが必要であれば自動でインストールするプラグイン


vagrant-hostmanager
GitHub - devopsgroup-io/vagrant-hostmanager: A Vagrant plugin that manages hosts files within a multi-machine environment.

ホストOSと仮想マシンの/etc/hostsを自動で書き換えてくれるプラグイン

プラグインvagrant upおよびvagrant destroyコマンドに自動的にフックします。
マシンがrunning状態になるか、exitすると、
同じプロバイダーを持つすべてのアクティブなマシンのhostsファイルがそれに応じて更新されます。


# この動作をアクティブにするには、Vagrantfileでhostmanager.enabled属性をtrueに設定します。
  config.hostmanager.enabled = true

# ホストのhostsファイルを更新するには、hostmanager.manage_host属性をtrueに設定します。
  config.hostmanager.manage_host = true
# ゲストのhostsファイルを更新するには、hostmanager.manage_guest属性をtrueに設定します。
  config.hostmanager.manage_guest = true
 
 # マシンのIPアドレスは、プライベートネットワーク構成の静的IPまたはSSHホスト構成のいずれかによって定義されます。
 # プライベートネットワークIPアドレスの使用を無効にするには、config.hostmanager.ignore_private_ipをtrueに設定します。
  config.hostmanager.ignore_private_ip = false
  
 
# hostmanager.include_offline属性がtrueに設定されている場合、
# 稼働中のボックス、またはプライベートIPが構成されているボックスがホストファイルに追加されます。
  config.hostmanager.include_offline = true
  
 
# マシンのホスト名は、config.vm.hostnameによって定義されます。
# これが設定されていない場合、Vagrantfileでマシンを定義するシンボルにフォールバックします。 
  config.vm.define 'example-box' do |node|
    node.vm.hostname = 'example-box-hostname'
    node.vm.network :private_network, ip: '192.168.42.42'
    
    # hostmanager.aliases構成属性を使用して、ホスト名のエイリアスを提供できます。
    node.hostmanager.aliases = %w(example-box.localdomain example-box-alias)
  end

vagrant-hostsupdater
GitHub - cogitatio/vagrant-hostsupdater

ホストシステム上の/ etc / hostsファイルにエントリを追加するプラグイン
up、resume、reloadコマンドで、hostsファイルに情報がまだ存在していない場合は、情報を追加する
その際、sudoを使用してファイルを編集するため、管理者パスワードの入力を求められる。

停止、破棄、および一時停止すると、それらのエントリは再び削除されます。
config.hostsupdater.remove_on_suspend = falseを設定すると、一時停止および停止しても削除されません。

設定方法としては、必要なホスト名と、固定IPアドレスを持つprivate_networkネットワークをVagrantfileに記述すればOK。

config.vm.network :private_network, ip: "192.168.3.10"
config.vm.hostname = "www.testing.de"
config.hostsupdater.aliases = ["alias.testing.de", "alias2.somedomain.com"]

vagrant-vbox-snapshot
→使おうと思ったが、公式に以下の内容が。
「2015年第4四半期の時点で、vagrant snapshotコマンドはVagrantによって提供されています。
このプラグインよりも優先して使用することを検討してください。」とあった。
https://github.com/dergachev/vagrant-vbox-snapshot

そのためプラグインは入れずに以下のコマンドを実行する。

# スナップショット作成
$ vagrant snapshot save  (スナップショット名)

# 作成したスナップショットは vagrant snapshot list コマンドで確認
$ vagrant snapshot list

# スナップショットを復元
$ vagrant snapshot restore (スナップショット名)

# スナップショットの削除
$ vagrant snapshot delete  (スナップショット名)

※スナップショットを1つしか作らないで良い場合はpushで保存、 pop で復元をすることができる
$  vagrant snapshot push
$  vagrant snapshot


vagrant-sahara
GitHub - jedi4ever/sahara: a plugin for vagrant that allows you manage a sandbox state

仮想マシンロールバック機能をvagrantから実行できるプラグイン
Provider に VirtualBox を利用している時のみ使用できます。
vagrant snapshotコマンドあるので、不要かな。

# sandbox開始
$ vagrant sandbox on

# status確認
$ vagrant sandbox status

# rollback
$ vagrant sandbox rollback

# 変更を反映(commit)
$ vagrant sandbox commit

# sandbox停止
$ vagrant sandbox off

macの開発環境構築(その3)

今日はVagrantfileの中身について

Vagrant.configure("2") do |config|
  #  vagrant init時に指定したBox名が設定される
  config.vm.box = "bento/centos-7.7"

  #  仮想OSのIPアドレス設定
  config.vm.network "private_network", ip: "192.168.33.10"

  # Vagrant ファイル共有
  # "../data"がhostのフォルダで、カレントはVagrantfileのあるフォルダ, 
  # "/vagrant_data"が仮想OS先のフォルダ
  config.vm.synced_folder "../data", "/vagrant_data"
end
<||

共有のオプションは、公式参照。

macの開発環境構築(その2)

■概要
とりあえずVagrantwiki。(真偽は自己判断で。)
Vagrant (ソフトウェア) - Wikipedia

1.6以降で、Dockerがネイティブサポートされていた模様。
ちなみに現在はバージョン2.2.7だった。

vagrantとして知っておくべき構成?は2つ。
・Boxファイル
 →所謂、テンプレ。外に転がっているものを利用することが可能。
  大体みんな下からダウンロードして、構築するのが一般的。

  リンク先でインストールするBoxファイルを検索して使用する。
  Discover Vagrant Boxes - Vagrant Cloud


・Vagrantfile
 →設定ファイル

■構築
バージョン確認

$ vagrant version      
Installed Version: 2.2.7
Latest Version: 2.2.7


Vagrant専用のフォルダを作成し、仮想マシン用のフォルダを作成。
今回はCentOS7.7を入れてみます。

$ mkdir Vagrant && cd ./Vagrant
$ mkdir centos77 &&  cd centos77

Vagrantの初期化して、Vagrantfileを作成する。
Discover Vagrant Boxes - Vagrant Cloudから選ぶ。
vagrant init [name [url]]

今回はcentos-7.7を使用するため以下とする。

$ vagrant init bento/centos-7.7

直下にVagrantfileが作成されるため

Vagrantfileを編集してvagrant upコマンドの実行で仮想マシンが起動できるが
Vagrantfileをどうするか調べたいので、今日はここまで。

macの開発環境構築(その1)

過去に開発環境を色々試しては忘れて
「これなんで作ったんだ?」となることが多かったため

今回は環境を汚さないよう仮想環境構築を用意して
かつ、ブログにも残すようにする。

とりあえず各OSにあうように
以下をダウンロードすればあとは猫でできる。


vagrantのインストール
https://www.vagrantup.com/downloads.html


Oracle VM VirtualBox
https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html


VirtualBoxやりたいことはサクっとできるが
vagrant使うのは、完全に好みだと思ってる。

(個人開発なら仮想環境を、バンバン作ることはあまりないためVirtualBoxで、その都度カスタマイズして対応したほうが良い場合があるため)

ちなみにvagrantの読み方は「ベイグラント」だ。
aはeiと書きたくなるぞ。

Macをクリーンインストールし直した

Macの環境が、ごちゃごちゃしていたので、クリーンインストールし直した。

次から開発環境はMac上で「VagrantVirtualBox) + Docker」で構築することにしよう。

そうしよう。そうしよう。

P.S.
入れ直して知ったんだけど、Command Line ToolsはXcodeがバージョンが6.1以降であれば自動的に入っているのね。
知識もアップデートせぬば。。。

インプット大全とアウトプット大全を読んだ

本屋さんで少し読んで、これは面白いと思いメルカリとラクマから安いものを購入。

どちらも面白かったが、職業柄インプットはしているが
アウトプットは十分にできていないと感じていたため「アウトプット大全」は特に勉強になった。

例えば「伝える」という項目では
No But 話法はよろしくないと書いてあった。

悪い話を先にしたほうが結論が先に出て良いと思っていたが
最初に嫌なことを聞くとあとの話が入ってこないらしい。

では何がよいのかであるが、そこは本を見てほしい。

内容はさらっとしているため小さなトピックスは5分もあれば読める。
なんなら一気読みでも1時間もかからず読めるくらいさくっと読めるのでコンビニ便利レベルのおすすめだ。

そういえば昔、naoyaさんがRebuild.fmで「正しいからと言って乱暴な言葉を言ってよいわけじゃない。正しさと思いやりは両立する。」
みたいなことを言っていて琴線に触れた覚えがある。

優しい世界にしたい。

MISTELのMD600の設定

どうしてもバタフライキーボードが合わない。

買って眠らせていたので重い腰をあげて実施。
しかし、Win機でファームウェアアップデートしたけど、USB抜くと設定が消える。


■参考にしたサイト
overfiction.hatenablog.jp
qiita.com


1.MD600側の設定で、下移動[Fn+K]と右スペースを入れ替える。
[FN]+右[CTRL]
右[スペーズ]
下移動[Fn+K]
[PN]
[FN]+右[CTRL]
※リンク先は役割のキー実施して、割り当てたいキーと書いてあるが
 割り当てたいキーを先に入れて、役割のキーを入れた気がします。

2.MD600側の設定で、右[ALT]に入れ替える
[Fn]から右側の[ALT]へ入れ替える。
[Fn]+左[Shift]を3秒間長押し。
[Fn]
右[ALT]

3.karabiner-elementsで設定(USB抜くと設定が消えるためこちらに設定メインにした。)

↑→←を右下に。
CapsLookを左Commandキー
右CTRLを右Commandキー
右CommandキーをCTRLキー

f:id:worpe:20191117132623p:plain

■所感
今ならこっち買って、職場(Windows)と家(Mac)とどちらにも対応できるものを買うな〜


2019/11/17補足
どうやらMD770が販売されるみたい。日本で買えるのはいつになるのやら。
www.facebook.com