gentooインストール

Tech > Distoribution > gentoo

もう既に有名になってしまったgentooのインストールを今更書いても意味は無いと思いますが、これからの若い世代へぜひ一度、OSをインストールする意味を 考えてもらうために、書き残そうと思います。

gentooが勘違いされているところは、 「インストールがむずかしい」 とか、その昔 「今更カーネルビルドしてどうする?」 とか散々言われましたが、最近のgentooは インストールはそんなに難しくないし、インストール後の素晴らしいところは、CentOS互換レベルもしくはそれ以上、で色々簡単に最先端のパッケージなどがすぐに使える ようになります。

gentooのインストールはいつも楽しいです、新しいハイスペックなマシンを買ってしまった後の後悔の念を、 emerge コマンドがすべて忘れさせてくれることでしょう…

とりあえず一番簡単なCD-ROMからのインストールでご説明していきます、CD-ROMを入れてbootしてくださいしばらく待てば完了です、とはいきません。

ISOファイルのダウンロード

gentooのオフィシャルサイトから https://www.gentoo.org/ isoファイルをダウンロードしてUSBとかCD-ROMに焼いてください。 (CD-ROMを焼くのにgentooが必要じゃないか、みたいな質問はしないでください)

左側がamd64(x86_64アーキテクチャ)用のiso、右側がx86(i386系アーキテクチャ)のisoです、最近のマシンはamd64なので左側を選択もらえれば問題ないと思います。

stage3とは

以前はstage1からインストールを行っていたのですが、何年か前に「それは、やりすぎだろ」ということで、今ではstage3からのインストールになりました(stage2が何だったのかは忘れました)。 そしてこのstage3とは初期ディレクトリ構成と必要なファイルが保存されているアーカイブで、CD-ROMからboot後に展開して利用します。

stage3にも2通りあり、システム管理デーモンがsystemd版とopenrc版です、もう最近ではsystemdが標準的になってきているので得に理由が無い限りsystemd版を選択してください。

インストール

IPアドレスを設定する

インストール時にネットワークを利用するためIPアドレスを設定する、dhcpが利用できれば

livecd ~ # dhcpcd enp0s3

手動でIPを設定するならば

livecd ~ # ip addr flush dev enp0s3
livecd ~ # ip addr flush dev enp0s8
livecd ~ # ip addr add 192.168.100.77/24 dev enp0s3
livecd ~ # ip route add default via 192.168.100.1
livecd ~ # ip addr add 192.168.253.77/24 dev enp0s8

リゾルバの設定

名前引きを行えるようにリゾルバの設定を行う

livecd ~ # echo 'nameserver 8.8.8.8' > /etc/resolv.conf

SSHを利用可能にする

外部からログインするためrootのパスワードを設定する、ここで設定するパスワードはインストールのための一時的パスワードです。

livecd ~ # passwd root
...

sshdを起動する

livecd ~ # /etc/init.d/sshd start
...

お好みで、ssh経由のインストールを行うことができます、もちろん実機にログインして行っても問題ありません。

パーティション設定

partedコマンドでパーティションを設定します。

livecd ~ # parted /dev/sda
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: ATA TOSHIBA DT01ACA3 (scsi)
Disk /dev/sda: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start  End  Size  File system  Name  Flags

(parted)

GPTへ設定

(parted) mklabel gpt
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost. Do you want to
continue?
Yes/No? yes
(parted)

パーティションを切る

(parted) unit mib
(parted) mkpart grub 1 3
(parted) set 1 bios_grub on
(parted) unit gib
(parted) mkpart swap 515MiB 32GiB
(parted) mkpart rootfs 32GiB 800GiB
(parted) mkpart home 800GiB -1
(parted) set 2 boot on
(parted) p
Model: ATA TOSHIBA DT01ACA3 (scsi)
Disk /dev/sda: 2795GiB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start    End      Size     File system  Name    Flags
 1      0.00GiB  0.00GiB  0.00GiB               grub    bios_grub
 2      0.00GiB  0.50GiB  0.50GiB               boot    boot, esp
 3      0.50GiB  32.0GiB  31.5GiB               swap
 4      32.0GiB  800GiB   768GiB                rootfs
 5      800GiB   2794GiB  1994GiB               home

(parted)
(parted) quit
Information: You may need to update /etc/fstab.

livecd ~ #

フォーマット

パーティションを作成したのちに、お好きなファイルシステムでフォーマットしてください。

livecd ~ # mkfs.vfat -F 32 /dev/sda1
mkfs.fat 3.0.28 (2015-05-16)

livecd ~ # mkswap /dev/sda3
Setting up swapspace version 1, size = 33027068 KiB
no label, UUID=9e744205-e85d-4d9f-af7b-93c99cb737e4
livecd ~ # swapon /dev/sda3

livecd ~ # mkfs.xfs -f /dev/sda4
meta-data=/dev/sda4              isize=512    agcount=4, agsize=50331648 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1
data     =                       bsize=4096   blocks=201326592, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=98304, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

livecd ~ # mkfs.xfs /dev/sda5
meta-data=/dev/sda5              isize=512    agcount=4, agsize=130647326 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1
data     =                       bsize=4096   blocks=522589302, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=255170, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
livecd ~ #

マウント

フォーマット完了したストレージをマウントしていきます

livecd ~ # mount /dev/sda4 /mnt/gentoo/
livecd ~ # mkdir /mnt/gentoo/boot
livecd ~ # mount /dev/sda2 /mnt/gentoo/boot/
livecd ~ # mkdir /mnt/gentoo/home
livecd ~ # mount /dev/sda5 /mnt/gentoo/home/

stage3の展開

先ほどダウンロードしたstage3を展開します、gentooの基本的ファイルマッピングが行われます。

livecd ~ # cd /mnt/gentoo
livecd ~ # tar -jpxvf stage3-amd64-20151227.tar.bz2

デバイスの関連のマウント

システムデバイス等をループバックマウントします

livecd # mount -o bind /dev /mnt/gentoo/dev/
livecd # mount -t proc /proc /mnt/gentoo/proc
livecd # mount -o bind /sys /mnt/gentoo/sys
livecd # mount -o bind /tmp /mnt/gentoo/tmp

忘れずに、chroot先リゾルバを保存します、IPは適切に設定してください。

livecd ~ # echo 'nameserver 192.168.11.1' > /mnt/gentoo/etc/resolv.conf

chrootする

新しいgentooへchrootします、dockerコンテナに入るのとあまり変わりません。

livecd ~ # chroot /mnt/gentoo /bin/bash
livecd / # env-update
!!! Section 'gentoo' in repos.conf has location attribute set to nonexistent directory: '/usr/portage'
!!! Section 'x-portage' in repos.conf has location attribute set to nonexistent directory: '/usr/portage'
!!! Invalid Repository Location (not a dir): '/usr/portage'
>>> Regenerating /etc/ld.so.cache...
livecd / # source /etc/profile
livecd / # export PS1="(chroot) $PS1"
(chroot) livecd / #

「パッケージ管理用ディレクトリ/usr/portageがないじゃないか!」 と叱られますが、無視です。

poratgeを更新する

rsyncで/usr/portageを同期させて更新します、普段は本家に負荷をかけないように、1台だけ本家とrsyncし、その後の他の自分の機器はその同期させた自前サーバーと 同期するように修正します(必須ではありませんし、1台めの場合は本家と同期してください)

こちらへ詳細を書きましたので Portageの設定 参照してください。

make.confの設定

非常に重要な設定ファイルです、ビルドの設定を行います。

# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-march=skylake -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="x86_64-pc-linux-gnu"
# These are the USE flags that were used in addition to what is provided by the
# profile used for building.
USE="mmx sse sse2 sse3 X alsa dbus avahi -doc udev emacs policykit consolekit systemd -libressl jpeg tiff png flac mp3 vorbis pulseaudio wavpack mpeg dvd cdrw dvdr python qt qt2 qt3 qt4 qt5 gtk gtk2 gtk3 xft lock session startup-notification thunar cjk xkb xcb libnotify opengl cairo -gnome -kde"

# guess cpuid2cpuflags
CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"

# BIN ARCH
ABI_X86="32 64"

ACCEPT_LICENSE="*"
MAKEOPTS="-j16"

# Xorg
INPUT_DEVICES="evdev joystick mouse synaptic keyboard mouse synaptic"
# Gen 4 through Gen 9
# https://wiki.gentoo.org/wiki/Intel
VIDEO_CARDS="intel i915 i965 nouveau nv nvidia"

LINGUAS="us ja"
L10N="ja"

PYTHON_TARGETS="python3_7 python3_8"
PYTHON_SINGLE_TARGET="python3_7"
RUBY_TARGETS="ruby25 ruby26"
PHP_TARGETS="php5-7 php7-3"

# Overlay
# source /var/lib/layman/make.conf

#EMERGE_DEFAULT_OPTS="--autounmask=y"
FEATURES="-stricter -test -distcc -buildpkg"

DISTDIR="/var/cache/distfiles"
PKGDIR="/var/cache/binpkgs"
PORTDIR_OVERLAY="/home/cuomo/overlay/gentoo-haskell /home/cuomo/overlay/karky7-overlay ${PORTDIR_OVERLAY}"

# GRUB_PLATFORMS=efi-64

# CURL_SSL="libressl"

スタンドアローンでビルドするかたや、distccをやらないのであればnativeがおすすめです、後のオプションはgccのリファレンスマニュアルを調べてください。

CFLAGS="-march=native -O2 -pipe"

buildpkgオプションは、バイナリパッケージを作成するオプションです、不要なら外してください、私の場合、仮想OSのアップデートでビルドする時間を短縮するために作成しています。

FEATURES="-stricter -test -distcc -buildpkg"

余談ですが、その昔、SonyのATOMプロセッサにめんどくさいので、Ubuntuのgnomeを入れたのですが、あまりに重いくて使い物にならなかったので、gentooでカスタムし 同じgnomeを入れたところ全然問題なく使えてた記憶があります、そんな影響力のある設定です、gentooならではですね。

ロケールの設定

ロケールの設定を行います、一部のパッケージがビルドでエラーを起こす場合があるので、「en_US.UTF-8 UTF-8」を指定しておいた方がいいと思います。

  • /etc/locale.gen
en_US.UTF-8 UTF-8
#ja_JP.EUC-JP EUC-JP
ja_JP.UTF-8 UTF-8
#ja_JP EUC-JP
#en_HK ISO-8859-1

更新します

(chroot) livecd ~ # locale-gen
 * Generating 4 locales (this might take a while) with 8 jobs
 *  (2/4) Generating ja_JP.EUC-JP ...                                     [ ok ]
 *  (4/4) Generating C.UTF-8 ...                                          [ ok ]
 *  (3/4) Generating ja_JP.UTF-8 ...                                      [ ok ]
 *  (1/4) Generating en_US.UTF-8 ...                                      [ ok ]
 * Generation complete
 * Adding locales to archive ...                                          [ ok ]
(chroot) livecd ~ #

portageを同期する

(chroot) livecd ~ # emerge --sync
>>> Syncing repository 'gentoo' into '/usr/portage'...
>>> Starting rsync with rsync://192.168.11.3/gentoo-portage...
receiving incremental file list
timestamp.chk
...

profileを設定する

gentooでは利用用途の目的別にprofileを設定することが可能です、profileを設定することで概ね必要なUSEフラグがディフォルトで設定されます。 eselectコマンドで一覧を出力できます、(*)マークがついている設定が現在の設定です、マークが無い場合未設定ですので必ず設定しましょう。

例えば、「systemdがベースでgnome環境ついかいたい」 場合、 [7] を指定します。

(chroot) livecd ~ # eselect profile list
Available profile symlink targets:
  [1]   default/linux/amd64/17.1 (stable)
  [2]   default/linux/amd64/17.1/selinux (stable)
  [3]   default/linux/amd64/17.1/hardened (stable)
  [4]   default/linux/amd64/17.1/hardened/selinux (stable)
  [5]   default/linux/amd64/17.1/desktop (stable)
  [6]   default/linux/amd64/17.1/desktop/gnome (stable)
  [7]   default/linux/amd64/17.1/desktop/gnome/systemd (stable)
  [8]   default/linux/amd64/17.1/desktop/plasma (stable)
  [9]   default/linux/amd64/17.1/desktop/plasma/systemd (stable)
  [10]  default/linux/amd64/17.1/developer (stable)
  [11]  default/linux/amd64/17.1/no-multilib (stable)
  [12]  default/linux/amd64/17.1/no-multilib/hardened (stable)
  [13]  default/linux/amd64/17.1/no-multilib/hardened/selinux (stable)
  [14]  default/linux/amd64/17.1/systemd (stable) *
  [15]  default/linux/amd64/17.0 (dev)
  [16]  default/linux/amd64/17.0/selinux (dev)
  [17]  default/linux/amd64/17.0/hardened (dev)
  [18]  default/linux/amd64/17.0/hardened/selinux (dev)
  [19]  default/linux/amd64/17.0/desktop (dev)
  [20]  default/linux/amd64/17.0/desktop/gnome (dev)
  [21]  default/linux/amd64/17.0/desktop/gnome/systemd (dev)
  [22]  default/linux/amd64/17.0/desktop/plasma (dev)
  [23]  default/linux/amd64/17.0/desktop/plasma/systemd (dev)
  [24]  default/linux/amd64/17.0/developer (dev)
  [25]  default/linux/amd64/17.0/no-multilib (dev)
  [26]  default/linux/amd64/17.0/no-multilib/hardened (dev)
  [27]  default/linux/amd64/17.0/no-multilib/hardened/selinux (dev)
  [28]  default/linux/amd64/17.0/systemd (dev)
  [29]  default/linux/amd64/17.0/x32 (dev)
  [30]  default/linux/amd64/17.0/musl (exp)
  [31]  default/linux/amd64/17.0/musl/hardened (exp)
  [32]  default/linux/amd64/17.0/musl/hardened/selinux (exp)
  [33]  default/linux/amd64/17.0/uclibc (exp)
  [34]  default/linux/amd64/17.0/uclibc/hardened (exp)

設定はeselectコマンドを使って行います。

(chroot) livecd ~ # eselect profile set 14

システムビルド

ここから、make.confの設定で指定されるバイナリへプログラムを更新していき、最終的に我が愛しのgentooを構築していきます。

(chroot) livecd ~ # emerge -epv system

一昔前は三日三晩かかったビルドも、いまのハイスペックなマシンなら半日かからず終了します、やっと時代がgentooに近づいてきたようです。

glibcのビルド開始時に以下のエラーが発生する場合があります、

 * In order to use glibc with USE=-suid, you must make sure that
 * you have devpts mounted at /dev/pts with the gid=5 option.
 * Openrc should do this for you, so you should check /etc/fstab
 * and make sure you do not have any invalid settings there.
 * ERROR: sys-libs/glibc-2.17::gentoo failed (preinst phase):
 *   mount & fix your /dev/pts settings

その場合、以下のようptsを再マウントしてみてください。

(chroot) livecd ~ # mount -o remount,gid=5 /dev/pts

ファイルシステム

起動時のマウント情報を作成する必要があります、あわててインストールするとこの作業を忘れてrebootしてしまい、再度chrootという屈辱を味わうので先に行っておきましょう。

まず、パーティショニングしたブロックデバイスのブロックIDを取得しておきます、面倒くさければ昔ながらの/dev/sdxとか、/dev/nvme0n1p2でも構いません。

(chroot) livecd ~ # blkid /dev/sda1
/dev/sda1: UUID="85A1-51D0" TYPE="vfat" PARTLABEL="efi-boot" PARTUUID="2c0c39ce-d12b-44fc-b00c-49f7c8f32cfe"
(chroot) livecd ~ # blkid /dev/sda2
/dev/sda2: UUID="17ec9164-e43c-4a9b-a3a8-e34f1e5fdfaf" TYPE="swap" PARTLABEL="swap" PARTUUID="22998b31-cb08-45e7-8fc6-ee3fba08f82e"
(chroot) livecd ~ # blkid /dev/sda3
/dev/sda3: UUID="7ed7ac5f-50e6-43b0-9543-4d90a6aebb81" TYPE="xfs" PARTLABEL="rootfs" PARTUUID="5f5fac32-7266-47c1-b123-977d72823ef2"
(chroot) livecd ~ # blkid /dev/sda4
/dev/sda4: UUID="d8208f95-6aca-4064-8d67-41014b236cee" TYPE="xfs" PARTLABEL="home" PARTUUID="94be1fe5-cbc2-41cc-a1dc-5ab13e5c5f35"
(chroot) livecd ~ #

ちなみに、UUIDとPARTUUIDは違いますのでご注意ください。

そして、ファイル情報を更新し保存します。

  • /etc/fstab
# <fs>                  <mountpoint>    <type>          <opts>          <dump/pass>
UUID="85A1-51D0"        /boot/efi                       vfat    noauto,noatime  1 2 # /dev/sda1
UUID="7ed7ac5f-50e6-43b0-9543-4d90a6aebb81"     /       xfs     noatime         0 1 # /dev/sda3
UUID="d8208f95-6aca-4064-8d67-41014b236cee"     /home   xfs     default         0 1 # /dev/sda4
UUID="17ec9164-e43c-4a9b-a3a8-e34f1e5fdfaf"     none    swap    default         0 0 # /dev/sda2
/dev/cdrom              /mnt/cdrom      auto            noauto,ro       0 0
/dev/fd0                /mnt/floppy     auto            noauto          0 0
# /dev/BOOT             /boot           ext2            noauto,noatime  1 2
# /dev/ROOT             /               ext3            noatime         0 1
# /dev/SWAP             none            swap            sw              0 0
# /dev/cdrom            /mnt/cdrom      auto            noauto,ro       0 0
# /dev/fd0              /mnt/floppy     auto            noauto          0 0
  • /etc/mtab

mtabを作成します。

(chroot) livecd ~ # grep -v rootfs /proc/mounts > /etc/mtab
/dev/root / xfs rw,noatime,attr2,inode64,logbufs=8,logbsize=32k,noquota 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
devtmpfs /dev devtmpfs rw,nosuid,noexec,size=16412364k,nr_inodes=4103091,mode=755 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,nodev,size=6579152k,nr_inodes=819200,mode=755 0 0
...
... 続く

カーネル構築

カーネル構築といっても、すべてgentooがやってくれます、genkernelコマンドで終了です。

最初に、gentooのカーネルソースを持ってきます

(chroot) livecd ~ # emerge gentoo-sources

そして、genkernelパッケージをインストール

(chroot) livecd ~ # emerge sys-kernel/genkernel

カーネルを構築する、オプションがいっぱいありますがとりあえずこれで終わりです、カーネルオプションを設定したい方は 最後に「–menuconfig」オプションをつければビルド前にメニューが開くと思います。

(chroot) livecd ~ # genkernel all

これだけです、完了すると、/bootディレクトリしたにカーネルが展開されます。

ブートローダ

grub2をブートローダへ設定します、UEFIの場合、/etc/portage/make.confへ以下の設定を追加

  • /etc/portage/make.conf
# UEFI on amd64
GRUB_PLATFORMS="efi-64"

grub2パッケージののインストール

(chroot) livecd ~ # emerge sys-boot/grub

ディスクへインストールします

(chroot) livecd ~ # grub2-install --target=x86_64-efi --efi-directory=/boot
Installing for x86_64-efi platform.
Installation finished. No error reported.

efibootmgr: EFI variables are not supported on this system. が出力される場合、 grub設定の備考 あたりを参考に調整してください

grub設定ファイル作成します

livecd ~ # grub2-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Linux イメージを見つけました: /boot/kernel-genkernel-x86_64-4.1.15-gentoo-r1
Found initrd image: /boot/initramfs-genkernel-x86_64-4.1.15-gentoo-r1
完了
  • /etc/default/grub
GRUB_CMDLINE_LINUX="init=/usr/lib/systemd/systemd"

ユーザー作成

rootユーザーのパスワードは必ず設定してください、reboot後、辱めを受けます。

(chroot) livecd ~ # passwd root
新しいパスワード:
新しいパスワードを再入力してください:
passwd: パスワードは正しく更新されました
(chroot) livecd ~ #

追加パッケージをインストール

再起動後ネットワークへ接続できるよう、必要最低限のパッケージをインストールします

(chroot) livecd ~ # emerge dhcpcd
(chroot) livecd ~ # emerge net-misc/bridge-utils
(chroot) livecd ~ # emerge sys-apps/iproute2

失敗した場合、再度CD-ROMから起動して、chrootを行ってください。

環境設定

ホスト名、ロケール、タイムゾーンなどを設定します。

(chroot) livecd ~ # timedatectl set-timezone Asia/Tokyo
(chroot) livecd ~ # hostnamectl set-hostname vkari
(chroot) livecd ~ # localectl set-locale LANG=ja_JP.utf-8
(chroot) livecd ~ # localectl set-keymap jp106
(chroot) livecd ~ # timedatectl set-ntp true
(chroot) livecd ~ # timedatectl status
      Local time: 日 2017-02-05 16:24:37 JST
      Universal time: 日 2017-02-05 07:24:37 UTC
        RTC time: n/a
        Time zone: Asia/Tokyo (JST, +0900)
        Network time on: yes
	NTP synchronized: yes
        RTC in local TZ: no
(chroot) livecd ~ # localectl
   System Locale: LANG=ja_JP.utf-8
       VC Keymap: jp106
       X11 Layout: jp
       X11 Model: jp106
       X11 Options: terminate:ctrl_alt_bksp
(chroot) livecd ~ # 

ネットワーク設定

ネットワークデバイスが利用できるように設定します。

  • /etc/conf.d/network@enp0s3
address=192.168.100.77
netmask=24
broadcast=192.168.254.255
gateway=192.168.243.1
  • /etc/conf.d/network@enp0s8
address=192.168.254.77
netmask=24
broadcast=192.168.254.255

enp0s3とenp0s8のネットワークデバイスは実際のデバイス名で置き換えてください。

(chroot) livecd ~ # systemctl enable network@enp0s3
(chroot) livecd ~ # systemctl start network@enp0s3

最終処理

ベースの構築はこれで完了です、chroot環境からexitしてください。

(chroot) livecd ~ # exit
# cd

すべてunmountします

livecd # umount /mnt/gentoo/dev/
livecd # umount /mnt/gentoo/proc
livecd # umount /mnt/gentoo/sys
livecd # umount /mnt/gentoo/tmp
livecd # umount /mnt/gentoo/home
livecd # umount /mnt/gentoo/boot
livecd # umount /mnt/gentoo/

umountでエラーが発生しても無視していいと思います。

reboot

さぁ、rebootです、恥ずかしめを受けないようお祈りが完了したら、以下のコマンドを打ち込んでください。 (CD-ROMを取り出すことをおわすれなく…)

livecd # reboot

おめでとうございます、gentooが起動しましたか?…

Posted on 2020-11-16 05:09:26

はじめまして

お茶の国静岡で、焼酎のお茶割なんか罰当たりで飲んだことはありません、常に一番搾りを嗜む静岡極東のBBQerです、最近まわりのエンジニアの方々がお料理を上手にやっている姿を恨めしそうに横目に見ながら、軟骨ピリ辛チクワを食べています、みなさんよろしく。

Posted

Amazon

tags

日本酒池 広井酒店 やがら やっぱた 刺身 丸干し 東京マラソン fpm php82 servant thread spawn Rust Oracle Linux 8 microcode firmware linux openzfs zfs gitea 麒麟 真野鶴 金鶴 日本酒 docker oracle pod podman cli virtualbox VirtualBox epub mobi calibre mask lens ワンライナー php redmine Linux Oracle Map OMap omap map BBQ カテゴリ管理 カテゴリ timestamp date oracle database string 麦焼酎 ダービー process 磨き蒸留 広井酒店、日本酒 芋焼酎 焼酎 ゆるキャン 広井酒店、日本酒池 spring framework java persistent spring session session spring hdbc-odbc persistent-odbc odbc day utctime スィート レマンの森 elm初期化 elm バイク xlr80 esqueleto database xl2tpd strongswan vpn l2tp ipsec 正月 ゲーム grub nginx systemctl portage 豚骨 圧力鍋 yesod-auth-hashdb yesod-auth yesod