Hatena::ブログ(Diary)

M_Ishikawa Twitter

2017/03/31 (Fri)

'ITSAppUsesNonExemptEncryption' = 'App Uses Non-Exempt Encryption'


iPhone(というかiOS)のアプリをiTunes Connectでリリースするためにビルドしたアプリの申請をするときに尋ねられる「輸出コンプライアンス(Export Compliance)」について。

TestFlightのときにも尋ねられるダイアログがうざいなと思ったので消そうとしたところ、Xcodeでのキー名とInfo.plistでのキー名が異なってて、選択肢も微妙に異なるwので少し混乱したのでここに残そうと思う。

Xcode上のキーは 'App Uses Non-Exempt Encryption' で選択肢は 'YES' か 'NO' 。
f:id:ishikawam:20170331165819p:image

Info.plist上のキーは 'ITSAppUsesNonExemptEncryption' で選択肢はbooleanなので 'true' か 'false'。
f:id:ishikawam:20170331165818p:image

ググって出て来る情報だとfalseとNOで意味が異なるのかと思って調べたらそんなことなかった。


以下、経緯。TestFlightにて。

  • 「Info.plistに、1つまたは複数の暗号化キーを含める必要があります。」の表示に「ん?」ってなる。あ、でも「輸出コンプライアンス情報の提出」とあるから例のやつかなと。
    • f:id:ishikawam:20170331162505p:image
  • ?を押すと「このビルドは App のInfo.plistに ITSAppUsesNonExemptEncryption キーが含まれていません。テストを開始するには、輸出コンプライアンス情報を提出してください。」と。
    • f:id:ishikawam:20170331162504p:image:w400
  • 「輸出コンプライアンス情報の提出」を押すと
    • f:id:ishikawam:20170331162501p:image:w500
      • 輸出コンプライアンス
      • この App を前回提出してから暗号化機能を追加または変更しましたか?
      • 輸出法により、暗号化を含む製品は輸出のための適切な認可を受ける必要があります。違反した場合は厳罰の対象になる場合があります。輸出要件についてさらに詳しく。
  • いつもの申請手順どおり、なにも変更ないので「いいえ」を選択。
    • f:id:ishikawam:20170331162458p:image:w500
    • なるほど、ここで
      • `<key>ITSAppUsesNonExemptEncryption</key><false/>`
    • を入れることでここでも、アプリ申請時も、確認を省略できるのかー。
  • 「送信」を押して
    • f:id:ishikawam:20170331162454p:image
      • 無事OKのステータスに。面倒なので今後はInfo.plistに加えよう。

2017/03/28 (Tue)

Application Loaderでアプリのipaファイルをアップロードしようとしたら初めてのエラーに遭遇した。


f:id:ishikawam:20170328161154p:image

Application Loader is unable to upload your package.
You must supply a CFBundleIdentifier for this request.


これ、jenkinsでビルドしたipaファイルをダウンロードしたときに途中で切られて不完全なファイルをアップロードしようとしたときに起こってた!
ダウンロードしなおしてファイルサイズで大丈夫そうか確認して再度チャレンジしたらうまくいった。
エラーメッセージもとにソース調べたりログ見たりしたけど全然見当違いだった(´・ω・`) 軽い罠。

ググってもぱっとみ有力な情報が見当たらなかったので残しまする。

2017/03/05 (Sun)

OSXでupdatedbの設定ファイルはupdatedb.confじゃなくてlocate.rcだった


ググっても情報なかったので記録。

macのupdatedbが

locate.updatedb

ってのはもうみなさん周知の罠。

では設定ファイルはいずこ?
答えは

/private/etc/locate.rc

です。

ディストリビューションによっては`/etc/updatedb.conf`だったり`/etc/locate.rc`だったりします。

confだったりrcだったりなんなんだ。歴史的な経緯だろうけどそこまでは調べない。

はい、以上。以下は余談。

前から気になってるんですが、このlocate, updatedbのデータって個人フォルダに入ってくれないんですよね。
updatedbで作られる検索インデックスのデータが個人じゃない(全員が扱う前提)なので。だからupdatedb叩くときはみなさん`sudo updatedb`だと思うんですが、、そろそろ検索インデックスのデータを個人ごとに持たせるのがデフォルトでもいいんじゃないでしょうか?
そもそもいま個人でやる方法あるの?頑張ればできるだろうけども。個人の

~/.locate.rc

とか作れば見てくれるようになるだけでいろいろ解決するんだけどな。
リポジトリ見てなんならPR出せって話ですよね。気が向いたらもしかしたら。

あ、もひとつ、locateってmlocateじゃないですか。そういうところもなんだかなあ。んもう。

----

さて、もひとつ。
なぜmacでupdatedbの設定ファイルをいじりたくなったかといったら、Dropboxに保存した欲しいファイルが出てこなかったから。
で、設定ファイルを見たのだけれども制限しているところは下記の通りどこにもない。

#
# /etc/locate.rc -  command script for updatedb(8)
#
# $FreeBSD: src/usr.bin/locate/locate/locate.rc,v 1.9 2005/08/22 08:22:48 cperciva Exp $

#
# All commented values are the defaults
#
# temp directory
#TMPDIR="/tmp"

# the actual database
#FCODES="/var/db/locate.database"

# directories to be put in the database
#SEARCHPATHS="/"

# directories unwanted in output
#PRUNEPATHS="/tmp /var/tmp"

# filesystems allowed. Beware: a non-listed filesystem will be pruned
# and if the SEARCHPATHS starts in such a filesystem locate will build
# an empty database.
#
# be careful if you add 'nfs'
#FILESYSTEMS="hfs ufs"

答えは、Dropboxのディレクトリの権限だった。

[m_ishikawa@ishikawa-pro ~] % ls -l
drwx------@   3 m_ishikawa  staff   102B  1 11 22:36 Applications/
drwx------+   4 m_ishikawa  staff   136B  3  4 10:04 Desktop/
drwx------+   6 m_ishikawa  staff   204B  3  5 14:28 Documents/
drwx------+  31 m_ishikawa  staff   1.0K  3  5 14:40 Downloads/
drwx------@  98 m_ishikawa  staff   3.3K  3  4 10:04 Dropbox/
drwx------@  29 m_ishikawa  staff   986B  2 27 00:21 Google Drive/
drwx------@  67 m_ishikawa  staff   2.2K  3  5 14:46 Library/
drwx------+   5 m_ishikawa  staff   170B  1 28 15:48 Movies/
drwx------+   7 m_ishikawa  staff   238B  2  9 21:39 Music/
drwxr-xr-x@  10 m_ishikawa  staff   340B  2 26 15:47 OneDrive/
drwx------+ 543 m_ishikawa  staff    18K  2 18 19:42 Pictures/
drwxr-xr-x+   5 m_ishikawa  staff   170B  1 11 22:20 Public/

ひととおり権限を付与。

% chmod go+rx Desktop Documents Downloads Movies Music Pictures Dropbox Google\ Drive OneDrive

これでOK。

[m_ishikawa@ishikawa-pro ~] % ls -l
drwx------@   3 m_ishikawa  staff   102B  1 11 22:36 Applications/
drwxr-xr-x+   4 m_ishikawa  staff   136B  3  4 10:04 Desktop/
drwx------+   6 m_ishikawa  staff   204B  3  5 14:28 Documents/
drwxr-xr-x+  31 m_ishikawa  staff   1.0K  3  5 14:40 Downloads/
drwxr-xr-x@  98 m_ishikawa  staff   3.3K  3  4 10:04 Dropbox/
drwxr-xr-x@  29 m_ishikawa  staff   986B  2 27 00:21 Google Drive/
drwx------@  67 m_ishikawa  staff   2.2K  3  5 14:46 Library/
drwxr-xr-x+   5 m_ishikawa  staff   170B  1 28 15:48 Movies/
drwxr-xr-x+   7 m_ishikawa  staff   238B  2  9 21:39 Music/
drwxr-xr-x@  10 m_ishikawa  staff   340B  2 26 15:47 OneDrive/
drwxr-xr-x+ 543 m_ishikawa  staff    18K  2 18 19:42 Pictures/
drwxr-xr-x+   5 m_ishikawa  staff   170B  1 11 22:20 Public/

いじょ!
権限変えるのでご利用は計画的に。

2016/07/12 (Tue)

vagrantのubuntu/trusty64(ubuntu14.04LTS)とubuntu/xenial64(ubuntu16.04LTS)の挙動の違い


結論から言うと

  • デフォルトユーザー
    • ubuntu14: vagrant
    • ubuntu16: ubuntu
  • ユーザー
    • ubuntu14: vagrant, ubuntu
    • ubuntu16: ubuntuのみ

の違いがあった。もうvagrantってユーザー作るのやめたのかな。

ubuntu/trusty64ubuntu/xenial64
[masayuki.ishikawa@mac tmp_14] % vagrant init ubuntu/trusty64; vagrant up --provider virtualbox
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/trusty64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/trusty64' is up to date...
==> default: Setting the name of the VM: tmp_14_default_1468290201033_8601
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default:
default: Vagrant insecure key detected. Vagrant will automatically replace
default: this with a newly generated keypair for better security.
default:
default: Inserting generated public key within guest...
default: Removing insecure key from the guest if it's present...
default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
GuestAdditions versions on your host (5.0.24) and guest (4.3.36) do not match.
stdin: is not a tty
* Stopping VirtualBox Additions
...done.
stdin: is not a tty
Reading package lists...
Building dependency tree...
Reading state information...
The following packages were automatically installed and are no longer required:
acl at-spi2-core colord dconf-gsettings-backend dconf-service dkms fakeroot
fontconfig fontconfig-config fonts-dejavu-core gcc gcc-4.8
hicolor-icon-theme libasan0 libasound2 libasound2-data libatk-bridge2.0-0
libatk1.0-0 libatk1.0-data libatomic1 libatspi2.0-0 libavahi-client3
libavahi-common-data libavahi-common3 libc-dev-bin libc6-dev
libcairo-gobject2 libcairo2 libcanberra-gtk3-0 libcanberra-gtk3-module
libcanberra0 libcolord1 libcolorhug1 libcups2 libdatrie1 libdconf1
libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libexif12 libfakeroot
libfontconfig1 libfontenc1 libgcc-4.8-dev libgd3 libgdk-pixbuf2.0-0
libgdk-pixbuf2.0-common libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa
libgomp1 libgphoto2-6 libgphoto2-l10n libgphoto2-port10 libgraphite2-3
libgtk-3-0 libgtk-3-bin libgtk-3-common libgudev-1.0-0 libgusb2
libharfbuzz0b libice6 libieee1284-3 libitm1 libjasper1 libjbig0
libjpeg-turbo8 libjpeg8 liblcms2-2 libllvm3.4 libltdl7 libnotify-bin
libnotify4 libogg0 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
libpciaccess0 libpixman-1-0 libquadmath0 libsane libsane-common libsm6
libtdb1 libthai-data libthai0 libtiff5 libtsan0 libtxc-dxtn-s2tc0 libv4l-0
libv4lconvert0 libvorbis0a libvorbisfile3 libvpx1 libwayland-client0
libwayland-cursor0 libx11-xcb1 libxaw7 libxcb-dri2-0 libxcb-dri3-0
libxcb-glx0 libxcb-present0 libxcb-render0 libxcb-shm0 libxcb-sync1
libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxfont1 libxi6
libxinerama1 libxkbcommon0 libxkbfile1 libxmu6 libxpm4 libxrandr2
libxrender1 libxshmfence1 libxt6 libxtst6 libxxf86vm1 linux-libc-dev
manpages-dev notification-daemon sound-theme-freedesktop x11-common
x11-xkb-utils xfonts-base xfonts-encodings xfonts-utils xserver-common
xserver-xorg-core
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
virtualbox-guest-dkms* virtualbox-guest-utils* virtualbox-guest-x11*
0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded.
After this operation, 12.1 MB disk space will be freed.
(Reading database ... 62990 files and directories currently installed.)
Removing virtualbox-guest-dkms (4.3.36-dfsg-1+deb8u1ubuntu1.14.04.1) ...

                • Uninstall Beginning --------

Module: virtualbox-guest
Version: 4.3.36
Kernel: 3.13.0-91-generic (x86_64)
-------------------------------------

Status: Before uninstall, this module version was ACTIVE on this kernel.

vboxguest.ko:
- Uninstallation
- Deleting from: /lib/modules/3.13.0-91-generic/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.


vboxsf.ko:
- Uninstallation
- Deleting from: /lib/modules/3.13.0-91-generic/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.


vboxvideo.ko:
- Uninstallation
- Deleting from: /lib/modules/3.13.0-91-generic/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.

depmod....

DKMS: uninstall completed.

------------------------------
Deleting module version: 4.3.36
completely from the DKMS tree.
------------------------------
Done.
Removing virtualbox-guest-x11 (4.3.36-dfsg-1+deb8u1ubuntu1.14.04.1) ...
Purging configuration files for virtualbox-guest-x11 (4.3.36-dfsg-1+deb8u1ubuntu1.14.04.1) ...
Removing virtualbox-guest-utils (4.3.36-dfsg-1+deb8u1ubuntu1.14.04.1) ...
Purging configuration files for virtualbox-guest-utils (4.3.36-dfsg-1+deb8u1ubuntu1.14.04.1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Processing triggers for libc-bin (2.19-0ubuntu6.9) ...
stdin: is not a tty
Reading package lists...
Building dependency tree...
Reading state information...
dkms is already the newest version.
dkms set to manually installed.
linux-headers-3.13.0-91-generic is already the newest version.
linux-headers-3.13.0-91-generic set to manually installed.
The following packages were automatically installed and are no longer required:
acl at-spi2-core colord dconf-gsettings-backend dconf-service fontconfig
fontconfig-config fonts-dejavu-core hicolor-icon-theme libasound2
libasound2-data libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0
libavahi-client3 libavahi-common-data libavahi-common3 libcairo-gobject2
libcairo2 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra0 libcolord1
libcolorhug1 libcups2 libdatrie1 libdconf1 libdrm-intel1 libdrm-nouveau2
libdrm-radeon1 libexif12 libfontconfig1 libfontenc1 libgd3
libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgl1-mesa-dri libgl1-mesa-glx
libglapi-mesa libgphoto2-6 libgphoto2-l10n libgphoto2-port10 libgraphite2-3
libgtk-3-0 libgtk-3-bin libgtk-3-common libgudev-1.0-0 libgusb2
libharfbuzz0b libice6 libieee1284-3 libjasper1 libjbig0 libjpeg-turbo8
libjpeg8 liblcms2-2 libllvm3.4 libltdl7 libnotify-bin libnotify4 libogg0
libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpciaccess0
libpixman-1-0 libsane libsane-common libsm6 libtdb1 libthai-data libthai0
libtiff5 libtxc-dxtn-s2tc0 libv4l-0 libv4lconvert0 libvorbis0a
libvorbisfile3 libvpx1 libwayland-client0 libwayland-cursor0 libx11-xcb1
libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0
libxcb-render0 libxcb-shm0 libxcb-sync1 libxcomposite1 libxcursor1
libxdamage1 libxfixes3 libxfont1 libxi6 libxinerama1 libxkbcommon0
libxkbfile1 libxmu6 libxpm4 libxrandr2 libxrender1 libxshmfence1 libxt6
libxtst6 libxxf86vm1 notification-daemon sound-theme-freedesktop x11-common
x11-xkb-utils xfonts-base xfonts-encodings xfonts-utils xserver-common
xserver-xorg-core
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Copy iso file /Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso
stdin: is not a tty
mount: block device /tmp/VBoxGuestAdditions.iso is write-protected, mounting read-only
Installing Virtualbox Guest Additions 5.0.24 - guest version is 4.3.36
stdin: is not a tty
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.0.24 Guest Additions for Linux............
VirtualBox Guest Additions installer
Copying additional installer modules ...
Installing additional modules ...
Removing existing VirtualBox DKMS kernel modules ...done.
Removing existing VirtualBox non-DKMS kernel modules ...done.
Building the VirtualBox Guest Additions kernel modules ...done.
Doing non-kernel setup of the Guest Additions ...done.
Starting the VirtualBox Guest AdditionsInstalling the Window System drivers
Could not find the X.Org or XFree86 Window System, skipping.
...done.
stdin: is not a tty
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
default: /vagrant => /Users/masayuki.ishikawa/Vagrant/tmp_14
vagrant up --provider virtualbox 5.69s user 2.44s system 9% cpu 1:21.73 total

[masayuki.ishikawa@mac tmp_16] % vagrant init ubuntu/xenial64; vagrant up --provider virtualbox
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/xenial64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/xenial64' is up to date...
==> default: Setting the name of the VM: ubuntu-xenial-16.04-cloudimg
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: ubuntu
default: SSH auth method: password
default: Warning: Remote connection disconnect. Retrying...
default:
default: Inserting generated public key within guest...
default: Removing insecure key from the guest if it's present...
default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
GuestAdditions versions on your host (5.0.24) and guest (5.0.18_Ubuntu r106667) do not match.
sudo: unable to resolve host ubuntu-xenial: Connection timed out
mesg: ttyname failed: Inappropriate ioctl for device
Reading package lists...
Building dependency tree...
Reading state information...
linux-headers-4.4.0-28-generic is already the newest version (4.4.0-28.47).
linux-headers-4.4.0-28-generic set to manually installed.
The following additional packages will be installed:
binutils cpp cpp-5 fakeroot gcc gcc-5 libasan2 libatomic1 libc-dev-bin
libc6-dev libcc1-0 libcilkrts5 libfakeroot libgcc-5-dev libgomp1 libisl15
libitm1 liblsan0 libmpc3 libmpx0 libquadmath0 libtsan0 libubsan0
linux-libc-dev make manpages-dev
Suggested packages:
binutils-doc cpp-doc gcc-5-locales gcc-multilib autoconf automake libtool
flex bison gdb gcc-doc gcc-5-multilib gcc-5-doc libgcc1-dbg libgomp1-dbg
libitm1-dbg libatomic1-dbg libasan2-dbg liblsan0-dbg libtsan0-dbg
libubsan0-dbg libcilkrts5-dbg libmpx0-dbg libquadmath0-dbg glibc-doc
make-doc
The following NEW packages will be installed:
binutils cpp cpp-5 dkms fakeroot gcc gcc-5 libasan2 libatomic1 libc-dev-bin
libc6-dev libcc1-0 libcilkrts5 libfakeroot libgcc-5-dev libgomp1 libisl15
libitm1 liblsan0 libmpc3 libmpx0 libquadmath0 libtsan0 libubsan0
linux-libc-dev make manpages-dev
0 upgraded, 27 newly installed, 0 to remove and 0 not upgraded.
Need to get 27.9 MB of archives.
After this operation, 101 MB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu xenial/main amd64 libmpc3 amd64 1.0.3-1 [39.7 kB]
Get:2 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 binutils amd64 2.26-8ubuntu2.1 [2,306 kB]
Get:3 http://archive.ubuntu.com/ubuntu xenial/main amd64 libisl15 amd64 0.16.1-1 [524 kB]
Get:4 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 cpp-5 amd64 5.3.1-14ubuntu2.1 [7,788 kB]
Get:5 http://archive.ubuntu.com/ubuntu xenial/main amd64 cpp amd64 4:5.3.1-1ubuntu1 [27.7 kB]
Get:6 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libcc1-0 amd64 5.3.1-14ubuntu2.1 [38.7 kB]
Get:7 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libgomp1 amd64 5.3.1-14ubuntu2.1 [55.0 kB]
Get:8 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libitm1 amd64 5.3.1-14ubuntu2.1 [27.4 kB]
Get:9 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libatomic1 amd64 5.3.1-14ubuntu2.1 [8,882 B]
Get:10 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libasan2 amd64 5.3.1-14ubuntu2.1 [269 kB]
Get:11 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 liblsan0 amd64 5.3.1-14ubuntu2.1 [110 kB]
Get:12 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libtsan0 amd64 5.3.1-14ubuntu2.1 [249 kB]
Get:13 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libubsan0 amd64 5.3.1-14ubuntu2.1 [100 kB]
Get:14 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libcilkrts5 amd64 5.3.1-14ubuntu2.1 [40.1 kB]
Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libmpx0 amd64 5.3.1-14ubuntu2.1 [9,752 B]
Get:16 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libquadmath0 amd64 5.3.1-14ubuntu2.1 [131 kB]
Get:17 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libgcc-5-dev amd64 5.3.1-14ubuntu2.1 [2,234 kB]
Get:18 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 gcc-5 amd64 5.3.1-14ubuntu2.1 [8,548 kB]
Get:19 http://archive.ubuntu.com/ubuntu xenial/main amd64 gcc amd64 4:5.3.1-1ubuntu1 [5,244 B]
Get:20 http://archive.ubuntu.com/ubuntu xenial/main amd64 make amd64 4.1-6 [151 kB]
Get:21 http://archive.ubuntu.com/ubuntu xenial/main amd64 dkms all 2.2.0.3-2ubuntu11 [67.4 kB]
Get:22 http://archive.ubuntu.com/ubuntu xenial/main amd64 libfakeroot amd64 1.20.2-1ubuntu1 [25.5 kB]
Get:23 http://archive.ubuntu.com/ubuntu xenial/main amd64 fakeroot amd64 1.20.2-1ubuntu1 [61.8 kB]
Get:24 http://archive.ubuntu.com/ubuntu xenial/main amd64 libc-dev-bin amd64 2.23-0ubuntu3 [68.7 kB]
Get:25 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-libc-dev amd64 4.4.0-28.47 [842 kB]
Get:26 http://archive.ubuntu.com/ubuntu xenial/main amd64 libc6-dev amd64 2.23-0ubuntu3 [2,084 kB]
Get:27 http://archive.ubuntu.com/ubuntu xenial/main amd64 manpages-dev all 4.04-2 [2,048 kB]
dpkg-preconfigure: unable to re-open stdin: No such file or directory
Fetched 27.9 MB in 1min 3s (441 kB/s)
Selecting previously unselected package libmpc3:amd64.
(Reading database ... 53598 files and directories currently installed.)
Preparing to unpack .../libmpc3_1.0.3-1_amd64.deb ...
Unpacking libmpc3:amd64 (1.0.3-1) ...
Selecting previously unselected package binutils.
Preparing to unpack .../binutils_2.26-8ubuntu2.1_amd64.deb ...
Unpacking binutils (2.26-8ubuntu2.1) ...
Selecting previously unselected package libisl15:amd64.
Preparing to unpack .../libisl15_0.16.1-1_amd64.deb ...
Unpacking libisl15:amd64 (0.16.1-1) ...
Selecting previously unselected package cpp-5.
Preparing to unpack .../cpp-5_5.3.1-14ubuntu2.1_amd64.deb ...
Unpacking cpp-5 (5.3.1-14ubuntu2.1) ...
Selecting previously unselected package cpp.
Preparing to unpack .../cpp_4%3a5.3.1-1ubuntu1_amd64.deb ...
Unpacking cpp (4:5.3.1-1ubuntu1) ...
Selecting previously unselected package libcc1-0:amd64.
Preparing to unpack .../libcc1-0_5.3.1-14ubuntu2.1_amd64.deb ...
Unpacking libcc1-0:amd64 (5.3.1-14ubuntu2.1) ...
Selecting previously unselected package libgomp1:amd64.
Preparing to unpack .../libgomp1_5.3.1-14ubuntu2.1_amd64.deb ...
Unpacking libgomp1:amd64 (5.3.1-14ubuntu2.1) ...
Selecting previously unselected package libitm1:amd64.
Preparing to unpack .../libitm1_5.3.1-14ubuntu2.1_amd64.deb ...
Unpacking libitm1:amd64 (5.3.1-14ubuntu2.1) ...
Selecting previously unselected package libatomic1:amd64.
Preparing to unpack .../libatomic1_5.3.1-14ubuntu2.1_amd64.deb ...
Unpacking libatomic1:amd64 (5.3.1-14ubuntu2.1) ...
Selecting previously unselected package libasan2:amd64.
Preparing to unpack .../libasan2_5.3.1-14ubuntu2.1_amd64.deb ...
Unpacking libasan2:amd64 (5.3.1-14ubuntu2.1) ...
Selecting previously unselected package liblsan0:amd64.
Preparing to unpack .../liblsan0_5.3.1-14ubuntu2.1_amd64.deb ...
Unpacking liblsan0:amd64 (5.3.1-14ubuntu2.1) ...
Selecting previously unselected package libtsan0:amd64.
Preparing to unpack .../libtsan0_5.3.1-14ubuntu2.1_amd64.deb ...
Unpacking libtsan0:amd64 (5.3.1-14ubuntu2.1) ...
Selecting previously unselected package libubsan0:amd64.
Preparing to unpack .../libubsan0_5.3.1-14ubuntu2.1_amd64.deb ...
Unpacking libubsan0:amd64 (5.3.1-14ubuntu2.1) ...
Selecting previously unselected package libcilkrts5:amd64.
Preparing to unpack .../libcilkrts5_5.3.1-14ubuntu2.1_amd64.deb ...
Unpacking libcilkrts5:amd64 (5.3.1-14ubuntu2.1) ...
Selecting previously unselected package libmpx0:amd64.
Preparing to unpack .../libmpx0_5.3.1-14ubuntu2.1_amd64.deb ...
Unpacking libmpx0:amd64 (5.3.1-14ubuntu2.1) ...
Selecting previously unselected package libquadmath0:amd64.
Preparing to unpack .../libquadmath0_5.3.1-14ubuntu2.1_amd64.deb ...
Unpacking libquadmath0:amd64 (5.3.1-14ubuntu2.1) ...
Selecting previously unselected package libgcc-5-dev:amd64.
Preparing to unpack .../libgcc-5-dev_5.3.1-14ubuntu2.1_amd64.deb ...
Unpacking libgcc-5-dev:amd64 (5.3.1-14ubuntu2.1) ...
Selecting previously unselected package gcc-5.
Preparing to unpack .../gcc-5_5.3.1-14ubuntu2.1_amd64.deb ...
Unpacking gcc-5 (5.3.1-14ubuntu2.1) ...
Selecting previously unselected package gcc.
Preparing to unpack .../gcc_4%3a5.3.1-1ubuntu1_amd64.deb ...
Unpacking gcc (4:5.3.1-1ubuntu1) ...
Selecting previously unselected package make.
Preparing to unpack .../archives/make_4.1-6_amd64.deb ...
Unpacking make (4.1-6) ...
Selecting previously unselected package dkms.
Preparing to unpack .../dkms_2.2.0.3-2ubuntu11_all.deb ...
Unpacking dkms (2.2.0.3-2ubuntu11) ...
Selecting previously unselected package libfakeroot:amd64.
Preparing to unpack .../libfakeroot_1.20.2-1ubuntu1_amd64.deb ...
Unpacking libfakeroot:amd64 (1.20.2-1ubuntu1) ...
Selecting previously unselected package fakeroot.
Preparing to unpack .../fakeroot_1.20.2-1ubuntu1_amd64.deb ...
Unpacking fakeroot (1.20.2-1ubuntu1) ...
Selecting previously unselected package libc-dev-bin.
Preparing to unpack .../libc-dev-bin_2.23-0ubuntu3_amd64.deb ...
Unpacking libc-dev-bin (2.23-0ubuntu3) ...
Selecting previously unselected package linux-libc-dev:amd64.
Preparing to unpack .../linux-libc-dev_4.4.0-28.47_amd64.deb ...
Unpacking linux-libc-dev:amd64 (4.4.0-28.47) ...
Selecting previously unselected package libc6-dev:amd64.
Preparing to unpack .../libc6-dev_2.23-0ubuntu3_amd64.deb ...
Unpacking libc6-dev:amd64 (2.23-0ubuntu3) ...
Selecting previously unselected package manpages-dev.
Preparing to unpack .../manpages-dev_4.04-2_all.deb ...
Unpacking manpages-dev (4.04-2) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for libc-bin (2.23-0ubuntu3) ...
Setting up libmpc3:amd64 (1.0.3-1) ...
Setting up binutils (2.26-8ubuntu2.1) ...
Setting up libisl15:amd64 (0.16.1-1) ...
Setting up cpp-5 (5.3.1-14ubuntu2.1) ...
Setting up cpp (4:5.3.1-1ubuntu1) ...
Setting up libcc1-0:amd64 (5.3.1-14ubuntu2.1) ...
Setting up libgomp1:amd64 (5.3.1-14ubuntu2.1) ...
Setting up libitm1:amd64 (5.3.1-14ubuntu2.1) ...
Setting up libatomic1:amd64 (5.3.1-14ubuntu2.1) ...
Setting up libasan2:amd64 (5.3.1-14ubuntu2.1) ...
Setting up liblsan0:amd64 (5.3.1-14ubuntu2.1) ...
Setting up libtsan0:amd64 (5.3.1-14ubuntu2.1) ...
Setting up libubsan0:amd64 (5.3.1-14ubuntu2.1) ...
Setting up libcilkrts5:amd64 (5.3.1-14ubuntu2.1) ...
Setting up libmpx0:amd64 (5.3.1-14ubuntu2.1) ...
Setting up libquadmath0:amd64 (5.3.1-14ubuntu2.1) ...
Setting up libgcc-5-dev:amd64 (5.3.1-14ubuntu2.1) ...
Setting up gcc-5 (5.3.1-14ubuntu2.1) ...
Setting up gcc (4:5.3.1-1ubuntu1) ...
Setting up make (4.1-6) ...
Setting up dkms (2.2.0.3-2ubuntu11) ...
Setting up libfakeroot:amd64 (1.20.2-1ubuntu1) ...
Setting up fakeroot (1.20.2-1ubuntu1) ...
update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode
Setting up libc-dev-bin (2.23-0ubuntu3) ...
Setting up linux-libc-dev:amd64 (4.4.0-28.47) ...
Setting up libc6-dev:amd64 (2.23-0ubuntu3) ...
Setting up manpages-dev (4.04-2) ...
Processing triggers for libc-bin (2.23-0ubuntu3) ...
Copy iso file /Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso
sudo: unable to resolve host ubuntu-xenial: Connection timed out
mesg: ttyname failed: Inappropriate ioctl for device
mount: /dev/loop0 is write-protected, mounting read-only
Installing Virtualbox Guest Additions 5.0.24 - guest version is 5.0.18_Ubuntu r106667
sudo: unable to resolve host ubuntu-xenial: Connection timed out
mesg: ttyname failed: Inappropriate ioctl for device
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.0.24 Guest Additions for Linux............
VirtualBox Guest Additions installer
Copying additional installer modules ...
Installing additional modules ...
Removing existing VirtualBox DKMS kernel modules ...done.
Removing existing VirtualBox non-DKMS kernel modules ...done.
Building the VirtualBox Guest Additions kernel modules ...done.
Doing non-kernel setup of the Guest Additions ...done.
You should restart your guest to make sure the new modules are actually used

sudo: unable to resolve host ubuntu-xenial: Connection timed out
mesg: ttyname failed: Inappropriate ioctl for device
==> default: Checking for guest additions in VM...
vagrant up --provider virtualbox 52.55s user 10.21s system 28% cpu 3:42.55 total
[masayuki.ishikawa@mac tmp_14] % vagrant ssh
Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.13.0-91-generic x86_64)

* Documentation: https://help.ubuntu.com/

System information as of Tue Jul 12 02:23:42 UTC 2016

System load: 0.91 Processes: 82
Usage of /: 3.5% of 39.34GB Users logged in: 0
Memory usage: 25% IP address for eth0: 10.0.2.15
Swap usage: 0%

Graph this data and manage this system at:
https://landscape.canonical.com/

Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud

0 packages can be updated.
0 updates are security updates.

  • bash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)

_____________________________________________________________________
WARNING! Your environment specifies an invalid locale.
This can affect your user experience significantly, including the
ability to manage packages. You may install the locales by running:

sudo apt-get install language-pack-ja
or
sudo locale-gen ja_JP.UTF-8

To see all available language packs, run:
apt-cache search "^language-pack-[a-z][a-z]$"
To disable this message for all users, run:
sudo touch /var/lib/cloud/instance/locale-check.skip
_____________________________________________________________________

  • bash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)
  • bash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)
[masayuki.ishikawa@mac tmp_16] % vagrant ssh

Welcome to Ubuntu 16.04 LTS (GNU/Linux 4.4.0-28-generic x86_64)

* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage

Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud

0 packages can be updated.
0 updates are security updates.

  • bash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)

_____________________________________________________________________
WARNING! Your environment specifies an invalid locale.
The unknown environment variables are:
LC_CTYPE=ja_JP.UTF-8 LC_MESSAGES=ja_JP.UTF-8 LC_ALL=ja_JP.UTF-8
This can affect your user experience significantly, including the
ability to manage packages. You may install the locales by running:

sudo apt-get install language-pack-ja
or
sudo locale-gen ja_JP.UTF-8

To see all available language packs, run:
apt-cache search "^language-pack-[a-z][a-z]$"
To disable this message for all users, run:
sudo touch /var/lib/cloud/instance/locale-check.skip
_____________________________________________________________________

  • bash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)
  • bash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)

ubuntu@ubuntu-xenial:~$

vagrant@vagrant-ubuntu-trusty-64:~$ ll /home
total 16
drwxr-xr-x 4 root root 4096 Jul 12 02:23 ./
drwxr-xr-x 23 root root 4096 Jul 12 02:24 ../
drwxr-xr-x 3 ubuntu ubuntu 4096 Jul 12 02:23 ubuntu/
drwxr-xr-x 4 vagrant vagrant 4096 Jul 12 02:27 vagrant/
ubuntu@ubuntu-xenial:~$ ll /home
total 12
drwxr-xr-x 3 root root 4096 Jul 12 02:05 ./
drwxr-xr-x 23 root root 4096 Jul 12 02:05 ../
drwxr-xr-x 4 ubuntu ubuntu 4096 Jul 12 02:12 ubuntu/
[masayuki.ishikawa@mac tmp_14] % ll .vagrant/machines/default/virtualbox/
total 56
drwxr-xr-x 9 masayuki.ishikawa INTRA\Domain Users 306B 7 12 11:24 ./
drwxr-xr-x 3 masayuki.ishikawa INTRA\Domain Users 102B 7 12 11:23 ../

  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 40B 7 12 11:24 action_provision
  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 10B 7 12 11:23 action_set_name
  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 9B 7 12 11:23 creator_uid
  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 36B 7 12 11:23 id
  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 32B 7 12 11:23 index_uuid
  • rw------- 1 masayuki.ishikawa INTRA\Domain Users 1.6K 7 12 11:23 private_key
  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 143B 7 12 11:24 synced_folders

[masayuki.ishikawa@mac tmp_14] % cat Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.

# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
config.vm.box = "ubuntu/trusty64"

# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false

# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# config.vm.network "forwarded_port", guest: 80, host: 8080

# Create a private network, which allows host-only access to the machine
# using a specific IP.
# config.vm.network "private_network", ip: "192.168.33.10"

# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network"

# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"

# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
# config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
# vb.gui = true
#
# # Customize the amount of memory on the VM:
# vb.memory = "1024"
# end
#
# View the documentation for the provider you are using for more
# information on available options.

# Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
# such as FTP and Heroku are also available. See the documentation at
# https://docs.vagrantup.com/v2/push/atlas.html for more information.
# config.push.define "atlas" do |push|
# push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
# end

# Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
# documentation for more information about their specific syntax and use.
# config.vm.provision "shell", inline: <<-SHELL
# sudo apt-get update
# sudo apt-get install -y apache2
# SHELL
end

[masayuki.ishikawa@mac tmp_16] % ll .vagrant/machines/default/virtualbox
total 56
drwxr-xr-x 9 masayuki.ishikawa INTRA\Domain Users 306B 7 12 11:08 ./
drwxr-xr-x 3 masayuki.ishikawa INTRA\Domain Users 102B 7 12 11:05 ../

  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 40B 7 12 11:08 action_provision
  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 10B 7 12 11:05 action_set_name
  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 9B 7 12 11:05 creator_uid
  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 36B 7 12 11:05 id
  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 32B 7 12 11:05 index_uuid
  • rw------- 1 masayuki.ishikawa INTRA\Domain Users 1.6K 7 12 11:06 private_key
  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 2B 7 12 11:08 synced_folders


[masayuki.ishikawa@mac tmp_16] % cat Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.

# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
config.vm.box = "ubuntu/xenial64"

# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false

# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# config.vm.network "forwarded_port", guest: 80, host: 8080

# Create a private network, which allows host-only access to the machine
# using a specific IP.
# config.vm.network "private_network", ip: "192.168.33.10"

# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network"

# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"

# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
# config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
# vb.gui = true
#
# # Customize the amount of memory on the VM:
# vb.memory = "1024"
# end
#
# View the documentation for the provider you are using for more
# information on available options.

# Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
# such as FTP and Heroku are also available. See the documentation at
# https://docs.vagrantup.com/v2/push/atlas.html for more information.
# config.push.define "atlas" do |push|
# push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
# end

# Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
# documentation for more information about their specific syntax and use.
# config.vm.provision "shell", inline: <<-SHELL
# sudo apt-get update
# sudo apt-get install -y apache2
# SHELL
end

f:id:ishikawam:20160712181736p:imagef:id:ishikawam:20160712181737p:image
[masayuki.ishikawa@mac ~] % ll ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-trusty64/20160708.1.0/virtualbox/
total 865888
drwxr-xr-x 6 masayuki.ishikawa INTRA\Domain Users 204B 7 12 11:08 ./
drwxr-xr-x 3 masayuki.ishikawa INTRA\Domain Users 102B 7 12 11:08 ../

  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 505B 7 12 11:08 Vagrantfile
  • rw------- 1 masayuki.ishikawa INTRA\Domain Users 423M 7 12 11:08 box-disk1.vmdk
  • rw------- 1 masayuki.ishikawa INTRA\Domain Users 10K 7 12 11:08 box.ovf
[masayuki.ishikawa@mac ~] % ll ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-xenial64/20160707.0.0/virtualbox

total 576848
drwxr-xr-x 8 masayuki.ishikawa INTRA\Domain Users 272B 7 12 14:28 ./
drwxr-xr-x 3 masayuki.ishikawa INTRA\Domain Users 102B 7 8 18:26 ../

  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 652B 7 8 18:26 Vagrantfile
  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 11K 7 8 18:26 box.ovf
  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 31B 7 8 18:26 metadata.json
  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 71K 7 8 18:26 ubuntu-xenial-16.04-cloudimg-configdrive.vmdk
  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 314B 7 8 18:26 ubuntu-xenial-16.04-cloudimg.mf
  • rw-r--r-- 1 masayuki.ishikawa INTRA\Domain Users 282M 7 8 18:26 ubuntu-xenial-16.04-cloudimg.vmdk
[masayuki.ishikawa@mac ~] % cat ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-trusty64/20160708.1.0/virtualbox/Vagrantfile

Vagrant::Config.run do |config|
# This Vagrantfile is auto-generated by 'vagrant package' to contain
# the MAC address of the box. Custom configuration should be placed in
# the actual 'Vagrantfile' in this box.
config.vm.base_mac = "080027ABDB70"
end

# Load include vagrant file if it exists after the auto-generated
# so it can override any of the settings
include_vagrantfile = File.expand_path("../include/_Vagrantfile", __FILE__)
load include_vagrantfile if File.exist?(include_vagrantfile)

[masayuki.ishikawa@mac ~] % cat ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-xenial64/20160707.0.0/virtualbox/Vagrantfile
# Front load the includes
include_vagrantfile = File.expand_path("../include/_Vagrantfile", __FILE__)
load include_vagrantfile if File.exist?(include_vagrantfile)

Vagrant.configure("2") do |config|
config.vm.base_mac = "0280C9261097"
config.ssh.username = "ubuntu"
config.ssh.password = "74863c2706e9c62ab7b70bd6"
config.vm.synced_folder '.', '/vagrant', disabled: true

config.vm.provider "virtualbox" do |vb|
vb.name = "ubuntu-xenial-16.04-cloudimg"
vb.customize [ "modifyvm", :id, "--uart1", "0x3F8", "4" ]
vb.customize [ "modifyvm", :id, "--uartmode1", "file", File.join(Dir.pwd, "%s-console.log" % vb.name) ]
end


end


テーブル組んでコード綺麗に貼り付けられないはてだやめたい。


追記

いろいろおかしいなと思ってたら、なんか揉めてた。
https://github.com/mitchellh/vagrant/issues/7155

公式の 'ubuntu/xenial64' より 'bento/ubuntu-16.04' 使ったほうがいいかもね(・ω<)

2015/12/02 (Wed)

最高の焼肉を食べに連れて行きたい時に選ぶ店 西麻布 焼肉牛牛


もう、ほんと肉が好き。焼肉大好き。いつでも肉食べていたい @M_Ishikawa (id:ishikawam)です。

この記事は肉 Advent Calendar 2015の1日目の記事です。

西麻布&六本木といえば高級焼肉激戦区。行ったことあるとこで、

遊玄亭
十々
牛牛
叙々苑
よろにく
Kintan
牛和鹿
とん豚テジ
坂の途中
ニクアザブ
焼肉トラジ
黒牛屋
An
ふたご
東海亭
フートン

焼肉以外でも
ウルフギャング
バルバッコア
The Oak Door
Vin
みやび邸 一蔵
霞坂

などなど、抜けはありますがある程度上手い肉が食べれそうなところには行きました。

そんななか、ぼくのベスト「うまくてチャラい」店はずばり。「牛牛」です!


f:id:ishikawam:20151202122636j:image:w640

f:id:ishikawam:20151202122917j:image:w640

f:id:ishikawam:20151202123017j:image:w640

f:id:ishikawam:20151202123315j:image:w640

f:id:ishikawam:20151202123325j:image:w640

f:id:ishikawam:20151202123332j:image:w640

f:id:ishikawam:20151202123341j:image:w640

f:id:ishikawam:20151202123349j:image:w640

f:id:ishikawam:20151202123356j:image:w640

f:id:ishikawam:20151202123403j:image:w640

f:id:ishikawam:20151202123714j:image:w640

f:id:ishikawam:20151202123739j:image:w640

f:id:ishikawam:20151202123757j:image:w640

f:id:ishikawam:20151202123804j:image:w640

f:id:ishikawam:20151202123825j:image:w640


あーまた行きたい



2015/12/01 (Tue)

最高の焼肉を食べに連れて行きたい時に選ぶ店 西麻布 焼肉牛牛


もう、ほんと肉が好き。焼肉大好き。いつでも肉食べていたい @M_Ishikawa (id:ishikawam)です。

この記事は肉 Advent Calendar 2015の1日目の記事です。

西麻布&六本木といえば高級焼肉激戦区。行ったことあるとこで、

遊玄亭
十々
牛牛
叙々苑
よろにく
Kintan
牛和鹿
とん豚テジ
坂の途中
ニクアザブ
焼肉トラジ
黒牛屋
An
ふたご
東海亭
フートン

焼肉以外でも
ウルフギャング
バルバッコア
The Oak Door
Vin
みやび邸 一蔵
霞坂

などなど、抜けはありますがある程度上手い肉が食べれそうなところには行きました。

そんななか、ぼくのベスト「うまくてチャラい」店はずばり。「牛牛」です!


f:id:ishikawam:20151202122636j:image:w640

f:id:ishikawam:20151202122917j:image:w640

f:id:ishikawam:20151202123017j:image:w640

f:id:ishikawam:20151202123315j:image:w640

f:id:ishikawam:20151202123325j:image:w640

f:id:ishikawam:20151202123332j:image:w640

f:id:ishikawam:20151202123341j:image:w640

f:id:ishikawam:20151202123349j:image:w640

f:id:ishikawam:20151202123356j:image:w640

f:id:ishikawam:20151202123403j:image:w640

f:id:ishikawam:20151202123714j:image:w640

f:id:ishikawam:20151202123739j:image:w640

f:id:ishikawam:20151202123757j:image:w640

f:id:ishikawam:20151202123804j:image:w640

f:id:ishikawam:20151202123825j:image:w640


あーまた行きたい



2015/08/26 (Wed)

YAPC::Asia Tokyo 2015 でサンタクロースを支えるIT技術について発表してきました #yapcasia


f:id:ishikawam:20150826205338p:image


最後のYAPC::Asia Tokyoに行ってきました!

YAPC::Asia Tokyo 2015YAPC::Asia Tokyo 2015


f:id:ishikawam:20150821164534j:image


スピーカーとして


f:id:ishikawam:20150822100840j:image:h320


2年ぶり2度目のYAPC登壇。「サンタクロースを支えるIT技術」について発表しました。
内容は、ぼくが趣味のボランティアで携わっているNPO法人チャリティーサンタの活動で、どうやってエンジニアリングを活かしているか、また、同じエンジニアたちで結成したITチームのこととかを話しました。


 サンタクロースを支えるIT技術 - YAPC::Asia Tokyo 2015 サンタクロースを支えるIT技術 - YAPC::Asia Tokyo 2015



発表スライド




途中流したチャリティーサンタの活動についての動画です。




30分枠は実質20分で10分は質疑応答。スライドを80枚用意してしまいまったくペース配分ができず。。逆に質疑応答で言いそびれていたことを質問頂いたおかげで話すことが出来ました。なんとも情けない!
プレゼンとしてはだいぶヘマをしてしまいまして、反省しきりです。。

でも以外と好反応だったので、きちんと伝えたく今回のトークの内容は別途改めてブログにしっかり書こうと思います。


Twitter
















Togetterまとめ

サンタボランディアを支えるチーム運用とエンジニアがプロボノとして社会貢献する意義 #yapcasia #yapcasiaB - Togetterまとめサンタボランディアを支えるチーム運用とエンジニアがプロボノとして社会貢献する意義 #yapcasia #yapcasiaB - Togetterまとめ




スタッフとして


YAPCのボランティアスタッフは3回目。いまではphpconやhtml5j等ほかのWebエンジニア系カンファレンスにもボランティアスタッフとして参加したりしていますが、なんといってもきっかけはYAPC。
エンジニアとして刺激を受けるのはスピーカーからはもちろんですが、ギークなスタッフたちからも。


ラリーと2ショット!
f:id:ishikawam:20150821201258j:image

働くみんなを撮るM_Ishikwa
f:id:ishikawam:20150821084356j:image

集合!
f:id:ishikawam:20150821190603j:image
© Japan Perl Association


参加者として


初めて参加したのは4年前の YAPC::Asia Tokyo 2011 。 このブログを書き始めたのもYAPCがきっかけでした。

勝手にYAPCパンフレットの企業求人広告大賞の発表! - M_Ishikawa勝手にYAPCパンフレットの企業求人広告大賞の発表! - M_Ishikawa


KAYACの求人広告からわかった! フォローすべきWeb系エンジニアのリスト − livedoor、DeNAの注目エンジニア多数! - M_IshikawaKAYACの求人広告からわかった! フォローすべきWeb系エンジニアのリスト − livedoor、DeNAの注目エンジニア多数! - M_Ishikawa


エンジニアとしてのいまのぼくがあるのは間違いなくYAPCのおかげなのです。




f:id:ishikawam:20150821081951j:image:h320 f:id:ishikawam:20150821094135j:image:h320 f:id:ishikawam:20150821173835j:image:h320 f:id:ishikawam:20150821092242j:image:h320 f:id:ishikawam:20150821092154j:image:h320 f:id:ishikawam:20150821090446j:image:h320 f:id:ishikawam:20150821090427j:image:h320 f:id:ishikawam:20150822101413j:image:h320 f:id:ishikawam:20150821180635j:image:h320 f:id:ishikawam:20150821180409j:image:h320 f:id:ishikawam:20150821085224j:image:h320



ありがとうYAPC!そして次はBeacon!楽しみだー!





2015/08/19 (Wed)

こんにちは、サンタクロースです。YAPC::Asiaで「サンタクロースを支えるIT技術」について発表します。


f:id:ishikawam:20150819112550j:image

YAPCで登壇します!2年ぶり2度目。2日目(8/22 土)の14:20からです。

前回はGruntのバックエンド開発における活用についてだったのですが、今回はぼくが携わっているボランティア活動にどうやってエンジニアリングを活かしているか、また、同じエンジニアたちで結成したチームのこととかを話します。


サンタクロースを支えるIT技術
http://yapcasia.org/2015/talk/show/5ceebdcc-136c-11e5-a014-d9f87d574c3a


今年10年目で最後を迎えるYAPC::Asiaにおいてサンタクロースの話がでるのは初めてじゃないでしょうか。(真夏なのにw)
みなさんに「いったいサンタクロースはどうやって子どもたちにプレゼントを、夢を、届けているのか」をサンタクロース日本支部ともいえるチャリティーサンタでITチーム所属のエンジニアがこっそり教えちゃいます。


f:id:ishikawam:20150819132134j:image

私たちはチャリティーサンタというNPOのボランティアITスタッフです。
全国で1500人のボランティアで集まったサンタクロースたちが子どもらにプレゼントを届けに行くのですが、そのサンタたちの活動を支えるIT技術についてお話したいと思います。

メンバーは普段はIT系企業に勤め週末に集まってWeb・ツール等の開発を行ったり、全国の各支部のサンタ部長(!?)らとやりとりしたり、学生や主婦を含む多様で地方分散したサンタ&トナカイたちに使ってもらえて活動を支援する仕組みづくりを行ったりしています。

そんなサンタたちがNPO、ボランティアという枠組みの中どのようにして技術を以って課題に立ち向かったかをお伝えします。

  • 共用レンタルサーバでの運営からのスタート 〜 FTPでの更新からGithubバージョン管理へどのようにして転換していったか
  • 仕事でのエンジニアリングとボランティアでのエンジニアリング
  • スキルセットの異なるメンバーのチームビルディング
  • NPOならでは、基本コスト0でやろうとすることできることできないこと 利用したツール断念したサービス
  • 未経験者もまざった中でのGithubリポジトリ運用とデプロイ手法
  • どこまで技術にチャレンジしてどこを妥協するか
  • いにしえの技術、いにしえのコードのリファクタリング
  • NPOならではのWeb決済導入選定
  • 未来のサンタはこうなっている!サンタ&IT アプリのビジョン

(注: 企業における開発に活かせそうな話はないかも...)

YAPCで高度で先端な技術の話に聞き疲れしたら箸休めとしてご活用下さい!



それでは東京ビッグサイトで逢いましょう!メリークリスマス!Ho-ho-ho!


P.S.
会社の技術ブログに紹介された(グリーの話は全くでません!)
http://labs.gree.jp/blog/2015/08/14204/



2015/06/08 (Mon) Node.js (V8) runtime is not available on this system

RuntimeUnavailable: Node.js (V8) runtime is not available on this system


RuntimeUnavailable: Node.js (V8) runtime is not available on this system

っていうエラーがerror_logに吐かれたら。
nodeのパスが通ってないよ〜。

apacheとかwwwサーバはデフォルトでユーザーがapacheだったりnobodyだったりwww-dataだったりすると思うけど、普段開発中はスタンドアロンサーバ使ってるから自ユーザーにnodeのパス(/home/m_ishikawa/.nvm/v0.xx.xx/bin/node とか)が通っていれば動くのだけど、webサーバ使ったときにそのこと忘れちゃうし、このエラーでググっても日本語で情報あんまり載っていないので残してみた。(これが1年上ぶりのブログ更新になるとは...)

最近python+reactとか書いているのでこのエラーに遭遇しちゃったのでした。
こういう場合nodeのパスを通すのどうするのがベストプラクティスなのかなあ。/usr/local/bin/nodeにシンボリックリンク貼っちゃう?/home/apache/.nvm/に入れちゃう?うーん。

あ、それと今回この悩み解決するときに「なぜvirtualenvは便利なのにnodeはnvmが主流なのか」というのが理解できて面白かった。nodebrewとか調べたけど、結局はnvmで充分だったのはプロジェクトの/node_modules/にnode以外全部収まるからなんだな。結局-gで入れたりしてるのはせいぜいnpm, grunt-cli, とか開発時に必要な物だけだもんな。



2013/12/18 (Wed) 自分が公開しているOSSにPullRequestが来たときに起こったことすべて

自分が公開しているOSSにPullRequestが来たときに起こったことすべて


ここのところなにかといえばGruntのことばかりでGREE Advent CalendarでもネタGruntプラグイン作って晒してみたりして遊んでます。

そんなところ、自分で作って仕事でも使っていて公開しているGruntプラグイン grunt-md5filename に突然PullRequestが来たんです!!!
それはそれはもう感動で胸がいっぱいになりました。自分の作ったのを使ってくれている誰かがいる、それだけでも十分幸せなことなのに開発に参加してくれるという、この上ない喜びを味わせていただくことができました。僕をここまで育ててくれた両親に感謝したいと思います。生きててよかった!

記念にスクリーンショット撮りまくったので自慢させて僕と同じように初めてプルリク来た方の参考になればと思います。

あ、これは Git Advent Calendar 2013 18日目の記事になります。なのでいちおうはGitの話のつもりです。




1通のメールが。

f:id:ishikawam:20131217220735p:image:w500

なになに、わしの grunt-md5filename に add ignorePatterns option とな、 「You can merge this Pull Request by running …」

な〜に〜、プ、プルリクエストだと〜\(^o^)/

ポチリと開くと
f:id:ishikawam:20131217220721p:image
おおお!来てる!
そして驚くことにTravisCIさんが反応してるではないか!それをGithubさんも教えてくれてるではないか!!
All is well - The Travis CI build passed. (Details)

問題無いと。このプルリク。マージしちゃっても問題無いと!
この (Details) をクリックすると TravisCIの当該ページに飛びます。

f:id:ishikawam:20131218130048p:image

.travis.yml に定義してたnodeのv0.8とv0.10、両方ちゃんとてテスト実行されてるし通ってます。


プルリクされたビルドはBuild HistoryではなくPull Requestsのタブに追加されます。
f:id:ishikawam:20131218131115p:image

Jobを開きます。以前PushしたときのJobと比較します。
18.2
f:id:ishikawam:20131218150954p:image:w500
19.2
f:id:ishikawam:20131218150955p:image:w500
passed asserttionsが45から49に増えているのがわかります。テストもちゃんと書いて頂いてます!



Githubに戻ってMergeを目指します。
f:id:ishikawam:20131217220721p:image
青々と光る 「Merge pull request」を早く押したい気持ちを抑えて

This pull request can be automatically merged.

You can also merge branches on the command line.


とあるので command line のリンクを開くと丁寧にMergeまでの手順を説明してくれています
f:id:ishikawam:20131217220727p:image
コマンドでマージするなんて勿体無い!せっかくなので十分レビューした後にMerge pull requestボタンをぽちっとしたいと思います!




さて、あらためてGithubのリポジトリトップを見ると
f:id:ishikawam:20131217220720p:image
Pull Requests 1 の文字がありますね (ニコッ

Pullsも
f:id:ishikawam:20131218114242p:image

Issuesも
f:id:ishikawam:20131218114243p:image

issuesにも入るの初めて知りました。

ありがとう mtanda さん。使ってくれてありがとう。書いてくれてありがとう。今日はお赤飯です。
僕は普段は仕事でGithub Enterpriseを贅沢に使わせて頂いておりますのですが、本家GithubでFolkからのPullReq。感動です。

Commitsはこの1つでした。
f:id:ishikawam:20131217220728p:image

さて、マージ作業ですがGithub上での差分チェックと、pullしてコード眺めたり触ったり実行したりしてレビューします。
pullは先ほどのコマンドライン手順のStep 1, 2でできます。

# Step 1:
git checkout -b mtanda-master master

# Step 2:
git pull https://github.com/mtanda/grunt-md5filename.git master


ソースコードで僕が変更する箇所はありませんでした。README等で多少の修正は必要ですが後でcommitするとして、もうmerge OKでしょう!えいっ! ( Merge pull requestを押す
f:id:ishikawam:20131217220730p:image
無事MergeしてブランチがCloseされました〜\(^o^)/
喜びのメッセージをmtanda宛に送ります。コメント欄に @mtanda を入れれば相手に届きます。便利ですよねGithub。




あとはnpmに公開しているので手直ししてnpm publishします。

f:id:ishikawam:20131217220731p:image

ちなみにgit tagでタグ付けしたりしてリリースバージョンとして記録したりもして仕上げてます。
f:id:ishikawam:20131217220734p:image

GithubにpushしたのでTravisCIからテスト成功のお祝いのメールが届きます。

f:id:ishikawam:20131217220736p:image:w500

さて、無事にリリース、公開されたかな?npm infoコマンドでnpm公開されたのを確認します。これは一瞬です。

f:id:ishikawam:20131217220732p:image:w600

npmサイトにもリリースされたのを確認!(こっちは遅延して反映には少々時間がかかる)
f:id:ishikawam:20131217220733p:image


これにて無事終了!
Git回なのにGithubの話ではあるんだけどどっちかって言うとnpmとかTravisCIの話になってしまった(・ω<)


明日は kaneshinth さんです!