個人用のメモ
インストールの方針
- LVM & Btrfs を使う
- Xは入れない
- インストーラでパッケージは入れない
- インストーラで /etc/apt/sources.list にミラーサイトを追加して貰う
- IP アドレスはインストール時に DHCP、インストール後に手動で固定
- キーボードレイアウトは us
- ログインシェルは tcsh
自分のインストール用メモのため、特殊設定なのはご愛敬。適宜書き換えているのでプロンプトなどの統一感が無いのはご容赦。
swap を目的の容量にする
実メモリが 16GB しかないので swap を 64GB にする。
ダウンロード
Debian プロジェクト からダウンロードします。
国内であれば理研などにミラーサイトがあります。
普通の Intel や AMD のマシンなら debian-~-amd64-netinst.iso で良いでしょう。
netinst を使うと、インストール時に選んだミラー先で sources.list を上書きしてくれます。
何度もインストールし直したりする場合は debian-~-amd64-DVD-1.iso という iso-dvd イメージが良いかも知れません。
swap バーティションがデフォルトで 1GB なのは小さいので手動 (今回は 64GB) で設定します。
/ パーティションは Btrfs にします。
Btrfs は ext3 や ext4 のように枯れていません。
例えば df や du が正しい値を返しません。
df の代わりに btrfs filesystem usage /
や、一般ユーザの場合は btrfs filesystem df /
を使ったり、du の代わりに btdu
(別パッケージ) を使う必要があります。
また、パフォーマンスの最適化もされていません。
日本語で Btrfs の現状は archlinux のページが一番纏まっていると思います。
ISO イメージを USB メモリに書き込みます
Rufus で書き込めます。
インストーラから起動、インストール開始
(略)
インストーラでの操作
ディスクのパーティショニング
-
パーティショニングの方法
ガイド - ディスク全体を使い LVM をセットアップする -
パーティショニングするディスクの選択
SCSI (0,0,0)... -
パーティショニング機構
すべてのファイルを 1 つのパーティションに (初心者ユーザには推奨) -
ディスクへの変更を書き込み、LVM を設定しますか?
はい -
ガイドによるパーティショニングを利用するボリューム
max (そのまま) -
ディスクに変更を書き込みますか?
いいえ -
ディスクのパーティショニング
「論理ボリュームマネージャの設定」 を選択
ディスクへの変更を書き込み、LVM を設定しますか?
「はい」
-
現在の LVM 設定の概要
「論理ボリュームの削除」 -
削除する論理ボリュームを選択してください
root, swap_1 両方とも削除 -
現在の LVM 設定の概要
「論理ボリュームの作成」 -
ボリュームグループ
ボリュームグループを選択 (普通は一つしか表示されない) -
論理ボリューム名 (先に swap の領域を確保する)
swap_1 -
論理ボリュームサイズ (ちょっと小さくなることもあるので .1とか付けても良いかも?)
64GB -
LVM 設定アクション
論理ボリュームの作成 -
ボリュームグループ
ボリュームを選択 -
論理ボリューム名
root -
論理ボリュームサイズ
残り全部 (表示される値をそのまま) -
LVM 設定アクション
完了
ルートパーティションの領域を選択
- パーティション設定
利用方法 ➡ btrfs ジャーナリングファイルシステム
マウントポイント ➡ /
ラベル ➡ root
パーティションのセットアップを終了
スワップ領域を選択
- パーティション設定
利用方法 ➡ スワップ領域
パーティションのセットアップを終了
-
ディスクに変更を書き込みますか?
はい -
パッケージマネージャの設定 インストールステップが失敗しました
続ける
ー ベースシステムのインストール
続ける
パッケージのインストールが終わってから
-
別のインストールメディアを検査しますか?
いいえ -
Debian アーカイブミラーの国
日本 -
Debian アーカイブミラー
ftp.jaist.ac.jp
(一覧にあっても、ミラーしておらずエラーになる所もあるので、その場合は違うところを選択し直してください)
再起動
swap をなくす場合 (kubanetics などで swap を切る必要がある場合)
「ディスクのパーティショニング」で、「ガイド ー ディスク全体を使い LVM をセットアップする」
「すべてのファイルを1つのパーティションに (初心者ユーザには推奨)」
でインストールを完了させ初回ログオンを行ったあとに...
vi /etc/fstab
で swap の行を削除し再起動
再起動の代わりに swapoff -a
でも可能。
swap 用の lv (論理ボリューム) を削除
swap をマウントしていないことを確認
root@debian:~# free
total used free shared buff/cache available
Mem: 16375068 416500 16071524 728 111904 15958568
Swap: 0 0 0
root@debian:~#
swap 領域の容量と名前を確認
root@debian:~# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root debian-vg -wi-ao---- 38.06g
swap_1 debian-vg -wi-a----- 980.00m
root@debian:~# lvdisplay
--- Logical volume ---
LV Path /dev/debian-vg/root
LV Name root
VG Name debian-vg
LV UUID W17g8e-HK0L-guFI-Qkle-8Ech-FInE-ktuE4N
LV Write Access read/write
LV Creation host, time debian, 2024-05-17 14:11:38 +0900
LV Status available
# open 1
LV Size 38.06 GiB
Current LE 9744
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:0
--- Logical volume ---
LV Path /dev/debian-vg/swap_1 👈 lv を削除するときに指定する名前
LV Name swap_1
VG Name debian-vg
LV UUID 2GG5X4-0mxn-4fZD-DnEO-Iivw-GiKD-5XzB6K
LV Write Access read/write
LV Creation host, time debian, 2024-05-17 14:11:38 +0900
LV Status available
# open 0
LV Size 980.00 MiB
Current LE 245
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:1
削除を実行
root@debian:~# lvremove /dev/debian-vg/swap_1
Do you really want to remove active logical volume debian-vg/swap_1? [y/n]: y
Logical volume "swap_1" successfully removed.
root@debian:~#
swap 用の lv が削除されたことを確認
root@debian:~# lvdisplay
--- Logical volume ---
LV Path /dev/debian-vg/root
LV Name root
VG Name debian-vg
LV UUID W17g8e-HK0L-guFI-Qkle-8Ech-FInE-ktuE4N
LV Write Access read/write
LV Creation host, time debian, 2024-05-17 14:11:38 +0900
LV Status available
# open 1
LV Size 38.06 GiB
Current LE 9744
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:0
root@debian:~# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root debian-vg -wi-ao---- 38.06g
領域が空いてしまうのでルートパーティションへ割り当てます。
空き領域を root の論理ボリュームへ追加
root@debian:~# lvextend -l+100%FREE /dev/debian-vg/root
Size of logical volume debian-vg/root changed from 38.06 GiB (9744 extents) to <39.02 GiB (9989 extents).
Logical volume debian-vg/root successfully resized.
root@debian:~# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root debian-vg -wi-ao---- <39.02g
ファイルシステムも拡張する (ext4)
ファイルシステムのサイズが増えていないのでこちらも拡張する
root@debian:~# resize2fs /dev/debian-vg/root
resize2fs 1.47.0 (5-Feb-2023)
Filesystem at /dev/debian-vg/root is mounted on /; on-line resizing required
old_desc_blocks = 5, new_desc_blocks = 5
The filesystem on /dev/debian-vg/root is now 10228736 (4k) blocks long.
root@debian:~# df -h /
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/debian--vg-root 39G 1.8G 35G 5% /
1GB だけですがちゃんと増えましたね。
ファイルシステムも拡張する (btrfs)
ファイルシステムのサイズが増えていないのでこちらも拡張する
root@debian:~# btrfs filesystem usage /
Overall:
Device size: 38.06GiB 👈 ここから ➊
Device allocated: 3.02GiB
Device unallocated: 35.04GiB
Device missing: 0.00B
Device slack: 980.00MiB
Used: 1.81GiB
Free (estimated): 35.32GiB (min: 17.80GiB)
Free (statfs, df): 35.32GiB
Data ratio: 1.00
Metadata ratio: 2.00
Global reserve: 3.97MiB (used: 0.00B)
Multiple profiles: no
Data,single: Size:2.01GiB, Used:1.72GiB (85.91%)
/dev/mapper/debian--vg-root 2.01GiB
Metadata,DUP: Size:512.00MiB, Used:43.02MiB (8.40%)
/dev/mapper/debian--vg-root 1.00GiB
System,DUP: Size:8.00MiB, Used:16.00KiB (0.20%)
/dev/mapper/debian--vg-root 16.00MiB
Unallocated:
/dev/mapper/debian--vg-root 35.04GiB
root@debian:~# btrfs filesystem show /
Label: none uuid: 5cd97bb1-e35e-4653-bc96-e9172b2c62c4
Total devices 1 FS bytes used 1.77GiB
devid 1 size 38.06GiB used 3.02GiB path /dev/mapper/debian--vg-root 👈 38.06GiB ➋
root@debian:~# btrfs filesystem resize max /
Resize device id 1 (/dev/mapper/debian--vg-root) from 38.06GiB to max
root@debian:~# btrfs filesystem show /
Label: none uuid: 5cd97bb1-e35e-4653-bc96-e9172b2c62c4
Total devices 1 FS bytes used 1.77GiB
devid 1 size 39.02GiB used 3.02GiB path /dev/mapper/debian--vg-root 👈 39.02GiB ➋'
root@debian:~# btrfs filesystem usage /
Overall:
Device size: 39.02GiB 👈 38.06GiB ➡ 39.02GiB へ増加 ➊'
Device allocated: 3.02GiB
Device unallocated: 36.00GiB
Device missing: 0.00B
Device slack: 0.00B
Used: 1.81GiB
Free (estimated): 36.28GiB (min: 18.28GiB)
Free (statfs, df): 36.28GiB
Data ratio: 1.00
Metadata ratio: 2.00
Global reserve: 3.97MiB (used: 0.00B)
Multiple profiles: no
Data,single: Size:2.01GiB, Used:1.72GiB (85.91%)
/dev/mapper/debian--vg-root 2.01GiB
Metadata,DUP: Size:512.00MiB, Used:43.02MiB (8.40%)
/dev/mapper/debian--vg-root 1.00GiB
System,DUP: Size:8.00MiB, Used:16.00KiB (0.20%)
/dev/mapper/debian--vg-root 16.00MiB
Unallocated:
/dev/mapper/debian--vg-root 36.00GiB
タイムゾーンの設定
対話型だと dpkg-reconfigure tzdata
でできるけどリンクを張るだけなので、余り使う必要はないかも。
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
contrib non-free をsources.list へ追加
sed -i.orig -e '/^deb/s/$/ contrib non-free/' /etc/apt/sources.list
パッケージの更新
apt update
apt full-upgrade
apt autoremove
apt purge
パッケージの追加
apt -y install git locate tcsh vim screen sudo
apt -y remove nano
apt -y install sharutils gcc make manpages manpages-dev manpages-ja manpages-ja-dev syslog-ng zip bind9-dnsutils nvi htop net-tools binutils fdclone
locate : ファイル検索ツール
tcsh : csh の高機能版 shell
vim : nano より使いやすいエディタ
screen : コンソールのログを取ったり、キーボードだけでコピー、スクロールバックできる
nano : 頭がおかしくなりそうなエディタ
sharutils : uudecode, shar, unshar
gcc : GNU Cコンパイラ
make : 条件に従ってコマンドを実行させるツール
manpages, manpages-dev manpages-ja manpages-ja-dev : オンラインマニュアル
syslog-ng : 商用 syslog-ng のコミュニティーエディション
nvi : vim みたいに高機能でない、普通の vi
htop : top のカラフル版
bind9-dnsutils : nslookup, dig など
net-tools : netstat や ifconfig など、老人向けコマンド
binutils : strings や ld, strip など
fdclone : MS-DOS 時代のファイルマネージャクローン
info 立ち上げるけど検索とかページの移動の仕方が解らず、開いたページをカーソルで移動するしかできない...
どこかにチートシート的なのは落ちてないのかな。
locate のデータベース更新 (作成)
updatedb
sudo の設定
visudo で sudo できるユーザを追加
user1yen ALL=(ALL:ALL) ALL
初期設定ファイルをダウンロード
ログインシェルを tcsh へ、システムワイドなドットファイルを更新
chsh -s /usr/bin/tcsh
chsh -s /usr/bin/tcsh user1yen
git clone https://github.com/jp-yen/dotfiles.git
install dotfiles/csh.cshrc /etc/csh.cshrc
install dotfiles/screenrc /etc/screenrc
install dotfiles/vimrc /etc/vim/vimrc
VIM_COLORS=/usr/share/vim/vim90/colors
( cd $VIM_COLORS && wget -N https://raw.githubusercontent.com/michalbachowski/vim-wombat256mod/master/colors/wombat256mod.vim )
( cd $VIM_COLORS && wget -N https://raw.githubusercontent.com/romainl/Apprentice/master/colors/apprentice.vim )
( cd $VIM_COLORS && wget -N https://raw.githubusercontent.com/karoliskoncevicius/moonshine-vim/master/colors/moonshine.vim )
( cd $VIM_COLORS && wget -N https://raw.githubusercontent.com/Haron-Prime/Antares/master/colors/antares.vim )
パフォーマンスモニタ
sysstat (sac) をインストール
root@debian:~# apt -y install sysstat
自動起動を有効にします
root@debian:~# systemctl enable sysstat
Synchronizing state of sysstat.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable sysstat
Created symlink /etc/systemd/system/multi-user.target.wants/sysstat.service → /lib/systemd/system/sysstat.service.
Created symlink /etc/systemd/system/sysstat.service.wants/sysstat-collect.timer → /lib/systemd/system/sysstat-collect.timer.
Created symlink /etc/systemd/system/sysstat.service.wants/sysstat-summary.timer → /lib/systemd/system/sysstat-summary.timer.
enable になったか確認
root@debian:~# service sysstat status
○ sysstat.service - Resets System Activity Logs
Loaded: loaded (/lib/systemd/system/sysstat.service; enabled; preset: enabled)
Active: inactive (dead)
Docs: man:sa1(8)
man:sadc(8)
man:sar(1)
情報の採取間隔を確認
デフォルト設定は cron で10分毎、23:59 にローテーション
root@zabbix:~[45]# cat /etc/cron.d/sysstat
# The first element of the path is a directory where the debian-sa1
# script is located
PATH=/usr/lib/sysstat:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin
# Activity reports every 10 minutes everyday
5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
# Additional run at 23:59 to rotate the statistics file
59 23 * * * root command -v debian-sa1 > /dev/null && debian-sa1 60 2
取得パラメータを指定
- 履歴を 200日分保存 (HISTORY=200)
- 取得できるデータを全部取得 (-S XALL)
- ファイル名を saYYYYMMDD (-D)
- パラメータを反映させるために再起動
root@zabbix:~[47]# sed -i.orig -e '/^HISTORY=/{s/=[0-9]*$/=200/}' -e '/^SADC_OPTIONS=/{s/=.*$/="-D -S XALL"/}' /etc/sysstat/sysstat
root@zabbix:~[48]# service sysstat restart
root@zabbix:~[49]# service sysstat status
● sysstat.service - Resets System Activity Logs
Loaded: loaded (/lib/systemd/system/sysstat.service; enabled; preset: enabled)
Active: active (exited) since Sun 2023-07-02 16:36:54 JST; 6s ago
Docs: man:sa1(8)
man:sadc(8)
man:sar(1)
Process: 4820 ExecStart=/usr/lib/sysstat/sa1 --boot (code=exited, status=0/SUCCESS)
Main PID: 4820 (code=exited, status=0/SUCCESS)
CPU: 3ms
7月 02 16:36:54 zabbix systemd[1]: Starting sysstat.service - Resets System Activity Logs...
7月 02 16:36:54 zabbix systemd[1]: Finished sysstat.service - Resets System Activity Logs.
sar コマンドの例
コマンド | 意味 |
---|---|
sar -f /var/log/sysstat/sa02 | データをファイルから読み込む (他のオプションと組み合わせ可) |
sar -B | page in/out |
sar -u | CPUの負荷 |
sar -P ALL | CPUコア単位の負荷 |
sar --human -r | メモリ |
sar -q IO | IO |
sar -q CPU | CPU 使用率 |
sar -q LOAD | ロードアベレージ |
sar -q MEM | メモリ (セマフォ、フリー) |
sar -q ALL | -q の全て |
sar -S | swap 使用率 |
sar -W | page in / page out |
sar -d | disk io |
sar -d --dev=sda5 | 物理ディスクと、仮想ディスクで重複して出てくるので、見たいディスクを指定すると良い |
sar -F --fs=/dev/mapper/zabbix--vg-root | ディスク使用率 |
sar -n DEV --iface=eth0 | 正常値 |
sar -n EDEV --iface=eth0 | エラーカウント |
sar -f /var/log/sysstat/sa20230303 -q LOAD
だと、2023-03-03 のロードアベレージを表示。ファイルを指定しない場合は今日のファイルを読み込む。また sar -q LOAD 5 30
だと 5秒ごとに 30回、現在のロードアベレージを表示する。
ネットワークアドレスの固定
インターフェース名の確認
root@zabbix:~[229]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:ee:e8:d1 brd ff:ff:ff:ff:ff:ff
altname enp11s0
inet 192.168.0.101/24 brd 192.168.0.255 scope global dynamic noprefixroute ens192
valid_lft 1817sec preferred_lft 1817sec
inet6 fe80::20c:29ff:feee:e8d1/64 scope link noprefixroute
valid_lft forever preferred_lft forever
インターフェース名が ens192 と言うことが分かりました。
これに固定 IP を指定します。
/etc/network/interfaces
の ens192 の部分をコメントアウト。
ファイルを作成して固定 IP アドレスを記入。
root@zabbix:~[230]# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
# allow-hotplug ens192
# iface ens192 inet dhcp
root@zabbix:~[231]# cat > /etc/network/interfaces.d/ens192
# ens192 のアドレスを固定
auto ens192
iface ens192 inet static
# IP アドレス
address 192.168.0.30
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.254
# DNS
dns-nameservers 1.0.0.1 8.8.4.4
[Ctrl]+[D]
セカンダリアドレスが必要な場合
インターフェース名に :1, :2 ... を付けて設定すれば良い。
auto ens192
iface ens192 inet dhcp
auto ens192:1
iface ens192:1 inet static
address 192.11.221.143
network 192.11.220.0
netmask 255.255.254.0
gateway 192.11.220.1
サービスの再起動で設定が適用されることを確認
root@zabbix:~[232]# service networking restart
root@zabbix:~[233]# ip -4 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
altname enp11s0
inet 192.168.0.30/24 brd 192.168.0.255 scope global ens192
valid_lft forever preferred_lft forever
auto ens192
が無いと反映されません。指定しているのに auto とはこれ如何に?
再起動
せっかくなので shell の履歴を残すために手の込んだ方法を
root@zabbix:~[235]# (sleep 5 ; shutdown -r now)& ; exit
putty で 256色を使うとき
- puttyでの設定
-- [ウインドウ] -> [色]を選択し、「xterm 256色モードを使うことを許可する」にチェックを入れる
-- [接続] -> [データ]を選択し、「端末タイプを表す文字列」に「xterm-256color」を入力する - Debian での設定
それっぽい表示にはなるけども少しおかしいので
tips Windows からホスト名でアクセスしたいとき
apt install -y avahi-daemon
してください。mDNS (multicast DNS / Rendezvous / Bonjour などといわれるもの) で名前解決ができます。
ただし、ローカルドメインで .local を使っていた場合は動作を停止しますので注意。
動作すると、以下のようなコマンドで自分に ping が打てますし、セグメント内の Windows からもホスト名でアクセスできます。
ping `uname -n`.local
そもそも WSL2 なら、avahi を使わなくても /etc/wsl.conf に
[network]
hostname = fedoraremix
というような設定をしておけばいけます。
tips WinSCP で繋ぐとき
- ロケール ja_JP.UTF-8
- シェル tcsh
と言う環境で WinSCP (scp) で繋ぐと、エラーが出て上手く操作できません。(エラーを無視してファイルを送るだけなら可能)
そんなときは
できれば sftp で繋ぐとエラーが少ないと思います。(先ず試すべきはこっち。fortune とか無駄な物が動きません。)
Nextcloud のインストール
apt install snapd
snap install core
snap install nextcloud
あらまぁ不思議、80番ポートで Nextcloud があがってるじゃぁないですか。
あとは煮るなり焼くなり、ご自由に。
ディスクの追加
/dev/sdb pv にを追加します
root@docker:~[286]# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.
root@docker:~[287]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 debian-vg lvm2 a-- <39.02g 0
/dev/sdb lvm2 --- 40.00g 40.00g
VG に追加します
root@docker:~[310]# vgextend debian-vg /dev/sdb
Volume group "debian-vg" successfully extended
root@docker:~[312]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 debian-vg lvm2 a-- <39.02g 0
/dev/sdb debian-vg lvm2 a-- <40.00g <40.00g
root@docker:~[313]# vgdisplay
--- Volume group ---
VG Name debian-vg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 6
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size <79.02 GiB
PE Size 4.00 MiB
Total PE 20228
Alloc PE / Size 9989 / <39.02 GiB
Free PE / Size 10239 / <40.00 GiB 👈 Free に追加
VG UUID bKp02X-27hG-fELY-Lph9-ObHX-Qo5N-JUSFhL
領域を割り当て
root@docker:~[314]# lvextend -l+100%FREE /dev/debian-vg/root
Size of logical volume debian-vg/root changed from <39.02 GiB (9989 extents) to <79.02 GiB (20228 extents).
Logical volume debian-vg/root successfully resized.
root@docker:~[315]# vgdisplay
--- Volume group ---
VG Name debian-vg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size <79.02 GiB
PE Size 4.00 MiB
Total PE 20228
Alloc PE / Size 20228 / <79.02 GiB 👈 全て割り当てられた
Free PE / Size 0 / 0
VG UUID bKp02X-27hG-fELY-Lph9-ObHX-Qo5N-JUSFhL
あとは wasp 領域を追加するのと同じ
root@docker:~[316]# btrfs filesystem usage /
Overall:
Device size: 39.02GiB
Device allocated: 39.02GiB
Device unallocated: 1.00MiB
Device missing: 0.00B
Device slack: 40.00GiB
Used: 37.53GiB
Free (estimated): 195.46MiB (min: 195.46MiB)
Free (statfs, df): 195.46MiB
Data ratio: 1.00
Metadata ratio: 2.00
Global reserve: 48.36MiB (used: 0.00B)
Multiple profiles: no
Data,single: Size:37.46GiB, Used:37.26GiB (99.49%)
/dev/mapper/debian--vg-root 37.46GiB
Metadata,DUP: Size:768.00MiB, Used:135.50MiB (17.64%)
/dev/mapper/debian--vg-root 1.50GiB
System,DUP: Size:32.00MiB, Used:16.00KiB (0.05%)
/dev/mapper/debian--vg-root 64.00MiB
Unallocated:
/dev/mapper/debian--vg-root 1.00MiB
root@docker:~[317]# btrfs filesystem resize max /
Resize device id 1 (/dev/mapper/debian--vg-root) from 39.02GiB to max
root@docker:~[318]# btrfs filesystem usage /
Overall:
Device size: 79.02GiB
Device allocated: 39.02GiB
Device unallocated: 40.00GiB
Device missing: 0.00B
Device slack: 0.00B
Used: 37.53GiB
Free (estimated): 40.19GiB (min: 20.19GiB)
Free (statfs, df): 40.19GiB
Data ratio: 1.00
Metadata ratio: 2.00
Global reserve: 48.36MiB (used: 0.00B)
Multiple profiles: no
Data,single: Size:37.46GiB, Used:37.26GiB (99.49%)
/dev/mapper/debian--vg-root 37.46GiB
Metadata,DUP: Size:768.00MiB, Used:135.50MiB (17.64%)
/dev/mapper/debian--vg-root 1.50GiB
System,DUP: Size:32.00MiB, Used:16.00KiB (0.05%)
/dev/mapper/debian--vg-root 64.00MiB
Unallocated:
/dev/mapper/debian--vg-root 40.00GiB
論理ボリュームマネージャについて (LVM)
詳細は lvm2 を参照
物理ディスクと、パーティションはボリュームマネージャの範囲外。
PV (physical volume / 物理ボリューム)
PV は物理パーティションと同じ領域を指す。名前も /dev/sda など、物理ディスクと同じ名前を使う。
管理を LVM の監視下に入れるための宣言のようなもの。
pvcreate <パーティション>
HDD / SSD のパーティションをボリュームマネージャの管理下に入れる
pvremove <パーティション>
パーティションの pv を削除
pvs
: pv の一覧を表示
pvdisplay
: pv の詳細を表示
pcscan
: 接続されているディスクから pv を探す
VG (volume group / ボリュームグループ)
VG は PV を束ねて名前を付けたもの。
VG PATH : /dev/<VG名>
vgcrate <vg名> <pv> [<pv> [<pv> ...]]
: vg を作成、一つの vg に複数の pv を纏める
※pv は 1つでも可
vgremove <vg名>
: vg を削除
vgextend <vg名> <pv> [<pv> [<pv> ...]]
: vg に pv を追加
vgreduce <vg名> <pv> [<pv> [<pv> ...]]
: vg に pv を削除
vgs
: vg の一覧を表示
vgdisplay
: vg の詳細を表示
vgrename <元VG名> <新VG名>
vg 名の変更
LV (logical volume / 論理ボリューム)
LV は VG から領域を切り出したもの。LV を ext4 等でフォーマットして利用する。
RAID 的なものも この層で行う。
lv path : /dev/<vg名>/<lv名>
lvcreate [-L <容量>] <vg名>
: から指定容量を LV を切り出す
lvremove <lv path>
: lv を削除
lvextend
: lv の拡張
lvreduce
: lv の縮小
lvs
: lv の一覧を表示
lvdisplay
: lv の詳細を表示
lvrename <元LV名> <新LV名>
: LV名の変更
論理ボリューム管理の概要 Red Hat
LVMの設定 novell
フォーマット、マウント
論理ボリュームをフォーマットし、マウントすることで使えるようになります。
mkfs.bfs /dev//
sources.list の例
全てのパッケージを CD/DVD から入れた場合、sources.list が cdrom を差して更新ができないので、以下のような感じのファイルを作成する。
# deb cdrom:[Debian GNU/Linux 12.5.0 _Bookworm_ - Official amd64 BD Binary-1 with firmware 20240210-11:28]/ bookworm contrib main non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main non-free-firmware contrib non-free
deb-src http://security.debian.org/debian-security bookworm-security main non-free-firmware contrib non-free
# bookworm-updates, to get updates before a point release is made;
# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
deb http://ftp.riken.jp/Linux/debian/debian/ bookworm-backports main contrib non-free non-free-firmware non-free
deb-src http://ftp.riken.jp/Linux/debian/debian/ bookworm-backports main contrib non-free non-free-firmware non-free
deb http://ftp.riken.jp/Linux/debian/debian/ bookworm-proposed-updates contrib main non-free non-free-firmware
deb-src http://ftp.riken.jp/Linux/debian/debian/ bookworm-proposed-updates contrib main non-free non-free-firmware
deb http://ftp.riken.jp/Linux/debian/debian/ bookworm main non-free-firmware contrib non-free
deb-src http://ftp.riken.jp/Linux/debian/debian/ bookworm main non-free-firmware contrib non-free
deb http://ftp.riken.jp/Linux/debian/debian/ bookworm-updates main non-free-firmware contrib non-free
deb-src http://ftp.riken.jp/Linux/debian/debian/ bookworm-updates main non-free-firmware contrib non-free