コピペコードで快適生活

明日使えるソースを自分のために

Linux

crypt関数とかglibcとか

WordPressのDBに保存されているハッシュ化されたパスワードの値が気になったので調べた話 を読む過程で crypt関数 ってなんだっけ?となったので、調べたことメモ。 PHPのcrypt関数 不可逆のハッシュ値を生成する C標準ライブラリのcrypt関数に実装依存する …

wgetがリダイレクトしまくってエラーする

wgetがリダイレクトしまくってエラーする現象に出くわしたのでメモ。 自分の環境 golang:1.7 どんなエラーでてる? root@7453a9101b5e:/var/app# wget --max-redirect=1 https://github.com/wp-cli/wp-cli/releases/download/v2.5.0/wp-cli-2.5.0.phar conve…

screenの代わりにnohup&を使う

時間のかかるバッチ処理を手動で実行するとき、 sshセッションが切断しても大丈夫なようにscreenコマンドを使っていたけど、 他の方法を知ったのでメモしておく。 やりかた サンプルスクリプト #!/bin/sh # 永遠に標準出力と標準エラー出力を繰り返す while …

よく見る圧縮形式メモ

雰囲気でしかわかってなかったので整理。 zip WindowsやMacの標準形式 圧縮率は高くない 4GBを超えるファイルは扱えない 圧縮後に2GBを超えるファイルは扱えない Macの標準機能で圧縮すると、Windowsでファイル名が文字化けする Linuxでは標準で使えない 複…

OS起動時に自動でディレクトリやファイルを作成する

たとえば、CentOS7では、/var/run/* がシャットダウン時に削除されるけど、OS起動時にはディレクトリ作っておいてほしいケースとかで使う。 設定ファイル置き場 /etc/tmpfiles.d/*.conf 記法 # ディレクトリがなければ作る d /var/run/my_app 755 root root …

プロセスが掴みっぱなしの削除済ファイルを取り出す

ファイルを作成して、lessで掴む $ echo 'dummy data' > example.txt $ less example.txt 別ターミナルで、掴んだファイルを消す $ rm example.txt 削除済のファイルを掴んでいることを確認できる $ ps a | grep less 23249 pts/14 S+ 0:00 less example.txt…

トラブルシュート時に使うコマンドメモ(2)

# wchanでプロセスの待ち状態を表示 sudo ps ax -opid,cmd,wchan # fオプションでプロセスをツリー表示 ps auxf # システムコールレベルでの処理をトレース strace -p <プロセスの PID> # 子プロセスもまとめてトレース strace -p <プロセスの PID> -f # プ…

ルーティングの確認&更新

よくわかっていなかったので整理。 # ルーティングテーブルの確認 route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 192.168.0.1 0.0.0.0 UG 100 0 0 eth0 # デフォルトゲートウェイ = 192.168.0.1 default 1…

LVSとかkeepalivedとか

用語の整理 LVS これはなに? Linux Virtual Serverの略称で、負荷分散装置に求められる基本的な機能を提供する。 構成要素 IPVS(IP Virtual Server) 負荷分散機能を提供する ipvsadmユーティリティ LVSのほとんど全ての設定をipvsadmコマンドで行う 使い…

Linuxグループ

/etc/group cat /etc/group root:x:0:root ... my_group:x:501:user01,user02 my_group: グループ名 x: シャドウパスワードを使用 501: グループID(GID) user01,user02: セカンダリグループとして所属しているユーザーアカウントのリスト。カンマ区切り。 プ…

sudoers

sudoersはユーザにどんなsudo権限があるかを決定する。 設定ファイル # /etc/sudoers # /etc/sudoers.d/* # 誰が どのホストで=(誰として) 何をできる # rootユーザは、誰にでもなれて、なんでもできる root ALL=(ALL:ALL) ALL # wheelグループは、誰にでも…

仮想IPの設定メモ

# eth0に仮想IPアドレス(192.168.1.200)を割り当てる # ifconfigによる変更はサーバ再起動で無効化。 sudo ifconfig eth0:0 192.168.1.200 netmask 255.255.255.0 up # 仮想IPアドレスの割当を無効化 sudo ifconfig eth0:0 down # arpリクエストを投げて、同…

トラブルシュート時に使うコマンドメモ

カーネルのパラメータ確認 すべてのパラメータ(-a)から、パターンマッチしたものを表示 sysctl -a --pattern *** インターフェース設定ファイル(CentOSのみ) cat etc/sysconfig/network-scripts/ifcfg-eth0 # 修正後にrestartで反映 systemctl restart netwo…

swap領域の作成

やったことなかったので、やり方をメモしておく。 メモリ不足でやばいときの応急処置の1つとして使えるように。 確認 $ free -h total used free shared buff/cache available Mem: 7.6G 2.3G 163M 472M 5.2G 4.5G Swap: 0B 0B 0B ファイルの準備 sudo mkdi…

ポート番号の使用状態を確認する

【lsof】オープンしているファイルを一覧表示する # オープンしているファイル情報 $ lsof | grep -e COMMAND -e sample.txt COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME vim 35093 kinosuke01 3u REG 1,7 4096 4183268 /Users/kinosuke01/Desktop/…

ポートフォワードメモ

ローカルフォワードするとき 書き方をよく忘れているのでメモ。 ssh xx-user@app-stg-batch -L 8080:stg.internal-api.local:80 -N

.ssh/configの設定メモ

よくやる書き方をコメント付きでメモ。 # # ssh接続をタイムアウトしないための設定 # - 15秒ごとに応答確認 # - 10回応答がなかったら切断する # ServerAliveInterval 15 ServerAliveCountMax 10 # # Hostにはワイルドカードを指定できる # 設定を共有化し…

screenコマンドメモ

本番サーバで手動でバッチをまわしたけど、sshのセッションが切れて「あぁぁぁぁ」って、状況にしたくないときとかに使う。 セッションを作る screen デタッチする <ctrl> + <a> おしてから d セッション一覧 screen -ls アタッチする screen -r screen -r セッション</a></ctrl>…

ファイルディスクリプタの上限変更

確認 $ cat /proc/sys/fs/file-nr 576 0 1636820 file-nr内のパラメータはそれぞれ、 オープンされているファイル数 空きファイル管理データの数 システム中のオープンファイル管理データの最大数 を示します。 一時的な設定 ログインプロセスとその子プロセ…

シェルでファイル名・ディレクトリ名を一斉置換する

# ファイル find ./ -type f | grep old_word | awk '{print $0 " " $0 }' | awk '{sub("old_word", "new_word", $2); print $1 " " $2}' | xargs -n2 mv # ディレクトリ find ./ -type d | grep old_word | awk '{print $0 " " $0 }' | awk '{sub("old_word…

ffiのインストールで失敗する時

こんなエラー An error occurred while installing ffi (1.9.21), and Bundler cannot continue. Make sure that `gem install ffi -v '1.9.21'` succeeds before bundling.ライブラリがないっぽいので sudo yum install ruby-devel libffi-develすればOKだ…

rpmでインストール&アンインストール

オプションをいつも忘れるのでメモ。 # インストール rpm -ivh https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.1.rpm # アンインストール rpm -e elasticsearch # アンインストールに問題ないか確認 # 何か問題あったらごにょごに…

ディレクトリの容量を表示する - duコマンド

書式 du [オプション] [ディレクトリ名|ファイル名] 主なオプション -a # ディレクトリ内の各ファイルに対しても使用量を表示する -b # 結果をバイト単位で表示する -k # 結果をキロバイト単位で表示する(デフォルト) -s # 合計サイズのみを表示する -h # …