動かざることバグの如し

近づきたいよ 君の理想に

linux

locateコマンドでディスク全体から一発検索

例えば「libjpeg.soを含むファイルをディスク全体から検索したい」ってときは今までfindコマンド使っていた find / -name "*libjpeg.so*" /usr/lib/x86_64-linux-gnu/libjpeg.so.8 /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/x86_64-linux-gnu/libjpeg.…

H.264対応のffmpegをLinux環境でビルドする

FFmpegは言わずとしれた動画音声変換用アプリケーションだが、ビルドが結構煩雑である。 ビルド済みのバイナリダウンロードしてそれつかえばええやんって話だが、ライセンス的な関係上、H.264のコーデックを使いたい場合は自分でビルドしなければならない っ…

ディスクが壊れてGive root password for maintenanceで起動しない

環境 CentOS 6 症状 ディスクが逝った。Linuxたんは賢いので、故障を検知すると自動でRead Onlyになる。 今回逝ったディスクはrootディスクじゃない別のデータ用ディスク。だからそのディスクだけ交換して再起動すればめでたしめでたし、かと思ったらそもそ…

Ubuntu 18.04以降でDNSサーバーを変更する方法

めっちゃハマった 環境 Ubuntu 17.04以降 ネームサーバーを変更できない問題 DNSの変更は/etc/resolv.conf、という時代は古い。Ubuntu 17.04以降ではsystemd-resolvedがデフォルトで動作しているため、/etc/resolv.confを書き換えても変更されない そもそも/…

DDR4&UEFIのPCでメモリテスト

Memtest86+が死んでる件について メモリテストの定番アプリケーションことMemtest86+ しかし最近は更新が滞っていて、最終更新が2013年(2018年6月29日現在) 当然最新のDDR4やUEFIの規格に対応できているはずもなく、上手く動作しない。そこでMemTest86でや…

nginxの多段プロキシ構成でIP制限を行いたい

環境 nginxのサーバーが2台あったとして ユーザー - インターネット - [nginx1] - [nginx2] - [rails] みたいな構成になっていたとき、nginx1ではなくnginx2側(バックエンド)で特定のIPのみ許可して、他のIPを弾きたい。 設定 例えば8.8.8.8からのアクセス…

MySQLで取得した結果をCSVに出力する

自分用メモ INTO OUTFILEを使う場合 MySQLサーバーがオンプレミスの場合はこっち SELECT * FROM users INTO OUTFILE '/tmp/users.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'; スクリプト経由で出力する場合 クラウドのサーバーだと権限的にI…

cuDNNのバージョン確認するコマンド

悲しいかな、nvcc --versionで取得できるバージョンはCUDAのみでこれではcuDNNのバージョンは取得できない 方法1 cudnn.hを見る # cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 以下はcuDNN 6.0の場合(CUDNN_MAJOR=6 CUDNN_MINOR=0なので…

iodineでVPN over DNSなVPN環境を構築する

iodineとは iodineとはDNSパケットを利用してVPN通信を実現するVPN over DNSのネットワークシステムを実現するアプリケーション。 普通のVPNでええやんって思うかもしれないけど、IPsecのVPNではファイアウォールの規制が厳しい環境だと使えないかもしれない…

Ubuntuの/bin/shはbashではなくdashとかやつ

めっちゃハマった。。 どういうこと # ll /bin/sh lrwxrwxrwx 1 root root 4 Feb 18 2016 /bin/sh -> dash* は????????? dash is ashとかいうBourne互換シェルのDebian版 だからd+ashでdash 厄介なのがBourne互換シェルを唄っているくせにbash等の…

CentOSでcan't create Thread: Resource temporarily unavailable対策

参考リンク Linux におけるスレッド数の上限 UNIX ulimit Settings — MongoDB Manual 3.6 環境 CentOS6 ある日いきなりSSH接続ができなくなった ログ見ると「ThreadError: can't create Thread: Resource temporarily unavailable」。どうもスレッド数が制限…

メインデスクトップPCのOSをUbuntuに変更した

今までWindows使ってきたけどアップデート面倒だしってことでなんとなく変えた 変更先 Ubuntu MATE 18.04 まだBeta版だが実質候補版?の立ち位置 いまのところバグっぽいバグには遭遇していない すごかったのが特にローカライズされてないバージョン入れたの…

Google Text To Speech APIをcurlで実行してみる

Mac or Linux環境で動く 必要なもの curl jq macならbrew install jq mp3が再生できるやつ macならbrew install mpg123 GoogleのAPIキー GCPの管理画面->認証情報から「認証情報を作成」→「APIキー」を選択 生成されたキーを控えておく コード #!/bin/bash t…

Imagemagickで画像の上下左右に余白を追加する

言わずと知れた最強画像処理コマンドImagemagickのネタ やりたいこと 画像の上下左右に白の余白を追加したい 最終的には画像の解像度は変更せずに余白を追加したい(つまりオリジナルの部分は小さくなる 失敗例 「imagemagick 余白」で検索すると余白追加に…

Ubuntu/CentOSでSassCをインストールする

SassCとは sassのC++実装版 実行速度がめちゃくちゃ速い めちゃくちゃ速い 環境 Ubuntu 16.04 CentOS 6 ただしデフォルトのgccのバージョンが古いので新しくする必要があるので以下のURLを参考 thr3a.hatenablog.com インストール方法 公式ドキュメントを参…

cronでnohupバックグラウンド処理を実行したい

やりたいこと SSHでサーバーにログインして以下のようなコマンドを叩くとする。 nohup some_command & するとnohupコマンドにより、SSHを切断してもsome_commandの処理はバックグラウンドで動き続ける。 これをcronで自動実行したい かきかた そのまま書くの…

Gitlabを8から10にアップデートする

gitlabのオープンソース版の方を8.9.1から10.1 にアップデートさせた手順メモ 環境 CentOS 6 omnibus-gitlab経由でインストールされた アップデートの流れ マイナーバージョンのアップデートであればyum install gitlab-ceすれば勝手に新しいパッケージがイ…

Vagrantのディスク容量を増やす

環境 vagrant 2 以前のバージョンでも同様にいける 使用したbox: bento/ubuntu-16.04 仮想ハードディスクの拡張 まずはゲストOS側(仮想側)で確認。デフォルトだと38GがMAXである。(/dev/mapper/vagrant--vg-rootの項目)ログとか貯まるとすぐに溢れそう vag…

初期化せずにHDDのパーティンションテーブルをGPTに変換する

いやー久々にハマった 状況 今まで2TBのHDDで運用してきたが、単価も安くなってきたので今回4TBのHDDを購入。例のクローン機能を使って無事にコピーまではできたが、いざディスクの拡張でコケる。 パーティションを 1.82 TiB から 3.64 TiB に拡大する 00:…

爆速でChrome対応オレオレ証明書を作成する

目指す証明書 Chrome 58以降にも対応 ワイルドカード対応 検証環境 Ubuntu 16.04(多分どのOSでも行ける やりかた 面倒な設定など無い。5秒で作れる ここでは仮に*.turai.workのオレオレ証明書を生成する方法を示す。 秘密鍵の作成 openssl genrsa 2048 > se…

MySQLのバイナリログを安全に削除する方法

バイナリログは ファイルで言う/var/lib/mysql/mysql-bin*で、いわゆるDBの更新ログ これをもとにリカバリとかできるのだが、今回不必要なDBサーバーにバイナリログを書き出す設定にしてしまったので削除したいというメモ 直接削除するのはダメなの? rm -rf…

Linuxで今すぐNTPサーバーと時刻同期する方法

毎回忘れるのでメモ service ntpd stop <-- まずntpdを停止する。 ntpd -qg <-- 時刻合わせをする service ntpd start <-- ntpdを再開する。 hwclock -w ntpq -p <-- 一応稼働状況確認 おk、もう忘れない(フラグ

Linuxコマンドで文字列から前後の空白を除去する

やりたいこと 例えば「 hello world 」という前後と文中に半角スペースがある文字列を「hello world」にしたい 方法1 sed 置き換えの万人、sedコマンドを使う。 $echo " hello world " | sed 's/^[[:blank:]]*//' hello world が、いくらなんでも半角スペー…

Linuxでディスクに負荷をかけてるプロセスを特定したい

iotopコマンドの場合 rootないしはsudoが使える場合はこれが便利 名前の通りtopのごとく使える # iotop Total DISK READ : 0.00 B/s | Total DISK WRITE : 389.38 K/s Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 462.63 K/s TID PRIO USER DISK READ …

railsでpumaをkillできないときの対処

環境 rails 5 症状 pkill puma しても死ななかった これで死ぬはず pkill -9 puma が死なないだと??????? 結局以下で死んだ pkill -9 -f puma puma強すぎでしょ

CentOSでパフォーマンス出ないときはcpuspeedを疑え

要約 cpuspeedがCPUのパワーを勝手にセーブしている 節電と温度のためにあるっぽいけど無効化しよう 経緯 CentOS 6.9 とあるサーバーがスペックいいはずなのに、思ったよりスピードが出ない。 topコマンドとかログ見ても異常はとくにないし、、と思ったらど…

n回繰り返し実行するコマンド

シェルスクリプトでfor構文があるのは知っていたが、コマンド上でも使えるのを知らなかった( 10回実行したい場合 seqコマンドで1〜10が生成されるのでそれをforで回してあげる $ for i in `seq 1 10`; do echo $i; done 1 2 3 4 5 6 7 8 9 10 0埋めしたい場…

MySQLで正しくrootユーザーのパスワードを変更する方法

Qiitaの上位に載ってるやつが適当だったので仕方ないのでMySQLの公式ドキュメントから SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypassword');

今更だがgitをコンパイルする(CentOS,Ubuntu)

gitの脆弱性 先月あたりに発表されたgitの脆弱性が意外とクリティカル oss.sios.com というのも「悪意のあるコードを含んだレポジトリをgit cloneすると任意のコマンドが実行できてしまう」というなかなかの強者である。 ってことで急遽gitのアップデートと…

Ubuntuの自動アップデートを無効に設定する

サーバー運用だと自動でアップデートされると都合がわるいときもある。ってことで無効化設定するメモ 対象環境 Ubuntu 16.04以降 Ubuntu 18.04でも確認済み ファイルで設定変更する 自動アップデートをするかどうかは/etc/apt/apt.conf.d/20auto-upgradesを…