tl; dr:Ubuntu LTSはライブラリをAPI要素を変更/削除できるバージョンに更新しますか?
Debian安定版は新しいハードウェアをサポートするためにカーネルにパッチを適用していないため、組織の新しいラップトップがDebian安定版を実行するにはあまりにも新しいという問題に遭遇しました。 Debianの請負業者を雇って、バックポートされたカーネルでインストールCDを作成しましたが、1週間後、彼はそれを作成することができませんでした。
今、会社をUbuntu LTSに移行することを検討せざるを得ません。しかし、私は次の悪夢で睡眠を失います:
apt upgrade
。Y
を押すqt5-default
が5.9.5
から5.10.0
に増加したことに気付きました。Debianでは、単に更新されないため、この心配はありません。セキュリティパッチのみを取得します。悲痛なトレードオフは、新しいハードウェアがサポートされていないことです。 Debian安定版のリリース前に製造されたラップトップのみを注文するOEMのような手段がないため、別のソリューションが必要です。
buntu LTSクレーム 「ポイントリリース」のみを実行します。 カーネル履歴16.04 を見て、その意味を理解すると、カーネルが4.4
から4.15
に更新されたことがわかります。これは、Ubuntuがメジャーリビジョンを増やしたくない場合があることを示していますが、areマイナーリビジョンを増やしたいと考えています。
libboost
から1.67.0
から1.67.1
への更新に問題はありませんが、1.68.0
への更新が怖いです。
Ubuntu LTSが逆互換性のないパッケージをアップグレードしないと確信できますか?
Ubuntuの安定性に自信がない場合は、次の回避策が考えられますが、提案は歓迎します。
apt-mark hold <package>
は特定のパッケージのアップグレードを防ぎますが、Ubuntu LTSを更新しても、カーネルバージョンはアップグレードされません。セキュリティパッチのみが適用されています。
現在のLTSリリースは bionic です。
Ubuntu 18.4.1(26.4.2018)
LTSリリースの自動カーネル更新は、ハードウェア有効化スタックのみで有効になります。
Ubuntu Kernel Release Shedule
ここでは、HWEが有効になっていない限り、LTSでカーネルのアップグレードが行われていないことがわかります。
Ubuntu LTS Kernel Support Shedule
セキュリティパッチのみが実装されていることがわかります。
Ubuntu LTSは、ライブラリのAPI要素を変更/削除できるバージョンに更新しますか?
答えはノーです。Ubuntu LTSは、逆互換性のないパッケージをアップグレードしないと確信できますか?
答えはイエスです、できます。
Debian安定版にも同じことが当てはまります。
現在の安定版リリースは stretch です。
Debian 9.5(2018年14.7.19リリース、2022年までサポート)
Linuxでの開発
企業環境でのソフトウェア開発のベストプラクティスは、仮想マシンを実行することです。そのため、snapshotsで作業を簡単に保護できます。
例
Qubes OS はセキュリティ指向のオペレーティングシステムであり、仮想マシン(および templates 、を含むdebian)XENハイパーバイザーを使用( 代わりに of KVM仮想化)
Qtを使用していて、更新を防ぐ必要がある場合は、setUpdatesEnabled(false);
を試して、更新を有効にするsetUpdatesEnabled(true);
で検索4.13.0-26
を使用してUbuntuに問い合わせると、2018年1月から101の質問と回答が見つかります。その時点でリリースされているLinuxカーネルバージョンはLTSカーネル4.14
チェーン用。
buntu Mainline Kernel downloads を見ると、2018年1月にLinux Kernel Teamによって4.14.11
から4.14.17
(7つのカーネル更新)がリリースされました。また、2018年1月のリリース候補カーネルは4.15.rc6
から4.15.rc9
(4つのカーネル更新)でした。
2018年1月、Linux Kernel Teamによって、SpectreおよびMeltdown Predictive Branchingの理論上のメモリリークについて、カーネルの主要な改訂が行われました。次に、Ubuntu KernelチームはコードをUbuntu Kernel 4.13.0-xxチェーンにすばやく移植しました。
ABI Labratory から、最後の変更が2018年6月4、5、6日にあったことがわかります。
2018年6月に改訂されたLinux Kernelの数値は次のとおりです。
4.14.48
、4.9.107
および4.4.136
すべての6年LTSカーネル対応するUbuntu Kernelバージョン番号はおそらく:
4.13.0-43
ヘッダーのインストールに失敗しました: 現在のカーネルに一致するLinuxカーネルヘッダーファイル4.15.0-23
apt削除スクリプトが壊れています新しいハードウェアのサポートまたは既存のハードウェアのバグ修正がリリースされたら、Linuxカーネルをアップグレードする必要があります。 ABI/APIの変更が関係する場合、Ubuntuカーネルが機能する場合と機能しない場合があります。 ABI/APIの変更が行われなかったとしても、Ubuntuカーネルは他の理由で一部の人にとっては壊れる可能性があります。
新しいLinuxカーネルのバージョン番号とUbuntuカーネルのバージョン番号の相関関係を見つけることは、部外者にとって非常に困難です。 Ubuntu Kernel Teamから最新のニュースレターを取得 2017年6月6日のニュースレター ABI/APIの1年前上記の変更:
Kernel Versions
====================================================================
precise 3.2.0-126.169
trusty 3.13.0-119.166
vivid 3.19.0-84.92
xenial 4.4.0-78.99
yakkety 4.8.0-53.56
linux-lts-trusty 3.13.0-117.164~precise1
linux-lts-vivid 3.19.0-80.88~14.04.1
linux-lts-xenial 4.4.0-78.99~14.04.1
その期間(2017年6月7日)の 対応するLinuxカーネルのバージョン番号 は、3.2.89
、3.10.105
、3.16.44
、3.18.56
でした。 、4.1.40
、4.4.71
、4.9.31
、4.11.4
、および4.12-rc4
。
眠い月曜日の朝にアドホックSudo apt upgrade
ではなく、自動化されたクローン作成、アップグレード、機能テストを検討できます。
cron
再起動スクリプトが作成され、Sudo apt upgrade
を実行してテスト機能を実行します。cron
再起動スクリプトが無人アップグレードとユニットテストのために実行されます。grub
を設定してライブ環境に再起動してからシャットダウンします。