昨日、CinnamonDEでAntergosをインストールしました。しばらく使ってみると、いくつかのコアパッケージのアップデートの通知が届き、「ねぇ、最新でいいの?どうして?」と思って、すべてアップデートしました。
今日、私はログインできないことに気づきました。幸いなことに、私はttyプロンプトを取得し、Xfce4をインストールして、そこからインターネットで解決策を探すことができました。
私が行った更新には、readline
を6.3から7.0にアップグレードすることが含まれていることがわかりました。 cinnamon-desktop
は明らかに6に依存しているため、次のようなエラーが発生し始めました。
cinnamon: error while loading shared libraries: libreadline.so.6: cannot open shared object file: No such file or directory
もちろん、そもそもこのエラーメッセージを見つけるだけでも、多少の手間がかかりました。
確かに、私は/lib/libreadline.so.7
しか持っていなかったので、それが問題を説明しています。次に、簡単な解決策は古いバージョンを/lib/readline.so.6
としてインストールすることだと思いましたが、それはpacman
でそれを行う方法を理解するのに苦労し、これは奨励されたものではないことがわかりましたアーチで。
最終的に私は この問題に関するスレッド からのアドバイスに従い、readline
をpacman
キャッシュから6.3にダウングレードし、それ以降はbash
もダウングレードしました。 readline
に依存します。これで、シナモンは以前と同じように機能します。これらの2つのパッケージが更新通知機能に表示され、それらをインストールするとシステムが破損することがわかっています。
私の質問はこれです:この種のこと(更新は突然すべてを壊します)はArchやAntergosで期待される動作ですか?代わりに使用できる「安定した」チャネルのようなものはありますか?更新をしばらくの間外に出して実際の世界でテストした後にのみ更新を受信しますか?
朝は仕事をするつもりでしたが、代わりにアップデートによるバグの修正に費やしました。私は何を間違えましたか?経験豊富なArchユーザーはこれをどのように処理しますか?
補遺:シナモンの問題は例としてのみ含まれていますが、将来の読者からの混乱を待つために、シナモンを再構築することによって明らかに 現在修正されています (バグが開かれてから7時間後)であることはありません。非常に「ラッキー」になったようです。readline
7がプッシュされたときに更新しましたが、Cinnamonのメンテナがそれをキャッチして修正する前に更新しました。
この質問はおそらくAntergosフォーラムに向けられた方がよいでしょうが、Archでの個人的な経験から共有することができます。
一般に、頻繁にアップグレードするよりも頻繁にアップグレードする方が適切です。問題が発生したときにそれを見つけて、積み上げるのではなく、一度に1つずつ対処します。
必要に応じて更新してください。特定のアップグレードスケジュールに固執する特別な理由はありません。それはあなたのシステムとあなたのニーズに依存します。たとえば、インストールされているパッケージの数が少ないArchシステムは、通常、それほど頻繁に更新する必要がないことがわかりました。私が定期的に使用している4つのArchシステムでは、ログインするたびに(1日に1回程度)更新しますが、これはかなりうまく機能しているようです。
最新のリポジトリからの最新の更新に固執します。一般的に言って、これにより最新のセキュリティアップデートが得られ、システム上にある他のソフトウェアと連携する可能性が高いパッケージが得られ、すべてがスムーズに実行されます。
個人的には、キャッシュからロールバックする必要があることはめったにありません。アップグレードに問題がある場合、それは通常、私が熱心にアップグレードしたためではなく、メンテナがパッケージを適切にビルドまたはテストできなかったことが原因です。
Cinnamonで発生している問題は、パッケージメンテナ側の不十分なパッケージングジョブに関係している可能性があり、Archスタイルの最先端のローリングアップデートの失敗ではないようです。個人的には、Cinnamon on Archでいくつかの問題が発生しましたが、他のDEと同じようには機能しませんでした(Gnome、MATE、およびi3をはるかに少ない手間で使用しました)。
最後に共有したいのは、アップグレード時に破損する問題のあるパッケージがあることがわかっている場合は、それらを/etc/pacman.conf
のIgnorePkg
ディレクティブに追加できることです。私はこれをめったに行う必要はなく、ほとんどの場合、無視しているのはAURパッケージです(私はAURヘルパーを使用するのが好きです)。バックライトのプロプライエタリドライバーが最近のカーネルバージョンでは機能しなかったため、ラップトップのIgnorePkg
でカーネルをブラックリストに登録する必要がありました(幸い、これは最終的にアップストリームで修正され、カーネルの更新の受信に戻ることができました)。私はnot絶対に必要でない限り、このアプローチを取ることをお勧めします。
ArchLinuxは、ポイントリリースディストリビューションとは対照的なローリングリリースディストリビューションです。つまり、最新で最高のソフトウェアを入手するためにArchLinuxを再インストールする必要はありません。それはゆっくりと最新のソフトウェアに変わります。ほとんどの場合、これは素晴らしいことです。場合によっては、より大きな移行を行う必要があり、これが問題を引き起こす可能性があります。より大きな遷移に注意するには、announce @ archlinux.orgにサブスクライブする必要があります。
ArchLinuxもやや最先端です。つまり、最新のソフトウェアをかなり時間どおりに入手できます。 ArchLinuxにもテストリポジトリがあり、/etc/pacman.conf
で有効にできます。パッケージのテスト期間はわかりませんが、それほど長くはありません。ほとんどの場合、これは素晴らしいことです。十分にテストされていないパッケージを入手する場合があります。
ArchLinuxを更新するとき(これを行う必要があります)、次の2つの戦略に従うことができます。
頻繁に更新します。あなたはいくつかの小さな問題に遭遇するでしょう。しかし、彼らは通常あまり多くのものを壊しません。また、どのパッケージが問題を引き起こした可能性があるかをより簡単に理解できます。
めったに更新しません。それらのほとんどが時間によって修正されているという理由だけで、問題が少なくなるでしょう。ただし、システムのアップグレードはかなり大きな作業であり、更新には時間がかかる場合があります。
上記のヒントはかなり悲観的です。あちこちで問題がありますが(広く使用されているソフトウェアを実行しない場合はさらに問題があります)、一般的に、ArchLinuxは非常に安定しています。
あなたの質問に答えるために:あなたは間違いなく更新する必要があります! ArchLinuxはセキュリティパッチをかなり迅速に展開することが知られており、あなたはそれを見逃すでしょう。ただし、ラップトップでプレゼンテーションを行う10分前に更新しないでください。
問題が発生した場合は、
/var/log/pacman.log
を確認し、何が変更されたかの履歴については、問題の原因となっているパッケージを理解してください。