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は、人気のあるディストリビューションよりも小さいながらも強力です。その哲学はかなり異なり、利点と

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

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

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

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、