モヒカンメモ

髪色が定期的に変わることに定評のある(比較的)若者Webエンジニアの備忘録

Linux/Unix

指定したサイズ以上のファイルを見つける

どこにあるか分からないけどデカいファイルがあって悪さしていそうなので探したいときなどに、findコマンドのsizeオプションが便利

jqを使ってjsonの差分をスマートに確認する

jsonを比較する際にkeyとvalueの組が同じでもkeyの並びが微妙に違っていたりして余計な差分が出てキレそうなとき、jqを使ってkeyでソートしてからdiffを取ったりすると便利だよっていう小ネタを紹介する。 jq jqはjsonをいい感じに整形したり、色付け表示し…

mysqlコマンドの実行結果から枠線とカラム名を除いて表示する

mysqlコマンドの実行結果から枠線とカラム名を取り除いて表示する方法を調べたので備忘録がてらまとめておく

useraddコマンドをAmazon Linux2へインストールする

Linuxユーザを追加するときに使うuseraddコマンド。Amazon Linux2のdockerイメージではデフォルトでは入っていなかったのでインストール方法を調べたたときの備忘録。Amazon Linux2に限らず、Linuxのminimal環境にuseraddコマンドを入れるのに使える方法だと…

80番ポートを使っているプログラムをlsofコマンドで特定する

Linux環境で特定のポートを使いたいけど先に使われていてどのプログラムがそのポートを使っているか知りたいとき、lsofコマンドが便利。 lsofコマンド 「lsof」はオープンしているファイルを一覧表示するコマンドです。 www.atmarkit.co.jp lsofコマンドに-i…

cronの実行ログを見るにはjournalctlコマンドを使う

概要 定期的にコマンドを実行するためのcronという仕組みがある。 いつ、どういうコマンドがcronによって実行されたかを確認したくて、実行ログの確認方法を調べた。 調べて分かったことのまとめ Ubuntu 18 (というか今どきのLinuxたぶん全般) では、crondは…

docker上でコンテナとしてdocker-composeを動かす

「dockerは動くがdocker-composeが動かない」というおもしろい環境のデバッグを手伝っていた際にdockerの公式ドキュメントを読んで、コンテナとしてdocker-composeを動かす方法が紹介されていて、とてもdockerっぽくて面白いなと思った。 Docker Compose の…

インスタンスが再起動するとホスト名の設定がリセットされる原因と対策

症状 ConoHa のVPSで /etc/hostname へホスト名を書いても、インスタンスが再起動すると初期値へ戻っている。 原因 インスタンスの初期化に使われている cloud-init というソフトウェアの「ホスト名を変更する機能」が有効になっているため。 なので、ConoHa…

AlpineLinuxでdigコマンドを使えるようにする

Dockerイメージを作る際のベースイメージとしてよく使われるOSに AlpineLinux がある。超軽量なのが特徴で、イメージサイズはわずか4MByte強!参考までに、CentOS7.4のイメージは約200MBある。 $ docker images alpine REPOSITORY TAG IMAGE ID CREATED SIZE…

2つの設定ファイルから空行やコメントを除いていい感じにdiffを表示するプチテクニック

▼ アイキャッチ画像は適当です ミドルウェアなどのバージョンアップやマイグレーションなどの際に、「今の設定ってデフォルトからどこがどう変わってるんだっけ?」って気になることありますよね? でも、単純に diff コマンドで差分を出すだけだと改行やコ…

dockerコンテナ内から /dev/stdout へ書き込もうとすると "Permission denied" になる

PHP Laravel 5.5系のアプリをdockerコンテナにして、所定のログファイルpathから /dev/stdout へのsymlinkを貼って動かしたところ Permission denied エラーが出た。原因を調べたところそれなりにめんどくさかったので調べたことをまとめておく。 症状 docke…

DockerHubのnginx:latestイメージでpsコマンド叩いたら「そんなもの無い」って言われたのでインストールする

背景 DockerHubにある nginx:latest イメージから起動したコンテナ内で ps を叩いたら root@de0ff7733246:/# ps bash: ps: command not found と言われてしまったので、インストールする インストール nginx:latest の Dockerfile をちら見してみたら、Debia…

/etc/cron.dへ置くファイルにはownerとpermissionに制約があるっぽい

crontabファイルを etc/cron.d へ置いても期待通り動かなかったことがあって調べたメモ まとめ /etc/cron.dへ置くファイルは ownerは、rootでなければならない permissionは、owner以外に書き込み権限があってはならない 検証 ownerがroot、かつowner以外のw…

CentOSへaws-cliを入れようとしたらPython.h,pyconfig.hが無いって怒られた

CentOSへpipでaws-cliを入れようとしたら、下記のようなエラーが出た。 $ pip install aws Collecting aws Downloading aws-0.2.5.tar.gz ...snip... No package 'libffi' found c/_cffi_backend.c:2:20: 致命的エラー: Python.h: そのようなファイルやディ…

sudoコマンドをパスワードなしで使えるようにする

unix系OSには任意のユーザとしてコマンドを実行する sudo というコマンドがあります。 Linuxコマンド集 - 【 sudo 】指定したユーザーでコマンドを実行する:ITpro このコマンドは、一般ユーザでログインした状態でroot権限でコマンドを実行したいときに良く…