Mac で nfs エクスポート

Mac で nfs エクスポートする。VMware 上の Linux でマウントするため。

Mac 側では、/etc/exports で、

/Users/hoge/develop -mapall:hoge:hoge -network 172.16.133.0 -mask 255.255.255.0

ここで、GID も hoge にしているけれども、Mac のデフォルトグループでは gid が 200 の staff になっているが、これが Linux 側で dialout になっているため。この作業の前に、

$ sudo dscl . -create /Groups/hoge
$ sudo dscl . -append /Groups/hoge PrimaryGroupID 501
$ sudo dscl . -append /Groups/hoge GroupMembership hoge
$ sudo dscl . -read /Groups/hoge

としておく。先に MacPorts とか入れると、GID 501 を取られてしまうので要注意。

それと、Linux 側の /etc/login.defs を修正して、最小一般ユーザ UID と GID を 500 とかにして、Linux 上での作業ユーザを UID 501 でつくっておく。

Linux でのマウントに関しては、/etc/fstab で、

172.16.133.1:/Users/hoge/develop /home/hoge/develop nfs defaults 0 0

として、自動的にマウントするようにする。

VMware Fusion の英数キー CapsLock 問題

MacBook Air (13-inch Mid 2013) で VMware Fusion 11 の上に Ubuntu 18.04 をインストール。

$ sudo dpkg-reconfigure keyboard-configuration

選択は、

MacBook/MacBook Pro (Intl.) → 日本語 → 日本語 → キーボード配置のデフォルト → コンポーズキーなし

xkb の設定の書き換え。

$ sudo vim /usr/share/X11/xkb/symbols/jp

key <CAPS> { [ Eisu_toggle, Caps_Lock ] };

という行が 2 行あるので、

key <CAPS> { [ Eisu_toggle ] };

と修正。

Mozc プロパティの一般タブのキー設定の選択で編集ボタンをクリック。
入力キー「Eisu」のモード「直接入力」「入力文字なし」のコマンドを「IMEを無効化」に。
入力キー「Hiragana」のモード「直接入力」のコマンドを「IMEを有効化」に。

以上。

Lambda 関数をダウンロードする

Lambda 関数をダウンロードして内容を確認する方法。ローカルのコードとデプロイされたコードが同じかわからなくなったときなど。

バージョンの確認

aws cli で特定の関数のバージョン情報を確認。

$ aws lambda list-versions-by-function --function-name hoge
{
    "Versions": [
        {
            "TracingConfig": {
                "Mode": "PassThrough"
            },
            "Version": "$LATEST",
            "CodeSha256": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=",
            "FunctionName": "hoge",
            "VpcConfig": {
                "SubnetIds": [],
                "VpcId": "",
                "SecurityGroupIds": []
            },
            "MemorySize": 128,
            "RevisionId": "00000000-0000-0000-0000-000000000000",
            "CodeSize": 111111,
            "FunctionArn": "arn:aws:lambda:ap-northeast-1:000000000000:function:hoge:$LATEST",
            "Environment": {
                "Variables": {
                    "NODE_ENV": "production"
                }
            },
            "Handler": "index.handler",
            "Role": "arn:aws:iam::000000000000:role/lambda-basic-role",
            "Timeout": 180,
            "LastModified": "2018-11-01T19:00:00.000+0000",
            "Runtime": "nodejs6.10",
            "Description": "ホゲ"
        }
    ]
}

これで、hoge という Lambda 関数のバージョンをリストアップできる。Versions 配列の中に一つだけだけど、複数バージョンがあると要素が増えていく。
Latest の情報を取得してみる。

$ aws lambda get-function --function-name hoge
{
    "Code": {
        "RepositoryType": "S3",
        "Location": "https://awslambda-ap-ne-1-tasks.s3.ap-northeast-1.amazonaws.com/snapshots/000000000000/hoge<SNIP!>"
    },
    "Configuration": {
        "TracingConfig": {
            "Mode": "PassThrough"
        },
        "Version": "$LATEST",
        "CodeSha256": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=",
        "FunctionName": "hoge",
        <SNIP!>
    }
}

Code の Location の URL からコードをダウンロードできる。
特定バージョンの情報を取得するには、$ aws lambda get-function --function-name hoge --qualifier 3 のように qualifier オプションを使う。

取得する

実際の取得は wget で。