備忘録

備忘録

Linux

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)を構築する方法

Ⅰ. はじめに タイトルの通り「UbuntuでSOCKSサーバ(Dante)を構築する方法」です。CentOSでSOCKSサーバ(Dante)を構築する方法はこちら https://kagasu.hatenablog.com/entry/2017/08/26/173052 Ⅱ. やり方 1. Danteをインストールする apt install dante-serve…

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をインストールする方法

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

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

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

ネットワーク接続のコネクションを表示する方法

Ⅰ. はじめに タイトルの通り「ネットワーク接続のコネクションを表示する方法」です。 Ⅱ. やり方 一覧表示 netstat -nat ソートして表示 netstat -nat | awk {'print $5'} | cut -d ":" -f1 | sort | uniq -c | sort -n 参考 https://ja.wikipedia.org/wiki/…

TermuxにSSH接続する方法

Ⅰ. はじめに Ⅱ. やり方(パスワード認証) 1. 以下のコマンドを実行する 2. SSHサーバの起動 接続結果 Ⅱ. やり方(公開鍵認証) 1. ストレージ権限を有効にする 2. 以下のコマンドを実行する 3. 秘密鍵を取り出す 4. SSHサーバの起動 接続結果 参考 Ⅰ. はじ…

.soファイルのシンボルテーブルを出力する方法

Ⅰ. はじめに タイトルの通り「.soファイルのシンボルテーブルを出力する方法」です。 Ⅱ. やり方 以下のコマンドを実行する nm -D libhoge.so 実行結果 U abort U accept U access U acos (以下省略) 参考 https://stackoverflow.com/a/4514781

MariaDB(MySQL)を自動的にGoogleDriveにバックアップする方法

Ⅰ. はじめに タイトルの通り「MariaDB(MySQL)を自動的にGoogleDriveにバックアップする方法」です。 Ⅱ. やり方 1. git cloneする $ git clone https://github.com/kagasu/DBAutoBackup 2. gdriveを初期化する // gdrive を以下のリポジトリから自分でビルド…

Linuxでディスク読書速度を測定(ベンチマーク)する方法

Ⅰ. はじめに Ⅱ. やり方(簡易版) 書き込み速度 読み込み速度 Ⅲ. やり方(fioを使用する方法) インストール 書き込み速度(random read) 読み込み速度(random write) その他 Ⅰ. はじめに タイトルの通り「Linuxでディスク読書速度を測定する方法」です。 Ⅱ.…

Linuxでディスク容量を確認する(ncduコマンド)

Ⅰ. はじめに ディスク容量や使用率等だけであれば「dfコマンド」、どのディレクトリがどれだけというのは「duコマンド」で見ることが出来ます。 しかし「duコマンド」は毎回ディレクトリを指定する必要がある為面倒です。 そこで ncdu を使います。 Ⅱ. ncdu…

Python3でMariaDB(MySQL)に接続する方法

Ⅰ. はじめに タイトルの通り「Python3でMySQLに接続する方法」です。 Ⅱ. やり方 1. 必要なものをインストールする CentOS 7.4の場合 yum -y install gcc mariadb-devel MariaDB-shared zlib-devel openssl-develUbuntu 16.04の場合 apt -y install build-ess…

Linuxで他プロセスのメモリを読み書きする方法

Ⅰ. はじめに タイトルの通り「Linuxで他プロセスのメモリを読み書きする方法」です。 Windowsの場合はOpenProcessしてプロセスのハンドルを取得した後にReadProcessMemory, WriteProcessMemoryすればOKです。 Ⅱ. サンプルプログラム メモリを読み書き「され…

mitmproxyとarpspoofを利用してスマートフォン(Android/iOS)のHTTP(s)通信を見る方法

Ⅰ. はじめに タイトルの通り「mitmproxyとarpspoofを利用してスマートフォン(Android/iOS)のHTTP(s)通信を見る方法」です。 Ⅱ. 環境 Kali Linux 4.13.0http://kagasu.hatenablog.com/entry/2018/01/20/090654 Ⅲ. やり方 1. IPフォワードを有効にする echo 1 …

WindowsでHyper-V用Kali Linuxをインストールする方法

Ⅰ. はじめに 今回はKali Linux公式HPで公開されているHyper-V用のイメージを利用します。 予めHyper-Vを有効にする必要があります。 http://kagasu.hatenablog.com/entry/2016/09/24/192659 Ⅱ. やり方 1. Hyper-V用Kali Linuxのイメージをダウンロードする h…

bashで文字列を数値に変換して数値計算する方法

Ⅰ. はじめに bashの変数は全てを文字列として扱う為、そのままでは数値計算ができません。 数値計算を行う方法として以下の3通りあります。 # 概要 1 $(())を使う方法 2 exprを使う方法 3 bcを使う方法 Ⅱ. $(())を使う方法 $ echo $((10+10)) 20 Ⅲ. exprを使…