Canonicalのますます貧弱なQAに対処する戦略?


13

installed (local or obsolete)Canonicalが最近アップデートをプッシュし、それから撤回しているので、私のカテゴリはいっぱいです。これは最近の2つのカーネルで発生しcups、今朝にも発生しました。私は約3年間Ubuntuを使用していますが、今年ほど頻繁に起こったことを覚えていません。

それで、合理的にこれに対処する方法は?

更新プログラムは週に1回だけインストールすることを考えましたが、その週にチェックする直前にプッシュされた悪い更新プログラムを取得することはできません。

週末にのみ更新プログラムをインストールするのは良い戦略ですか?週末にはシステムの更新が頻繁にプッシュされないようです。金曜日の午後に悪いアップデートをプッシュし、月曜日の朝にそれをプルできると思います。

または、なんらかの方法で、一定の期間(2日間など)プッシュされるまで更新をインストールしませんか?自動化する方法はありますか?

編集:影響を受けるシステムの1つはLubuntu 16.04をlinux-genericカーネルで実行し、もう1つはLubuntu 16.04をカーネルで実行しlinux-generic-hwe-16.04ます。両方とも、cupsバージョン2.13-4ubuntu0.2更新の影響を受け、2017年3月27日にプッシュアウトされ、その後プルバックされlinux-genericました。マシンはカーネルアップデートバージョン4.4.0.67.12を受信し、その後、プルアップされました。このアップデートは、孤立したsnapdバージョン2.23.1 linux-generic-hwe-16.04その後、孤立したカーネルのバージョン4.8.0.42.14を受けたマシン。


2
バージョンを明確にしていただきありがとうございます。 LTSバージョンを扱っているのか疑問に思っていましたが、中間バージョン(私にとって)は主に、LTSに反映される可能性のある多くの変更をテストするためのものです。私が注力しているLTSバージョンに関しては、未解決の間違いに気付くほど注意深くはありませんでした。定期的に更新しています。開発者が絶えず対処しているように思われる小さな問題に時々気づきます。セキュリティで保護されたシステムのセキュリティ更新プログラムに焦点を当て、日々の変更をより大胆に処理できるようにすることを検討してください。
LDジェームズ

1
@fkraiemはい、最近リリースされた2つのカーネルが利用可能になったことが通知されて間もなく撤回されるのを見てきました。おもしろいことに、私は後で更新を行うことにしました、そして私が戻ってきたとき、それらは消えました!
ヘネマ

Ubuntuでの最近の経験のため、Windows自動更新をオフにしました。最近、更新が毎日行われているように思えます。バグがなくなったので、たぶん私はシャットオフする必要があります。
WinEunuuchs2Unix

特にコアパッケージの場合、StableReleaseUpdatesの重要な部分をより頻繁にスキップしていますか?まだ発表されていないので、ubuntu-develメーリングリストで議論を持ち出すことは適切な手段です。
グンナルHjalmarsson

回答:


2

抜本的な選択肢は、* buntuまたはその派生物ではなく、Debian Stableに切り替えることです。これは、Debian Stableが完全なQAプロセスを完了しているのに対して、UbuntuはDebian Testingに由来するためです

ほとんどすべての知識は直接譲渡できますが、Debianは最新の化粧品「ベルとホイッスル」を提供しません。ただし、リポジトリにはさらにパッケージがあります...

約5年前にKubuntuから来たKDEの場合、Debianに切り替えましたが、同様の問題がありました。しかし、それは個人的な選択に帰着します。


1
それは良い情報です。結局、毎日すべての更新プログラムをダウンロードする独自のローカルミラーを設定することで、この問題に対処しました。自宅のLAN PCはローカルミラーから更新を取得しますが、コマンドではなく、自動的に取得します。だから何かが怖いように見えるなら、私は望むなら数日間座ることができます。
オーガニックマーブル

これは問題の非常に良い解決策です。同様の理由で、多くのビジネスネットワークがWindows Updateでも同じように設定されています!
tiger99

0

パッケージの更新を古いバージョンにロールバックする

バージョン番号またはターゲットリリースがある場合、apt-getは特定のバージョンまたはターゲットリリースの選択をサポートします。

  1. aptitudeをインストールする

    sudo apt-get install aptitude
    
  2. パッケージの古いバージョンを表示します。

    aptitude versions <package-name> | less # use less to display only the top of the list of versions
    
  3. 選択したパッケージを古いバージョンにロールバックします。

    sudo apt-get -t=<target release> install <package-name>  # target release is old version
    
  4. 選択したパッケージの不正な更新をアンインストールします。

    sudo apt-get -t=<target release> remove <package-name> # target release is new version
    
  5. を使用して、ロールバックされたパッケージバージョンが自動的に更新されないようにしapt-mark holdます。apt-mark holdパッケージを保留にマークするために使用されます。これにより、パッケージが自動的にインストール、アップグレード、または削除されなくなります。

    sudo apt-mark hold <package-name>  
    

カーネルの更新を古いバージョンにロールバックします

前のセクションと同じ手順に従いますが、破損したカーネルパッケージをアンインストールする前に動作するカーネルバージョンがインストールされていることをテストする追加の手順に従う必要があります。残念ながら、これにはシステムの再起動が必要です。複数のシステムを保守している場合、これは面倒で時間がかかることがわかっているので、再起動するのは残念です。


aptitude versions <package-name> 現在インストールされているすべてのカーネルバージョンを表示しませんが、次のコマンドを使用して現在インストールされているすべてのカーネルバージョンを表示できます。

dpkg-query -W -f='${Package}\n' | grep -f <(ls -1 /boot/vmlinuz* | cut -d- -f2,3)  

このコマンドの結果には、アンインストールする必要があるすべての動作していないカーネルパッケージのパッケージ名が一覧表示されます。

動作していないカーネルバージョンに属するパッケージをアンインストールすると、次のメッセージが表示されます。

The link /vmlinuz.old is a damaged link
Removing symbolic link vmlinuz.old 
 you may need to re-run your boot loader[grub]

vmlinuz.oldは削除されたファイルにリンクされているため、次のコマンドを実行してgrubを更新する必要があるため、このメッセージが表示されます。

sudo update-grub

1
ええと、複数のシステムを保守する必要があり、それから戻って適切なカーネルからブートするためにそれらをすべて設定する必要がある場合、それは大きな痛みです。そして、不良カーネルの再起動と、正常なカーネルを取得するための別の再起動に対処します。
オーガニックマーブル

1
私の家族は、使用するカーネルを考えずにコンピューターを起動する必要があります。そして、私はこの問題が発生したら修正する方法を知っています。そもそも問題が発生しないようにするための戦略を探しています。私はあなたの答えに反対票を投じませんでしたが、私の質問には反応しません。
オーガニックマーブル

2
@OrganicMarble最もコンピューターに精通していないか、カーネルや問題について考えることに煩わされていないかもしれないあなたの子供のために、セキュリティ更新のみのためにコンピューターの設定をテストしましたか?その構成でも同じ問題が発生しますか?ラボで問題なく動作するときに、リリース後にテストされた大量のコンピューターと環境がテストされるまで、一般的な更新が完璧になる状況を想像することはできません。少なくともあなたの質問は、問題が発生したときに迅速な修正を示しています。
LDジェームズ

1
@LDJamesそれは良い提案です。ただし、これらのカーネルの更新はセキュリティ更新であったと思われます。戻って確認する方法がわかりません。
有機大理石

1
@OrganicMarble unattendedログファイル(/var/log/unattended-upgrades)を調べて、戻って確認できます。unattended-upgradesパッケージはセキュリティ更新プログラム用だと思います。
LDジェームズ

-1

OSと同様、最善の戦略は、1日に1回以上更新プログラムをチェックすることです。

セキュリティの観点から見ると、1人のユーザーが個別にテストされ、優先順位付けされている間に遅延更新を実行することは非現実的です。また、緊急の更新は、プルされた更新よりも常に重要です。

したがって、すべての更新を調査する時間がない場合、最良の戦略は、更新が多くプルされた場合でも、更新がリリースされたときに適用することです。これらはいつでも後からクリーンアップできます。

バックアップ戦略として、常に...バックアップする必要があります!頻繁にバックアップし、すべてをバックアップします。不正な更新がこの理由の1つです。これは、重要なドキュメントをクラウドに保管する場合に特に便利です。

編集:私の答えは、あなたが自宅のパーソナルコンピュータを持っている一人の人間であるという仮定に基づいています。


1
「笑って耐える」という戦略は、私が探しているものではありません。
オーガニックマーブル

@OrganicMarble私はそれを言ったことはありません。しかし、私はあなたがシングルユーザーであり、あなたが個人的なシステムについて話していると思います。それ以外の場合は、質問を展開してください。更新の管理に関しては、一人でできることは限られています。私は自分のサイトの数百倍の規模の組織で、数十台のサーバーと数百台のワークステーションで大規模なサイトを管理しています。私たちは皆、一人では絶対にできない非常に複雑な方法で更新を処理します。
ドリアン

はい、私たちは5台のコンピューターを備えたUbuntuを使用する家族であり、いくつかの仮想マシンを実行しています。だから 10個のシステムを管理する必要があります。自動化された管理システムを入手するには少なすぎますが、このようなものを作成するのに十分です。
オーガニックマーブル

@OrganicMarbleええ、一人で管理するのが難しくなります。そして、正直なところ、できる最善のことは、できるだけ頻繁に更新し続けることです。家族向けの簡単なデモは、複数のカーネルオプションが表示される場合に役立つでしょう。表示する必要があるのは1回または2回だけです。cronジョブから実行して複数のカーネルをチェックする簡単なスクリプトを検討しましたか?複数のカーネルが主な関心事ですか?
ドリアン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.