2018年7月16日月曜日

repositoryのprotocol指定が間違っているとhg pullが失敗する

当たり前と言えば当たり前のtitleなのだが。これまでhttpでokだった場合でも、httpsへの移行が進んでいるのだなと。


Mozilla FirefoxなどのsoftwareはMercurialで管理されている。

Firefoxの最新版 (mozilla-central)を取得しようとした所、失敗した:

% hg pull -u
pulling from http://hg.mozilla.org/mozilla-central/
abort: error: Connection reset by peer

もしかしたらrepositoryの場所が移動したり、serverが死んだりしているのかと確認してみたが、普通に生きている。


ふと、protocolがhttpでなくhttpsであると気付きこれを修正してみた。

% vim .hg/hgrc
# example repository config (see 'hg help config' for more info)
[paths]
default = https://hg.mozilla.org/mozilla-central/

正常にpullできるようになった。


2018年7月14日土曜日

VirtualBoxのkernel moduleをdkmsでrebuildする

*** VERR_LDRELF_RELOCATION_NOT_SUPPORTED への対応 ***

2018-07-14現在の情報: Debian unstableでVirtualBox (OSE)を利用している場合、最新版5.2.14-dfsg-4ではerrorが再発してVMを実行できない。5.2.14-dsfg-3か、testing或いはstable版を利用されたい。

以前のunstableのpackageはsnapshot.debian.orgなどから取得可能。

cf. [#902897 - virtualbox: fails to start vm (VERR_LDRELF_RELOCATION_NOT_SUPPORTED) - Debian Bug report logs](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=902897)

2018-07-16 update: 5.2.14-dfsg-5で修正された模様。

2018-07-17 update: 5.2.14-dfsg-7で(ようやく)修正された模様。


dkmsを手動で


自前でbuildしたkernelをinstallした後、VirtualBoxのkernel object (kernel module)がerrorを吐いてloadできなくなったので、手動でkernel moduleをrebuildした。通常はdkmsでkernel moduleをinstallしていれば、packageやkernelのupgradeに伴い自動でrebuildしてくれるので必要ないのだが。

手順


dkms commandを実行する際にmodule nameとかversion numberとかが必要なので、status subcommandで確認しておく。

% sudo dkms status
virtualbox, 5.2.14, 4.17.6, x86_64: installed

man dkmsを見てみるとautoinstallとかそれっぽいsubcommandがあるのだが、実行してみてもrebuildされなかったので、一旦moduleを削除してやり直してみる:

% sudo dkms remove virtualbox/5.2.14 -k 4.17.6

改めてaddし直す:

% sudo dkms add virtualbox/5.2.14 -k 4.17.6

この時点でmoduleは登録されているが、実際のbuildは行われていない。autoinstall subcommandを発行してrebuildさせてみる:

% sudo dkms autoinstall -k 4.17.6

moduleのbuildが終わるとVirtualBoxのkernel moduleがloadされるはずだが、一応serviceでrestartをかける:

% sudo service virtualbox restart