gnome-software를 최신 버전 16.04 이상으로 업데이트하는 방법은 무엇입니까?

gnome-software를 최신 버전 16.04 이상으로 업데이트하는 방법은 무엇입니까?

저는 잠긴 커널 4.4.0-187-generic과 함께 Peach OSI(xubuntu 16.04 LTS 64비트)를 사용하고 있습니다. 즉, 작성자 기준을 통과하는 업데이트만 받을 수 있습니다.

소프트웨어(gnome-software)에 몇 가지 문제가 있어서 개발자에게 연락했는데 그들은 내가 매우 오래된 버전의 gnome-software 3.20.5를 사용하고 있으며 최신 버전에서는 문제가 해결되었다고 말했습니다. 문제 시작: 3.20.5는 터미널에서 apt-cache 정책 gnome-software를 실행할 때 사용할 수 있는 유일한 버전인 것 같습니다.

Universe 저장소에 최신 버전이 있다는 것을 알고 있지만 업데이트를 받았을 때 이를 받지 못했습니다.

그러면 최신 버전으로 업데이트하려면 어떻게 해야 하며 16.04 64비트에서 작동합니까?

최신 Xubuntu로 업데이트하는 것은 옵션이 아닙니다.

미리 감사드립니다

답변1

우분투 16.04가 호출될 xenial때 .Xenial 아카이브 검색에 대해 gnome-software우리는 다음을 찾습니다.버전3.20.1. 이는 출시 당시 사용 가능한 Xenial의 마지막 버전입니다. Ubuntu의 정책에 따르면 릴리스 이후에는 중요 버그나 보안 버그에 대한 대상 수정 사항만 패치로 허용됩니다. 이는 최신 및 최고의 기능이 필요하지 않고 어제와 같이 작동하는 것을 선호하는 사용자에게 안정성을 보장합니다. xenial출판 후에는 새 버전이 허용되지 않습니다.

다행히도 이라는 제품군이 있습니다 xenial-updates. 때때로 패키지 관리자는 종속성과 여전히 호환되는 새 버전의 소프트웨어를 기꺼이 업로드합니다 xenial. 이를 통해 사용자는 안정성 약속을 무시하고 릴리스된 새 소프트웨어를 얻을 수 있습니다. gnome-software이 스위트룸은 다음 서비스를 제공합니다:3.20.5. 나는 이것이 당신의 버전이 나온 곳이라고 생각합니다.

이 글을 쓰는 시점에는 gnome-software다른 Ubuntu 버전에서 사용할 수 있는 몇 가지 다른 인스턴스가 있습니다.

  • 일반: 3.36.1
  • 포커스 업데이트: 3.36.1
  • 포커스: 3.36.0
  • 영구 업데이트: 3.30.6
  • 10억: 33억 6천만
  • 바이오닉 업데이트: 3.28.1
  • 바이오닉: 3.28.1

SEMVER 규칙을 따르면 *-updates주요 또는 사소한 개정은 절대 증가하지 않고 패치 개정만 증가한다는 것을 알 수 있습니다. 이것은 약간의 위험 신호입니다.


최신 버전 중 하나를 설치하고 싶다면 그렇게 할 수도 있습니다! 이를 수행하는 방법에는 세 가지가 있습니다.

  1. gnome 소스에서 빌드: 권장하지 않습니다. 많은 데비안/우분투 패치가 있으며 이로 인해 일부 부분이 서로 호환되지 않을 수 있습니다. 또한 설치된 파일은 더 이상 패키지 관리자에 의해 관리되지 않습니다.
  2. /etc/apt/sources.list다른 슈트 중 하나에 행을 추가하십시오. 그런 다음 다음 줄을 추가 APT::Default-Release xenial;하고 설치하십시오. /etc/apt/conf.d/매우 조심스럽다실수로 전체 시스템을 최신 버전으로 업그레이드하지 않도록 설치를 확인하기 전에 새 패키지를 읽는 방법에 대한 정보입니다. 제가 놓친 단계가 있다면 고정입니다. 모든 것을 Xenial에 고정한 다음 gnome-software최신 제품군에 고정합니다.
apt update 
apt install -t bionic gnome-software
  1. 수동으로 다운로드 gnome-software_*.deb하고 dpkg -i를 사용하여 설치합니다. 이렇게 하면 적절한 구성이나 수정이 필요하지 않으므로 더 쉬울 수 있습니다. 또한 실수로 전체 시스템을 업그레이드하는 것을 방지합니다. 그것을 얻으십시오packages.ubuntu.com. 이 속성의 또 다른 속성은 종속성 문제가 있는 경우 수동으로 해결해야 한다는 것입니다. 업그레이드해야 할 모든 것을 고통스럽게 인식하고 중단 여부를 결정할 수 있기 때문에 이것이 좋은 것이라고 생각합니다.

직면하게 될 문제 중 하나는 종속성 호환성입니다. 수행할 수 있는 가장 작은 업데이트는 3.28.1을 실행하는 생체공학입니다. 발생할 수 있는 문제를 살펴보겠습니다. gnome-software_3.20.5종속성을 비교하면 gnome-software_3.28.1다음과 같습니다.

| gnome-software deps            | 3.20.5                     | 3.28.1               |
|--------------------------------|----------------------------|----------------------|
| appstream                      | any                        | any                  |
| apt-config-icons               | any                        | any                  |
| dconf-gsettings-backend        | any                        | any                  |
| gnome-software-common          | = 3.20.5-0ubuntu0.16.04.13 | = 3.28.1-0ubuntu4    |
| gsettings-desktop-schemas      | >= 3.18                    | >= 3.18              |
| libappstream-glib8             | >= 0.5.13                  | >= 0.7.0~git20170615 |
| libapt-pkg5.0                  | >= 1.2                     |                      |
| libatk1.0-0                    | >= 1.12.4                  | >= 1.12.4            |
| libc6                          | >= 2.17                    | >= 2.17              |
| libcairo2                      | >= 1.2.4                   | >= 1.2.4             |
| libfwupd2                      | >= 0.6.3                   | >= 1.0.3             |
| libgcc1                        | >= 1:3.0                   |                      |
| libgdk-pixbuf2.0-0             | >= 2.22.0                  | >= 2.22.0            |
| libglib2.0-0                   | >= 2.46.0                  | >= 2.49.3            |
| libgnome-desktop-3-12          | >= 3.17.92                 |                      |
| libgnome-desktop-3-17          |                            | >= 3.18              |
| libgspell-1-1                  |                            | >= 1.3.2             |
| libgtk-3-0                     | >= 3.18.2                  | >= 3.22.4            |
| libgtkspell3-3-0               | any                        |                      |
| libgudev-1.0-0                 |                            | >= 146               |
| libjson-glib-1.0-0             | >= 1.1.2                   | >= 0.13.2            |
| liboauth0                      | >= 0.9.1                   | >= 0.9.1             |
| libpackagekit-glib2-18         |                            | >= 1.1.0             |
| libpolkit-gobject-1-0          | >= 0.99                    | >= 0.99              |
| libsecret-1-0                  | >= 0.7                     | >= 0.7               |
| libsnapd-glib1                 | >= 0.9                     |                      |
| libsoup2.4-1                   | >= 2.52                    | >= 2.52              |
| libsqlite3-0                   | >= 3.5.9                   |                      |
| libstdc++6                     | >= 5.2                     |                      |
| packagekit                     |                            | >= 1.1.4             |
| software-properties-gtk        |                            | any                  |

이제 우리는 직면하게 될 몇 가지 문제를 보기 시작했습니다. 이 목록을 xenial아직 or 에서 충족되지 않은 종속성 으로 필터링하겠습니다 xenial-updates.

| package                        | 3.28.1 Requirement         | Available in xenial  |
|--------------------------------|----------------------------|----------------------|
| gnome-software-common          | = 3.28.1-0ubuntu4          | 3.20.5               |
| libappstream-glib8             | >= 0.7.0~git20170615       | 0.5.13               |
| libfwupd2                      | >= 1.0.3                   | No                   |
| libglib2.0-0                   | >= 2.49.3                  | 2.48.2               |
| libgnome-desktop-3-17          | >= 3.18                    | No                   |
| libgtk-3-0                     | >= 3.22.4                  | 3.18.9               |
| libpackagekit-glib2-18         | >= 1.1.0                   | No                   |
| packagekit                     | >= 1.1.4                   | No                   |
| software-properties-gtk        | any                        | No                   |

xenial, xenial 및 xenial에 대한 파일을 보았지만 debian/control아카이브에서 설치할 수 있도록 해당 파일이나 xenial 패키지가 표시되지 않았습니다. 그러나 안전을 위해서는 위와 동일한 방식으로 이러한 패키지의 종속성을 검토해야 합니다.libfwupd2libgnome-desktoplibpackagekit-glib2-18packagekitBreaks:Replaces:bionic

확인해 보니 gnome-software-common패키지가 업데이트되지 않는 이유를 찾을 수 없었습니다. 동일한 소스 패키지에서 나오므로 gnome-software페어링해서 업데이트하면 될 것 같습니다. apt rdepends gnome-software-common다른 것이 깨지지 않도록 먼저 살펴보십시오 . 이 패키지는 모든 아키텍처에 공통적이라고 생각하는데, 이것이 -common각 아키텍처별로 컴파일된 패키지와 분리된 유일한 이유입니다.gnome-software

저도 libappstream-glib8잘 모르겠습니다 . 메이저 버전이 늘어나지 않기 때문에 업데이트가 가능할 것 같습니다. 일반적으로 3.1이 3.0과 호환되지 않으면 나란히 설치되어 공존할 수 있도록 패키지 이름이 3.1에서 3.0으로 변경됩니다 . 아직까지 이루어지지 않았기 때문에 공존할 수 있을지 의심스럽습니다.libglib2.0-0libgtk-3.0libgtklibgtk-3-0libgtk-3-1


보시다시피 종속성은 가장 어려운 부분입니다. 위의 방법 2가 이 작업을 자동으로 수행할지 확실하지 않지만, 방법 3을 사용하면 다음과 같이 수행됩니다. 설치 가능하다는 점이 만족스러우면 종속성, 종속성, 종속성 등도 업데이트해야 합니다. 그것은 핵심까지 내려갈 수 있습니다. 따라서 이 업데이트를 통해 어느 정도까지 진행할 것인지 결정할 수 있습니다.

관련 정보