この後無茶苦茶インストールしまくった。
ので、気づいたことを。
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 []...
このブログにコメントするにはログインが必要です。
さんログアウト
この記事には許可ユーザしかコメントができません。