この後無茶苦茶インストールしまくった。
ので、気づいたことを。
FreeBSD 9以前からの移行、特にpkgまわり
make install
でやっていたのも今や昔。freebsd-update
でさくっと。
で、手順は FreeBSD 10.0-RELEASE Installation Instructions のとおり
- 念のため旧環境もアップデート。済んでれば次へ。
# freebsd-update fetch # freebsd-update install
- 10.0へアップグレード
- 必要なファイルの取得
# freebsd-update upgrade -r 10.0-RELEASE
- カーネル入れ替え
# freebsd-update install # shutdown -r now
- 新ユーザーランドのインストール
# freebsd-update install
- サードパーティーアプリの更新
- ここ、どうする?
- 最後に不要になった旧ファイル削除
# freebsd-update install
で、昔はそこで portupgrade -fa
とかしてたんだけど、10なら
# pkg upgrade -f
で基本おk。バイナリーでアップグレードって速い速い。
…なんだけど、ここでカスタマイズしてビルドしたportsとかはどうしたらよいか。
こうするのが正しいようだ。
- カスタマイズしていたものだけ、
portupgrade -f
などでアップグレード。すでにportupgrade
もportmaster
もpkgng対応している。 - それを
pkg lock
してから pkg upgrade
pkgngの素晴らしいのは、ports とも共存していること。新鮮度では ports > pkg なので、たとえpkgが壊れていても一時的にportsでしのぐということが当然のように出来る。というか実際avahi-app
が壊れていたのでそうした。
気をつけなければならないのはportsをカスタマイズしていた場合で、この場合だけlockして一蓮托生でアップグレードされないように指定しておけばよい。
ただし、lockしたportsをアップグレードする際には、最初にunlockしておかなければならない点は注意。
FreeBSD desktop on VMware
せっかくpkgngになったので、今まではおっくうだったデスクトップ環境の構築もやってみる。いや、PC-BSD でもいいんだけど、ちょっと重いし。
以下のかんじで行ける。クリップボードも共有できるしディスプレイリサイズも変更できるしドラッグアンドドロップでファイルコピーもできる。一番重要なのは、VMwareの方に付属の VMware Tools ではなく ports の open-vm-tools を使うこと。
- VMは普通に作る。メモリーは1Gぐらいあればおk。
- 必要なパッケージを一括インストール。ここではデスクトップ環境には MATE を指定している。
% su # pkg install \ sudo xorg \ open-vm-tools xf86-input-vmmouse xf86-video-vmware \ mate ja-ibus-anthy \ firefox ja-font-std
最後の一行で IPA Font と M+ Font を ja-font-std 経由で入れているのは、これがないと Firefox の日本語表示がとってもみにくいから。 /etc/rc.conf
に以下を追加dbus_enable="YES" hald_enable="YES" vmware_guest_vmblock_enable="YES" vmware_guest_vmhgfs_enable="YES" vmware_guest_vmmemctl_enable="YES" vmware_guest_vmxnet_enable="YES" vmware_guestd_enable="YES"
xorg.conf
を作成% sudo service vmware-kmod start % sudo service vmware-guestd start % sudo service hald start % sudo service dbus start % sudo Xorg -configure && sudo mv /root/xorg.conf.new /etc/X11/xorg.conf
~/.xinitrc
はこんな感じに。export LANG=en_US.UTF-8 export XIM=ibus export GTK_IM_MODULE=ibus export QT_IM_MODULE=xim export XMODIFIERS=@im=ibus export XIM_PROGRAM="ibus-daemon" export XIM_ARGS="-r --daemonize --xim" vmware-user-suid-wrapper & exec mate-session
肝要なのは、vmware-user-suid-wrapper
。これがないとクリップボード共有やディスプレイリサイズがうまくいかない。
あとはstartx
すれば、このとおり。
そうそう。もちろん壁紙はデフォルトじゃなくてFreeBSD Wallpaperからいただいたもの。
さらにがんばると、この程度までは行ける。
OS X の VMware Fusion上の FreeBSD の VirtualBox 上の Ubuntu
FreeBSD on Windows Azure
これまた簡単。
Hyper-Vで普通にインストールした後、それをまるっとアップロードするだけ。
注意点は、この一カ所だけ。
FreeBSD 10 を Hyper-V で動かす際には ifconfig_hn0="SYNCDHCP" としておくこと
— Dan Kogai (@dankogai) January 21, 2014
でも、やっぱり「まるっと」数GBのファイルをアップロードするのはおっくうなので、Azure側で正式サポートされることを激ヴぉんぬ。AWSもGoogle Compute Engineもそうしているのだし。新CEOはクラウドの人とのことなので、期待たかまりんぐ。
さいごに
それにしても10からFreeBSDをはじめる人がうらやましい。かつては寡黙で益荒男なOSだったけど、ZFSが入ったあたりからずいぶんと易しく優しくなった。こうなるとOSとしての足腰の強さとか、ユーザーランドも一緒にメンテナンスされているところとか、まとまりのよさが活きてくる。インストールまでならLinuxは楽だけど、各ディストリビューションの違いとか、同じディストリビューションでもバージョン間の差異だとかが大きすぎて、知識がなかなかストックになってくれない。Unityは面食らったなあ…
続けるなら、FreeBSD一押し。
Dan the Daemonize[dr]
Appendix: dmesg @ Windows Azure
Copyright (c) 1992-2014 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 10.0-RELEASE #0 r260789: Thu Jan 16 22:34:59 UTC 2014 root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64 FreeBSD clang version 3.3 (tags/RELEASE_33/final 183502) 20130610 CPU: AMD Opteron(tm) Processor 4171 HE (1062.22-MHz K8-class CPU) Origin = "AuthenticAMD" Id = 0x100f81 Family = 0x10 Model = 0x8 Stepping = 1 Features=0x783fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE,SSE2> Features2=0x80802001<SSE3,CX16,POPCNT,HV> AMD Features=0xe2500800<SYSCALL,NX,MMX+,FFXSR,LM,3DNow!+,3DNow!> AMD Features2=0x3f3<LAHF,CMP,CR8,ABM,SSE4A,MAS,Prefetch,OSVW> real memory = 1879048192 (1792 MB) avail memory = 1694380032 (1615 MB) Event timer "LAPIC" quality 400 ACPI APIC Table: <VRTUAL MICROSFT> ioapic0: Changing APIC ID to 0 ioapic0 <Version 1.1> irqs 0-23 on motherboard random: <Software, Yarrow> initialized kbd1 at kbdmux0 vmbus0: <Vmbus Devices> on motherboard acpi0: <VRTUAL MICROSFT> on motherboard acpi0: Power Button (fixed) acpi0: reservation of 0, a0000 (3) failed acpi0: reservation of 100000, 1ff00000 (3) failed cpu0: <ACPI CPU> on acpi0 attimer0: <AT timer> port 0x40-0x43 irq 0 on acpi0 Timecounter "i8254" frequency 1193182 Hz quality 0 Event timer "i8254" frequency 1193182 Hz quality 100 atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0 Event timer "RTC" frequency 32768 Hz quality 0 Timecounter "ACPI-fast" frequency 3579545 Hz quality 900 acpi_timer0: <32-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 isab0: <PCI-ISA bridge> at device 7.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf at device 7.1 on pci0 ata0: <Hyper-V ATA storage disengage driver> at channel 0 on atapci0 ata1: <ATA channel> at channel 1 on atapci0 pci0: <bridge> at device 7.3 (no driver attached) vgapci0: <VGA-compatible display> mem 0xf8000000-0xfbffffff irq 11 at device 8.0 on pci0 vgapci0: Boot video device atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model IntelliMouse Explorer, device ID 4 uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0 fdc0: <floppy drive controller (FDE)> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0 fd0: <1440-KB 3.5" drive> on fdc0 drive 0 orm0: <ISA Option ROM> at iomem 0xc0000-0xcbfff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 ppc0: cannot reserve I/O port range Timecounter "Hyper-V" frequency 10000000 Hz quality 10000000 ZFS NOTICE: Prefetch is disabled by default if less than 4GB of RAM is present; to enable, add "vfs.zfs.prefetch_disable=0" to /boot/loader.conf. ZFS filesystem version: 5 ZFS storage pool version: features support (5000) Timecounters tick every 10.000 msec storvsc0 on vmbus0 storvsc1 on vmbus0 hyperv-utils0 on vmbus0 hyperv-utils0: Hyper-V Service attaching: Hyper-V Heartbeat Service hyperv-utils1 on vmbus0 hyperv-utils1: Hyper-V Service attaching: Hyper-V Shutdown Service hyperv-utils2 on vmbus0 hyperv-utils2: Hyper-V Service attaching: Hyper-V Time Synch Service storvsc2 on vmbus0 da0 at blkvsc0 bus 0 scbus1 target 0 lun 0 da0: <Msft Virtual Disk 1.0> Fixed Direct Access SCSI-4 device da0: 300.000MB/s transfers da0: Command Queueing enabled da0: 8192MB (16777216 512 byte sectors: 255H 63S/T 1044C) da1 at blkvsc1 bus 0 scbus2 target 1 lun 0 da1: <Msft Virtual Disk 1.0> Fixed Direct Access SCSI-4 device da1: 300.000MB/s transfers da1: Command Queueing enabled da1: 71680MB (146800640 512 byte sectors: 255H 63S/T 9137C) storvsc3 on vmbus0 Netvsc probe... DONE hn0: <Synthetic Network Interface> on vmbus0 Netvsc initializing... hn0: Ethernet address: 00:15:5e:40:37:61 random: unblocking device. Netvsc initializing... Already initialized! Timecounter "TSC" frequency 1062222241 Hz quality 800 Trying to mount root from zfs:zroot/ROOT/default []...
このブログにコメントするにはログインが必要です。
さんログアウト
この記事には許可ユーザしかコメントができません。