サービスとポートの確認

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

$

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

以上。

■ 関連

Apache Kafka 0.10.0.1

最近まったく見ることができていない表題の件。

■ 環境

  • Apache Kafka 0.10.0.1
  • Homebrew
  • Mac OSX El Capitan

■ Apache Kafka 0.10.0.1

いつも通り下記コマンドを実行したところ、Apache KafkaがUpdateされていたのでUpgradeを実行した。

$ brew update
$ brew upgrade kafka

コマンドの一覧を見てみたところ、見覚えのないコマンドが存在する。

$ brew ls kafka
/usr/local/Cellar/kafka/0.10.0.1/bin/connect-distributed
/usr/local/Cellar/kafka/0.10.0.1/bin/connect-standalone
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-acls
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-configs
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-console-consumer
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-console-producer
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-consumer-groups
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-consumer-offset-checker
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-consumer-perf-test
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-mirror-maker
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-preferred-replica-election
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-producer-perf-test
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-reassign-partitions
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-replay-log-producer
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-replica-verification
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-run-class
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-server-start
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-server-stop
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-simple-consumer-shell
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-streams-application-reset
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-topics
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-verifiable-consumer
/usr/local/Cellar/kafka/0.10.0.1/bin/kafka-verifiable-producer
/usr/local/Cellar/kafka/0.10.0.1/bin/zookeeper-security-migration
/usr/local/Cellar/kafka/0.10.0.1/bin/zookeeper-server-start
/usr/local/Cellar/kafka/0.10.0.1/bin/zookeeper-server-stop
/usr/local/Cellar/kafka/0.10.0.1/bin/zookeeper-shell
/usr/local/Cellar/kafka/0.10.0.1/homebrew.mxcl.kafka.plist
/usr/local/Cellar/kafka/0.10.0.1/libexec/bin/ (27 files)
/usr/local/Cellar/kafka/0.10.0.1/libexec/clients/ (997 files)
/usr/local/Cellar/kafka/0.10.0.1/libexec/core/ (5639 files)
/usr/local/Cellar/kafka/0.10.0.1/libexec/examples/ (16 files)
$

`kafka-streams-application-reset`である。ひとつ前のversionである”0.10.0.0“を確認したが、その時には存在していない。”0.10“系からKafkaでストリーム処理のアプリケーションを書くことができる”Kafka Streams“が含まれたとのことなので、その辺りのものであろう。この辺りはきちんと把握しておきたいのだが、あまり時間が取れないので実現できていない…。

以上。

■ 関連