動かざることバグの如し

猫ゆえに。。。

linux

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を再開する。 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 16.04の自動アップデートを無効に設定する

サーバー運用だと自動でアップデートされると都合がわるいときもある。ってことで無効化設定するメモ ファイルで設定変更する 自動アップデートをするかどうかは/etc/apt/apt.conf.d/20auto-upgradesを書き換える。デフォルトは1なので root@myubuntu:~# ca…

PyenvをUbuntu serverにインストール

pyenvをrootとかnginxとか別のユーザーからでも使えるように/usr/local/にインストールするときのメモ 環境 Ubuntu Server 16.04 構成 ややこしいけど以下 pyenvとvirtualenvをインストール pyenv上でanaconda3をインストール anaconda3上でpython3.5.3をイ…

CentOS6でhttpsに接続するとSSL Connection Errorされる件

環境 CentOS 6 curl 症状 要はSSLが問題なので、httpsのサイトならなんでもよくて、例えば curl https://twitter.com ってやると通常はtwitterのソースが表示されるが、 SSL Connection Error ってでる。おかげでyum updateやbundle installもできない 原因 …

Rails+pumaで強制再起動をする方法

Capistrano経由で操作する場合 一番楽ではある bundle exec cap production puma:start bundle exec cap production puma:stop bundle exec cap production puma:restart サーバーから操作する場合 すべて/var/www/html/myrails/currentのようにcurrentディ…

ネームサーバーをお名前.comからRoute53に引越しした

お名前.comのDNSレコードが柔軟に設定できないのに嫌気さしたので引っ越し 以下を参考に qiita.com 引っ越す前 ~ $nslookup -type=ns turai.work Server: 192.168.1.1 Address: 192.168.1.1#53 Non-authoritative answer: turai.work nameserver = 02.dnsv.j…

マストドン(mastodon)のAPIを叩いて投稿

Mastodonとは github.com オープンソースで出来てたTwitter風SNS。中身はなんとRailsとポスグレで動いてる。 サーバー構築さえすれば誰でもサービスを始めることができるのが特徴 投稿するには? 最終的に投稿(トッートっていうらしい)をAPI経由で行うには以下…

物理的にLANケーブルが刺さっているか確認するLinuxコマンド

ethtoolコマンドの Link detected: の欄を見るとそもそもネットに繋がる環境かどうかがわかる つながるとき Link detected: yesになっている # ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 1…

シンボリックリンクの参照先を一発で変更する

例えばすでに ln -s TARGET1 MYLINK をしてMYLINKがTARGET1を参照するシンボリックリンクがあるとする ここで ln -s TARGET2 MYLINK をすると「シンボリックリンクがすでにあるから無理!」って 怒られて作成できない 上書きができないため unlink MYLINK ln…

UbuntuでLAN内のIPアドレスとMACアドレスを取得

いずれもroot権限でないとできないっぽい nmapを使う方法 stackoverflow.com nmap -sP -n 192.168.1.0/24 arp-scanを使う方法 apt install arp-scan sudo arp-scan -I eth*とかens* -l netdiscoverを使う方法 こっちはリアルタイムで変化するとのこと apt in…