Posts Tagged ‘Mac’
Macの移行で復元してみたらOSが巻き戻った!けど残念…って話
開発環境に Macbook Pro の15インチを使用しつづけて結構な年月が経ちました。
(壊れたりで)数回ハードの変更はありましたが、OSを更新すると各プロジェクトの環境調整が必要になるということもあり、Mojave でOSの更新を止めてました。ハードが Big Sur 非対応ってのもありましたが。
このまま Intel Mac が滅びるまで添い遂げるつもりだったのですが、タッチパッドが死んでしまいハードを変更することになりました。なってしまいました。
Apple Sillicon なマシンで開発全てがどうにかなってる未来が来る前に!
そんな未来は来ない可能性も高いですけども(Windows も絡んでるんでなぁ)
愚痴でした。本題に入ります。
Mac からのリモートデスクトップ接続で日本語キーボード使う
- 2017/08/17
- murave
- Mac
- リモートデスクトップ
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のデータボリュームが残りまくっているってわけです。
消さねばならぬ。
Docker公式イメージで開発用RDBをゲットだぜ(MariaDB、Percona Server編)
まえがき
Docker公式イメージで開発用RDBをゲットだぜ(PostgreSQL編)
Docker公式イメージで開発用RDBをゲットだぜ(MySQL編)
に続き予定どおりMariaDB編をお送りします。一言で済むので結論を書くと
「公式イメージのページを読み比べたらMySQLと同じでした。ありがとうございます」
という内容です。ついでに
Docker Hub で Official縛りでMySQLを検索したらPerconaも出てきたので思い出したりした。定期的にPercona良さそうだなぁと思って名前を忘れるを繰り返す存在。
— murave (@murave) 2016年8月16日
というわけでPercona Serverの公式イメージのページも見てみたらこれもMySQLの場合と同じ扱いでしたので含めてみましたよ。
Docker for Macを使用しております。
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ホストに入ることができました。
添付の画像は私の場合の表示ですが、screenの設定がカスタマイズされているのでおそらく他の方とは異なります。
screen常用者の端末ではカスタマイズされていて他の人には使えないのも常ですので操作方法については別途調べるなどしてください(Ctrl-a ?でヘルプをみることができますがそもそもCtrl-aが変更されていることが多く、例にもれず私もCtrl-zにしてあります)。
私は導入していないのですがtmuxなどでも良いでしょう。たぶん。tmuxについては下記、shunの記事などをどうぞ。
OS X に byobu で tmux 環境をお手軽構築 [2015 冬版]
絶対忘れるのでメモでした。
Mac上に開発用Roundcubeをセットアップ
プラグインを作りたいので開発環境を手元に作ることにしました。
インストールについては弊社kosugiが書いた
を参考に作業しました。あまり問題は出なかったのですが、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)を*で伏せて引用します。
■ Gmailについて
kosugiが書いている通りIMAP経由でのメール受信を有効にしておくのは大前提ですが、RoundcubeからGmailにIMAPでアクセスしようとすると「安全性の低いアプリ」として拒否されるかもしれません(拒否されなければ気にする必要はありません)。
この場合「Google アカウント: ログイン試行をブロックしました」というメールが来ていると思います。
このメールに書いてあるのですが、以下のページから設定を変更することができます。あまり良くないのですが今回は「安全性に低いアプリのアクセス」を有効にしてIMAP接続を確認しました。
https://www.google.com/settings/security/lesssecureapps
■ ログインして動作確認
http://localhost:8000/
にアクセス、ログインしてメールの送受信を確認して完了です。
VMware Fusion が入っている Mac での 仮想ディスク(vmdk)縮小
- 2014/08/08
- murave
- Mac
- VMware Fusion
放置していたら仮想マシンが肥大してディスクを超圧迫していました、夏。
そして、ディスクの残容量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 を動かすのに苦労しました。そんな状況になる前に対処するようにしないとですね。
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
するのをお忘れなく。
もっと楽、シンプルな方法があったら教えてください。
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 ラヴ♡♡