gitで便利なaliasメモ あったらいいよね、なメモ。 # git alias st='git status' alias glog="git log --no-merges --date=local --pretty='format:%C(yellow)%h %C(green)%cd %C(yellow)%an%C(red)%d %C(reset)%s' $1" alias glatest="glog -20" alias tagfind='git tag --list|
Linux環境にNode.js v16をインストールする Linux 環境、または WSL 環境に Node.js v16 をインストールしたい。 apt-getだと微妙に古いのがインストールされて、それをアップデートしていくのは面倒なので。 インストール やり方は公式通り。 Node.js LTS (v16.x): のとおりにインストールすればできます。 # Using Ubuntu curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt-get install -y nodejs # Using Debian, as root curl -fsSL https://deb.nodesource.com/setup_
WSL, Linux(Ubuntu)初期セットアップまとめ 初期セットアップで必ずやる。 自分用のまとめ。 * 標準エディタはnanoじゃなくてvimにしたい * sudoするのにパスワードを入力したくない * UbuntuにDockerインストール 2022 * sshで公開鍵による認証にする * Linux環境にNode.js16インストールする
sshで公開鍵による認証にする 公開鍵による ssh ログイン サーバは公開鍵によるログインに限定して、パスワードでのログインを禁止したほうがいい、という記事を見かけました。 なんでも、パスワードはブルートフォースアタックで突破されやすいとか。 アタック失敗回数で一定時間弾いたりとかするのも有効らしいですが、お手軽な公開鍵登録によるログインにしようと思います。 公開鍵の作成 いつもどおり、公開鍵を作成します。 どこに作ったか忘れがちなので、 ~/.ssh/ 配下に作成。 デフォルトでは id_rsa という名前で作成されます。 接続先はたぶんこの先増えていくので、わかりやすい名前にしておきましょう。 -f オプションで出力先を指定することもできます。 # クライアントPCで鍵を作る cd ~/.ssh ssh-keygen -t rsa -b 4096 -f [出力ファイル名] 鍵を作成するときにファイル名と、パスワードを聞かれます。 ここでパスワードを入力せずに Enter で進むと、パスワード無しでのログインができるようになります。 リモートへ公開鍵を転送する
UbuntuにDockerインストール 2022 自宅サーバでもサービスはコンテナでデプロイしたい。 Docker のおかげで、自宅サーバへのデプロイも簡単になりましたね。 今回は ubuntu に docker 実行環境をインストールします。 apt でもインストールできますが、ここは公式ドキュメントにしたがってリポジトリを最新化する方法でインストールしてみます。 ## aptの準備 sudo apt-get update sudo apt-get install -y ca-certificates curl gnupg lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/
Let's encrypt!! 2022 自宅サーバでLetsEncrypt 激安中華 PC BMAX B2をLinuxサーバにしたので、https接続をするべく、letsencryptで証明書を取得します。 今回はAPIサーバとして使うので、fastifyに組み込みます。 大雑把な流れは以下の通り。 * DDNSで自宅アドレスにドメインを紐付ける * certbot インストール * ルータでポートを開放 * cerrtbot実行(証明書発行) * pem のアクセス権を変更 * https証明書として取り込む(fastify) * 自動更新 ここまで、すべて無料でできます。 DDNSで自宅アドレスにドメインを紐付ける DDNSサービスで、自宅のIPアドレスに名前をつけます。 使うサービスによってやりかたは違いますが、プロバイダに割り当てられたIPアドレスに無料でサブドメインを割り当ててくれます。 DDNSサービス次第ですが、無料のものもけっこうあります。 この記事の例では、いつも利用させていただいているDDNS Nowを使いました。 独自ドメインを使いたい場合は有料プラ
激安中華 PC BMAX B2 をレビュー 激安中華 PC BMAX B2 を買った BMAX B2は Intel 入ってるミニ PC です。 Amazon で購入しました。 タイムセールで値引き中+ 2,000 円クーポンで 18,816 円。 BMAXって聞いたことなかったですが、中国のメーカーっぽいです。 なんで、なにをするのに買ったのか 24 時間 365 日動かし続けるサーバ用途です。 最初は AWS も検討しましたが、RDB を四六時中動かすとなると最小構成でも結構高い。 自分しか使わないし、別にスケールしてくれなくてもいいので自宅に低電力サーバ立てることを考えました。 AWS の Aurora PostgreSQL だと、1ヶ月で US80$ くらいかかるようですが、自分でメンテできればこれを2ヶ月位でペイできます。 Raspberry Pi4を持っているので、これを使うことも考えましたが MicroSD の速度の低さと信頼性に不安があります。
UbuntuのGUI(デスクトップ)を一時的にオフにする PCが増えてきたのでUbuntuを含む環境で、ディスプレイ出力をまとめるために中華HDMIセレクターを使っていました。 安いのはいいんだけど、時々4Kを認識せずにXGA(1024x768)解像度になっちゃう。 それだけならまだいいんだけど、4Kの選択肢がなくなるのでめっちゃ困る。 イライラが止まらないので、セレクター外したところ、こんどは4Kを認識せず。 困った。 ドライバ再インストール NvidiaのRTX2060を使っているのですが、純正ドライバ入れればすぐ4K使えたのでドライバの再インストールすれば使えるだろうと予想。 しかし、Xが有効な状態ではエラーが出てドライバを再インストールできません。 GUIモードをオフにする UbuntuのGUI(デスクトップ)をオフにするでは恒久的にGUIモードをオフにしましたが、今回はドライバの再インストールするときだけでOKです。 おなじく systemctl コマンドを使います。 sudo systemctl isolate multi-user.target 上記コマンドを入力するとXが終了し、再ロ
dockerコマンドが使えない(Couldn't connect to Docker daemon) docker-composeコマンドを使おうとしたら、エラーになる。 Couldn't connect to Docker daemon どうやら、dockerの使用権限はデフォルトでrootユーザに限定されているから、らしい。 場当たり的対処・sudo rootユーザしかつかないならsudoすれば使えます。一番お手軽。 でも毎回 sudo つけるのも面倒。 根本的解決・ユーザに実行権限を付与 すでにdockerグループがないか確認する cat /etc/group | grep docker 何も表示されない場合はまだdockerグループが存在しません。 下記コマンドでグループを作成します。 sudo groupadd docker カレントユーザをdockerグループに追加する sudo usermod -aG docker $USER 確認 このまま実行してもまだdockerコマンドは使えません。 docker ps Got permission denied while trying to conne
ポートをロックしているプロセスを見つけてkill ときどき、ポートを掴んだままのプロセスが開発の邪魔をする。 例えば、8080ポート使いたいのにどっかで使われてる・・・? まずは犯人を特定 lsof コマンドを使い、対象ポート(今回は8080)を使っているプロセスを探します。 lsof -i -P | grep 8080 結構時間がかかりますが、こんなのが引っかかってきました。 Google 1198 nekoha 25u IPv4 0xaf6e92eeb035fb5 0t0 TCP 9.85.49.4:64190->9.189.31.189:8080 (CLOSE_WAIT) さっきまで Spring Boot で使ってたポート、なんで Google が・・・? 犯人のプロセスがわかったのでkillする まあ犯人はわかったので。 kill だけだとデフォルトの終了命令(15)