Rock'n'Hack ブログ

それなりハッカーを目指して、もろもろのメモ。bloggerから引っ越しました。

El Capitan にした古い MBP で Apple USB SuperDrive を使う方法

El Capitan にしたら Apple USB SuperDrive を認識しなくなった

メディア用として未だに MBP 15inch Mid 2010 という古いモデルをディスク交換したりして
使っているのだけど、この度試しに El Capitan にあげてみようと思ってやってみたら
Apple USB SuperDrive を認識しなくて困った時の話。

 

ひとまず調べてみた

ググってみてこの記事を参考に(ありがとうございます)対応しようとしたのだけど、問題が発生…
Apple USB SuperDrive を古いMacで使う方法 / APTV Alliance Port blog

 

com.apple.Boot.plist は El Capitan から直接編集出来ない

/Library/Preferences/SystemConfiguration/com.apple.Boot.plist を編集して mbasd=1 を追記
すればいいとのことなんだけど、そもそも直接編集が出来ない!

sudo しても読み取り専用だと怒られる(´;ω;`)

ググってみるとこんなのを見つけた。
osx - Cannot change permissions on com.apple.Boot.plist - Ask Different

どうも El Capitan から System Integrity Protection (SIP) なる機能がデフォルト入って、
システム関連のファイルはそのままだと編集出来ないらしい。

 

コマンド打って解決

前述のリンクではリカバリコンソールを起動して云々と書いてあって面倒そうなので
ひとまず他の手を探してみたら見つかった。

El Capitan, How to modify com.apple.Boot.plist ? | Apple Support Communities

これを見ると iMac だとコマンドで sudo nvram boot-args="darkwake=0" を実行すればいいらしい。

試しにやってみたけど、ダメだったので、下記に変更してみた。

sudo nvram boot-args="mbasd=1"

そしたら…解決した!
全然ちゃんと理解してない感が満載でどうなのって感じだけど、まぁひとまず良しとしておこう :-)

ESXi 5.1 で仮想マシンの入れ子を行うための設定

結論から言うと /etc/vmware/configvhv.enable = "TRUE" の設定を入れればOK。

環境

  • VMware ESXi 5.1
    • 本当は6系にしたかったけどNICの関係で入らなかったorz

経緯

  • 開発用に使っていたLinux(Ubuntu 14.04)マシンを他の用途でも使う用に ESXi に載せ替え。
  • ESXi上の仮想マシンに元のUbuntu環境を構築。
  • Virtual Box入れて、 vagrant up したらエラーが出て上がらなかった。
    • default: Warning: Connection timeout. Retrying... が延々出続ける。
  • 調べてみた。
  • どうも仮想マシンの入れ子( Nested Virtualization)をする用の設定が ESXi に必要らしい。

前準備

ESXiコンソールにアクセスするための設定を行う。

  • ESXi管理コンソール
    • Troubleshooting Options > Enable ESXi Shell
    • Troubleshooting Options > Enable SSH
      • こちらはSSHでアクセスしたい場合。お好みで。

設定

  • ESXiにログイン
    • SSHでアクセスする場合は、チャレンジレスポンス認証で。 f:id:naga41:20150824082904p:plain
  • /etc/vmware/config を編集。 vhv.enable = "TRUE" を追加
libdir = "/usr/lib/vmware"
authd.proxy.vim = "vmware-hostd:hostd-vmdb"
authd.proxy.nfc = "vmware-hostd:ha-nfc"
authd.proxy.nfcssl = "vmware-hostd:ha-nfcssl"
authd.proxy.vpxa-nfcssl = "vmware-vpxa:vpxa-nfcssl"
authd.proxy.vpxa-nfc = "vmware-vpxa:vpxa-nfc"
authd.fullpath = "/sbin/authd"
authd.soapServer = "TRUE"
vmauthd.server.alwaysProxy = "TRUE"
vhv.enable = "TRUE" ←ここ!
  • hostd再起動。
    • /etc/init.d/hostd restart

後処理

ESXiコンソールにアクセス出来ないよう設定を戻す

  • ESXi管理コンソール
    • Troubleshooting Options > Disable ESXi Shell
    • Troubleshooting Options > Disable SSH

これでめでたく vagrant up 出来るようになった。めでたしめでたし。

おしまい。

 

参考URL:ありがとうございますm( )m

ansible で task 内で変数を使う

varsに書くほどでもないけど変数を使いたい時は下記のようにすればいいらしい。

- name: ローカル変数セット
  set_fact:
    local_var: 'hoge'

- name: ローカル変数確認
  debug: msg={{ local_var }}

作り込んでいくと結局構造がchefに近づいていくansibleとどう向き合うか考える今日この頃。
とはいえエージェントレスなのは魅力。