Google Cloud Platform SDK

Macに表題をインストールする。仕事でGoogle Cloud Platformを使うことになり、ローカル環境を整備。

■ 環境

  • Google Cloud Platform SDK
  • Mac OSX El Capitan

■ Google Cloud Platform SDK

`gcloud`コマンドと呼ばれることも多いようだ。

gcloud-001

https://cloud.google.com/sdk/

上記からインストールを行う。

リンク先から得られたファイルは”google-cloud-sdk-122.0.0-darwin-x86_64.tar.gz“。サイズは”7.7MB“であった。展開しインストールする。

$ tar zxf google-cloud-sdk-122.0.0-darwin-x86_64.tar.gz
$ cd google-cloud-sdk
$ ./install.sh

インストールは上記で良いようであるが、展開したディレクトリがそのまま使用されるようであったので後から変更した。

$ gcloud init

この後いくつか設定をしたが、、まだよく理解ができていない。

とりあえず今後使っていく中で理解を深めようと思う。

以上。

サービスとポートの確認

Linuxにおいて「このポート番号は何だっけ?」という時がある。例えば「このポート番号は開放しておいて」という話が来た時に「何に使ってるんだっけな」と。

■ 環境

  • Ubuntu 14.04

■ /etc/services

Ubuntuに限らずLinux系であればこのファイルにだいたい載っているであろう。

$ cat /etc/services
  :
tcpmux          1/tcp                           # TCP port service multiplexer
echo            7/tcp
echo            7/udp
discard         9/tcp           sink null
  :
$

今回はTCP:873が何に使われているか?を調べたかった。

$ grep 873 /etc/services
rsync          873/tcp
rsync          873/udp
$

`rsync`で使われているものだということを把握。

以上。

nginxコンテナのconfigureオプション

Dockerのコンテナにおいて表題の通り。nginxを触っていて、Dockerで公式に公開されているnginxのconfigureオプションはどうなっているのか?を調べてみた。

■ 環境

  • nginx
  • Docker for Mac 1.12.0
  • Mac OSX El Capitan

■ nginx

まずはnginxのコンテナを取得する。

$ docker pull nginx

コンテナを起動。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              0d409d33b27e        11 weeks ago        182.8 MB
  :
$
$ docker run -ti --rm nginx /bin/bash
root@71abd441e30f:/#

あとはコマンドで取得が可能である。

root@71abd441e30f:/# which nginx
/usr/sbin/nginx
root@71abd441e30f:/#
root@71abd441e30f:/# nginx -V
nginx version: nginx/1.11.1
built by gcc 4.9.2 (Debian 4.9.2-10)
built with OpenSSL 1.0.1k 8 Jan 2015
TLS SNI support enabled
configure arguments: \
  --prefix=/etc/nginx \
  --sbin-path=/usr/sbin/nginx \
  --modules-path=/usr/lib/nginx/modules \
  --conf-path=/etc/nginx/nginx.conf \
  --error-log-path=/var/log/nginx/error.log \
  --http-log-path=/var/log/nginx/access.log \
  --pid-path=/var/run/nginx.pid \
  --lock-path=/var/run/nginx.lock \
  --http-client-body-temp-path=/var/cache/nginx/client_temp \
  --http-proxy-temp-path=/var/cache/nginx/proxy_temp \
  --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
  --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
  --http-scgi-temp-path=/var/cache/nginx/scgi_temp \
  --user=nginx \
  --group=nginx \
  --with-http_ssl_module \
  --with-http_realip_module \
  --with-http_addition_module \
  --with-http_sub_module \
  --with-http_dav_module \
  --with-http_flv_module \
  --with-http_mp4_module \
  --with-http_gunzip_module \
  --with-http_gzip_static_module \
  --with-http_random_index_module \
  --with-http_secure_link_module \
  --with-http_stub_status_module \
  --with-http_auth_request_module \
  --with-http_xslt_module=dynamic \
  --with-http_image_filter_module=dynamic \
  --with-http_geoip_module=dynamic \
  --with-http_perl_module=dynamic \
  --add-dynamic-module=debian/extra/njs-1c50334fbea6/nginx \
  --with-threads \
  --with-stream \
  --with-stream_ssl_module \
  --with-http_slice_module \
  --with-mail \
  --with-mail_ssl_module \
  --with-file-aio \
  --with-ipv6 \
  --with-http_v2_module \
  --with-cc-opt='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2' \
  --with-ld-opt='-Wl,-z,relro -Wl,--as-needed'
root@71abd441e30f:/#

上記の表示は少々見やすくする為に手を加えている。

以上。

■ 関連

コマンドでファイルを切り詰めたい

たまに使いたくなるのだが、よく忘れてしまうのでメモしておく。

■ 環境

  • Linux

■ truncate

ファイルを0バイトに切り詰めたい時がある。下記のようにファイルを消して`touch`して、でも良いのだが1コマンドでも可能である。

$ ls -l testfile
-rw-r--r-- 1 withsin staff 442 Aug 19 19:13 testfile
$
$ rm testfile
$ touch testfile
$
$ ls -l testfile
-rw-r--r-- 1 withsin staff 0 Aug 17 19:15 testfile
$

これを`truncate`コマンドで行う。

$ ls -l testfile
-rw-rw-r-- 1 withsin staff 1000  Aug 17 19:15 testfile
$
$ truncate -s 0 testfile
$
$ ls -l testfile
-rw-rw-r-- 1 withsin staff 0  Aug 17 19:17 testfile
$

コマンド一発で可能である。

以上。

updateのレポジトリを追加

先日のエントリでUbuntuにレポジトリを追加したのだが、パッケージのアップデートを行う際に依存周りでエラーが出てインストールができなかった。どうやら調べていくと表題を行えば回避できるようなので追加する。

■ 環境

  • Ubuntu 14.04

■ add-apt-repository

先日追加したのは下記。

$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe restricted multiverse"

これだけではダメなようであったので追加した。追加した内容は下記である。

$ add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc)-updates main universe multiverse restricted"

これにより`/etc/apt/sources.list`は下記のようになった。

$ cat /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu trusty main universe multiverse restricted
# deb-src http://archive.ubuntu.com/ubuntu trusty main universe multiverse restricted
deb http://archive.ubuntu.com/ubuntu trusty-updates main universe multiverse restricted
# deb-src http://archive.ubuntu.com/ubuntu trusty-updates main universe multiverse restricted

$

これで依存周りでエラーが出ないようになった。

以上。

■ 関連