はい、もちろん、実行することをお勧めする一連のコマンドをすべて手で実行することはありません。また、sysinstallを台無しにしませんが、 Fixitモードから起動される無人インストールスクリプトを作成します。 これを行うには、DVDまたはUSBstickインストールオプション、スクリプトが保存されているサーバー(ssh経由でアクセス可能)が必要です。
インストールプロセスは次のようになります。ブートし、 Fixitモードを選択します-CD / DVD 、ネットワークカードのIPを切断し、スクリプトを実行します。
Fixit# ifconfig em0 192.168.1.100/24
Fixit # ssh user@192.168.1.1 'cat / opt / script / zfs-init' | sh
次に、スクリプトの内容を見てみましょう。次のようになります。
1.ディスクのパーティションを作成します(GPT-ブート、スワップ0、ディスク0)
2. ZFSプールを作成します(/ルート、/ tmp、/ usr、/ var、/ opt)-/ルートパーティションは個別に作成され、サイズも制限されます
3.最小限の設定でZFSにフラスコを投げて開始します
シェル上のスクリプト、特定のシーケンスのコマンドのリスト。 スクリプトの冒頭で、変数dev(ディスク)、iface(ネットワークカード)、tank(ZFSプールの名前)、ホスト名(ホスト名)、tz(タイムゾーン)を変更します。 ここに彼は:
- #!/ bin / sh
- #バール
- dev = da0
- タンク =タンク
- iface = em0
- ホスト名 = core.domain.com
- tz = "ヨーロッパ/キエフ"
- #gpart
- gpart create -s GPT $ dev
- gpart add -s 64K -t freebsd-boot $ dev
- gpart add -s 2G -t freebsd-swap -l swap0 $ dev
- gpart add -t freebsd-zfs -l disk0 $ dev
- gpart bootcode -b / mnt2 / boot / pmbr -p / mnt2 / boot / gptzfsboot -i 1 $ dev
- sysctl kern.geom.debugflags = 0x10
- #ZFSをインストール
- kldload / mnt2 /ブート/カーネル/ opensolaris.ko
- kldload / mnt2 / boot / kernel / zfs.ko
- mkdir / boot / zfs
- #ZFSプールを作成する
- zpool create -f $ tank / dev / gpt / disk0
- zfs set mountpoint = none $ tank
- zfs set atime = off $ tank
- zfs set checksum = fletcher4 $ tank
- zfs create -o compression = off -o exec = on $ tank / root
- zfs set mountpoint = / $ tank $ tank / root
- zpool set bootfs = $ tank / root $ tank
- zfs create -o compression = on -o exec = on -o setuid = off $ tank / tmp
- zfs set mountpoint = / $ tank / tmp $ tank / tmp
- zfs create $ tank / usr
- zfs set mountpoint = / $ tank / usr $ tank / usr
- zfs create $ tank / var
- zfs set mountpoint = / $ tank / var $ tank / var
- zfs create -o compression = off -o setuid = off $ tank / opt
- zfs set mountpoint = / $ tank / opt $ tank / opt
- cd / $ tank ; ln -s / usr / home home && cd-
- mkdir / $ tank / var / tmp
- chmod 1777 / $ tank / var / tmp / $ tank / tmp
- #基本システムをインストール
- cd / dist / 8.2- *
- エクスポート DESTDIR = / $ tank
- ベースcatpages dict doc info lib32 manpagesのディレクトリ。 do ( cd $ dir ; echo "y" | ./ install.sh ) ; やった
- cd src; 。 / install.sh all
- cd .. / kernels; 。 / install.shジェネリック
- cd / $ tank / boot; cp -Rlp GENERIC / * / $ tank / boot / kernel /
- #基本設定をインストール
- 猫 << EOF > / $ tank / etc / rc.conf
- zfs_enable = "YES"
- ホスト名 = " $ホスト名 "
- ifconfig_ $ iface = "DHCP"
- sshd_enable = "YES"
- ntpd_enable = "YES"
- ntpd_program = "/ usr / sbin / ntpd"
- ntpd_flags = "-p /var/run/ntpd.pid -f /var/db/ntpd.drift"
- Eof
- 猫 << EOF > / $ tank / etc / ntp.conf
- サーバー82.207.71.6 iburst maxpoll 9
- サーバー91.198.10.4 iburst maxpoll 9
- サーバー79.142.192.4 iburst maxpoll 9
- サーバー193.193.193.107 iburst maxpoll 9
- Eof
- echo 'zfs_load = "YES"' > / $ tank / boot / loader.conf
- echo "vfs.root.mountfrom = \" zfs: $ tank / root \ " " >> / $ tank / boot / loader.conf
- cp / mnt2 / usr / share / zoneinfo / $ tz / $ tank / etc / localtime
- cp / boot / zfs / zpool.cache / $ tank / boot / zfs / zpool.cache
- 猫 << EOF > / $ tank / etc / fstab
- #デバイスマウントポイントFStypeオプションダンプパス#
- / dev / gpt / swap0 none swap sw 0 0
- procfs / proc procfs rw 0 0
- Eof
- export LD_LIBRARY_PATH = / mnt2 / lib
- cd /
- #正しいZFSマウントポイントとクォータ
- zfsアンマウント-a
- zfs set mountpoint = / opt $ tank / opt
- zfs set quota = 1G $ tank / tmp && zfs set mountpoint = / tmp $ tank / tmp
- zfs set quota = 5G $ tank / usr && zfs set mountpoint = / usr $ tank / usr
- zfs set quota = 10G $ tank / var && zfs set mountpoint = / var $ tank / var
- zfs set quota = 512m $ tank / root && zfs set mountpoint = legacy $ tank / root
スクリプトの実行中、サーバーを再起動するだけでキーボードに触れる必要はありません。パスワードなしでルートとしてログインします。
関連資料: RootOnZFS / GPTZFSBoot 、 ZFSをメインとして使用したFreeBSDのインストール 。
頑張って