BtrfsスナップショットでArch Linuxをインストールする

序文

Arch Linuxは、最先端のテクノロジーと柔軟な構成で有名な汎用ディストリビューションです。Btrfsスナップショットを使用すると、システムの安定性に自信を持ちながら、その速いペースを利用できます。はじめましょう。

前提条件

  • 新しく作成されたVultrインスタンス。
  • いくつかの自由な時間と忍耐。

準備

インスタンスを作成するときに、ISOライブラリからArch Linux ISOを選択できます。そうでない場合は、マシンの設定でロードできます。最新(2017.01.01)の執筆時点で、ISOがライブラリで利用可能です。そのISOが古い場合は、もう一度ダウンロードすることをお勧めします。

マシンが起動したら、をクリックView Consoleしてシステムを起動します。作業中のコンピューターからアクセスできるように、環境のrootパスワードを設定する必要があります。

passwd
systemctl start sshd

VNCウィンドウを閉じ、ssh経由でマシンに接続します。

ssh root@<your host ip here>

tmux不安定な接続でもセッションを維持できるようにインストールします。

pacman -Sy tmux

インストール中に誤って接続が閉じてしまった場合は、sshでマシンに戻って実行します。

tmux attach

取り付け

まず最初に、ディスクをパーティション分割しましょう。

lsblk
mkfs.btrfs -m single -L arch /dev/vda
mount -o compress=lzo /dev/vda /mnt

次はトリッキーな部分です:サブボリュームの作成。

cd /mnt
btrfs su cr @
btrfs su cr @boot
btrfs su cr @home
btrfs su cr @log
btrfs su cr @pkg
btrfs su cr @srv
btrfs su cr @tmp

次に、サブボリュームをマウントします。

cd /
umount /mnt
mount -o compress=lzo,subvol=@ /dev/vda /mnt
cd /mnt
mkdir -p {boot,home,srv,var/{log,cache/pacman/pkg,tmp}}
mount -o compress=lzo,subvol=@boot /dev/vda boot
mount -o compress=lzo,subvol=@home /dev/vda home
mount -o compress=lzo,subvol=@log /dev/vda var/log
mount -o compress=lzo,subvol=@pkg /dev/vda var/cache/pacman/pkg
mount -o compress=lzo,subvol=@srv /dev/vda srv
mount -o compress=lzo,subvol=@tmp /dev/vda var/tmp

基本システムをインストールします。

pacstrap -i /mnt base base-devel snapper vim

システムを構成します。

genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
ln -s /usr/share/zoneinfo/Region/City /etc/localtime # Replace Region/City with your value
hwclock --systohc
vim /etc/locale.gen # Uncomment en_US.UTF-8 UTF-8 line
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
pacman -S networkmanager 
echo "your-hostname" > /etc/hostname # Replace your-hostname with your value
vim /etc/hosts # Configure 127.0.0.1 and ::1 lines accordingly
systemctl enable NetworkManager.service

今後のリモートログインでsshdを有効にします。

vim /etc/ssh/sshd_config # Set PermitRootLogin yes
systemctl enable sshd.service

~/.ssh/authorized_keysルートのパスワードログインを有効にするのではなく、公開鍵をファイルに入れることをお勧めします。

btrfsの必要性を満たすようにinitramfsを構成します。

vim /etc/mkinitcpio.conf

検索してリストにMODULES="..."追加btrfsします。initramfsを再生成します。

mkinitcpio -p linux

rootパスワードを設定します。

passwd

ブートローダーをインストールして設定します。

pacman -S grub
grub-install /dev/vda
grub-mkconfig -o /boot/grub/grub.cfg

マシンのコントロールパネルでISOを再起動して削除します。

exit
reboot

もう一度サーバーに接続します(おそらくしばらくしてから、起動が完了するまで待ちます)。サーバーのフィンガープリントが変更されているため、known_hostsファイルの変更が必要になる場合があります。

vim ~/.ssh/known_hosts
ssh root@<your host ip here>

スナップショット手順を自動化するsnapperを設定しましょう。

snapper -c root create-config /

設定を編集TIMELINE_LIMIT_{HOURLY,DAILY,WEEKLY,MONTHLY,YEARLY}し、必要に応じて変更します。

vim /etc/snapper/configs/root

systemdタイマーを有効にします。

systemctl enable snapper-timeline.timer
systemctl start snapper-timeline.timer
systemctl enable snapper-cleanup.timer
systemctl start snapper-cleanup.timer

仕事完了!

これで、システムの構成が完了しました。snapperの使用方法の詳細については、wikiページまたはsnapper(8)詳細を参照してください。btrfs自動スナップショットシステムで新しいArch Linuxをお楽しみください!



Leave a Comment

Arch Linux WebサーバーにPerl 5.28をインストールする方法

Arch Linux WebサーバーにPerl 5.28をインストールする方法

前提条件最新のArch Linuxを実行するVultrサーバー(この記事を参照)。実行中のWebサーバー(ApacheまたはNginx Sudoアクセス):コマンドが必要

Arch LinuxにPostgreSQL 11.1をインストールする方法

Arch LinuxにPostgreSQL 11.1をインストールする方法

前提条件最新のArch Linuxを実行しているVultrサーバー(この記事を参照してください。)Sudoアクセス。rootとして実行する必要のあるコマンドには、先頭に#が付いています。

Arch LinuxでMumble Serverをセットアップする

Arch LinuxでMumble Serverをセットアップする

このチュートリアルでは、Arch LinuxでMumbleサーバー(Murmur)をセットアップする方法について説明します。このチュートリアルで行われることはすべて、rootユーザーとして行われます。インストールと

Arch LinuxでのDevtoolsの使用

Arch LinuxでのDevtoolsの使用

Devtoolsパッケージは、もともとは信頼されたユーザーが公式リポジトリ用のパッケージを適切に作成するために作成されました。ただし、一般ユーザーでも使用可能

Arch LinuxでTeam Fortress 2サーバーをセットアップする

Arch LinuxでTeam Fortress 2サーバーをセットアップする

このチュートリアルでは、Arch LinuxでTeam Fortress 2サーバーをセットアップする方法について説明します。sudoアクセスを持つ非rootユーザーアカウントでログインしていると思います

Arch LinuxでMakepkgを使用する

Arch LinuxでMakepkgを使用する

makepkgを直接使用すると、システムを多少汚染します。base-develパッケージグループをインストールする必要があります。このように、デフォルトでは、依存関係はonlが必要です

Arch LinuxウェブサーバーにPython 3.7をインストールする方法

Arch LinuxウェブサーバーにPython 3.7をインストールする方法

前提条件最新のArch Linuxを実行するVultrサーバー(この記事を参照)。実行中のWebサーバー(ApacheまたはNginx Sudoアクセス):コマンドが必要

Arch LinuxでのSpigotサーバーのセットアップ

Arch LinuxでのSpigotサーバーのセットアップ

このチュートリアルでは、Arch LinuxでSpigotを使用してMinecraftサーバーをセットアップする方法について説明します。このチュートリアルでは、あなたが通常のユーザー(root以外)であり、

カウンターストライクのセットアップ:Arch LinuxでのGlobal Offensive(CSGO)サーバー

カウンターストライクのセットアップ:Arch LinuxでのGlobal Offensive(CSGO)サーバー

このチュートリアルでは、Arch LinuxでCounter-Strike:Global Offensiveサーバーをセットアップする方法について説明します。このチュートリアルは、標準的な使用法でログインしたことを前提としています

Arch LinuxにMariaDB 10.3またはMySQL 8.0をインストールする方法

Arch LinuxにMariaDB 10.3またはMySQL 8.0をインストールする方法

前提条件最新のArch Linuxを実行しているVultrサーバー(この記事を参照してください。)Sudoアクセス:rootとして実行する必要のあるコマンドには、先頭に#が付いています。

Arch LinuxにMongoDB 4.0をインストールする方法

Arch LinuxにMongoDB 4.0をインストールする方法

前提条件最新のArch Linuxを実行しているVultrサーバー(この記事を参照)Sudoアクセス:rootとして実行する必要のあるコマンドには、先頭に#が付いています。

VultrサーバーへのArch Linuxのインストール

VultrサーバーへのArch Linuxのインストール

Vultrは、実行できるようにする優れたテンプレートに加えて、独自のカスタムイメージを使用できるようにする素晴らしい機能を提供します

Arch LinuxウェブサーバーにPHP 7.3をインストールする方法

Arch LinuxウェブサーバーにPHP 7.3をインストールする方法

前提条件最新のArch Linuxを実行しているVultrサーバー(この記事を参照)。ApacheまたはNginx Sudoアクセスのいずれかを実行しているWebサーバー。コマンドが必要

Arch LinuxにNginx 1.14をインストールする方法

Arch LinuxにNginx 1.14をインストールする方法

前提条件最新のArch Linuxを実行しているVultrサーバー(この記事を参照してください。)Sudoアクセス。rootとして実行する必要のあるコマンドには、先頭に#が付いています。Th

Arch Linuxでのパッケージのビルド(AURを含む)

Arch Linuxでのパッケージのビルド(AURを含む)

Arch Linuxでは、公式リポジトリはコア、エクストラ、コミュニティです。これらのパッケージはすでにコンパイルされており、pacmanによってインストールされます。前方へ

Arch LinuxにApache 2.4をインストールする方法

Arch LinuxにApache 2.4をインストールする方法

前提条件最新のArch Linuxを実行しているVultrサーバー。詳細については、このガイドを参照してください。Sudoアクセス。root arとして実行する必要があるコマンド

Arch LinuxウェブサーバーでHTTPSを使用する方法

Arch LinuxウェブサーバーでHTTPSを使用する方法

前提条件最新のArch Linuxを実行するVultrサーバー(この記事を参照)。実行中のWebサーバー(ApacheまたはNginx Sudoアクセス)必要なコマンドt

Vultrサーバーへの2019 Arch Linuxのインストール

Vultrサーバーへの2019 Arch Linuxのインストール

はじめにArch Linuxは、人気のあるディストリビューションよりも小さいながらも強力です。その哲学はかなり異なり、利点と

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。