それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

linux

sudo -e ( sudoedit ) でvimで保存しても反映されない

sudo -e (名前=sudoedit ) コマンドは一時ファイルで編集する sudo -e とは環境変数EDITORを使って、/tmp フォルダにファイルを作ってそれを開いてくれる。 エディタのプロセスを終了したら、元のファイルに上書きされる :w だけでは反映されない vim で開…

xvfb-run が標準エラーと標準出力を併せてしまう件

xvfb-run で実行すると stderr が取れない。 /usr/bin/xvfb-run を使えば楽ができる。 Xvfb を起動してDISPLAY変数をセットして、DISPLAY変数を渡して別途起動する、というプロセス管理をぱぱっとやってくれるシェルスクリプトです。 しかしstderr が取れな…

dockerがapt失敗する - dns の設定を見直してみる。

Docker で起動したUbuntuがネットに出られない。 docker コンテナ側からインターネットへのネットワークの疎通を確認する。 今回は、なぜか、通信ができなかったので、エラーになる。いきなり発生したので原因を探っておく。 疎通確認 docker run busybox pi…

nginx で 443 default_server を入れたら接続できなくなる

443 で default_server を入れたら通信がおかしくなる件 nginx でドメインをキャッチオールして、別サーバーのnginx へ丸投げする、多段nginx の設定を書いていたら、80 だと動くんだけど、443 で動かない。 listen 443 ssl https default_server をつけると…

s3互換 minio を使って AmazonS3 の実験コストを節約する

Aws の S3 の代替サーバーを使う。 s3 の設定をいちいちするのはめんどくさいので、使い捨ての s3 が欲しくなる。 minio オブジェクトストレージ minio というS3と同様のオブジェクトストレージが使えるサーバを使って、開発コスト(時間設定金銭)を下げて…

ファイルが作成されてから何秒経っているか?作成後指定秒経過したらなにかする。

ファイルが作成されてから何秒経っているか? このファイルが、作成されてから何秒経過したか。それ知りたいことありませんか? ファイルAがファイルBより古いときはファイルAを更新するとか 作成後(更新後)の経過秒数を知る echo $(( $(date +%s) - $(date…

nginx で proxy 時に header を除去する-CSP上書き削除書き換え

nginx で http header を上書き除去する。 nginx でアプリケーションへ reverse proxy してたんだけど、アプリケーション側にcontent-security-policy の設定が最新版のChromeと合わなかった。とくに blog/data add_header で csp を追記しようとしたけど、…

date コマンドでミリ秒→日付、int 秒 → 日付へそれぞれ数値を日付表記にフォーマットする

int 秒を日付にするには 引数 -d に @11234567 をつけます。 takuya@~$ date -d @1566808184 +"%F %T" 2019-08-26 17:29:44 ミリ秒の場合。 date コマンドはミリ秒を解釈しないので、いったんint へ数値計算してやる takuya@~$ date -d @$((1566808184122/10…

which コマンドでPATHにある同名のコマンドを全部列挙する

PATH の優先順位に悩まされるたときに which which コマンドを使うと 環境変数 PATH にあるコマンドのうち、最初に見つかったもの(実行されるもの)を表示してくれます。 which python どのコマンドが実行されるのか調べるのに便利ですし、よく使ってると思…

systemd のdaemon のサービスを定期的に再起動する unit ファイルの書き方

systemd のサービスを定期的に再起動する systemd で作ったサービスを定期的に再起動したい。 定期的に再起動する必要があるのか。と問われれば、私自身も答えに窮するのだけれど。 今回は pip install しているpython パッケージや npm run で起動している…

bash で三項演算子っぽく処理を書くには

bash でも三項演算子を使いたい かんたんな、初期値nullチェックとかで三項演算子的なことをよくやります。 bash でもやりたいなと思って調べててみたけど、なかった(あったので追記書きます。)。 条件分岐を使って原始的な手法がsh/bash で使えるのでご紹…

systemdのジョブの起動前、起動後に処理を記述する preExec / PostExec

systemd で自動起動するファイルを記述したが pip のアップデートで苦労する systemd でdaemon を起動しているのですが、pip 関連でアップデートが頻繁にあるモジュールだと、前もって更新してあげないとエラーになることがる。 systemd で事前処理・事後処…

ユーザー毎の systemd を使ってシステム全体設定と個人用設定を分ける。

systemd のユーザーごとの設定というのがあります。 systemd は sudo 権限がないと動かないと思ってませんか。 タイマーや自動起動、インスタンスやサービスはもう、ユーザー空間でできるのです。 ユーザーモードでの systemd というのがあります。 引数 --u…

ubuntu でもCtrl-Shift-ESC でタスクマネージャーを起動したい

Ctrl −Shift - Esc でタスクマネージャーを起動したい 強制終了をしたいときとか pkill で構わないんだけど、ついつい、癖で押しちゃうので、ショートカットにする ショートカットの設定画面 コマンドを指定する。 Gnome Desktop でWindowsのタスクマネージ…

gitサーバのgogs を使うことに

github だけがgit webじゃない。 git をWEBで閲覧するのには、github 以外にも git serverとして gitweb でもなんでもある。 gitlab は要求水準が高いし、prometheus がCPU食いまくる、またgitlab は複数のドメインで運用が面倒だ。*1 gitlab を複数インスタ…

curlコマンドで ~/.curlrc の設定を有効無効を切り替える

curlrc でよく使うオプションを入れておくと便利 curl でよく使う設定をまとめる ~/.curlrc - それマグで! 便利なのですが、ついつい入れすぎてしまって、いざというときに不要なファイルを消せない。 どういうことかというと、~/.curlrc が存在してると最…

DoH:DNS-over-HTTPS なサーバーを作って試す。

DoH サーバーを作って問い合わせをちょっとだけ秘密にする。 DNS によるブロッックングが2019 上半期の一番の話題だったと思う。DNSブロッキングはUKで実際に運用されていたり、法制度化されているので本邦でも導入するべきと言った論調だった。児童ポルノで…

ハードウェアの情報を一覧する lshw コマンド

ハードウェアの情報を収集して出力する lsusb や lspci などのコマンドがあるけど、まとめて実行して情報を取り出すには不便。調べたら lshw といういうコマンドを見つけた インストール takuya@:~$ sudo apt search lshw ソート中... 完了 全文検索... 完了…

gvfs でssh FUSEマウントしたファイルシステムの書き込みが遅い

gvfs でマウントしつかってて、どうも遅い。 速度測定してみた あまりに遅いので、1GBの転送は途中で諦めてしまった。 takuya@:Desktop$ dd if=test.img of=/run/user/1000/gvfs/sftp:host=192.168.11.125/home/takuya/test.img ^C97031+0 レコード入力 970…

ssh の転送速度を測定をしてみる

SSHの速度を測定しようと思い立った。 なんかネットワークが遅いので、SSHでの速度測定をしてみることに。 速度測定するコマンド ファイルの準備 dd if=/dev/urandom of=test.img bs=1k count=1000000 転送 cat test.img | ssh host.tld 'dd of=/dev/null ' …

gvfs あたらめ gio でログインしたときだけネットワークのドライブをマウントする

Ubuntu のGVSマウントをログイン時にしたい。 ubuntu デスクトップのログイン時のマウント機能と同等のマウントしたい fstab や autofs でもできるが、そっちはシステム全体なのでわかりやす。gvfs は面倒かと思ったけど、使ってみたらgvfs が圧倒的に楽だっ…

sed で数字の繰り返しを正規表現で置換するには、文字指定が違う

sed で数値指定する 数字のマッチは、次のようになる。 sed '/[[:digit:]]/' sed '/[0-9]/' 正規表現に親しんでいると、つぎように \d を書きたくなるが、これは動かない。 sed '/\d/' # 動かない。 sed で複数桁の数字にマッチさせる。 動かない sed '/[[:d…

sed 文字列が含まれる行を削除する

sed で、文字列を探し、文字列が見つかった行を消す。 sed -e '/search/d' 検索語 search を含む行を削除。 これで指定文字列を探してその行を除去することができる。 行をまるごと消すのに、改行コードは必要ない。 ありがちなミス。 sed 's/search\n//' ##…

rclone でサーバー(gdrive/owncloudなど)のファイルをローカルにFUSEマウントする。

rclone に mount オプションを見つけたのです。 早速使用してレポートします。 rclone mount でリモートをFUSEとしてマウントする。 マウントした結果がこちら マウントコマンド(シンプルでいい) rclone mount remote locale-dir REMOTE は名前で識別する…

bash の* ( アスタリスクのワイルドカード)でドットファイル(隠しファイル)を一時的にマッチさせる

TL;DR shopt -s dotglob shopt -u dotglob ドットファイルも含めたい時がある。 for i in $ (ls -a) はめんどくさいんだよなぁ ホームディレクトリで、*でワイルドカードマッチさせても一致しないのが不便。 ls -al しているときは気にならないのだけど、一…

Certbot を自動的に更新するタイマーを設定する。

certbot に apache/nginx を殺される。 通常のCertbotだと、DNSのAレコードとHTTP(s)を使って、ドメインの確認を行う。 しかし、web サーバーを不用意にシャットダウンされるのは面倒でした。あとポート転送とかやってたりするとめんどくさいんだよなぁ。 DN…

ubuntu 16/debian のLTSにphp7.1 php7.2 などを導入する

Ubuntu 16 LTSのPHPが古い WindowsのWSLでインストールされる Ubuntu 16 LTS のパッケージがLTSらしく、どれもちょっと古くて困るので、php7.1 php7.2 をapt インストールして使いたい。 LTS だとphpが古い php5.6 のサポートは終わりました。 php7.0 のサポ…

DebianのBackportsを使う

debian のバックポートを使う。 パッケージがしっかりメンテされているので安心できる stable だけど、どうしても新しいものが欲しい時がある。 そういうときは、deiban のbackports よりも各ソフトウェアの公式のレポジトリを使えばいい。( node とか vival…

SpeedTest(スピードテスト)をコマンドからやりたい

皆さんも、おなじみスピードテスト コマンドからやりたい ssh 経由でリモートの接続の速度を知りたいですよね。うん。 コマンドインタフェースがあるんです。 https://www.howtoforge.com/tutorial/check-internet-speed-with-speedtest-cli-on-ubuntu/ イン…

ip コマンドは -o オプションを使うと便利すぎてやばい

ip コマンド は -o オプションをつけるとメッチャ見やすい ip コマンドの ip a の結果はごちゃって見辛くないですか?私は非常に辛い。 とくにIPv6 が混じってきて、1つのインターフェースに複数のIPが入ってくると辛い オプション -o をつけると便利 1行…