地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

2020-05-01から1ヶ月間の記事一覧

障害発生時にOS再起動からのfsckを防ぐ

OS再起動時に自動でfsck(ファイルシステムの状態を調べたり修復したりするためのもの)が走ると困ることが多々ある。 障害発生 -> 再起動 -> fsck(長時間)なんて場合にfsckは飛ばしたいって時に使える知識 vi /etc/fstab # LABEL=root / ext3 defaults 1 1 LA…

【Redis】redisの操作

String型 追加 set key value 削除 del key 取得 get key 複数追加 mset key value key value 複数取得 mget key key List型 末尾追加 rpush key value 先頭追加 lpush key value 末尾削除 rpop key 先頭削除 lpop key 全部取得 lrange key 0 -1 指定したint…

github actions/chacheにv2がきた

github.com 進化のめまぐるしいgithub actionsのcacheのv2がリリースされていた。 どのフローを書いても必須と言っても過言ではないアクションなので早速導入してみた。 zstd圧縮を使用してのパフォーマンスの向上 他のフローからキャッシュを利用可能に 複…

Server languageserver.golang failed to start: Command "gopls" of languageserver.golang is not executable: Error: not found: gopls

goplsがcocから呼び出せないところにいるときのエラー 14 "golang": { 15 "command": "gopls", 16 "rootPatterns": ["go.mod", ".vim/", ".git/", ".hg/"], 17 "filetypes": ["go"], 18 "initializationOptions": { 19 "usePlaceholders": true 20 } 21 }, :…

【Linux】特殊ファイルシステム

名前 マウントポイント 説明 bdev ブロック型デバイス devpts /dev/pts 疑似端末の提供 eventpollfs 効率の良いイベントポーリング機構が利用 futexfs futex(ユーザ空間のロック機構)が使用 pipefs パイプをFIFOとして扱う proc カーネルデータ構造へのアク…

【Go】SIGPIPEを無視する

Go

package main import ( "fmt" "os" "os/signal" "syscall" ) func main() { signal.Ignore(syscall.SIGPIPE) for { _, err := fmt.Println("Wow!") if err != nil { if e, ok := err.(*os.PathError); ok && e.Err == syscall.EPIPE { break } else { panic(…

【Linux】IPv6で待ち受けてるっぽいportの正体

netstatでLISTEN状態のportを確認した時に以下のように表示されることがある # netstat -antu | grep LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1084/sshd tcp6 0 0 :::80 :::* LISTEN 2316/httpd (httpdをサンプルとしてる) httpdのLISTENが:::80でプロ…

./configure: error: the HTTP rewrite module requires the PCRE library.

新規構築したサーバでnginxをビルドしようとしたら下記メッセージが。 ./configure: error: the HTTP rewrite module requires the PCRE library. You can either disable the module by using --without-http_rewrite_module option, or install the PCRE l…

bashの算術演算子のカンマ演算子

算術演算子を使ったスクリプトで変数を複数値変更したい場合にはカンマ演算子が使える $ cat test.sh : $((a=1,b=3)) $ echo $a $b 1 3 都度都度算術演算子を書く必要が無くて便利 もちろん複合代入演算子との併用も可能 : $((a+=10, b+=20)) ループ処理でイ…

【Linux】複数バージョンのGCCを同居させる

1.はじめに LinuxOSに付属する既存のコンパイラgcc/g++に加えて別のgcc/g++を導入すると動的リンクのライブラリの問題が発生する事があります。メモとして残します。 環境: CentOS6.7/32bit (64bitではありません) OS付属のコンパイラ: gcc/g++ version 4.4.…

【Linux】メモリに負荷をかけるツール

#! /bin/bash # "--bytest 5000000" is 500MB. echo PID=$$ echo -n "[ Enter : powerup! ] , [ Ctrl+d : stop ]" c=0 while read byte; do eval a$c'=$(head --bytes 5000000 /dev/zero |cat -v)' c=$(($c+1)) echo -n ">" done echo

コマンド結果をjsonへ

import os import sys import json import subprocess print(json.dumps(dict([(c, subprocess.getoutput(c).split('\n')) for c in sys.argv[1:]]))) コマンド結果をひたすらjsonへするコマンド。ワンライナーでできなかったので仕方なくpythonで実装。 $ p…

Error in Windows: File not found 'git' #71

GitHub Actionsでのエラー。checkoutアクションが失敗してるらしい。 PATHにgitが存在しない場合に起こる。 PATH: "$PYENV_ROOT/bin:$PATH" こんな感じで環境変数を自分で定義してしまってた。 github.com

【Docker】docker-compose 死活監視設定

docs.docker.com docker-composeでコンテナ内プロセスの死活監視を行うことできる。 healthcheck: test: ["CMD", "curl", "-f", "http://localhost"] interval: 1m30s timeout: 10s retries: 3 start_period: 40s healthcheckに実行したいコマンドとtimeout…

Apache servernameの話

httpリクエストのホストにvhostのどれにも当てはまらないservernameが来た際の動作 sampleのconf # Ensure that Apache listens on port 80 Listen 80 # Listen for virtual host requests on all IP addresses NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /www/exa</virtualhost>…

promql memo

全コアCPU使用率 avg(irate(node_cpu_seconds_total{mode="system"}[5m])) without(cpu) avg avg演算子は、レコードごとに格納されたスカラー値の平均値を返します。レコードのvalueが配列(Range Vector)の場合は適用できません。 ロードアベレージ node_l…

Jedi version 0.15.2 too old, requires >= 0.17.0

vimでpythonを書く際の補完に使ってるjedi関連でエラーが発生。 エラーメッセージ File "completion.py", line 698, in <module> 私の環境。 vim version: NVIM v0.4.3 node version: v13.9.0 coc.nvim version: 0.0.78-9febe802b3 jediのアップデートだけで解決かと</module>…

perlでredis

perlでredisを使う redis-server のインストール cpanmでモジュールを入れる。とりあえずバージョン指定はなしで。 $ cpanm Redis metacpan.org ドキュメントの文量が中なかなかに多い。。 接続する 接続を試してとりあえず適当な値をset use strict; use wa…

SSLに関するnginxの設定メモ

バージョン バージョンは1.17.6。 root@nginx 11:32:24 ~ # /usr/sbin/nginx -V nginx version: nginx/1.17.6 built by gcc 8.3.0 (Alpine 8.3.0) built with OpenSSL 1.1.1c 28 May 2019 (running with OpenSSL 1.1.1d 10 Sep 2019) TLS SNI support enable…