OpenBSD 6.7 -> 6.8
北陸先端大学はOpenBSDから離脱?
何時も利用させてもらっている、北陸先端大学のサーバーに新しいOpenBSDが来ていない。
http://ftp.jaist.ac.jp/pub/OpenBSD/
新しい6.8が来ると直前の6.7だけを残して、それ以前の奴は削除されるのが通例。 それが、何と言う事か、ほったらかしになってる。
OpenBSD Mirrors ここには、まだ広告が出てる。どうなってるの?
6.7 -> 6.8 for i386
試しにi386をやってみた。sysupgrade -k でOKなはずなんだけど、6.8にはならなかった。
/auto.conf とか言う制御ファイルが残ったまま。しょうがないのでインストールisoから起動したら、無事にupgradeが行われた。そんなものなのかな?
pkg_add
-u したら、下記のように取り残された奴が居た。
Running tags: ok Read shared items: ok --- -dbus-1.12.16p2v0 ------------------- Remember to update /etc/machine-id --- -libxml-2.9.10p0 ------------------- Remember to update /var/db/xmlcatalog --- -py3-pip-19.1.1 ------------------- Don't forget to remove /usr/local/bin/pip if it was a symlink to /usr/local/bin/pip3.7. --- +py3-pip-20.1.1p0 ------------------- If you want to use this package as default pip, as root create a symbolic link like so (overwriting any previous default): ln -sf /usr/local/bin/pip3.8 /usr/local/bin/pip Couldn't find updates for gd-2.2.5p1 libwebp-1.1.0 texlive_base-2019p0 texlive_mktexlsr-2019 texlive_synctex-2019 texlive_texmf-buildset-2019 tiff-4.1.0 unzip-6.0p13 w3m-0.5.3p8 xdg-utils-1.1.3p1 xz-5.2.5 zip-3.0p1 zstd-1.4.4p1 zziplib-0.13.62p1 Couldn't install gd-2.3.0 lcdf-typetools-2.108 libwebp-1.1.0 texlive_base-2020p0 texlive_mktexlsr-2020p0 texlive_synctex-2020p0 texlive_texmf-buildset-2020p0 tiff-4.1.0
どうも、一部のportが無いみたいで、それを使ってるportが新しくならないみたいだ。これ、全部チェックするの大変だろうな。
あ、emacsが27.1になってる。Python 3.8.6になってる。おいかけっこは永遠に。
add disk
vbox$ df -h Filesystem Size Used Avail Capacity Mounted on /dev/wd0a 3.7G 2.8G 756M 79% / mfs:93350 371M 5.0K 353M 0% /tmp
曲がりなりにもupgrade出来たんで暫く使ってみる。だけど、ちとDiskが容量不足のように思える。だったら、以前やったdiskエリアを広げておいてから、growfsするか。いや、今までやった事が無いDisk増設にチャレンジしてみよう。
バーチャルボックスでHDDをどうやって増やす? VirtualBoxの仮想HDD追加 こんな風に新規のDiskを作るとな。早速作ってみた。ちゃんと認識してるかな。
vbox$ dmesg | grep wd wd0 at pciide0 channel 0 drive 0: <VBOX HARDDISK> wd0: 128-sector PIO, LBA, 4096MB, 8388608 sectors wd1 at pciide0 channel 0 drive 1: <VBOX HARDDISK> wd1: 128-sector PIO, LBA, 8192MB, 16777216 sectors wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 wd1(pciide0:0:1): using PIO mode 4, Ultra-DMA mode 2
けち臭く8GのDISKが見えている。
vbox$ doas newfs wd1c doas (sakae@vbox.local.jp) password: /dev/rwd1c: 8192.0MB in 16777216 sectors of 512 bytes 41 cylinder groups of 202.50MB, 12960 blocks, 25920 inodes each super-block backups (for fsck -b #) at: 160, 414880, 829600, 1244320, 1659040, 2073760, 2488480, 2903200, 3317920, 3732640, 4147360, 4562080, 4976800, 5391520, 5806240, 6220960, 6635680, 7050400, 7465120, 7879840, 8294560, 8709280, 9124000, 9538720, 9953440, 10368160, 10782880, 11197600, 11612320, 12027040, 12441760, 12856480, 13271200, 13685920, 14100640, 14515360, 14930080, 15344800, 15759520, 16174240, 16588960,
普通ならdisklabelとかやるんだけど、みんな使うって事で、いきなりの地均し。
vbox# mkdir /EXTd vbox# mount /dev/wd1c /EXTd vbox# df -h Filesystem Size Used Avail Capacity Mounted on /dev/wd0a 3.7G 2.8G 756M 79% / mfs:93350 371M 5.0K 353M 0% /tmp /dev/wd1c 7.7G 2.0K 7.4G 0% /EXTd
後はマウントポイントを作って、手動でマウントしてみた。
vbox$ cat /etc/fstab 374dfbdba8ac84a9.b none swap sw 374dfbdba8ac84a9.a / ffs rw,wxallowed 1 1 swap /tmp mfs rw,nodev,nosuid,-s=384m 0 0 /dev/wd1c /EXTd ffs rw 0 0
起動時からマウントされるようにfstabに登録した。
次は、/usr下にあるlocalを新しいDiskにmvして、
vbox$ ls -l local lrwxr-xr-x 1 root wheel 11 Oct 21 14:30 local@ -> /EXTd/local
こんな具合にリンクしちゃった。後は、srcとかportsとかも本体を拡張側に置いて、リンクしちゃえば良い。
6.7 -> 6.8 for amd64
こちらの方は何の問題もなく6.8になった。
sysupgrade -k すると、必要な物がDLされる。続いて自動で再起動されて、新しい奴がHDDに書き込まれる。再再起動して、マージが行われておしまい。
pkg_add
-u では、Rが4.0.2になった。とんでもなく関連のportsが有り(再帰せよだな)永遠とupgradeしてたよ。まあ、ほっとけばいいんだけどね。
as apt-file by OpenBSD
前回OpenBSDのportsで、インストールしてない奴が何処に入ってるか、検索するコマンドが無いと、プチ嘆いた。で、スクリプトでも組もうかと思っていたけど(これ系はperlの独壇場になってる、超保守的)、そんな無駄な事しなくても、下記で十分だった。
ports毎にパッキングリストが有るんで、それを検索するだけ。
ob$ cd /usr/ports ob$ find . -name 'PLIST*' | xargs grep -l xml2-config ./textproc/libxml/pkg/PLIST-main ob$ find . -name 'PLIST*' | xargs grep -l sqlite3 ./databases/evolution-data-server/pkg/PLIST ./databases/hs-HDBC-sqlite3/pkg/PLIST ./databases/kdb/pkg/PLIST : ob$ find . -name 'PLIST*' | xargs grep -l bin/sqlite3 ./databases/sqlite3/pkg/PLIST ob$ find . -name 'PLIST*' | xargs grep -l texi2any ./print/texinfo/pkg/PLIST
2例目は、sqlite3が何処に有るか検索。色々候補が出て来るので、binの下にあるやつだよと指定し直すと、一発検索でけた。
unixの1/4世紀とかいう本が有ったけど、OpenBSDも生誕25周年と言う事で、この本のお仲間に目出度く加わる事が出来た。UNIXはテキスト指向文化だよな。
何処かのOSみたいに、パッケージを検索するにも、専用のコマンドとデータベース(大概はバークレーDBと言う奴)が必要と言う狂った事をしていない。佳き文化也。
csv data
前回やった消費実体調査。csvで出て来るデータの意味が分からなかったので、調査。
まずは、何はなくとも、Windowsな人が大好きなEXCEL風に出してみる。但し今回は、表形式ではなくて、垂れ流しを選んでみた。名前はcsvになってるんで、ちゃんとlibreofficeで読み込んで、表形式に再現出来た。なお、表形式(クロス表現って言うらしい)と、垂れ流し表現で微妙にファイル名が異なるから、安心したまえ。勿論、文字コードは伝統のShift-JISですよ。 EXCELが改心してShift-JISを棄てない限り、いつまでもWindowsは遅れた文字コードを使い続けるのでしょう。
しゃらくさいのでutf-8に改変しておいた。サイズは、こんなもの。
debian:Downloads$ wc FEH_00200564_201020060639.csv 64225 100195 12500154 FEH_00200564_201020060639.csv## debian:ES$ wc zzz.csv 513836 549811 12501388 zzz.csv
Rから作ったファイルより随分行数が少ない。8倍の行数比になった。
debian:Downloads$ grep 6797 FEH_00200564_201020060639.csv "003","金額","00180","年間収入(千円)","00010","合計","07006","総世帯のうち勤労 者世帯","00590","40〜49歳","00000","全国","2014000000","2014年","","6797"
表の金額欄に有った数値を頼りにgrep。
debian:ES$ grep -B 10 6797 zzz.csv "00000","全国" "2014000000","2014年" "","5500" "003","金額" "00180","年間収入(千円)" "00010","合計" "07006","総世帯のうち勤労者世帯" "00590","40~49歳" "00000","全国" "2014000000","2014年" "","6797"
今度はRから取り込んだファイル。見比べて見ると、8倍の意味が良く分かったよ。