разрешить сохраненные пакеты в Ubuntu20.04

Привет, я недавно обновил ОС с Ubuntu18.04 в Ubuntu20.04. Теперь я заметил, что когда я выполняю sudo apt-get upgrade , у меня остаются пакеты:

The following packages have been kept back:
  build-essential cpp g++ gcc gfortran liblapack-dev liblapack3
0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.

Я пробовал методы, упомянутые здесь . Чтобы решить эту проблему, я попробовал

sudo apt-get dist-upgrade

, но результат такой же, как и раньше.

Я также попробовал sudo aptitude full-upgrade , и решение также состоит в том, чтобы сохранить пакеты в их текущей версии. Результат следующий:

The following NEW packages will be installed:
  cpp-9{ab} g++-9{ab} gcc-9{ab} gfortran-9{ab} libasan5{ab} libgcc-9-dev{ab} libgfortran-9-dev{ab} libgfortran5{ab} libstdc++-9-dev{ab} 
  libubsan1{ab} 
The following packages will be upgraded:
  build-essential cpp g++ gcc gfortran liblapack-dev liblapack3 
7 packages upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 44.5 MB of archives. After unpacking 170 MB will be used.
The following packages have unmet dependencies:
 cpp-9 : Depends: gcc-9-base (= 9.3.0-17ubuntu1~20.04) but 9.4.0-1ubuntu1~18.04 is installed
 libgfortran-9-dev : Depends: gcc-9-base (= 9.3.0-17ubuntu1~20.04) but 9.4.0-1ubuntu1~18.04 is installed
 libasan5 : Depends: gcc-9-base (= 9.3.0-17ubuntu1~20.04) but 9.4.0-1ubuntu1~18.04 is installed
 libstdc++-9-dev : Depends: gcc-9-base (= 9.3.0-17ubuntu1~20.04) but 9.4.0-1ubuntu1~18.04 is installed
 libubsan1 : Depends: gcc-10-base (= 10.2.0-5ubuntu1~20.04) but 10.3.0-1ubuntu1~18.04~1 is installed
 g++-9 : Depends: gcc-9-base (= 9.3.0-17ubuntu1~20.04) but 9.4.0-1ubuntu1~18.04 is installed
 libgfortran5 : Depends: gcc-10-base (= 10.2.0-5ubuntu1~20.04) but 10.3.0-1ubuntu1~18.04~1 is installed
 gcc-9 : Depends: gcc-9-base (= 9.3.0-17ubuntu1~20.04) but 9.4.0-1ubuntu1~18.04 is installed
 gfortran-9 : Depends: gcc-9-base (= 9.3.0-17ubuntu1~20.04) but 9.4.0-1ubuntu1~18.04 is installed
 libgcc-9-dev : Depends: gcc-9-base (= 9.3.0-17ubuntu1~20.04) but 9.4.0-1ubuntu1~18.04 is installed
The following actions will resolve these dependencies:

      Keep the following packages at their current version:
1)      build-essential [12.4ubuntu1 (now)]                
2)      cpp [4:7.4.0-1ubuntu2.3 (now)]                     
3)      cpp-9 [Not Installed]                              
4)      g++ [4:7.4.0-1ubuntu2.3 (now)]                     
5)      g++-9 [Not Installed]                              
6)      gcc [4:7.4.0-1ubuntu2.3 (now)]                     
7)      gcc-9 [Not Installed]                              
8)      gfortran [4:7.4.0-1ubuntu2.3 (now)]                
9)      gfortran-9 [Not Installed]                         
10)     libasan5 [Not Installed]                           
11)     libgcc-9-dev [Not Installed]                       
12)     libgfortran-9-dev [Not Installed]                  
13)     libgfortran5 [Not Installed]                       
14)     liblapack-dev [3.7.1-4ubuntu1 (now)]               
15)     liblapack3 [3.7.1-4ubuntu1 (now)]                  
16)     libstdc++-9-dev [Not Installed]                    
17)     libubsan1 [Not Installed]      

           

Кто-нибудь может дать мне несколько предложений? Спасибо!

3
задан 6 June 2021 в 00:15

2 ответа

Для более подробного объяснения, когда пакет «хранится», это означает, что доступна его новая версия, но установка этой новой версии потребует удаления некоторых пакетов или установки других новых, а команда upgrade не будет делать это автоматически.

Вместо этого вы хотите использовать команду install; например:

sudo apt-get install build-essential cpp g++ gcc gfortran liblapack-dev liblapack3

Это также установит (или удалит) любые другие пакеты, необходимые для удовлетворения этих обновлений. Внимательно прочитайте выходные данные, прежде чем принять их; Если причина, по которой пакет сохраняется, заключается в том, что новая версия конфликтует с другим установленным пакетом, APT может захотеть решить проблему, удалив этот пакет, поэтому удваиваетсяПроверьте все, что он говорит, что собирается удалить, чтобы убедиться, что это приемлемо.

-1
ответ дан 28 July 2021 в 11:32

Оказывается, мне нужно sudo apt-get remove gcc-9-base, а затем sudo apt-get install gcc-9-base. То же самое нужно сделать и для gcc-10-base.

2
ответ дан 28 July 2021 в 11:32

Другие вопросы по тегам:

Похожие вопросы: