‘Mac’ タグのついている投稿

Mac からのリモートデスクトップ接続で日本語キーボード使う

muraveです。仕事では日本語キーボードな Mac を使ってます。

Windows Server でがんばる系のお仕事がきそうなのでクラウド上に実験環境を作ろうと思いました。

(さらに…)

Facebooktwittergoogle_pluslinkedintumblrmail

Docker for Mac の使用されていないデータボリュームを削除

murave@ファイルの権限絡みで -v オプションの事を調べていたら今日という日が終わりそう、です。

やりたいことは別にあったんですが、せっかく調べたのでメモを残しておきます。今回、結論は最後に書くので経緯とか読みたくない方は最後まで飛ばして下さい。

データボリュームっていうのは例えば、

$ docker run -v コンテナ上のディレクトリ名 busybox
$ docker volume create --name test-volume

などとすると、

$ docker volume ls                       
DRIVER              VOLUME NAME
local               17e11ebb9fc56e18d99b175d77b0c37b90da561bff07d601279ab7bfc0b0f414
local               test-volume

と言った感じでデータボリュームがホスト上に出来ます。
ランダム文字列な名前のほうは前記docker runのように名前未指定な場合によろしくやってくれてるわけです。問題なのが、コンテナを削除しても基本的にこれが残るってこと。

「開発用RDBをゲットだぜ」シリーズの調査中

$ docker rm -f $(docker ps -aq)

でバンバン動作しているコンテナを含めて全部削除しまくっていたのですが、datastoreのデータボリュームが残りまくっているってわけです。

消さねばならぬ。

(さらに…)

Facebooktwittergoogle_pluslinkedintumblrmail

Docker公式イメージで開発用RDBをゲットだぜ(MariaDB、Percona Server編)

まえがき

Docker公式イメージで開発用RDBをゲットだぜ(PostgreSQL編)
Docker公式イメージで開発用RDBをゲットだぜ(MySQL編)

に続き予定どおりMariaDB編をお送りします。一言で済むので結論を書くと

「公式イメージのページを読み比べたらMySQLと同じでした。ありがとうございます」

という内容です。ついでに

というわけでPercona Serverの公式イメージのページも見てみたらこれもMySQLの場合と同じ扱いでしたので含めてみましたよ。

Docker for Macを使用しております。

(さらに…)

Facebooktwittergoogle_pluslinkedintumblrmail

Docker for Mac のDockerホストに入るには

どうしたらいいんだろう?

と方法を探していたら以下のページにscreenコマンドでttyに接続すれば良いとの情報がありました。

Docker for Mac プライベートベータを早速使ってみた! – paiza開発日誌

試してみます。

$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty

この後、Enterすると表示が出て、moby login: にrootを入力してEnterでDockerホストに入ることができました。

Docker for Macホストへの接続

添付の画像は私の場合の表示ですが、screenの設定がカスタマイズされているのでおそらく他の方とは異なります。

screen常用者の端末ではカスタマイズされていて他の人には使えないのも常ですので操作方法については別途調べるなどしてください(Ctrl-a ?でヘルプをみることができますがそもそもCtrl-aが変更されていることが多く、例にもれず私もCtrl-zにしてあります)。

私は導入していないのですがtmuxなどでも良いでしょう。たぶん。tmuxについては下記、shunの記事などをどうぞ。

OS X に byobu で tmux 環境をお手軽構築 [2015 冬版]

絶対忘れるのでメモでした。

Facebooktwittergoogle_pluslinkedintumblrmail

Mac上に開発用Roundcubeをセットアップ

プラグインを作りたいので開発環境を手元に作ることにしました。

インストールについては弊社kosugiが書いた

Roundcubeをインストール&設定してみました

を参考に作業しました。あまり問題は出なかったのですが、Roundcubeのバージョンがあがり設定ファイルの名称や扱いが変わったりしていたのでメモを残したいと思います。

あとはphpのビルトインサーバー(php -S)で手軽にやりたいな〜ってのと、Gmailのセキュリティ強化の影響、個人的趣味でデータベースがPostgreSQLだというのが異なる点です。

・PHPは以前の記事でPostgreSQL用のモジュールを入れた5.5.14。
 - phpenv で入れた PHP に pdo_pgsql をインストール
 - phpenv で入れた PHP に pdo_pgsql をインストール
・PostgreSQLのバージョンは9.3.5.0 (Postgres.app)
・メールサーバーはGmail利用する。
・Roundcube 1.0.2 (Complete)

■ データベース(PostgreSQL)準備
ダウンロードして展開したRoundcubeのディレクトリにあるINSTALLファイルを参照しながら準備します。
・pgAdmin3などでroundcubeユーザーを作ります。開発環境なので権限はザックリSUPERUSERにしときました。
・roundcubemailデータベースを作ります。

CREATE DATABASE roundcubemail
  WITH OWNER = roundcube
       ENCODING = 'UTF8'
       TABLESPACE = pg_default
       LC_COLLATE = 'ja_JP.UTF-8'
       LC_CTYPE = 'ja_JP.UTF-8'
       CONNECTION LIMIT = -1;

・準備用のSQLを実行。

#展開したRoundcubeのディレクトリで
$ psql -U roundcube -f SQL/postgres.initial.sql roundcubemail

■ ビルトインサーバー起動

#展開したRoundcubeのディレクトリで
$ php -S localhost:8000                                      
PHP 5.5.14 Development Server started at Mon Sep 22 17:13:54 2014
Listening on http://localhost:8000
Document root is /Users/murave/roundcubemail-1.0.2
Press Ctrl-C to quit.

■ installerにアクセスして初期設定
今回だと http://localhost:8000/installer/ にアクセス。画面にしたがって設定していけばOKです。英語ですけど。

STEP2のCreate configで作成される設定ファイルの名称と扱いが以前とは変わっているようです。
config/config.inc.phpが直接作成されます。今回は編集する必要も特にありませんでした。一部(‘des_key)を*で伏せて引用します。


STEP3. Test configのキャプチャです。
Roundcube_Webmail_Installer

■ Gmailについて
kosugiが書いている通りIMAP経由でのメール受信を有効にしておくのは大前提ですが、RoundcubeからGmailにIMAPでアクセスしようとすると「安全性の低いアプリ」として拒否されるかもしれません(拒否されなければ気にする必要はありません)。

この場合「Google アカウント: ログイン試行をブロックしました」というメールが来ていると思います。

このメールに書いてあるのですが、以下のページから設定を変更することができます。あまり良くないのですが今回は「安全性に低いアプリのアクセス」を有効にしてIMAP接続を確認しました。

https://www.google.com/settings/security/lesssecureapps

■ ログインして動作確認
http://localhost:8000/

にアクセス、ログインしてメールの送受信を確認して完了です。

Facebooktwittergoogle_pluslinkedintumblrmail

VMware Fusion が入っている Mac での 仮想ディスク(vmdk)縮小

放置していたら仮想マシンが肥大してディスクを超圧迫していました、夏。

そして、ディスクの残容量0と言われた立秋。

Vagrant で使用している Virtual Box の VM がいつの間にか60GBを超えており放置できなくなりました。

検索したところ Virtual Box のツールで .vmdk なファイルを .vdi に変換して縮小する素敵な記事が見つかりました。

Bureimono stdio.h: Vagrant とストレージ容量

でも考えたら、ボクのマシンには VMware Fusion が入っています。vmdkファイルを直接縮小できるよね、たぶん。前にやった気もするし。

ということで、調べて作業した際のメモです。 VMware Fusion は 5.0.5 です。

ゲストOSでゼロクリアを行います(root権限で作業)。

# dd if=/dev/zero of=zero bs=4k
# sync
# rm zero

vmdkファイルの縮小(defragment -> shrink)

$ /Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -d target.vmdk
$ /Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -k target.vmdk

60GB位あったvmdkファイルが10GB位になりました。

今回はディスクの残容量が少なくなりすぎていて vmware-vdiskmanager を動かすのに苦労しました。そんな状況になる前に対処するようにしないとですね。

Facebooktwittergoogle_pluslinkedintumblrmail

MacでPPTP(VPN)接続しつつ、通常の接続も行えるようにする方法

Mac OS X 10.5でPPTP接続する方法

MacでPPTP使ってVPN接続するようになって、いろいろと面倒だったことが解決して良かった。
と思っていたのですが、PPTPの方の優先度を上げないといけない場合は、通常の接続が駄目になってしまうようです。
VPN側にインターネットへの制限が掛かっていたりしたら、残念なことになります。
ローカルなネットワークにPPTPに繋ぎながら、それ以外は通常の経路で通信ということで下記にて解決しました。

方法としては、PPTPの優先度は通常のインターネット接続より下げておいて、特定のネットワークアクセスの場合のみPPTPインターフェースを使うようにしてあげればいいようです。VPNを接続した後、ターミナルで下記コマンドを実行すればOK。

sudo route -nv add -net 192.168.13 -interface ppp0

ただ毎回ターミナル上げるのは面倒臭いです。 ちょっと調べると、PPTPが開始するときに実行されるスクリプト(参考)があるじゃないですか。ということで

sudo vi /etc/ppp/ip-up

#!/bin/sh

if [ "$1" = "ppp0" ]; then
/sbin/route -nv add -net 192.168.13 -interface ppp0
/sbin/route -nv add -net 192.168.15 -interface ppp0
fi

のような感じで、route add するスクリプトを書きました。

sudo chmod Cheap Adobe Photoshop CS5 744 /etc/ppp/ip-up

するのをお忘れなく。

もっと楽、シンプルな方法があったら教えてください。

Facebooktwittergoogle_pluslinkedintumblrmail

Mac で複数ファイルの一括置換ってどうしてます?

Windows だと Devas ってソフトでバッチリだったんですが、Mac ではいいソフトを見つけることができずにいます。

サブディレクトリ内のファイルも含めてまとめて置換は、今はターミナルで次の手順でやってます。

まず、find で特定拡張子のファイルリストをとって xargs で grep にわたして置換したい単語を検索。

$ find . -name '*.拡張子' | xargs grep 置換したい単語 

で、grepに -l オプションつけて置換したい単語が含まれるファイルリストをとって xargs で  perl にわたして置換。

$ find . -name '*.拡張子' | xargs grep -l 置換したい単語 | xargs perl -p -i.bak -e 's/置換したい単語/置換後の単語/g'

perl の -i オプションに .bak と付けてるので元ファイルは bak という拡張子で残ります。
「perlだけでやればいいじゃん」と言われそうですが、いきなりやるのは不安なのと置換が行われてないファイルまで全てタイムスタンプが変わったりしたのでこの方法に落ち着きました。

で、置換されたファイルの内容確認して問題なければbakファイル削除。

$ find . -name '*.bak'

で確認して、

$ find . -name '*.bak' | xargs rm

完了〜。 xargs ラヴ♡

Unix系なら他でも使えると思います。

いいっちゃいいんですが、記憶力がないので思い出せる気がしません。historyがあふれるとオレ終了って感じ(なのでメモという意味もあり)。

ちなみに私がターミナルで一番使うコマンドはブッチギリで

$ history | grep コマンド名

history ラヴ♡♡

Facebooktwittergoogle_pluslinkedintumblrmail