Linuxをインストールしてみようという記事です。以下の2つは必ず用意しましょう。インストールディスクは多少古くてもどうせ最新版がインストールできるのでいちいち落とし直さなくてもいいかもしれません。Fusionなどarchlinux-20xx.xx.xx-dual.iso仮想マシンの作成マシンスペックと相談して適当な仮想マシンを用意してください。今回は以下のような構成で作ってみました。coresEFIモードへの切り替え仮想マシンの設定ファイルhoge.vmxをテキストエディタで開いて、最終行に以下を付け足します。仮想マシンにぽちぽちコマンドを打っていくのはつらいのでSSH経由でインストールします。rootのパスワードを設定し、sshdを起動して、ipアドレスを確認します。a以降はSSHクライアント側から作業をします。公式マニュアルではまず時刻を設定することを推奨しているので、ここで実施します。trueディスクの準備EFI環境なので、EFI領域をまずは確保します。RAMを4GB確保してあるので今回はSwapを作成しません。550MiBだけEFI領域を確保して、残りは全部rootパーティションにしてしまいます。/etc/fstab.続いてディスクのフォーマットを行います。/dev/sda2ディスクのマウントも行いましょう。/mnt/bootベースシステムのインストールミラーサイトの優先順位を変更して、日本のサーバーを優先的に見に行くようにします。Japanと書かれている行を先頭に移動させます。/etc/pacman.d/mirrorlistまた、pkgbuildのミラーが比較的速めなので、追加しておくと便利かもしれません。https://jpn.mirror.pkgbuild.com/$repo/os/$arch続いてインストールに必要なものを全てインストールしてしまいます。起動に必要な設定を行っていきます。fstabを自動生成します。/mnt/etc/fstabchroot環境に入りましょう。/mntvimコマンドでneovimが起動するようにエイリアスを貼っておきます。vim=nvim日本時間でタイムゾーンをセットしておきます。--systohcロケールを設定します。en_US.UTF-8とja_JP.UTF-8の部分のコメントを外しておきます。/etc/locale.genlocale-genを実行して反映させます。locale-genシステムで使う言語を日本語に設定します。/etc/locale.confHostNameを設定します。YOUR_HOSTNAMEの部分は自由に変えてください。/etc/hostname/etc/hostsも編集してください。YOUR_HOSTNAMErootのパスワードを設定します。passwdネットワーク起動を自動化します。アダプタ名を調べます。aコマンドで調べてください。僕の環境ではens33でした。その情報を元に設定ファイルを書きます。/etc/systemd/network/wired.networkに以下のように記述してください。[Match]Name=ens33[Network]DHCP=yes最後にsystems-netowrkdとsystemd-resolvedを有効にします。後々使うことになるのでこれも最適な感じに設定しておきます。設定ファイルを開きましょう。/etc/makepkg.confCFLAGSとCXXFLAGSを以下のように変更します。-D_FORTIFY_SOURCE=2"CXXFLAGS="${CFLAGS}"MAKEFLAGSのコメントを外し、コンパイル時に用いるコア数を指定します。実コア数+1ぐらいがいいかも。MAKEFLAGS="j9"BUILDENVで「!」をつけて無効にされているccacheを有効にしておきます。0)ブートローダーの書き込みEFI環境であることに留意して、作業します。いってもsystemd-bootを使うだけなので簡単です。以下のコマンドでインストール可能です。install起動のための設定ファイルを書きます。その前にまずrootパーティションのUUIDを調べましょう。/dev/sdxY<UUID>の部分に↑のコマンドで調べた結果を記述してください。rw選択画面の設定を書きます。何か書いてあるファイルですが、内容を消してしまっても大丈夫です。3ユーザーの作成インストール後に使う一般ユーザーを作成します。USER_NAMEの部分をお好きなものに変更してください。USER_NAMEsudoが使えるように設定しておきます。nvimで編集したいので環境変数を一時的に与えます。visudo以下の行のコメントを外すだけでOKです。ALLインストールの完了chroot環境を抜けて再起動すれば終了です。リブート時に勝手にアンマウントしてくれるのでその辺は心配しなくて大丈夫です。reboot再起動したらGUIが動くように設定していきます。リモート接続の確立まずは仮想マシン側で先ほど作成した一般ユーザーでログインし、sshdを起動してIPアドレスを確認します。初回のsudoは説明が日本語で表示されるため文字化けしますが、気にせずパスワードを入力してください。asystemd-resolvedの設定このままだとDNS解決ができないので、設定していきます。/etc/resolve.confをsystemdで用意した物に差し替えます。/etc/resolv.conf続いて/etc/nsswitch.confのdnsをresolvに書き換えます。/etc/nsswitch.conf.zshrcを仕込むちょっと作業がもたつくので自作の物にすり替えておきます。~/.zshrcリポジトリの編集multilibが利用できるようにしましょう。設定ファイルを開きます。/etc/pacman.confmultilibのコメントを外します。/etc/pacman.d/mirrorlistあとはリポジトリを再読込しましょう。今回はAURヘルパーとしてyeyを使いたいと思います。以下の手順で簡単に導入できます。最後にディレクトリを消していますが、この操作は任意です。Toolsのインストールとりあえず公式リポジトリのものを入れておけばOKです。X11と一緒に入れておきます。gtkmm3バージョン情報を読み取れるようにしておきます。/etc/arch-release"関連サービスが起動時に立ち上がるように設定しましょう。vmware-vmblock-fuse時計はsystemdで同期します。/etc/systemd/timesyncd.confで、ntpサーバーのアドレスが指定可能です。各ネットワーク網に適したサーバーを指定してください。trueデスクトップ環境のインストール今回はCinnamonを使ってみることにします。端末エミュレーターにはsakuraを利用します。フォントも文字化けしないように日本語対応のものを入れておきましょう。sakura好みに応じて、下記記事を参考にCicaを入れても良いと思います。以下のように編集して突っ込んだ。lightdmが起動時に有効になるようにしておきます。ついでにビットマップフォントも無効化します。残念な見た目になりますので。/etc/fonts/conf.d/GTKテーマの導入お気に入りのテーマを入れておきます。今回はmateriaとpapirusと壁紙を導入します。日本語入力ができるようにしておきましょう。関連ソフトウェアを導入します。fcitx-configtoolまた、GTKやQtなどで有効になるように.xprofileを作成して以下の内容を書き込みます。XMODIFIERS=@im=fcitxその他必要なソフトウェアの導入Firefoxとかjdkとかよく使うものをここで入れておきます。alsa-utilsおしまいとりあえずこれで一通りは使えるようになります。この後この環境をどう育てていくかはユーザー次第ですので、各自楽しみながら環境構築にいそしみましょう。upLoginユーザーは見つかりませんでした。