[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

2024年10月20日日曜日

Ubuntu 24.04上のDockerにgitlabをインストールする

1. Dockerのインストール(SNAP版)
※dockerをインストールしていない場合は、以下のコマンドでインストールします。
sudo addgroup --system docker

sudo adduser $USER docker

sudo snap install docker
テスト実行
docker run hello-world

2. gitlabのインストール
※gitlabのデータを保持するディレクトリ。適宜変更してください
export GITLAB_HOME=/mnt/usbhdd/gitlab

ホストのIPアドレスが192.168.1.111で、ポートを443->30443, 80->30080, 22->30020に変更した場合の実行例
docker run --detach \
   --hostname 192.168.1.111 \
   --env GITLAB_OMNIBUS_CONFIG="external_url 'http://192.168.1.111'" \
   --publish 30443:443 --publish 30080:80 --publish 30022:22 \
   --name gitlab \
   --restart always \
   --volume $GITLAB_HOME/config:/etc/gitlab \
   --volume $GITLAB_HOME/logs:/var/log/gitlab \
   --volume $GITLAB_HOME/data:/var/opt/gitlab \
   --shm-size 256m \
   gitlab/gitlab-ee:17.4.2-ee.0

初回起動はかなり時間がかかります。以下のコマンドで初回ログイン時のrootユーザのパスワードを表示します。
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
24Hでパスワードは無効になるので、それまでにログインしてパスワードを変更しておきます。

2024年10月19日土曜日

Kubernetesで使用されていないPVCを一覧表示する

Kubernetesで使用されていないPVCを一覧表示するには、以下のコマンドを実行します。Name, Namespace, Used Byフィールドが表示されます。
kubectl describe -A pvc | grep -E "^Name:.*|^Namespace:.*|^Used By:.*" | sed -e 's/^.*: *//' | awk '{printf("%s ", $1);} NR%3==0 {printf("\n");}' | grep '<none>'

2024年10月18日金曜日

KubernetesでPostgreSQLの共有メモリを増やす

KubernetesでPostgreSQLの共有メモリを増やすには以下の手順を実行します。

1. 現在の設定の確認
kubectl exec --stdin --tty ※ポッド名 --container ※コンテナ名 -- /usr/local/bin/psql -U postgres
クライアントから確認
show shared_buffers;

2. 設定変更
PVに割り当てられたディレクトリからpostgresql.confを変更
■変更前
shared_buffers = 128MB                  # min 128kB
                                        # (change requires restart)
■変更後
shared_buffers = 256MB                  # min 128kB
                                        # (change requires restart)

Documentationでは1GB以上のRAMがあればshared_buffersに対する妥当な初期値はシステムメモリの25%。
https://www.postgresql.jp/document/16/html/runtime-config-resource.html

3. 再起動して変更を反映
kubectl rollout restart deployment ※デプロイメント名

4. 再度設定確認

2024年10月17日木曜日

KubernetesでPostgreSQLをアップグレードする方法

KubernetesでPostgreSQLをアップグレードする場合、以下の順序でバージョンアップを行います。

1. 現バージョンでバックアップを取得
kubectl exec --stdin ※ポッド名 --container ※コンテナ名 -- /usr/local/bin/pg_dumpall -U postgres > dumpall.sql

2. バージョンアップ後に使用するPV/PVCを作成

3. deploymentなどで使用するPostgreSQLのイメージを新しいものに変更し、PVCもあたらしいものを参照するようにymlを更新。kubectl applyで反映。

4. 新バージョンでデータをインポート
cat dumpall.sql | kubectl exec --stdin ※ポッド名 --container ※コンテナ名 -- /usr/local/bin/psql -U postgres

5. 動作確認後、古いバージョンのPV/PVCを削除

2024年10月16日水曜日

Kubernetesでポッド内のコンテナのマウント名とパスを一覧表示する

Kubernetesでポッド内のコンテナのマウント名とパスを一覧表示するには、以下のコマンドを実行します

1.ポッド一覧を取得
kubectl get pods

2.ポッドのコンテナ内のマウント名とパスを一覧表示
kubectl get pod ※1で取得したポッド名 -o jsonpath='{range .spec.containers[*]}{.name}{"\n"}{range .volumeMounts[*]}{"- "}{.name}{":"}{.mountPath}{"\n"}{end}{end}'

2024年10月15日火曜日

Kubernetesでポッド内のコンテナ名とイメージ名を一覧表示する

Kubernetesでポッド内のコンテナ名とイメージ名を一覧表示するには、以下のコマンドを実行します
1.ポッド一覧を取得
kubectl get pods

2.コンテナ名とイメージ名を一覧表示
kubectl get pod ※1で取得したポッド名 -o jsonpath='{range .spec.containers[*]}{.name}{":"}{.image}{"\n"}{end}'

2024年8月29日木曜日

Ubuntu24.04にLangFlowをインストールする

Ubuntu24.04でpipenvを使用してLangFlowをインストールするには、以下の手順を実行します。

1.pipenvのインストール
sudo apt-get -y install python3-pip python3-dev python3-testresources pipenv 

echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.profile

source ~/.profile

2. LangFlowをインストール
mkdir ~/langflow

cd ~/langflow

pipenv install langflow

3. LangFlowをサービスとして登録
※ユーザ名・パスは適宜変更してください。
cat << EOF | sudo tee /etc/systemd/system/langflow.service
[Unit]
Description=LangFlow
[Service]
Type=simple
ExecStart=/home/ubuntu/langflow/.venv/bin/langflow run --host 0.0.0.0
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu/langflow
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF

sudo systemctl enable langflow

sudo systemctl start langflow

4. ブラウザでLangFlowにアクセスします。

http://ホスト名またはIPアドレス:7860

2024年7月7日日曜日

Ubuntu24.04にllama.cppをインストールしてLlama-3-ELYZA-JP-8B-q4_k_m.ggufモデルで対話を行う

Llama.cppをインストールして、Llama-3-ELYZA-JP-8B-q4_k_m.ggufモデルでい対話するには以下のコマンドを実行します。
wget https://github.com/ggerganov/llama.cpp/releases/download/b3328/llama-b3328-bin-ubuntu-x64.zip

unzip ./llama-b3328-bin-ubuntu-x64.zip

cd ./build/bin

wget https://huggingface.co/elyza/Llama-3-ELYZA-JP-8B-GGUF/resolve/main/Llama-3-ELYZA-JP-8B-q4_k_m.gguf?download=true -O Llama-3-ELYZA-JP-8B-q4_k_m.gguf

./llama-cli -m Llama-3-ELYZA-JP-8B-q4_k_m.gguf -p "あなたは優秀なアシスタントです" -cnv
この後は対話文を入力します。対話を終了するときはCtrl+Cを押します。

2024年1月24日水曜日

CPUだけで高速にAI画像を生成できるFastSD CPUをUbuntu22.04にインストールする

FastSD CPUでGPUを使用しなくても高速にAI画像を生成することができます。

インストール方法 Ubuntu22.04にFastSD CPUをインストールするには以下の手順を実行します。
sudo apt-get -y install python3.10-venv

wget https://github.com/rupeshs/fastsdcpu/archive/refs/tags/v1.0.0-beta.23.tar.gz

tar xvfz ./v1.0.0-beta.23.tar.gz

cd fastsdcpu-1.0.0-beta.23/

chmod +x install.sh

※server外からwebuiにアクセスしたい場合は以下のファイルを変更します。
vi src/frontend/webui/ui.py
以下の行を
webui.launch(share=share)
以下に変更
webui.launch(share=share, server_name='0.0.0.0')

./start-webui.sh

ブラウザから以下にアクセスします
http://{ubuntuのIP}:7860

サンプル画像

2024年1月8日月曜日

Ubuntu 22.04にOpenCVをインストールしてネットワークカメラの画像を保存する

Ubuntu 22.04にOpenCVをインストールしてネットワークカメラの画像を保存するには、以下の手順を実行します。

1.pipenvのインストール
sudo apt-get -y install python3-pip python3-distutils python3-dev python3-testresources

python3 -m pip install --user pipenv

echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.profile

echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.profile

source ~/.profile

2. opencvをインストールした環境を作成
mkdir dev_opencv
※ディレクトリは適宜変更してください
cd dev_opencv

pipenv --python 3

pipenv install opencv-python

pipenv shell

3. RTSPプロトコルで配信されたカメラ画像を保存するプログラムの作成と実行 test.py
import cv2

# RTSPのURLは適宜適宜変更してください
RTSP_URL = 'rtsp://xxx.xxx.xxx.xxx:8554/cam'
cap = cv2.VideoCapture(RTSP_URL, cv2.CAP_FFMPEG)
result, image = cap.read()
if result:
    cv2.imwrite("camera.png", image)

実行
python test.py

2024年1月6日土曜日

Raspberry Pi(Bulseye 32bit)とCamera Module v3でMediaMTXを使用して配信を行う

MediaMTXでカメラで撮影した動画をRTSP配信することができます。

インストール方法 以下のコマンドでMediaMTXをインストールします。
sudo apt-get -y install ffmpeg

※適宜バージョンなどは変更してください
wget https://github.com/bluenviron/mediamtx/releases/download/v1.4.1/mediamtx_v1.4.1_linux_armv7.tar.gz

tar xvfz /mediamtx_v1.4.1_linux_armv7.tar.gz
mediamtx.ymlの後ろの方に以下を追加
paths:
  # example:
  # my_camera:
  #   source: rtsp://my_camera
  cam:
    source: rpiCamera
    rpiCameraWidth: 1024
    rpiCameraHeight: 768
※解像度は適宜変更して下さい

サービス化 サービス化を行うには以下を/etc/systemd/system/に保存します。パスは適宜変更してください。
mediamtx.service
[Unit]
Wants=network.target
[Service]
ExecStart=/opt/mediamtx/mediamtx /opt/mediamtx/mediamtx.yml
Restart=always
[Install]
WantedBy=multi-user.target

※有効化
sudo systemctl enable mediamtx.service

※サービス開始
sudo systemctl start mediamtx.service

再生確認 ffplayコマンドでRTSPの再生を行うことができます。xxx.xxx.xxx.xxxにRaspberry PiのIPアドレスを入れていください。
ffplay -flags low_delay rtsp://xxx.xxx.xxx.xxx:8554/cam

2023年12月28日木曜日

GPU無しでllama.cppとelyza/ELYZA-japanese-Llama-2-13b-fast-instructを実行する

ELYZA-japanese-Llama-2-13b-fast-instructは130億パラメータの日本語LLMです。
以下の手順でllama.cppとELYZAをUbuntu22.04にインストールし、質問を実行します。

1.llama.cppのインストール
sudo mkdir -p /mnt/data/elyza13b
※パスは適宜変更してください

sudo chown ubuntu:ubuntu /mnt/data/elyza13b
※ユーザ名とグループは適宜変更してください

cd /mnt/data/elyza13b

wget -4 https://github.com/ggerganov/llama.cpp/archive/refs/tags/b1708.tar.gz

tar xvfz b1708.tar.gz

cd llama.cpp-b1708

make 

2. モデルのダウンロード
cd models

wget -4 https://huggingface.co/mmnga/ELYZA-japanese-Llama-2-13b-fast-instruct-gguf/resolve/main/ELYZA-japanese-Llama-2-13b-fast-instruct-q5_K_M.gguf
※求めるスピードや精度で適宜モデルを変更してください

cd ..

2.テスト実行
以下のコマンドで、質問を実行します。
./main -m ./models/ELYZA-japanese-Llama-2-13b-fast-instruct-q5_K_M.gguf -n 512 --temp 0.1 -p "[INST]<<SYS>>あなたは誠実で優秀な日本人のアシスタントです。<</SYS>>Large Language Modelとは何か説明してください。[/INST]"

※以下は実行結果例です
 [INST]<<SYS>>あなたは誠実で優秀な日本人のアシスタントです。<</SYS>>Large Language Modelとは何か説明してください。[/INST] Large Language Model (LLM) は、大量のテキストデータで学習した言語モデルのことです。

自然言語処理 (NLP) のタスクでは、大量のトレーニングデータを用いてモデルを訓練することが一般的です。この際、モデルが学習するデータの量や質によって精度や性能が大きく左右されます。そのため、高品質なデータで十分な量の学習を行うことが重要です。

近年、大規模なデータベースやWebサイトの増加により、大量のテキストデータが容易に収集できるようになりました。これにより、大規模言語モデルの学習が可能となりました。 [end of text]

2023年12月26日火曜日

GPU無しでStreamDiffusionが実行できるJupyterLabをインストールする(Ubuntu 22.04)

StreamDiffusionで高速にAI画像を生成することができます。
JupyterLab上でStreamDiffusionをインストールするには以下の手順を実行します。

1.pipenvのインストール
sudo apt-get -y install python3-pip python3-distutils python3-dev python3-testresources

python3 -m pip install --user pipenv

echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.profile

echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.profile

source ~/.profile

2. Jupyterのインストール
sudo mkdir -p /mnt/data/jupyter
※パスは適宜変更してください

sudo chown ubuntu:ubuntu /mnt/data/jupyter
※ユーザ名・グループ名は適宜変更してください

cd /mnt/data/jupyter

pipenv --python 3


pipenv install jupyterlab

pipenv install matplotlib

pipenv install pandas

3. Dream Diffusionのインストール
sudo apt-get -y install git

git clone https://github.com/cumulo-autumn/StreamDiffusion.git

cat << EOF >> Pipfile
[[source]]
url = "https://download.pytorch.org/whl/cu121"
verify_ssl = false
name = "pytorch"
EOF

pipenv install torch==2.1.0 torchvision==0.16.0 xformers --index=pytorch

pipenv install git+https://github.com/cumulo-autumn/StreamDiffusion.git@main#egg=streamdiffusion[tensorrt]

pipenv install accelerate

4. モデルのダウンロード
cd /mnt/data/jupyter/StreamDiffusion/models/Model

wget -4 https://huggingface.co/KBlueLeaf/kohaku-v2.1/resolve/main/kohaku-v2.1.safetensors
※必要に応じて他のモデルもダウンロードしてください。

5. Jupyter Labをサービスとして登録
cat << EOF | sudo tee /etc/systemd/system/jupyter.service
[Unit]
Description=Jupyter
[Service]
Type=simple
Environment=HF_HOME=/mnt/data/jupyter/StreamDiffusion/models/Model
ExecStart=/mnt/data/jupyter/.venv/bin/jupyter lab --port 8080 --ip=0.0.0.0 --allow-root --NotebookApp.token='jupyter'
User=ubuntu
Group=ubuntu
WorkingDirectory=/mnt/data/jupyter
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
※ディレクトリ、ユーザ、トークンは適宜変更してください

sudo systemctl enable jupyter

sudo systemctl start jupyter

6. ブラウザでJupyterにアクセスしてNotebookに以下のコードを貼り付けます。
http://{Jupyterをインストールしたホスト}:8080/lab?token=jupyter

Notebookに貼り付けるコードは以下です。デバイスにCPUを指定して、GPUなしのマシンでも画像を生成することができます。

import sys
sys.path.append("/mnt/data/jupyter/StreamDiffusion")

import torch
from utils.wrapper import StreamDiffusionWrapper

# モデル
model_id_or_path = "/mnt/data/jupyter/StreamDiffusion/models/Model/kohaku-v2.1.safetensors"
# 画像サイズ
width = 512
height = 512
# seed
seed = 2
# プロンプト
prompt="1girl and 1dog walking riverside under blue sky"
negative_prompt=""

stream = StreamDiffusionWrapper(
    model_id_or_path=model_id_or_path,
    t_index_list=[0, 16, 32, 45],
    frame_buffer_size=1,
    width=width,
    height=height,
    warmup=10,
    acceleration="none",
    mode="txt2img",
    use_denoising_batch=False,
    cfg_type="none",
    seed=seed,
    device="cpu",
    dtype=torch.float32,
)

stream.prepare(
    prompt=prompt,
    negative_prompt=negative_prompt,
    num_inference_steps=50,
)

for _ in range(stream.batch_size - 1):
    stream()
output_image = stream()
output_image

実行結果

2023年3月10日金曜日

Raspberry Pi OS(Bullseye)/Debian 11/Ubuntu 22.04にAlsaplayer-gtkオーディオプレイヤーをインストールする

Alsaplayer-gtkはコンパクトなオーディオプレイヤーです。

〇Alsaplayer-gtlの画面(Raspberry Pi OS)

〇Alsaplayer-gtlの画面(Debian 11 Bullseye)

〇Alsaplayer-gtlの画面(Ubuntu 22.04)

インストール方法 以下のコマンドを実行します。
sudo apt-get update

sudo apt-get -y install alsaplayer-gtk

関連情報 ・Alsa Playerのwebサイト
http://alsaplayer.sourceforge.net/

2023年3月9日木曜日

Debian 11 (Bullseye)にMiniflux2をインストールする

Miniflux2はGo製のfeed readerです。登録したウェブサイトの記事をRSSを通して読むことができます。

〇Minifulx2の画面

インストール方法 1. PostgreSQLのインストール
sudo apt-get update

sudo apt-get -y install postgresql-13

echo "listen_addresses='*'" | sudo tee -a /etc/postgresql/13/main/postgresql.conf

echo "host    all         all         127.0.0.1/32          password" | sudo tee -a /etc/postgresql/13/main/pg_hba.conf

※ネットワーク設定は適宜変更してください
echo "host    all         all         192.168.1.0/24          password" | sudo tee -a /etc/postgresql/13/main/pg_hba.conf

sudo systemctl restart postgresql.service

※パスワードなど適宜変更してください
sudo su - postgres << EOF
psql -c "
alter user postgres with password 'postgres';
create user miniflux2 with password 'miniflux2';
"
psql -c "
create database miniflux2 owner miniflux2 encoding 'UTF8' lc_collate 'ja_JP.UTF-8' lc_ctype 'ja_JP.UTF-8' template 'template0';
"
EOF

2. minifulx2のインストールする
wget https://github.com/miniflux/v2/releases/download/2.0.41/miniflux_2.0.41_amd64.deb

sudo dpkg -i ./miniflux_2.0.41_amd64.deb

echo "DATABSE_URL=postgres://miniflux2:miniflux2@localhost/miniflux2?sslmode=disable" | sudo tee -a /etc/miniflux.conf

echo "LISTEN_ADDR=0.0.0.0:8080" | sudo tee -a /etc/miniflux.conf

miniflux -migrate

sudo apt-get -y install expect

※パスワードなど適宜変更してください
/usr/bin/expect << EOF
spawn miniflux -create-admin
expect "Enter Username:"
send "admin\\r"
expect "Enter Password:"
send "admin123\\r"
expect eof
exit
EOF

sudo systemctl enable miniflux

sudo systemctl start miniflux

3. ブラウザからhttp://<サーバ名またはIPアドレス>:8080/ にアクセスします
ユーザ名はadmin、パスワードはadmin123です。
サンプルのRSS http://serverarekore.blogspot.com/feeds/posts/default

関連情報 ・Minifluxに関する情報はこちらを参照してください。

2023年3月8日水曜日

マインドマップツールMinderをUbuntu 22.04にインストールする

Minderはマインドマップツールです。

〇Minderの画面

Ubuntu Softwareによるインストール方法 1. Ubuntu Softwareを起動して、minderを検索します。

2.Minderのインストールボタンをクリックします

コマンドによるインストール方法 以下のコマンドを実行します。
sudo apt-get update

sudo apt-get -y install minder

関連情報 ・Minderのgithubリポジトリ
https://github.com/phase1geo/Minder

2023年3月7日火曜日

データ操作ツールMillerをUbuntu 22.04/Debian 11/Raspberry Pi OS(Bullseye)にインストールする

Millerで簡単にデータをフィルタリング、整形したり、操作することが出来ます。

Millerのインストール方法
sudo apt-get update

sudo apt-get -y install miller

Millerの実行方法 サンプルデータの作成
cat << EOF > sample.csv
name,entry_date,point
"Doug, White",2022-10-11,1200
"Anne, Greenwood",2022-09-10,2100
"Bob, Kerl",2022-10-11,3000
EOF

・表型に整形して表示
mlr --icsv --opprint cat sample.csv
name            entry_date point
Doug, White     2022-10-11 1200
Anne, Greenwood 2022-09-10 2100
Bob, Kerl       2022-10-11 3000

・JSON型に変換して表示
mlr --icsv --ojson cat sample.csv
[
{
  "name": "Doug, White",
  "entry_date": "2022-10-11",
  "point": 1200
},
{
  "name": "Anne, Greenwood",
  "entry_date": "2022-09-10",
  "point": 2100
},
{
  "name": "Bob, Kerl",
  "entry_date": "2022-10-11",
  "point": 3000
}
]

・行数をカウント
mlr --icsv count sample.csv
count=3

・降順でソート
mlr --c2p --icsv sort -nr point sample.csv
name            entry_date point
Bob, Kerl       2022-10-11 3000
Anne, Greenwood 2022-09-10 2100
Doug, White     2022-10-11 1200

・指定列のみ出力
mlr --icsv --opprint cut -f name,point sample.csv
name            point
Doug, White     1200
Anne, Greenwood 2100
Bob, Kerl       3000

・条件を指定してフィルタリング
mlr --icsv --opprint filter '$point >= 2000' sample.csv
name            entry_date point
Anne, Greenwood 2022-09-10 2100
Bob, Kerl       2022-10-11 3000

関連情報 ・Millerのgithubリポジトリ
https://github.com/johnkerl/miller

2023年3月6日月曜日

Raspberry Pi OS(Bullseye)にRangerをインストールする

Rangerコマンドでターミナルをディレクトリ階層をキーボードで移動してファイルの中身を確認したり、実行する事ができます。

〇Rangerの画面(Raspberry Pi OS)

※実行はrangerと入力します。Qか:qでコマンドを終了します。矢印キーで移動、リターンで確定になります。

インストール方法 以下のコマンドを実行します。
sudo apt-get update

sudo apt-get -y install ranger

関連情報 ・Rangerのgithubリポジトリ
https://github.com/ranger/ranger

2023年3月5日日曜日

AlmaLinux 9/Rocky Linux 9にQmmpをインストールする

QmmpはWinamp風のコンパクトなUIのミュージックプレイヤーです。

〇Qmmpの画面(AlmaLinux 9)

〇Qmmpの画面(Rocky Linux 9)

インストール方法 以下のコマンドを実行します。
sudo dnf -y install flatpak

sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

sudo flatpak -y install flathub com.ylsoftware.qmmp.Qmmp

関連情報 ・Qmmpのウェブサイト
https://qmmp.ylsoftware.com/

2023年3月4日土曜日

Debian 11(Bullseye)にProcessingをインストールする

Processingでビジュアルな表現のプログラミングを学ぶことができます。

〇Processingの画面(Debian 11 Bullseye)

インストール方法 以下のコマンドを実行します
wget --inet4-only https://github.com/processing/processing4/releases/download/processing-1289-4.1.1/processing-4.1.1-linux-x64.tgz

tar xvfz processing-4.1.1-linux-x64.tgz

cd processing-4.1.1

./install.sh

関連情報 ・Processingに関する他の記事は、こちらを参照してください。

・Processingのウェブサイト
https://processing.org