hiro99ma blog

Linuxセットアップ

目次 (最終更新日:2025/08/26)

はじめに

Linux 環境を作ったときに行っておきたい設定。
私が WSL2 でやっておきたいだけのメモです。

rc

PS1

WSL2 Ubuntu を主に使っているが、コンソールのプロンプトが ユーザ名@マシン名 ディレクトリ名 $ みたいになっている。
私の場合はブログで貼り付けたりするので、あまり名前などは載ってほしくない。
現在のディレクトリ名だけでよい。

PS1='\[\033[01;33m\]\w\[\033[0;32m\]\$\[\033[00m\] '

LD_LIBRARY_PATHとPKG_CONFIG_PATH

make install/usr/local/ に置きたくないときがあって、そういうときに $HOME/.local/ に置いている。
ライブラリの読み込みだけなら LD_LIBRARY_PATH で、pkgconfig を使って CFLAGS などを設定したければ PKG_CONFIG_PATH も設定する。
検索パスなので、設定していても負担にはなるまい(たぶん)。

export LD_LIBRARY_PATH=$HOME/.local/lib
export PKG_CONFIG_PATH=$HOME/.local/lib/pkgconfig

LD_LIBRARY_PATH になくても /etc/ld.so.conf.d/ の設定も反映される。 WSL2のubuntu と RaspbianOS は /etc/ld.so.conf.d/libc.conf/usr/local/lib が入っていたので LD_LIBRARY_PATH に書かなくても良い。

PKG_CONFIG_PATH/etc にそういうのがないので書かないといけない。
/usr/local/lib/pkgconfig などは参照するようになっているので書かなくても良い。 pkg-config --variable pc_path pkg-config で調べられる。

ベルを鳴らさない

他にもあると思うがよく鳴らしてしまうところだけ。

set bell-style none
set belloff=all

build-essential

sudo apt install build-essential

C/C++ のコンパイルと make はできるようになりそうだ。 CMake は含まれていない。

$ apt show build-essential
......
Depends: libc6-dev | libc-dev, gcc (>= 4:12.3), g++ (>= 4:12.3), make, dpkg-dev (>= 1.17.11)
......

いつも “build-essentials” と “s” を付けるかどうかで迷い、 英語圏は単数/複数に厳しいから付けるだろう、とやってエラーになる。 なんで付けないんだろう?

jq

sudo apt install jq

Git

名前とメールアドレス

初めて commit しようとしたときにエラーになって気付くから意識しなくてもよいとは思う。
仕事で別のアカウントで作業することもあるだろうから、そういうときはわざと設定せず、--global をつけずリポジトリごとに付けるようにすると良いだろう。

$ git config --global user.name "ほげほげ"
$ git config --global user.email "はにゃはにゃ"

デフォルトブランチ

特に呼び名にこだわりはないので、よく使われているし短いしで “main” にしておく。

git config --global init.defaultBranch main

protoc

protoc

protoc-gen-go, protoc-gen-go-grpc

$HOME/go/bin/ にインストールされる。

$ go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
$ go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

protoc-gen-validate

PostgreSQL

ユーザ(role)の追加

インストール直後は postgres ユーザしか扱えないようなので、一旦 supostgres になりきる。

sudo su postgres
ROLE="アクセスさせたいアカウント"
PASS="あなたの使いたいパスワード"
echo "CREATE ROLE ${ROLE} CREATEDB LOGIN;" | psql
echo "ALTER ROLE ${ROLE} with PASSWORD '${PASS}';" | psql #パスワードを付けないなら不要(NULLで削除)
ROLE="削除したいアカウント"
echo "DROP ROLE ${ROLE};" | psql

writer: hiro99ma
tags: Linux  

 < Top page

コメント(Google Formへ飛びます)

GitHub

X/Twitter

Homepage

About me