sources.listの編集は良い考えですか?


10

この疑いが2〜3日で襲ってきたので、自分でテストすることにしました。私がしたことは、VMWareにUbuntu 16.04.4をインストールし、編集/etc/apt/sources.listして次のものxenialbionic使用して置き換えたことです。

sudo sed -i 's/xenial/bionic/g' /etc/apt/sources.list

それから私は走った

sudo apt-get update && sudo apt-get upgrade 

18.04にアップグレードできましたlsb_release -a。確認にはを使用しました。ただし、次のような問題が発生しました。

  • aptには安定したCLIインターフェースがありません。スクリプトでは注意して使用してください。

  • python3-aptdaemon.pkcompatの満たされていない依存関係

  • 'appstream'のリリース 'bionic-backports'が見つかりません

  • 壊れた統一

すべてのエラーを解決し、インストールgnomeしましたgdm3

だから、私は編集しsources.listたいのですか?私のシステムが壊れた可能性があることは知っていますが、これを使用しない理由が他にもあります。

:私は疑いを明確にするために、VMWareのUbuntu 16.04でこれをテストしました。


1
実行sudo apt-get dist-upgrade(またはそれ以上sudo aptitude dist-upgrade)して、アップグレードプロセスに新しい依存関係を含める必要があります。スクリプトのaptに関する警告メッセージは正常です。16.04と18.04の両方に存在します。
N0rbert 2018

@ N0rbert私はそれdist-upgradeがより良い選択肢になることを知っていますが、sudo apt-get install -f依存関係をインストールしますか?
クルフィー

通常、はい。しかし、確かに両方のコマンドを使用することをお勧めします。
N0rbert 2018

依存関係を考慮した場合、何か違いはありますか?
クルフィー

3
あなたが何をしているのかを知っていて、ファイルで適切なフォーマットを使用している限り、それは完全に問題あり
ません

回答:


11

編集/etc/sources.listはDebianの次のリリースに移行するための1つのステップですが、Ubuntuではできません。引き続き使用できますが、発生した問題を正確に処理する必要がないため、お勧めできません。

代わりに、Ubuntuはdo-release-upgrade、ソースを適切に変更し、アップグレードをダウンロードしてインストールし、孤立を削除するツール(コマンド)を提供します。これらはすべて、予測可能な再現可能な方法で、コーナーケースの問題を防ぎます。このツールは、Ubuntuの新しいリリースにアップグレードするための推奨される方法です。


2
しかし、時々動作do-release-upgradeしません。それで、そのシナリオでは、ユーザーが自分のプログラムをテストしたいだけなら、それはオプションとして考えられるべきですか?
クルフィー

2
通常はうまくdo-release-upgradeいかなかった理由を学ぶ方が良いでしょう。同じ理由の多くがdist-upgrade失敗する原因にもなります。
user535733 2018

1
do-release-upgradeが機能しない場合は、debianによる方法のアップグレードで十分です。ubuntu更新マネージャーは、通常のubuntuユーザーが知らない、いくつかの準備とクリーンアップを後で行います。しかし最終的には、主なステップは「apt-get upgrade && apt-get dist-upgrade」です。aptスクリプトを使用することはお勧めしません。
allo

1
@Kulfyあなたはdo-release-upgrade今働いていないことについて話していますか?その場合、Canonicalはまだアップグレードをリリースしていません。リリースノートには、7月下旬の18.04.1リリースから数日以内に利用可能になると記載されています。確認してください。
Terrance、2018

@ user535733は同意した。
クルフィー

3

アップグレード前に使用していたバージョンには「ソースバージョン」、アップグレード後に使用したバージョンには「宛先バージョン」という用語を使用します。

Ubuntuバージョンをアップグレードする方法:

最初の方法:sources.listの編集

一般にDebianのアップグレード方法、またはブルートフォースメソッドと呼ばれることもあります。

こちらです:

  • 宛先バージョンのパッケージによってシステムを提供します。
  • 一部のサードパーティのリポジトリには宛先バージョンのチャネルがない場合があるため、満たされていない依存関係の問題が発生することがあり、どの場合でもパッケージを新しいバージョンにアップグレードできません。(たとえば、wine-hqリポジトリはBionicのサポートを最近追加しただけです)。
    • 404 Not foundエラーが発生するため、サードパーティのリポジトリを削除せずにリポジトリの更新を完了することはできません。

注意事項:サードパーティのリポジトリを無効にします。

機能:機能するかどうか。

推奨レベル:低すぎます。

2番目の方法:do-release-upgradeを実行する:

一般にアップグレードと呼ばれるUbuntuの方法:

こちらです:

  • リポジトリの場合:
    • 切り替えsources.list、新しいリポジトリのエントリ
    • 古いエントリを自動的に削除します
  • パッケージの場合:
    • 壊れている可能性のあるパッケージを削除します
    • パッケージインデックスを更新します(と同等sudo apt full-upgrade
    • システムのアップグレード(と同等sudo apt full-upgrade
    • 古いパッケージを削除します。
      • 古いカーネル
      • パッケージはUbuntuのソースバージョンには存在しましたが、ターゲットバージョンには存在しませんでした。
    • Nvidiaドライバーを扱います。
  • 特定のジョブをリリース:
    • いくつかの構成で遊ぶ
    • リリース固有のスクリプトを実行します。
      • たとえば、UnityデスクトップをGnomeデスクトップに置き換えます。

しかし、多くの人が以下の問題を経験していますdo-release-upgrade

動作:動作します...バグがあります。

推奨レベル:低から中。

3番目の方法:クリーンインストール

これは、システムをアップグレードする最も推奨される方法です

注1:バックアップを忘れないでください。

注2:上記のメソッドによって呼び出されたエラーを修正するために同じ時間を費やす可能性が最も高いでしょう。もしそうなら、なぜクリーンインストールをためらうのですか?

機能:常に機能します。

推奨レベル:非常に高い。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.