Linux カーネル 3.20 以降のバージョン番号の付き方

調べてみた。

公式なドキュメントは無い模様。

What are Kernel Version number components (w.x.yy-zzz) called? - Ask Ubuntu より

Then, pretty much arbitrarily, Linus bumped the version to 3.0. And that ended all of that semantic versioning's applicability to Linux versions. And when 3.20 was due, Linus switched to simply incrementing w whenever x got large enough that he ran out of fingers and toes to count it.

それから、ほぼ恣意的に、Linus はバージョンを 3.0 に上げました。 これで、Linux へのセマンティックバージョニングの適用はすべて終わりました。 そして、3.20 が来たとき、Linus はマイナー番号が手足の指の数を超えたら、シンプルにメジャー番号をインクリメントすることに切り替えました。

nvidia/cuda コンテナーで screen コマンドのシェルを bash に変更する

デフォルト (/bin/sh) だと、[BackSpace] も [Delete] も化けるから困ってた。

方法

テキストエディターをインストールする

# apt install -y vim

テキストエディターで ~/.screenrc を開いて、次の行を書く。

shell /bin/bash

vboxmanage getproperty machinefolder する方法

方法

"list systemproperties" サブコマンドを実行して、出力結果から "Default machine folder:" を探す。

$ vboxmanage list systemproperties | grep "Default machine folder:"

参考文献

Qt Test で "QObject::startTimer: QTimer can only be used with threads started with QThread" が表示される

メッセージ

QObject::startTimer: QTimer can only be used with threads started with QThread

原因

  • QApplication なし(QTEST_APPLESS_MAIN マクロ)で実行しているため

対処

"QTEST_APPLESS_MAIN" を "QTEST_MAIN" に置き換える

#include <QCoreApplication>
...
QTEST_MAIN(MyTest)

apt install と apt-get source でパッケージのバージョンが違う

環境

Ubuntu 14.04 LTS (trusty)

原因

/etc/apt/sources.list に、アップデートされたパッケージのソース URL が書かれていなかったため。

deb http://security.ubuntu.com/ubuntu/ trusty-security main universe
deb http://jp.archive.ubuntu.com/ubuntu/ trusty-updates main universe

対処

/etc/apt/sources.list に、ソース URL を追記する。

deb http://security.ubuntu.com/ubuntu/ trusty-security main universe
deb-src http://security.ubuntu.com/ubuntu/ trusty-security main universe
deb http://jp.archive.ubuntu.com/ubuntu/ trusty-updates main universe
deb-src http://jp.archive.ubuntu.com/ubuntu/ trusty-updates main universe

smb.conf に "client min protocol = SMB2" を書いたら smbclient が NT_STATUS_INVALID_PARAMETER_MIX で失敗した

$ smbclient -L 192.168.0.1
Enter user's password: 
protocol negotiation failed: NT_STATUS_INVALID_PARAMETER_MIX

原因

  • "client min protocol" に "client max protocol" より新しいプロトコルを指定したため
    • "client max protocol" のデフォルトは "NT1" (Samba 4.3.11)

対処

"client max protocol" も明示する

client max protocol = SMB3
client min protocol = SMB2

参考