備忘録

備忘録

Linux

各OSでファイルを検索する最善の方法

Ⅰ. はじめに タイトルの通り「各OSでファイルを検索する最善の方法」です Ⅱ. 方法 Windows Everything を利用する Linux mlocate を利用する $ apt install mlocate $ locate initdb /etc/alternatives/initdb.1.gz /usr/lib/postgresql/15/bin/initdb /usr/…

LinuxでGPUをパススルーして仮想マシンで利用する方法

Ⅰ. はじめに Ⅱ. 環境 Ⅲ. 手順 1. BIOS設定を変更する 2. UEFIを利用してUbuntuをインストールする 3. GRUBを編集する 4. GRUBの設定を反映する 5. 再起動する 6. IOMMUが有効になったか確認する 7. 仮想化ソフトウェアをインストールする 8. ユーザのグルー…

Linuxに.NET Previewをインストールする方法

Ⅰ. はじめに タイトルの通り「Linuxに.NET Previewをインストールする方法」です。 Ⅱ. 手順 1. 以下コマンドを実行する curl -L https://aka.ms/install-dotnet-preview -o install-dotnet-preview.sh chmod +x ./install-dotnet-preview.sh ./install-dotne…

Linuxで一時的にコマンド履歴を残さない方法

Ⅰ. はじめに タイトルの通り「Linuxで一時的にコマンド履歴を残さない方法」です。 Ⅱ. 手順 1. 以下コマンドを実行する unset HISTFILE 実行結果 省略 参考 https://unix.stackexchange.com/questions/10922

C言語+Linuxで任意ネットワークインターフェイスを指定してTCP接続する方法

Ⅰ. はじめに タイトルの通り「C言語+Linuxで任意ネットワークインターフェイスを指定してTCP接続する方法」です。 Ⅱ. 手順 1. サンプルプログラムを書く main.c #include <stdio.h> #include <unistd.h> #include <sys/socket.h> #include <arpa/inet.h> #include <errno.h> int main() { int sock = socket(PF_INET,</errno.h></arpa/inet.h></sys/socket.h></unistd.h></stdio.h>…

Linuxで任意ディレクトリだけアクセス可能なユーザーを作成する方法

Ⅰ. はじめに タイトルの通り「Linuxで特定ディレクトリだけ参照可能なユーザーを作成する方法」です。 Ⅱ. 手順 1. 新規ユーザーを作成する useradd user001 2. パスワードを設定する passwd user001 3. ホームディレクトリを作成する mkdir /home/user001 4.…

OpenSSLのセキュリティレベルを変更する方法

Ⅰ. はじめに タイトルの通り「OpenSSLのセキュリティレベルを変更する方法」です。以下のようなエラーが出力された場合に本記事内容を実行すると解決します。 cURL error 35: error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small58: could no…

systemdを利用して一定時間ごとに任意のコマンドを実行する方法

Ⅰ. はじめに タイトルの通り「systemdを利用して一定時間ごとに任意のコマンドを実行する方法」です。 Ⅱ. やり方 1. 一時的なスケジュールを作成する # 「『5秒ごとに"echo hello"を実行するスケジュール』を『1秒後に開始する』」スケジュールを作成する # …

CPU使用率メモリ使用量を制限してコマンドを実行する方法

Ⅰ. はじめに タイトルの通り「CPU使用率メモリ使用率を制限してコマンドを実行する方法」です。 Ⅱ. やり方 # CPU使用率制限 systemd-run --user --wait -p CPUQuota=30% stress --cpu 1 --timeout 10s # メモリ使用量制限 systemd-run --user --wait -p Memo…

QEMUでUEFIを利用する方法

Ⅰ. はじめに タイトルの通り「QEMUでUEFIを利用する方法」です。 Ⅱ. 環境 Ubuntu 20.04.1 LTS Ⅲ. やり方 1. KVMが利用できるか確認する(オプション) apt install cpu-checker kvm-ok 2. QEMUをインストールする apt install qemu qemu-utils qemu-system-x…

systemdをcron代替として利用する方法

Ⅰ. はじめに タイトルの通り「systemdをcron代替として利用する方法」です。 例として「10秒ごとにecho helloを実行する方法」をこの記事で紹介します。一時的なスケジュールを簡単に作成する方法はこちら Ⅱ. やり方 1. サービスユニットファイルを作成する …

systemdを利用してCPU使用率を制限する方法

Ⅰ. はじめに タイトルの通り「systemdを利用してCPU使用率を制限する方法」です。 Ⅱ. やり方 1. 負荷テスト用にstressをインストールする apt install stress 2. systemd ユニットファイルを作成する /etc/systemd/system/StressTest.service [Unit] Descrip…

Linuxで任意CA証明書をインストールする方法

Ⅰ. はじめに タイトルの通り「Linuxで任意CA証明書をインストールする方法」です。 Ⅱ. やり方 1. 任意CA証明書をコピーする cp server.crt /usr/local/share/ca-certificates/ 2. 更新する update-ca-certificates その他 Linuxで自己署名証明書を発行する方…

Linuxで自己署名証明書を発行する方法

Ⅰ. はじめに タイトルの通り「Linuxで自己署名証明書を発行する方法」です。 オレオレ証明書とも呼ばれる事があります。 Ⅱ. やり方 1. 秘密鍵生成(RSA 2048bit) openssl genrsa 2048 > server.key 2. 証明書署名要求(CSR)の生成 openssl req -new -key serve…

Intel GVT-gを利用してiGPUを仮想化して使用する方法

Ⅰ. はじめに タイトルの通り「Intel GVT-gを利用してiGPUを仮想化して使用する方法」です。 Ⅱ. 環境 Intel i7 8700 Ubuntu 20.04.1 LTS Linux kernel 5.4.0 QEMU 4.2.1 BIOSの設定でVT-xとVT-dを有効に設定 Ⅲ. やり方 1. OS起動時にロードするカーネルモジュ…

サーバの仮想化手法を調べる方法

Ⅰ. はじめに タイトルの通り「サーバの仮想化手法を調べる方法」です。 Ⅱ. やり方 1. dmidecodeを使う方法 $ dmidecode -s system-product-name KVM 2. systemd-detect-virtを使う方法 $ systemd-detect-virt kvm 3. dmesgを利用する方法 $ dmesg | grep -i …

QEMUでWindowsを利用する方法

Ⅰ. はじめに タイトルの通り「QEMUでWindowsを利用する方法」です。 Ⅱ. 環境 Ubuntu 20.04.1 LTS Ⅲ. やり方 1. KVMが利用できるか確認する(オプション) apt install cpu-checker kvm-ok 2. QEMUをインストールする apt install qemu qemu-utils qemu-syste…

systemdのログ(journal)の制限を変更する方法

Ⅰ. はじめに タイトルの通り「systemdのログ(journal)の制限を変更する方法」です。journalはデフォルトで「10,000メッセージ/30秒」(※参考1)に制限されている為以下のようなメッセージが出る場合があります。 Nov 24 09:10:27 73188-test systemd-jour…

ファイルディスクリプタについて

Ⅰ. はじめに タイトルの通り「ファイルディスクリプタについて」です。 環境 Ubuntu 20.04 メモ OS全体のファイルディスクリプタ上限を確認する $ cat /proc/sys/fs/file-max 9223372036854775807 OS全体の割り当て済みファイルディスクリプタ数を確認する …

UbuntuでSOCKSサーバ(Dante)を構築する方法

Ⅰ. はじめに Ⅱ. 手順(認証なし) 1. Danteをインストールする 2. 設定ファイルを編集する 3. Danteを起動する 4. 接続テストする Ⅲ. 手順(ユーザー認証あり) 1. Danteをインストールする 2. 設定ファイルを編集する 3. Dantedを起動する 4. ユーザーを追…

Muninを利用してサーバをモニタリングする方法

Ⅰ. はじめに Ⅱ. 環境 Ⅲ. やり方 (1) Webサーバ側 1. Munin をインストールする 2. Muninの設定を行う 3. Nginxをインストールする 4. Nginxの設定を行う 5. nginxを起動する (2) 監視される側 1. Munin nodeをインストールする 2. Munin nodeの設定を行う 3.…

Linuxでコンテキストスイッチ回数をn秒毎に表示する方法

Ⅰ. はじめに タイトルの通り「Linuxでコンテキストスイッチ回数を1秒毎に表示する方法」です。 Ⅱ. やり方 以下コマンドを実行する # 1秒ごと sar -w 1 # 3秒ごと sar -w 3 実行結果

Linux に n8n をインストールする方法

Ⅰ. はじめに タイトルの通り「Linux に n8n をインストールする方法」です。 Ⅱ. やり方 1. n8n をインストールする npm install n8n -g 2. systemd ユニットファイルを作成する /etc/systemd/system/n8n.service [Unit] Description=n8n service [Service] R…

CentOS7/8 で IPv6 アドレスを複数追加する方法

Ⅰ. はじめに タイトルの通り「CentOS7/8 で IPv6 アドレスを複数追加する方法」です。 Ⅱ. やり方 以下2つのIPアドレスを追加する例です。 1:2:3:4:5:6:7:8 1:2:3:4:5:6:7:9 1. 以下ファイルを編集する /etc/sysconfig/network-scripts/ifcfg-eth0 # 追加する…

.NET Core アプリを systemd を利用してサービス化する方法

Ⅰ. はじめに Ⅱ. やり方 1. ユニットファイルを作成する 2.起動する 実行結果 ログの表示 留意点 ASP.NET Core について 参考 Ⅰ. はじめに タイトルの通り「.NET Core アプリを systemd を利用してサービス化する方法」です。 「ASP.NET Core」 または 「.NET…

crontab -r を無効化(使用禁止)する方法

Ⅰ. はじめに タイトルの通り「crontab -r を無効化(使用禁止)する方法」です。 Ⅱ. やり方 1. ~/.bashrc に以下一行を追加する ~/.bashrc crontab () { [[ $@ =~ -[iel]*r ]] && echo '"r" not allowed' || command crontab "$@" ;} 2. 反映させる source ~…

Linuxに最新版のGoをインストールする方法

Ⅰ. はじめに Ⅱ. やり方(Ubuntu) 1. 以下のコマンドを実行する 2. 環境変数を設定する 3. Go を実行する Ⅲ. やり方(CentOS) 1. 以下のコマンドを実行する 2. 環境変数を設定する 3. Go を実行する 参考 Ⅰ. はじめに タイトルの通り「Ubuntuに最新版のGoを…

Linuxでプロセスがロード済みの動的ライブラリ一覧を表示する方法

Ⅰ. はじめに タイトルの通り「Linuxでプロセスがロード済みの動的ライブラリ一覧を表示する方法」です。 Ⅱ. やり方 1. プロセスIDを取得する ps -ef | grep target_app_name 2. 一覧を表示する cat /proc/[pid]/maps 実行結果 12c00000-12d80000 rw-p 000000…

LinuxにNode.jsをインストールする方法

Ⅰ. はじめに Ⅱ. やり方(Ubuntu) 1. 以下のコマンドを実行する 2. Node.js をインストールする Ⅲ. やり方(CentOS) 1. 以下のコマンドを実行する 2. Node.js をインストールする 実行結果 参考 Ⅰ. はじめに タイトルの通り「LinuxにNode.jsをインストールす…

DockerをLinuxにインストールする方法

Ⅰ. はじめに Ⅱ. やり方 1. Docker をインストールする 2. Docker を起動する 3. Docker でhello worldする 4. hello-world を削除する(任意) 参考 Ⅰ. はじめに タイトルの通り「DockerをLinuxにインストールする方法」です。 Ⅱ. やり方 1. Docker をインス…