테키테크 TEKITECH

Ubuntu에서 PPA로 특정 파이썬 버전을 설치하고, 파이썬 버전을 바꾸는 방법 본문

Tech/Ops

Ubuntu에서 PPA로 특정 파이썬 버전을 설치하고, 파이썬 버전을 바꾸는 방법

TEKI 2021. 9. 22. 18:42

우분투 환경에서 apt-get install로 바로 설치가 안되는 패키지를 설치하고 싶을 때, 그리고 Conda 없이 파이썬 버전을 바꾸고 싶을 때 사용하는 방법

 

 

서론

"apt-get install python3"로 파이썬을 설치하면 python3.8 버전이 설치된다. 또는 python3으로 설치가 안되는 경우도 있다. 그럼에도 다른 파이썬 버전을 설치해야 하는 경우가 있는데, 단순히 apt install python3.9처럼 버전을 지정해서는 설치가 안된다. 열심히 구글링한 끝에 PPA로 설치하는 방법을 알게 되었다. 도움을 받은 고마운 블로그들은 제일 하단에 첨부했다.

root@a4fc86f91ca1:/home# apt-get install python3.6
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3.6 is already the newest version (3.6.15-1+focal1).
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.

 

 

 

방법

python PPA를 찾는 방법을 적어놓았다. 바로 설치하려면 [2]번으로.

 

[1] 우분투 PPA Launchpad에서 파이썬 PPA 찾기

PPA(Personal Package Archive)를 통해서 Python3.6을 받아보자. PPA는 개인이 소스코드를 업로드하면 다른 사용자들이 우분투 환경에서 설치 가능한 오픈소스 패키지형태로 제공해주는 저장소이다. Ubuntu Launchpad에서 원하는 PPA를 검색할 수 있다. python3.6으로 검색했더니 결과가 만족스럽지 않았다. python으로 다시 검색해서 New Python Versions PPA를 사용하기로 했다.

 

 

 

[2] add-apt-repository 명령어로 PPA 패키지 설치

설치할 패키지를 정했으면 아래와 같이 패키지를 설치할 수 있다.

# add-apt-repository 설치
sudo apt update
sudo apt install -y software-properties-common

# ppa 저장소 추가
sudo add-apt-repository [저장소 이름]	#ppa:deadsnakes/ppa
sudo apt update

# 패키지 설치
sudo apt install [패키지 이름]	#python3.x

 

 

 

직접 설치해보기

직접 설치해보면서 겪은 시행착오와 각 단계에서 벌어지는 일들을 적어보았다.

 

[1] add-apt-repository

가장 먼저 add-apt-repository 명령어로 PPA 패키지를 설치해야 한다. add-apt-repository는 기본 명령어가 아니라서 그냥 시도하면 아래와 같이 command not found 오류가 난다.

$ add-apt-repository ppa:deadsnakes/ppa
bash: add-apt-repository: command not found

 

software-properties-common을 설치해주어야 add-apt-repository 명령어를 사용할 수 있다. 설치하는데 시간이 좀 걸린다.

$ sudo apt-get install -y software-properties-common
더보기
더보기

software-properties-common 설치 로그

이 패키지에 들어있는게 많아서 설치도 오래걸리고 용량도 낭비된다. ppa를 설치할 다른 방법을 찾아봐야겠다. 아래는 설치 로그이다. 볼 필요는 없는데 그냥 아카이빙해보았다.

root@a4fc86f91ca1:/home# apt-get install software-properties-common
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  dbus dbus-user-session dconf-gsettings-backend dconf-service dirmngr distro-info-data dmsetup gir1.2-glib-2.0 gir1.2-packagekitglib-1.0 glib-networking glib-networking-common glib-networking-services gnupg
  gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm gsettings-desktop-schemas iso-codes krb5-locales libapparmor1 libappstream4 libargon2-1 libasn1-8-heimdal libassuan0
  libbrotli1 libcap2 libcap2-bin libcryptsetup12 libdbus-1-3 libdconf1 libdevmapper1.02.1 libelf1 libgirepository-1.0-1 libglib2.0-0 libglib2.0-bin libglib2.0-data libgssapi-krb5-2 libgssapi3-heimdal
  libgstreamer1.0-0 libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal libicu66 libip4tc2 libjson-c4 libk5crypto3 libkeyutils1 libkmod2 libkrb5-26-heimdal libkrb5-3
  libkrb5support0 libksba8 libldap-2.4-2 libldap-common liblmdb0 libnpth0 libnss-systemd libpackagekit-glib2-18 libpam-cap libpam-systemd libpolkit-agent-1-0 libpolkit-gobject-1-0 libproxy1v5
  libroken18-heimdal libsasl2-2 libsasl2-modules libsasl2-modules-db libsoup2.4-1 libstemmer0d libsystemd0 libwind0-heimdal libxml2 libyaml-0-2 lsb-release networkd-dispatcher packagekit packagekit-tools
  pinentry-curses policykit-1 python-apt-common python3-apt python3-certifi python3-chardet python3-dbus python3-distro-info python3-gi python3-idna python3-pkg-resources python3-requests
  python3-requests-unixsocket python3-six python3-software-properties python3-urllib3 shared-mime-info systemd systemd-sysv systemd-timesyncd tzdata ucf unattended-upgrades xdg-user-dirs
Suggested packages:
  pinentry-gnome3 tor parcimonie xloadimage scdaemon isoquery krb5-doc krb5-user gstreamer1.0-tools libsasl2-modules-gssapi-mit | libsasl2-modules-gssapi-heimdal libsasl2-modules-ldap libsasl2-modules-otp
  libsasl2-modules-sql iw | wireless-tools appstream pinentry-doc python3-apt-dbg python-apt-doc python-dbus-doc python3-dbus-dbg python3-setuptools python3-cryptography python3-openssl python3-socks
  systemd-container bsd-mailx default-mta | mail-transport-agent needrestart powermgmt-base
The following NEW packages will be installed:
  dbus dbus-user-session dconf-gsettings-backend dconf-service dirmngr distro-info-data dmsetup gir1.2-glib-2.0 gir1.2-packagekitglib-1.0 glib-networking glib-networking-common glib-networking-services gnupg
  gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm gsettings-desktop-schemas iso-codes krb5-locales libapparmor1 libappstream4 libargon2-1 libasn1-8-heimdal libassuan0
  libbrotli1 libcap2 libcap2-bin libcryptsetup12 libdbus-1-3 libdconf1 libdevmapper1.02.1 libelf1 libgirepository-1.0-1 libglib2.0-0 libglib2.0-bin libglib2.0-data libgssapi-krb5-2 libgssapi3-heimdal
  libgstreamer1.0-0 libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal libicu66 libip4tc2 libjson-c4 libk5crypto3 libkeyutils1 libkmod2 libkrb5-26-heimdal libkrb5-3
  libkrb5support0 libksba8 libldap-2.4-2 libldap-common liblmdb0 libnpth0 libnss-systemd libpackagekit-glib2-18 libpam-cap libpam-systemd libpolkit-agent-1-0 libpolkit-gobject-1-0 libproxy1v5
  libroken18-heimdal libsasl2-2 libsasl2-modules libsasl2-modules-db libsoup2.4-1 libstemmer0d libwind0-heimdal libxml2 libyaml-0-2 lsb-release networkd-dispatcher packagekit packagekit-tools pinentry-curses
  policykit-1 python-apt-common python3-apt python3-certifi python3-chardet python3-dbus python3-distro-info python3-gi python3-idna python3-pkg-resources python3-requests python3-requests-unixsocket
  python3-six python3-software-properties python3-urllib3 shared-mime-info software-properties-common systemd systemd-sysv systemd-timesyncd tzdata ucf unattended-upgrades xdg-user-dirs
The following packages will be upgraded:
  libsystemd0
1 upgraded, 107 newly installed, 0 to remove and 4 not upgraded.
Need to get 27.6 MB of archives.
After this operation, 119 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libsystemd0 amd64 245.4-4ubuntu3.13 [270 kB]
Get:2 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libapparmor1 amd64 2.13.3-7ubuntu5.1 [34.1 kB]
Get:3 http://archive.ubuntu.com/ubuntu focal/main amd64 libcap2 amd64 1:2.32-1 [15.9 kB]
Get:4 http://archive.ubuntu.com/ubuntu focal/main amd64 libargon2-1 amd64 0~20171227-0.2 [19.2 kB]
Get:5 http://archive.ubuntu.com/ubuntu focal/main amd64 libdevmapper1.02.1 amd64 2:1.02.167-1ubuntu1 [127 kB]
Get:6 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libjson-c4 amd64 0.13.1+dfsg-7ubuntu0.3 [29.3 kB]
Get:7 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libcryptsetup12 amd64 2:2.2.2-3ubuntu2.3 [183 kB]
Get:8 http://archive.ubuntu.com/ubuntu focal/main amd64 libip4tc2 amd64 1.8.4-3ubuntu2 [18.8 kB]
Get:9 http://archive.ubuntu.com/ubuntu focal/main amd64 libkmod2 amd64 27-1ubuntu2 [44.3 kB]
Get:10 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 systemd-timesyncd amd64 245.4-4ubuntu3.13 [28.1 kB]
Get:11 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 systemd amd64 245.4-4ubuntu3.13 [3809 kB]
Get:12 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 systemd-sysv amd64 245.4-4ubuntu3.13 [10.3 kB]
Get:13 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libdbus-1-3 amd64 1.12.16-2ubuntu2.1 [179 kB]
Get:14 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 dbus amd64 1.12.16-2ubuntu2.1 [151 kB]
Get:15 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 distro-info-data all 0.43ubuntu1.6 [4608 B]
Get:16 http://archive.ubuntu.com/ubuntu focal/main amd64 dmsetup amd64 2:1.02.167-1ubuntu1 [75.6 kB]
Get:17 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libglib2.0-0 amd64 2.64.6-1~ubuntu20.04.4 [1287 kB]
Get:18 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libgirepository-1.0-1 amd64 1.64.1-1~ubuntu20.04.1 [85.7 kB]
Get:19 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gir1.2-glib-2.0 amd64 1.64.1-1~ubuntu20.04.1 [134 kB]
Get:20 http://archive.ubuntu.com/ubuntu focal/main amd64 libcap2-bin amd64 1:2.32-1 [26.2 kB]
Get:21 http://archive.ubuntu.com/ubuntu focal/main amd64 libelf1 amd64 0.176-1.1build1 [44.0 kB]
Get:22 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libglib2.0-data all 2.64.6-1~ubuntu20.04.4 [6052 B]
Get:23 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 tzdata all 2021a-0ubuntu0.20.04 [295 kB]
Get:24 http://archive.ubuntu.com/ubuntu focal/main amd64 libicu66 amd64 66.1-2ubuntu2 [8520 kB]
Get:25 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libnss-systemd amd64 245.4-4ubuntu3.13 [95.8 kB]
Get:26 http://archive.ubuntu.com/ubuntu focal/main amd64 libpam-cap amd64 1:2.32-1 [8352 B]
Get:27 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libpam-systemd amd64 245.4-4ubuntu3.13 [186 kB]
Get:28 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libxml2 amd64 2.9.10+dfsg-5ubuntu0.20.04.1 [640 kB]
Get:29 http://archive.ubuntu.com/ubuntu focal/main amd64 libyaml-0-2 amd64 0.2.2-1 [48.9 kB]
Get:30 http://archive.ubuntu.com/ubuntu focal/main amd64 lsb-release all 11.1.0ubuntu2 [10.6 kB]
Get:31 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-dbus amd64 1.2.16-1build1 [94.0 kB]
Get:32 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-gi amd64 3.36.0-1 [165 kB]
Get:33 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 networkd-dispatcher all 2.1-2~ubuntu20.04.1 [14.6 kB]
Get:34 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-pkg-resources all 45.2.0-1 [130 kB]
Get:35 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-six all 1.14.0-2 [12.1 kB]
Get:36 http://archive.ubuntu.com/ubuntu focal/main amd64 shared-mime-info amd64 1.15-1 [430 kB]
Get:37 http://archive.ubuntu.com/ubuntu focal/main amd64 ucf all 3.0038+nmu1 [51.6 kB]
Get:38 http://archive.ubuntu.com/ubuntu focal/main amd64 xdg-user-dirs amd64 0.17-2ubuntu1 [48.3 kB]
Get:39 http://archive.ubuntu.com/ubuntu focal/main amd64 iso-codes all 4.4-1 [2695 kB]
Get:40 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 krb5-locales all 1.17-6ubuntu4.1 [11.4 kB]
Get:41 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libkrb5support0 amd64 1.17-6ubuntu4.1 [30.9 kB]
Get:42 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libk5crypto3 amd64 1.17-6ubuntu4.1 [79.9 kB]
Get:43 http://archive.ubuntu.com/ubuntu focal/main amd64 libkeyutils1 amd64 1.6-6ubuntu1 [10.2 kB]
Get:44 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libkrb5-3 amd64 1.17-6ubuntu4.1 [330 kB]
Get:45 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libgssapi-krb5-2 amd64 1.17-6ubuntu4.1 [121 kB]
Get:46 http://archive.ubuntu.com/ubuntu focal/main amd64 liblmdb0 amd64 0.9.24-1 [44.6 kB]
Get:47 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libpolkit-gobject-1-0 amd64 0.105-26ubuntu1.1 [39.5 kB]
Get:48 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 python-apt-common all 2.0.0ubuntu0.20.04.6 [17.1 kB]
Get:49 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 python3-apt amd64 2.0.0ubuntu0.20.04.6 [154 kB]
Get:50 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-distro-info all 0.23ubuntu1 [5924 B]
Get:51 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 dbus-user-session amd64 1.12.16-2ubuntu2.1 [9428 B]
Get:52 http://archive.ubuntu.com/ubuntu focal/main amd64 libdconf1 amd64 0.36.0-1 [37.4 kB]
Get:53 http://archive.ubuntu.com/ubuntu focal/main amd64 dconf-service amd64 0.36.0-1 [29.8 kB]
Get:54 http://archive.ubuntu.com/ubuntu focal/main amd64 dconf-gsettings-backend amd64 0.36.0-1 [22.5 kB]
Get:55 http://archive.ubuntu.com/ubuntu focal/main amd64 libassuan0 amd64 2.5.3-7ubuntu2 [35.7 kB]
Get:56 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gpgconf amd64 2.2.19-3ubuntu2.1 [124 kB]
Get:57 http://archive.ubuntu.com/ubuntu focal/main amd64 libksba8 amd64 1.3.5-2 [92.6 kB]
Get:58 http://archive.ubuntu.com/ubuntu focal/main amd64 libroken18-heimdal amd64 7.7.0+dfsg-1ubuntu1 [41.8 kB]
Get:59 http://archive.ubuntu.com/ubuntu focal/main amd64 libasn1-8-heimdal amd64 7.7.0+dfsg-1ubuntu1 [181 kB]
Get:60 http://archive.ubuntu.com/ubuntu focal/main amd64 libheimbase1-heimdal amd64 7.7.0+dfsg-1ubuntu1 [29.7 kB]
Get:61 http://archive.ubuntu.com/ubuntu focal/main amd64 libhcrypto4-heimdal amd64 7.7.0+dfsg-1ubuntu1 [87.9 kB]
Get:62 http://archive.ubuntu.com/ubuntu focal/main amd64 libwind0-heimdal amd64 7.7.0+dfsg-1ubuntu1 [48.0 kB]
Get:63 http://archive.ubuntu.com/ubuntu focal/main amd64 libhx509-5-heimdal amd64 7.7.0+dfsg-1ubuntu1 [107 kB]
Get:64 http://archive.ubuntu.com/ubuntu focal/main amd64 libkrb5-26-heimdal amd64 7.7.0+dfsg-1ubuntu1 [208 kB]
Get:65 http://archive.ubuntu.com/ubuntu focal/main amd64 libheimntlm0-heimdal amd64 7.7.0+dfsg-1ubuntu1 [15.1 kB]
Get:66 http://archive.ubuntu.com/ubuntu focal/main amd64 libgssapi3-heimdal amd64 7.7.0+dfsg-1ubuntu1 [96.1 kB]
Get:67 http://archive.ubuntu.com/ubuntu focal/main amd64 libsasl2-modules-db amd64 2.1.27+dfsg-2 [14.9 kB]
Get:68 http://archive.ubuntu.com/ubuntu focal/main amd64 libsasl2-2 amd64 2.1.27+dfsg-2 [49.3 kB]
Get:69 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libldap-common all 2.4.49+dfsg-2ubuntu1.8 [16.6 kB]
Get:70 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libldap-2.4-2 amd64 2.4.49+dfsg-2ubuntu1.8 [155 kB]
Get:71 http://archive.ubuntu.com/ubuntu focal/main amd64 libnpth0 amd64 1.6-1 [7736 B]
Get:72 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 dirmngr amd64 2.2.19-3ubuntu2.1 [329 kB]
Get:73 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libpackagekit-glib2-18 amd64 1.1.13-2ubuntu1.1 [104 kB]
Get:74 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gir1.2-packagekitglib-1.0 amd64 1.1.13-2ubuntu1.1 [21.6 kB]
Get:75 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libproxy1v5 amd64 0.4.15-10ubuntu1.2 [49.1 kB]
Get:76 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 glib-networking-common all 2.64.2-1ubuntu0.1 [5040 B]
Get:77 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 glib-networking-services amd64 2.64.2-1ubuntu0.1 [10.6 kB]
Get:78 http://archive.ubuntu.com/ubuntu focal/main amd64 gsettings-desktop-schemas all 3.36.0-1ubuntu1 [29.0 kB]
Get:79 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 glib-networking amd64 2.64.2-1ubuntu0.1 [58.2 kB]
Get:80 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gnupg-l10n all 2.2.19-3ubuntu2.1 [51.7 kB]
Get:81 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gnupg-utils amd64 2.2.19-3ubuntu2.1 [480 kB]
Get:82 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gpg amd64 2.2.19-3ubuntu2.1 [483 kB]
Get:83 http://archive.ubuntu.com/ubuntu focal/main amd64 pinentry-curses amd64 1.1.0-3build1 [36.3 kB]
Get:84 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gpg-agent amd64 2.2.19-3ubuntu2.1 [232 kB]
Get:85 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gpg-wks-client amd64 2.2.19-3ubuntu2.1 [97.6 kB]
Get:86 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gpg-wks-server amd64 2.2.19-3ubuntu2.1 [90.3 kB]
Get:87 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gpgsm amd64 2.2.19-3ubuntu2.1 [217 kB]
Get:88 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 gnupg all 2.2.19-3ubuntu2.1 [259 kB]
Get:89 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libbrotli1 amd64 1.0.7-6ubuntu0.1 [267 kB]
Get:90 http://archive.ubuntu.com/ubuntu focal/main amd64 libsoup2.4-1 amd64 2.70.0-1 [262 kB]
Get:91 http://archive.ubuntu.com/ubuntu focal/main amd64 libstemmer0d amd64 0+svn585-2 [61.7 kB]
Get:92 http://archive.ubuntu.com/ubuntu focal/main amd64 libappstream4 amd64 0.12.10-2 [129 kB]
Get:93 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libglib2.0-bin amd64 2.64.6-1~ubuntu20.04.4 [72.6 kB]
Get:94 http://archive.ubuntu.com/ubuntu focal/main amd64 libgstreamer1.0-0 amd64 1.16.2-2 [890 kB]
Get:95 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libpolkit-agent-1-0 amd64 0.105-26ubuntu1.1 [15.2 kB]
Get:96 http://archive.ubuntu.com/ubuntu focal/main amd64 libsasl2-modules amd64 2.1.27+dfsg-2 [49.1 kB]
Get:97 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 policykit-1 amd64 0.105-26ubuntu1.1 [84.1 kB]
Get:98 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 packagekit amd64 1.1.13-2ubuntu1.1 [408 kB]
Get:99 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 packagekit-tools amd64 1.1.13-2ubuntu1.1 [32.8 kB]
Get:100 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-certifi all 2019.11.28-1 [149 kB]
Get:101 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-chardet all 3.0.4-4build1 [80.4 kB]
Get:102 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-idna all 2.8-1 [34.6 kB]
Get:103 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 python3-urllib3 all 1.25.8-2ubuntu0.1 [88.3 kB]
Get:104 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-requests all 2.22.0-2ubuntu1 [47.1 kB]
Get:105 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-requests-unixsocket all 0.2.0-2 [7272 B]
Get:106 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 python3-software-properties all 0.98.9.5 [25.1 kB]
Get:107 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 software-properties-common all 0.98.9.5 [10.6 kB]
Get:108 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 unattended-upgrades all 2.3ubuntu0.1 [48.7 kB]
Fetched 27.6 MB in 7s (4058 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
(Reading database ... 5295 files and directories currently installed.)
Preparing to unpack .../libsystemd0_245.4-4ubuntu3.13_amd64.deb ...
Unpacking libsystemd0:amd64 (245.4-4ubuntu3.13) over (245.4-4ubuntu3.11) ...
Setting up libsystemd0:amd64 (245.4-4ubuntu3.13) ...
Selecting previously unselected package libapparmor1:amd64.
(Reading database ... 5295 files and directories currently installed.)
Preparing to unpack .../0-libapparmor1_2.13.3-7ubuntu5.1_amd64.deb ...
Unpacking libapparmor1:amd64 (2.13.3-7ubuntu5.1) ...
Selecting previously unselected package libcap2:amd64.
Preparing to unpack .../1-libcap2_1%3a2.32-1_amd64.deb ...
Unpacking libcap2:amd64 (1:2.32-1) ...
Selecting previously unselected package libargon2-1:amd64.
Preparing to unpack .../2-libargon2-1_0~20171227-0.2_amd64.deb ...
Unpacking libargon2-1:amd64 (0~20171227-0.2) ...
Selecting previously unselected package libdevmapper1.02.1:amd64.
Preparing to unpack .../3-libdevmapper1.02.1_2%3a1.02.167-1ubuntu1_amd64.deb ...
Unpacking libdevmapper1.02.1:amd64 (2:1.02.167-1ubuntu1) ...
Selecting previously unselected package libjson-c4:amd64.
Preparing to unpack .../4-libjson-c4_0.13.1+dfsg-7ubuntu0.3_amd64.deb ...
Unpacking libjson-c4:amd64 (0.13.1+dfsg-7ubuntu0.3) ...
Selecting previously unselected package libcryptsetup12:amd64.
Preparing to unpack .../5-libcryptsetup12_2%3a2.2.2-3ubuntu2.3_amd64.deb ...
Unpacking libcryptsetup12:amd64 (2:2.2.2-3ubuntu2.3) ...
Selecting previously unselected package libip4tc2:amd64.
Preparing to unpack .../6-libip4tc2_1.8.4-3ubuntu2_amd64.deb ...
Unpacking libip4tc2:amd64 (1.8.4-3ubuntu2) ...
Selecting previously unselected package libkmod2:amd64.
Preparing to unpack .../7-libkmod2_27-1ubuntu2_amd64.deb ...
Unpacking libkmod2:amd64 (27-1ubuntu2) ...
Selecting previously unselected package systemd-timesyncd.
Preparing to unpack .../8-systemd-timesyncd_245.4-4ubuntu3.13_amd64.deb ...
Unpacking systemd-timesyncd (245.4-4ubuntu3.13) ...
Selecting previously unselected package systemd.
Preparing to unpack .../9-systemd_245.4-4ubuntu3.13_amd64.deb ...
Unpacking systemd (245.4-4ubuntu3.13) ...
Setting up libapparmor1:amd64 (2.13.3-7ubuntu5.1) ...
Setting up libcap2:amd64 (1:2.32-1) ...
Setting up libargon2-1:amd64 (0~20171227-0.2) ...
Setting up libdevmapper1.02.1:amd64 (2:1.02.167-1ubuntu1) ...
Setting up libjson-c4:amd64 (0.13.1+dfsg-7ubuntu0.3) ...
Setting up libcryptsetup12:amd64 (2:2.2.2-3ubuntu2.3) ...
Setting up libip4tc2:amd64 (1.8.4-3ubuntu2) ...
Setting up libkmod2:amd64 (27-1ubuntu2) ...
Setting up systemd-timesyncd (245.4-4ubuntu3.13) ...
Created symlink /etc/systemd/system/dbus-org.freedesktop.timesync1.service → /lib/systemd/system/systemd-timesyncd.service.
Created symlink /etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service → /lib/systemd/system/systemd-timesyncd.service.
Setting up systemd (245.4-4ubuntu3.13) ...
Created symlink /etc/systemd/system/getty.target.wants/getty@tty1.service → /lib/systemd/system/getty@.service.
Created symlink /etc/systemd/system/multi-user.target.wants/remote-fs.target → /lib/systemd/system/remote-fs.target.
Created symlink /etc/systemd/system/dbus-org.freedesktop.resolve1.service → /lib/systemd/system/systemd-resolved.service.
Created symlink /etc/systemd/system/multi-user.target.wants/systemd-resolved.service → /lib/systemd/system/systemd-resolved.service.
ln: failed to create symbolic link '/etc/resolv.conf': Device or resource busy
Created symlink /etc/systemd/system/multi-user.target.wants/ondemand.service → /lib/systemd/system/ondemand.service.
Created symlink /etc/systemd/system/sysinit.target.wants/systemd-pstore.service → /lib/systemd/system/systemd-pstore.service.
Initializing machine ID from random generator.
Selecting previously unselected package systemd-sysv.
(Reading database ... 6097 files and directories currently installed.)
Preparing to unpack .../00-systemd-sysv_245.4-4ubuntu3.13_amd64.deb ...
Unpacking systemd-sysv (245.4-4ubuntu3.13) ...
Selecting previously unselected package libdbus-1-3:amd64.
Preparing to unpack .../01-libdbus-1-3_1.12.16-2ubuntu2.1_amd64.deb ...
Unpacking libdbus-1-3:amd64 (1.12.16-2ubuntu2.1) ...
Selecting previously unselected package dbus.
Preparing to unpack .../02-dbus_1.12.16-2ubuntu2.1_amd64.deb ...
Unpacking dbus (1.12.16-2ubuntu2.1) ...
Selecting previously unselected package distro-info-data.
Preparing to unpack .../03-distro-info-data_0.43ubuntu1.6_all.deb ...
Unpacking distro-info-data (0.43ubuntu1.6) ...
Selecting previously unselected package dmsetup.
Preparing to unpack .../04-dmsetup_2%3a1.02.167-1ubuntu1_amd64.deb ...
Unpacking dmsetup (2:1.02.167-1ubuntu1) ...
Selecting previously unselected package libglib2.0-0:amd64.
Preparing to unpack .../05-libglib2.0-0_2.64.6-1~ubuntu20.04.4_amd64.deb ...
Unpacking libglib2.0-0:amd64 (2.64.6-1~ubuntu20.04.4) ...
Selecting previously unselected package libgirepository-1.0-1:amd64.
Preparing to unpack .../06-libgirepository-1.0-1_1.64.1-1~ubuntu20.04.1_amd64.deb ...
Unpacking libgirepository-1.0-1:amd64 (1.64.1-1~ubuntu20.04.1) ...
Selecting previously unselected package gir1.2-glib-2.0:amd64.
Preparing to unpack .../07-gir1.2-glib-2.0_1.64.1-1~ubuntu20.04.1_amd64.deb ...
Unpacking gir1.2-glib-2.0:amd64 (1.64.1-1~ubuntu20.04.1) ...
Selecting previously unselected package libcap2-bin.
Preparing to unpack .../08-libcap2-bin_1%3a2.32-1_amd64.deb ...
Unpacking libcap2-bin (1:2.32-1) ...
Selecting previously unselected package libelf1:amd64.
Preparing to unpack .../09-libelf1_0.176-1.1build1_amd64.deb ...
Unpacking libelf1:amd64 (0.176-1.1build1) ...
Selecting previously unselected package libglib2.0-data.
Preparing to unpack .../10-libglib2.0-data_2.64.6-1~ubuntu20.04.4_all.deb ...
Unpacking libglib2.0-data (2.64.6-1~ubuntu20.04.4) ...
Selecting previously unselected package tzdata.
Preparing to unpack .../11-tzdata_2021a-0ubuntu0.20.04_all.deb ...
Unpacking tzdata (2021a-0ubuntu0.20.04) ...
Selecting previously unselected package libicu66:amd64.
Preparing to unpack .../12-libicu66_66.1-2ubuntu2_amd64.deb ...
Unpacking libicu66:amd64 (66.1-2ubuntu2) ...
Selecting previously unselected package libnss-systemd:amd64.
Preparing to unpack .../13-libnss-systemd_245.4-4ubuntu3.13_amd64.deb ...
Unpacking libnss-systemd:amd64 (245.4-4ubuntu3.13) ...
Selecting previously unselected package libpam-cap:amd64.
Preparing to unpack .../14-libpam-cap_1%3a2.32-1_amd64.deb ...
Unpacking libpam-cap:amd64 (1:2.32-1) ...
Selecting previously unselected package libpam-systemd:amd64.
Preparing to unpack .../15-libpam-systemd_245.4-4ubuntu3.13_amd64.deb ...
Unpacking libpam-systemd:amd64 (245.4-4ubuntu3.13) ...
Selecting previously unselected package libxml2:amd64.
Preparing to unpack .../16-libxml2_2.9.10+dfsg-5ubuntu0.20.04.1_amd64.deb ...
Unpacking libxml2:amd64 (2.9.10+dfsg-5ubuntu0.20.04.1) ...
Selecting previously unselected package libyaml-0-2:amd64.
Preparing to unpack .../17-libyaml-0-2_0.2.2-1_amd64.deb ...
Unpacking libyaml-0-2:amd64 (0.2.2-1) ...
Selecting previously unselected package lsb-release.
Preparing to unpack .../18-lsb-release_11.1.0ubuntu2_all.deb ...
Unpacking lsb-release (11.1.0ubuntu2) ...
Selecting previously unselected package python3-dbus.
Preparing to unpack .../19-python3-dbus_1.2.16-1build1_amd64.deb ...
Unpacking python3-dbus (1.2.16-1build1) ...
Selecting previously unselected package python3-gi.
Preparing to unpack .../20-python3-gi_3.36.0-1_amd64.deb ...
Unpacking python3-gi (3.36.0-1) ...
Selecting previously unselected package networkd-dispatcher.
Preparing to unpack .../21-networkd-dispatcher_2.1-2~ubuntu20.04.1_all.deb ...
Unpacking networkd-dispatcher (2.1-2~ubuntu20.04.1) ...
Selecting previously unselected package python3-pkg-resources.
Preparing to unpack .../22-python3-pkg-resources_45.2.0-1_all.deb ...
Unpacking python3-pkg-resources (45.2.0-1) ...
Selecting previously unselected package python3-six.
Preparing to unpack .../23-python3-six_1.14.0-2_all.deb ...
Unpacking python3-six (1.14.0-2) ...
Selecting previously unselected package shared-mime-info.
Preparing to unpack .../24-shared-mime-info_1.15-1_amd64.deb ...
Unpacking shared-mime-info (1.15-1) ...
Selecting previously unselected package ucf.
Preparing to unpack .../25-ucf_3.0038+nmu1_all.deb ...
Moving old data out of the way
Unpacking ucf (3.0038+nmu1) ...
Selecting previously unselected package xdg-user-dirs.
Preparing to unpack .../26-xdg-user-dirs_0.17-2ubuntu1_amd64.deb ...
Unpacking xdg-user-dirs (0.17-2ubuntu1) ...
Selecting previously unselected package iso-codes.
Preparing to unpack .../27-iso-codes_4.4-1_all.deb ...
Unpacking iso-codes (4.4-1) ...
Selecting previously unselected package krb5-locales.
Preparing to unpack .../28-krb5-locales_1.17-6ubuntu4.1_all.deb ...
Unpacking krb5-locales (1.17-6ubuntu4.1) ...
Selecting previously unselected package libkrb5support0:amd64.
Preparing to unpack .../29-libkrb5support0_1.17-6ubuntu4.1_amd64.deb ...
Unpacking libkrb5support0:amd64 (1.17-6ubuntu4.1) ...
Selecting previously unselected package libk5crypto3:amd64.
Preparing to unpack .../30-libk5crypto3_1.17-6ubuntu4.1_amd64.deb ...
Unpacking libk5crypto3:amd64 (1.17-6ubuntu4.1) ...
Selecting previously unselected package libkeyutils1:amd64.
Preparing to unpack .../31-libkeyutils1_1.6-6ubuntu1_amd64.deb ...
Unpacking libkeyutils1:amd64 (1.6-6ubuntu1) ...
Selecting previously unselected package libkrb5-3:amd64.
Preparing to unpack .../32-libkrb5-3_1.17-6ubuntu4.1_amd64.deb ...
Unpacking libkrb5-3:amd64 (1.17-6ubuntu4.1) ...
Selecting previously unselected package libgssapi-krb5-2:amd64.
Preparing to unpack .../33-libgssapi-krb5-2_1.17-6ubuntu4.1_amd64.deb ...
Unpacking libgssapi-krb5-2:amd64 (1.17-6ubuntu4.1) ...
Selecting previously unselected package liblmdb0:amd64.
Preparing to unpack .../34-liblmdb0_0.9.24-1_amd64.deb ...
Unpacking liblmdb0:amd64 (0.9.24-1) ...
Selecting previously unselected package libpolkit-gobject-1-0:amd64.
Preparing to unpack .../35-libpolkit-gobject-1-0_0.105-26ubuntu1.1_amd64.deb ...
Unpacking libpolkit-gobject-1-0:amd64 (0.105-26ubuntu1.1) ...
Selecting previously unselected package python-apt-common.
Preparing to unpack .../36-python-apt-common_2.0.0ubuntu0.20.04.6_all.deb ...
Unpacking python-apt-common (2.0.0ubuntu0.20.04.6) ...
Selecting previously unselected package python3-apt.
Preparing to unpack .../37-python3-apt_2.0.0ubuntu0.20.04.6_amd64.deb ...
Unpacking python3-apt (2.0.0ubuntu0.20.04.6) ...
Selecting previously unselected package python3-distro-info.
Preparing to unpack .../38-python3-distro-info_0.23ubuntu1_all.deb ...
Unpacking python3-distro-info (0.23ubuntu1) ...
Selecting previously unselected package dbus-user-session.
Preparing to unpack .../39-dbus-user-session_1.12.16-2ubuntu2.1_amd64.deb ...
Unpacking dbus-user-session (1.12.16-2ubuntu2.1) ...
Selecting previously unselected package libdconf1:amd64.
Preparing to unpack .../40-libdconf1_0.36.0-1_amd64.deb ...
Unpacking libdconf1:amd64 (0.36.0-1) ...
Selecting previously unselected package dconf-service.
Preparing to unpack .../41-dconf-service_0.36.0-1_amd64.deb ...
Unpacking dconf-service (0.36.0-1) ...
Selecting previously unselected package dconf-gsettings-backend:amd64.
Preparing to unpack .../42-dconf-gsettings-backend_0.36.0-1_amd64.deb ...
Unpacking dconf-gsettings-backend:amd64 (0.36.0-1) ...
Selecting previously unselected package libassuan0:amd64.
Preparing to unpack .../43-libassuan0_2.5.3-7ubuntu2_amd64.deb ...
Unpacking libassuan0:amd64 (2.5.3-7ubuntu2) ...
Selecting previously unselected package gpgconf.
Preparing to unpack .../44-gpgconf_2.2.19-3ubuntu2.1_amd64.deb ...
Unpacking gpgconf (2.2.19-3ubuntu2.1) ...
Selecting previously unselected package libksba8:amd64.
Preparing to unpack .../45-libksba8_1.3.5-2_amd64.deb ...
Unpacking libksba8:amd64 (1.3.5-2) ...
Selecting previously unselected package libroken18-heimdal:amd64.
Preparing to unpack .../46-libroken18-heimdal_7.7.0+dfsg-1ubuntu1_amd64.deb ...
Unpacking libroken18-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ...
Selecting previously unselected package libasn1-8-heimdal:amd64.
Preparing to unpack .../47-libasn1-8-heimdal_7.7.0+dfsg-1ubuntu1_amd64.deb ...
Unpacking libasn1-8-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ...
Selecting previously unselected package libheimbase1-heimdal:amd64.
Preparing to unpack .../48-libheimbase1-heimdal_7.7.0+dfsg-1ubuntu1_amd64.deb ...
Unpacking libheimbase1-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ...
Selecting previously unselected package libhcrypto4-heimdal:amd64.
Preparing to unpack .../49-libhcrypto4-heimdal_7.7.0+dfsg-1ubuntu1_amd64.deb ...
Unpacking libhcrypto4-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ...
Selecting previously unselected package libwind0-heimdal:amd64.
Preparing to unpack .../50-libwind0-heimdal_7.7.0+dfsg-1ubuntu1_amd64.deb ...
Unpacking libwind0-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ...
Selecting previously unselected package libhx509-5-heimdal:amd64.
Preparing to unpack .../51-libhx509-5-heimdal_7.7.0+dfsg-1ubuntu1_amd64.deb ...
Unpacking libhx509-5-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ...
Selecting previously unselected package libkrb5-26-heimdal:amd64.
Preparing to unpack .../52-libkrb5-26-heimdal_7.7.0+dfsg-1ubuntu1_amd64.deb ...
Unpacking libkrb5-26-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ...
Selecting previously unselected package libheimntlm0-heimdal:amd64.
Preparing to unpack .../53-libheimntlm0-heimdal_7.7.0+dfsg-1ubuntu1_amd64.deb ...
Unpacking libheimntlm0-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ...
Selecting previously unselected package libgssapi3-heimdal:amd64.
Preparing to unpack .../54-libgssapi3-heimdal_7.7.0+dfsg-1ubuntu1_amd64.deb ...
Unpacking libgssapi3-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ...
Selecting previously unselected package libsasl2-modules-db:amd64.
Preparing to unpack .../55-libsasl2-modules-db_2.1.27+dfsg-2_amd64.deb ...
Unpacking libsasl2-modules-db:amd64 (2.1.27+dfsg-2) ...
Selecting previously unselected package libsasl2-2:amd64.
Preparing to unpack .../56-libsasl2-2_2.1.27+dfsg-2_amd64.deb ...
Unpacking libsasl2-2:amd64 (2.1.27+dfsg-2) ...
Selecting previously unselected package libldap-common.
Preparing to unpack .../57-libldap-common_2.4.49+dfsg-2ubuntu1.8_all.deb ...
Unpacking libldap-common (2.4.49+dfsg-2ubuntu1.8) ...
Selecting previously unselected package libldap-2.4-2:amd64.
Preparing to unpack .../58-libldap-2.4-2_2.4.49+dfsg-2ubuntu1.8_amd64.deb ...
Unpacking libldap-2.4-2:amd64 (2.4.49+dfsg-2ubuntu1.8) ...
Selecting previously unselected package libnpth0:amd64.
Preparing to unpack .../59-libnpth0_1.6-1_amd64.deb ...
Unpacking libnpth0:amd64 (1.6-1) ...
Selecting previously unselected package dirmngr.
Preparing to unpack .../60-dirmngr_2.2.19-3ubuntu2.1_amd64.deb ...
Unpacking dirmngr (2.2.19-3ubuntu2.1) ...
Selecting previously unselected package libpackagekit-glib2-18:amd64.
Preparing to unpack .../61-libpackagekit-glib2-18_1.1.13-2ubuntu1.1_amd64.deb ...
Unpacking libpackagekit-glib2-18:amd64 (1.1.13-2ubuntu1.1) ...
Selecting previously unselected package gir1.2-packagekitglib-1.0.
Preparing to unpack .../62-gir1.2-packagekitglib-1.0_1.1.13-2ubuntu1.1_amd64.deb ...
Unpacking gir1.2-packagekitglib-1.0 (1.1.13-2ubuntu1.1) ...
Selecting previously unselected package libproxy1v5:amd64.
Preparing to unpack .../63-libproxy1v5_0.4.15-10ubuntu1.2_amd64.deb ...
Unpacking libproxy1v5:amd64 (0.4.15-10ubuntu1.2) ...
Selecting previously unselected package glib-networking-common.
Preparing to unpack .../64-glib-networking-common_2.64.2-1ubuntu0.1_all.deb ...
Unpacking glib-networking-common (2.64.2-1ubuntu0.1) ...
Selecting previously unselected package glib-networking-services.
Preparing to unpack .../65-glib-networking-services_2.64.2-1ubuntu0.1_amd64.deb ...
Unpacking glib-networking-services (2.64.2-1ubuntu0.1) ...
Selecting previously unselected package gsettings-desktop-schemas.
Preparing to unpack .../66-gsettings-desktop-schemas_3.36.0-1ubuntu1_all.deb ...
Unpacking gsettings-desktop-schemas (3.36.0-1ubuntu1) ...
Selecting previously unselected package glib-networking:amd64.
Preparing to unpack .../67-glib-networking_2.64.2-1ubuntu0.1_amd64.deb ...
Unpacking glib-networking:amd64 (2.64.2-1ubuntu0.1) ...
Selecting previously unselected package gnupg-l10n.
Preparing to unpack .../68-gnupg-l10n_2.2.19-3ubuntu2.1_all.deb ...
Unpacking gnupg-l10n (2.2.19-3ubuntu2.1) ...
Selecting previously unselected package gnupg-utils.
Preparing to unpack .../69-gnupg-utils_2.2.19-3ubuntu2.1_amd64.deb ...
Unpacking gnupg-utils (2.2.19-3ubuntu2.1) ...
Selecting previously unselected package gpg.
Preparing to unpack .../70-gpg_2.2.19-3ubuntu2.1_amd64.deb ...
Unpacking gpg (2.2.19-3ubuntu2.1) ...
Selecting previously unselected package pinentry-curses.
Preparing to unpack .../71-pinentry-curses_1.1.0-3build1_amd64.deb ...
Unpacking pinentry-curses (1.1.0-3build1) ...
Selecting previously unselected package gpg-agent.
Preparing to unpack .../72-gpg-agent_2.2.19-3ubuntu2.1_amd64.deb ...
Unpacking gpg-agent (2.2.19-3ubuntu2.1) ...
Selecting previously unselected package gpg-wks-client.
Preparing to unpack .../73-gpg-wks-client_2.2.19-3ubuntu2.1_amd64.deb ...
Unpacking gpg-wks-client (2.2.19-3ubuntu2.1) ...
Selecting previously unselected package gpg-wks-server.
Preparing to unpack .../74-gpg-wks-server_2.2.19-3ubuntu2.1_amd64.deb ...
Unpacking gpg-wks-server (2.2.19-3ubuntu2.1) ...
Selecting previously unselected package gpgsm.
Preparing to unpack .../75-gpgsm_2.2.19-3ubuntu2.1_amd64.deb ...
Unpacking gpgsm (2.2.19-3ubuntu2.1) ...
Selecting previously unselected package gnupg.
Preparing to unpack .../76-gnupg_2.2.19-3ubuntu2.1_all.deb ...
Unpacking gnupg (2.2.19-3ubuntu2.1) ...
Selecting previously unselected package libbrotli1:amd64.
Preparing to unpack .../77-libbrotli1_1.0.7-6ubuntu0.1_amd64.deb ...
Unpacking libbrotli1:amd64 (1.0.7-6ubuntu0.1) ...
Selecting previously unselected package libsoup2.4-1:amd64.
Preparing to unpack .../78-libsoup2.4-1_2.70.0-1_amd64.deb ...
Unpacking libsoup2.4-1:amd64 (2.70.0-1) ...
Selecting previously unselected package libstemmer0d:amd64.
Preparing to unpack .../79-libstemmer0d_0+svn585-2_amd64.deb ...
Unpacking libstemmer0d:amd64 (0+svn585-2) ...
Selecting previously unselected package libappstream4:amd64.
Preparing to unpack .../80-libappstream4_0.12.10-2_amd64.deb ...
Unpacking libappstream4:amd64 (0.12.10-2) ...
Selecting previously unselected package libglib2.0-bin.
Preparing to unpack .../81-libglib2.0-bin_2.64.6-1~ubuntu20.04.4_amd64.deb ...
Unpacking libglib2.0-bin (2.64.6-1~ubuntu20.04.4) ...
Selecting previously unselected package libgstreamer1.0-0:amd64.
Preparing to unpack .../82-libgstreamer1.0-0_1.16.2-2_amd64.deb ...
Unpacking libgstreamer1.0-0:amd64 (1.16.2-2) ...
Selecting previously unselected package libpolkit-agent-1-0:amd64.
Preparing to unpack .../83-libpolkit-agent-1-0_0.105-26ubuntu1.1_amd64.deb ...
Unpacking libpolkit-agent-1-0:amd64 (0.105-26ubuntu1.1) ...
Selecting previously unselected package libsasl2-modules:amd64.
Preparing to unpack .../84-libsasl2-modules_2.1.27+dfsg-2_amd64.deb ...
Unpacking libsasl2-modules:amd64 (2.1.27+dfsg-2) ...
Selecting previously unselected package policykit-1.
Preparing to unpack .../85-policykit-1_0.105-26ubuntu1.1_amd64.deb ...
Unpacking policykit-1 (0.105-26ubuntu1.1) ...
Selecting previously unselected package packagekit.
Preparing to unpack .../86-packagekit_1.1.13-2ubuntu1.1_amd64.deb ...
Unpacking packagekit (1.1.13-2ubuntu1.1) ...
Selecting previously unselected package packagekit-tools.
Preparing to unpack .../87-packagekit-tools_1.1.13-2ubuntu1.1_amd64.deb ...
Unpacking packagekit-tools (1.1.13-2ubuntu1.1) ...
Selecting previously unselected package python3-certifi.
Preparing to unpack .../88-python3-certifi_2019.11.28-1_all.deb ...
Unpacking python3-certifi (2019.11.28-1) ...
Selecting previously unselected package python3-chardet.
Preparing to unpack .../89-python3-chardet_3.0.4-4build1_all.deb ...
Unpacking python3-chardet (3.0.4-4build1) ...
Selecting previously unselected package python3-idna.
Preparing to unpack .../90-python3-idna_2.8-1_all.deb ...
Unpacking python3-idna (2.8-1) ...
Selecting previously unselected package python3-urllib3.
Preparing to unpack .../91-python3-urllib3_1.25.8-2ubuntu0.1_all.deb ...
Unpacking python3-urllib3 (1.25.8-2ubuntu0.1) ...
Selecting previously unselected package python3-requests.
Preparing to unpack .../92-python3-requests_2.22.0-2ubuntu1_all.deb ...
Unpacking python3-requests (2.22.0-2ubuntu1) ...
Selecting previously unselected package python3-requests-unixsocket.
Preparing to unpack .../93-python3-requests-unixsocket_0.2.0-2_all.deb ...
Unpacking python3-requests-unixsocket (0.2.0-2) ...
Selecting previously unselected package python3-software-properties.
Preparing to unpack .../94-python3-software-properties_0.98.9.5_all.deb ...
Unpacking python3-software-properties (0.98.9.5) ...
Selecting previously unselected package software-properties-common.
Preparing to unpack .../95-software-properties-common_0.98.9.5_all.deb ...
Unpacking software-properties-common (0.98.9.5) ...
Selecting previously unselected package unattended-upgrades.
Preparing to unpack .../96-unattended-upgrades_2.3ubuntu0.1_all.deb ...
Unpacking unattended-upgrades (2.3ubuntu0.1) ...
Setting up python3-pkg-resources (45.2.0-1) ...
Setting up libksba8:amd64 (1.3.5-2) ...
Setting up liblmdb0:amd64 (0.9.24-1) ...
Setting up systemd-sysv (245.4-4ubuntu3.13) ...
Setting up libkeyutils1:amd64 (1.6-6ubuntu1) ...
Setting up libproxy1v5:amd64 (0.4.15-10ubuntu1.2) ...
Setting up xdg-user-dirs (0.17-2ubuntu1) ...
Setting up libyaml-0-2:amd64 (0.2.2-1) ...
Setting up libglib2.0-0:amd64 (2.64.6-1~ubuntu20.04.4) ...
Setting up distro-info-data (0.43ubuntu1.6) ...
Setting up libbrotli1:amd64 (1.0.7-6ubuntu0.1) ...
Setting up libsasl2-modules:amd64 (2.1.27+dfsg-2) ...
Setting up libpackagekit-glib2-18:amd64 (1.1.13-2ubuntu1.1) ...
Setting up libnss-systemd:amd64 (245.4-4ubuntu3.13) ...
First installation detected...
Checking NSS setup...
Setting up libnpth0:amd64 (1.6-1) ...
Setting up krb5-locales (1.17-6ubuntu4.1) ...
Setting up libassuan0:amd64 (2.5.3-7ubuntu2) ...
Setting up libldap-common (2.4.49+dfsg-2ubuntu1.8) ...
Setting up libkrb5support0:amd64 (1.17-6ubuntu4.1) ...
Setting up libsasl2-modules-db:amd64 (2.1.27+dfsg-2) ...
Setting up tzdata (2021a-0ubuntu0.20.04) ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)
debconf: falling back to frontend: Teletype
Configuring tzdata
------------------

Please select the geographic area in which you live. Subsequent configuration questions will narrow this down by presenting a list of cities, representing the time zones in which they are located.

  1. Africa  2. America  3. Antarctica  4. Australia  5. Arctic  6. Asia  7. Atlantic  8. Europe  9. Indian  10. Pacific  11. SystemV  12. US  13. Etc
Geographic area: 6

Please select the city or region corresponding to your time zone.

  1. Aden      9. Baghdad   17. Chita       25. Dushanbe     33. Irkutsk    41. Kashgar       49. Macau         57. Omsk        65. Rangoon        73. Taipei    81. Ujung_Pandang  89. Yekaterinburg
  2. Almaty    10. Bahrain  18. Choibalsan  26. Famagusta    34. Istanbul   42. Kathmandu     50. Magadan       58. Oral        66. Riyadh         74. Tashkent  82. Ulaanbaatar    90. Yerevan
  3. Amman     11. Baku     19. Chongqing   27. Gaza         35. Jakarta    43. Khandyga      51. Makassar      59. Phnom_Penh  67. Sakhalin       75. Tbilisi   83. Urumqi
  4. Anadyr    12. Bangkok  20. Colombo     28. Harbin       36. Jayapura   44. Kolkata       52. Manila        60. Pontianak   68. Samarkand      76. Tehran    84. Ust-Nera
  5. Aqtau     13. Barnaul  21. Damascus    29. Hebron       37. Jerusalem  45. Krasnoyarsk   53. Muscat        61. Pyongyang   69. Seoul          77. Tel_Aviv  85. Vientiane
  6. Aqtobe    14. Beirut   22. Dhaka       30. Ho_Chi_Minh  38. Kabul      46. Kuala_Lumpur  54. Nicosia       62. Qatar       70. Shanghai       78. Thimphu   86. Vladivostok
  7. Ashgabat  15. Bishkek  23. Dili        31. Hong_Kong    39. Kamchatka  47. Kuching       55. Novokuznetsk  63. Qostanay    71. Singapore      79. Tokyo     87. Yakutsk
  8. Atyrau    16. Brunei   24. Dubai       32. Hovd         40. Karachi    48. Kuwait        56. Novosibirsk   64. Qyzylorda   72. Srednekolymsk  80. Tomsk     88. Yangon
Time zone: 69


Current default time zone: 'Asia/Seoul'
Local time is now:      Wed Sep 22 16:54:06 KST 2021.
Universal Time is now:  Wed Sep 22 07:54:06 UTC 2021.
Run 'dpkg-reconfigure tzdata' if you wish to change it.

Setting up libcap2-bin (1:2.32-1) ...
Setting up libdconf1:amd64 (0.36.0-1) ...
Setting up python3-six (1.14.0-2) ...
Setting up libglib2.0-data (2.64.6-1~ubuntu20.04.4) ...
Setting up python3-chardet (3.0.4-4build1) ...
Setting up python3-certifi (2019.11.28-1) ...
Setting up gnupg-l10n (2.2.19-3ubuntu2.1) ...
Setting up libdbus-1-3:amd64 (1.12.16-2ubuntu2.1) ...
Setting up dbus (1.12.16-2ubuntu2.1) ...
Setting up python3-idna (2.8-1) ...
Setting up ucf (3.0038+nmu1) ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)
debconf: falling back to frontend: Teletype
Setting up libk5crypto3:amd64 (1.17-6ubuntu4.1) ...
Setting up libsasl2-2:amd64 (2.1.27+dfsg-2) ...
Setting up libroken18-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ...
Setting up python3-urllib3 (1.25.8-2ubuntu0.1) ...
Setting up python-apt-common (2.0.0ubuntu0.20.04.6) ...
Setting up dmsetup (2:1.02.167-1ubuntu1) ...
Setting up gpgconf (2.2.19-3ubuntu2.1) ...
Setting up libpam-systemd:amd64 (245.4-4ubuntu3.13) ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)
debconf: falling back to frontend: Teletype
Setting up libgirepository-1.0-1:amd64 (1.64.1-1~ubuntu20.04.1) ...
Setting up libkrb5-3:amd64 (1.17-6ubuntu4.1) ...
Setting up libstemmer0d:amd64 (0+svn585-2) ...
Setting up glib-networking-common (2.64.2-1ubuntu0.1) ...
Setting up lsb-release (11.1.0ubuntu2) ...
Setting up libelf1:amd64 (0.176-1.1build1) ...
Setting up libpam-cap:amd64 (1:2.32-1) ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)
debconf: falling back to frontend: Teletype
Setting up python3-distro-info (0.23ubuntu1) ...
Setting up iso-codes (4.4-1) ...
Setting up gpg (2.2.19-3ubuntu2.1) ...
Setting up libpolkit-gobject-1-0:amd64 (0.105-26ubuntu1.1) ...
Setting up libgstreamer1.0-0:amd64 (1.16.2-2) ...
Setcap worked! gst-ptp-helper is not suid!
Setting up libheimbase1-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ...
Setting up gnupg-utils (2.2.19-3ubuntu2.1) ...
Setting up pinentry-curses (1.1.0-3build1) ...
Setting up glib-networking-services (2.64.2-1ubuntu0.1) ...
Setting up python3-dbus (1.2.16-1build1) ...
Setting up gpg-agent (2.2.19-3ubuntu2.1) ...
Created symlink /etc/systemd/user/sockets.target.wants/gpg-agent-browser.socket → /usr/lib/systemd/user/gpg-agent-browser.socket.
Created symlink /etc/systemd/user/sockets.target.wants/gpg-agent-extra.socket → /usr/lib/systemd/user/gpg-agent-extra.socket.
Created symlink /etc/systemd/user/sockets.target.wants/gpg-agent-ssh.socket → /usr/lib/systemd/user/gpg-agent-ssh.socket.
Created symlink /etc/systemd/user/sockets.target.wants/gpg-agent.socket → /usr/lib/systemd/user/gpg-agent.socket.
Setting up python3-apt (2.0.0ubuntu0.20.04.6) ...
Setting up libicu66:amd64 (66.1-2ubuntu2) ...
Setting up libasn1-8-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ...
Setting up gpgsm (2.2.19-3ubuntu2.1) ...
Setting up libglib2.0-bin (2.64.6-1~ubuntu20.04.4) ...
Setting up libhcrypto4-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ...
Setting up dbus-user-session (1.12.16-2ubuntu2.1) ...
Setting up unattended-upgrades (2.3ubuntu0.1) ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)
debconf: falling back to frontend: Teletype

Creating config file /etc/apt/apt.conf.d/20auto-upgrades with new version

Creating config file /etc/apt/apt.conf.d/50unattended-upgrades with new version
Created symlink /etc/systemd/system/multi-user.target.wants/unattended-upgrades.service → /lib/systemd/system/unattended-upgrades.service.
Setting up libwind0-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ...
Setting up python3-requests (2.22.0-2ubuntu1) ...
Setting up libgssapi-krb5-2:amd64 (1.17-6ubuntu4.1) ...
Setting up gir1.2-glib-2.0:amd64 (1.64.1-1~ubuntu20.04.1) ...
Setting up gpg-wks-server (2.2.19-3ubuntu2.1) ...
Setting up libpolkit-agent-1-0:amd64 (0.105-26ubuntu1.1) ...
Setting up libxml2:amd64 (2.9.10+dfsg-5ubuntu0.20.04.1) ...
Setting up policykit-1 (0.105-26ubuntu1.1) ...
Setting up libhx509-5-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ...
Setting up dconf-service (0.36.0-1) ...
Setting up python3-requests-unixsocket (0.2.0-2) ...
Setting up gir1.2-packagekitglib-1.0 (1.1.13-2ubuntu1.1) ...
Setting up python3-gi (3.36.0-1) ...
Setting up shared-mime-info (1.15-1) ...
Setting up libkrb5-26-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ...
Setting up networkd-dispatcher (2.1-2~ubuntu20.04.1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/networkd-dispatcher.service → /lib/systemd/system/networkd-dispatcher.service.
Setting up dconf-gsettings-backend:amd64 (0.36.0-1) ...
Setting up libheimntlm0-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ...
Setting up libgssapi3-heimdal:amd64 (7.7.0+dfsg-1ubuntu1) ...
Setting up python3-software-properties (0.98.9.5) ...
Setting up gsettings-desktop-schemas (3.36.0-1ubuntu1) ...
Setting up libldap-2.4-2:amd64 (2.4.49+dfsg-2ubuntu1.8) ...
Setting up dirmngr (2.2.19-3ubuntu2.1) ...
Created symlink /etc/systemd/user/sockets.target.wants/dirmngr.socket → /usr/lib/systemd/user/dirmngr.socket.
Setting up glib-networking:amd64 (2.64.2-1ubuntu0.1) ...
Setting up libsoup2.4-1:amd64 (2.70.0-1) ...
Setting up gpg-wks-client (2.2.19-3ubuntu2.1) ...
Setting up libappstream4:amd64 (0.12.10-2) ...
Setting up gnupg (2.2.19-3ubuntu2.1) ...
Setting up packagekit (1.1.13-2ubuntu1.1) ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of force-reload.
Failed to open connection to "system" message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Created symlink /etc/systemd/user/sockets.target.wants/pk-debconf-helper.socket → /usr/lib/systemd/user/pk-debconf-helper.socket.
Setting up packagekit-tools (1.1.13-2ubuntu1.1) ...
Setting up software-properties-common (0.98.9.5) ...
Processing triggers for systemd (245.4-4ubuntu3.13) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
Processing triggers for dbus (1.12.16-2ubuntu2.1) ...

 

만약 PPA 이름을 잘못 입력했거나, 없는 이름을 넣으면 없다고 알려준다. 어쩔 땐 다른 유효한 PPA을 추천해주기도 한다.

$ add-apt-repository ppa:deadsankes
Cannot add PPA: 'ppa:~deadsankes/ubuntu/ppa'.
ERROR: '~deadsankes' user or team does not exist.

 

정상적으로 설치가 시작되면 launchpad에서 보았던 PPA description과 설치 로그가 출력된다.

$ sudo add-apt-repository ppa:deadsnakes/ppa
더보기
더보기

 ppa:deadsnakes/ppa 설치 로그

root@a4fc86f91ca1:/home# add-apt-repository ppa:deadsnakes/ppa
 This PPA contains more recent Python versions packaged for Ubuntu.

Disclaimer: there's no guarantee of timely updates in case of security problems or other issues. If you want to use them in a security-or-otherwise-critical environment (say, on a production server), you do so at your own risk.

Update Note
===========
Please use this repository instead of ppa:fkrull/deadsnakes.

Reporting Issues
================

Issues can be reported in the master issue tracker at:
https://github.com/deadsnakes/issues/issues

Supported Ubuntu and Python Versions
====================================

- Ubuntu 16.04 (xenial) Python 2.3 - Python 2.6, Python 3.1 - Python3.4, Python 3.6 - Python3.9
- Ubuntu 18.04 (bionic) Python2.3 - Python 2.6, Python 3.1 - Python 3.5, Python3.7 - Python3.9
- Ubuntu 20.04 (focal) Python3.5 - Python3.7, Python3.9
- Note: Python2.7 (all), Python 3.5 (xenial), Python 3.6 (bionic), Python 3.8 (focal) are not provided by deadsnakes as upstream ubuntu provides those packages.
- Note: for focal, older python versions require libssl1.0.x so they are not currently built

The packages may also work on other versions of Ubuntu or Debian, but that is not tested or supported.

Packages
========

The packages provided here are loosely based on the debian upstream packages with some modifications to make them more usable as non-default pythons and on ubuntu.  As such, the packages follow debian's patterns and often do not include a full python distribution with just `apt install python#.#`.  Here is a list of packages that may be useful along with the default install:

- `python#.#-dev`: includes development headers for building C extensions
- `python#.#-venv`: provides the standard library `venv` module
- `python#.#-distutils`: provides the standard library `distutils` module
- `python#.#-lib2to3`: provides the `2to3-#.#` utility as well as the standard library `lib2to3` module
- `python#.#-gdbm`: provides the standard library `dbm.gnu` module
- `python#.#-tk`: provides the standard library `tkinter` module

Third-Party Python Modules
==========================

Python modules in the official Ubuntu repositories are packaged to work with the Python interpreters from the official repositories. Accordingly, they generally won't work with the Python interpreters from this PPA. As an exception, pure-Python modules for Python 3 will work, but any compiled extension modules won't.

To install 3rd-party Python modules, you should use the common Python packaging tools.  For an introduction into the Python packaging ecosystem and its tools, refer to the Python Packaging User Guide:
https://packaging.python.org/installing/

Sources
=======
The package sources are available at:
https://github.com/deadsnakes/

Nightly Builds
==============

For nightly builds, see ppa:deadsnakes/nightly https://launchpad.net/~deadsnakes/+archive/ubuntu/nightly
 More info: https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa
Press [ENTER] to continue or Ctrl-c to cancel adding it.

Get:1 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu focal InRelease [18.1 kB]
Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Reading state information... Done
The following additional packages will be installed:
  libpython3.6-minimal libpython3.6-stdlib python3.6-minimal
Suggested packages:
  python3.6-venv python3.6-doc binutils binfmt-support
The following NEW packages will be installed:
  libpython3.6-minimal libpython3.6-stdlib python3.6 python3.6-minimal
0 upgraded, 4 newly installed, 0 to remove and 4 not upgraded.
Need to get 4629 kB of archives.
After this operation, 24.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu focal/main amd64 libpython3.6-minimal amd64 3.6.15-1+focal1 [577 kB]
Get:2 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu focal/main amd64 python3.6-minimal amd64 3.6.15-1+focal1 [1589 kB]
Get:3 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu focal/main amd64 libpython3.6-stdlib amd64 3.6.15-1+focal1 [2215 kB]
Get:4 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu focal/main amd64 python3.6 amd64 3.6.15-1+focal1 [249 kB]
Fetched 4629 kB in 8s (597 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libpython3.6-minimal:amd64.
(Reading database ... 10791 files and directories currently installed.)
Preparing to unpack .../libpython3.6-minimal_3.6.15-1+focal1_amd64.deb ...
Unpacking libpython3.6-minimal:amd64 (3.6.15-1+focal1) ...
Selecting previously unselected package python3.6-minimal.
Preparing to unpack .../python3.6-minimal_3.6.15-1+focal1_amd64.deb ...
Unpacking python3.6-minimal (3.6.15-1+focal1) ...
Selecting previously unselected package libpython3.6-stdlib:amd64.
Preparing to unpack .../libpython3.6-stdlib_3.6.15-1+focal1_amd64.deb ...
Unpacking libpython3.6-stdlib:amd64 (3.6.15-1+focal1) ...
Selecting previously unselected package python3.6.
Preparing to unpack .../python3.6_3.6.15-1+focal1_amd64.deb ...
Unpacking python3.6 (3.6.15-1+focal1) ...
Setting up libpython3.6-minimal:amd64 (3.6.15-1+focal1) ...
Setting up python3.6-minimal (3.6.15-1+focal1) ...
Setting up libpython3.6-stdlib:amd64 (3.6.15-1+focal1) ...
Setting up python3.6 (3.6.15-1+focal1) ...
Processing triggers for mime-support (3.64ubuntu1) ...

 

 

 

[2] update

패키지 설치가 끝나면 apt에게 새로운 패키지를 설치했다고 알려준다.

$ sudo apt update

 

 

 

[3] install

아래와 같이 원하는 파이썬 버전을 설치하면 된다. deadsnakes/ppa 저장소에는 release된 파이썬 버전들이 대부분 다 있다.

$ sudo apt install python3.9

 

 

 

 

우분투에서 파이썬 버전 변경

파이썬 설치가 끝났는데 기존에 설치된 파이썬이 있다면 버전을 바꿔주어야 한다. update-alternatives 명령어로 파이썬 버전을 바꿔줄 수 있다.

sudo update-alternatives --config python

 

미리 등록해둔 파이썬 버전이 없다면 "update-alternatives: no alternatives for python"이라는 오류 메시지가 출력된다. 이건 등록된 파이썬들을 관리하는 명령어이기 때문이다. 따라서 먼저 파이썬 경로를 사용해서 선택지를 등록해주어야 한다.

먼저 파이썬 which python 명령어로 파이썬 위치를 확인해주었다. 보통은 /usr/bin/python 또는 /usr/bin/python3일 것이다. 그 다음, "ls /ust/bin | grep python" 명령어로 /usr/bin에 설치된 파이썬들을 확인해서 3.6 버전의 실제 경로를 확인했다. 이제 아래 명령어를 사용해서 선택지를 등록해줄 수 있다. [실제 경로]를 [심볼릭 링크 경로]에 링크해주는 작업을 메뉴 [숫자]에 등록한다는 의미이다. 마지막에 입력하는 [숫자]로 항목을 관리하기 때문에 겹치지 않도록 주의한다.

sudo update-alternatives --install [심볼릭 링크 경로] python [실제 경로] [숫자]

 

테스트를 위해 메뉴를 두 개 등록해보았다.

update-alternatives --install /usr/bin/python3 python /usr/bin/python3.6 1
update-alternatives --install /usr/bin/python3 python /usr/bin/python3.8 2

 

다시 config를 시도하면 아래처럼 메뉴가 등록된 것을 볼 수 있다. 처음 python 버전은 Status가 auto mode로 등록이 되어있고, 추가로 등록하면 manual mode로 등록이 되는 것 같다. 메뉴를 등록한 후와 버전을 바꾼 후를 비교해보면 왼쪽의 별(*)표시로 구분할 수 있다.

 

Docker나 Conda같은 툴을 사용하면서 파이썬 버전을 관리할 일이 많지 않았는데 이런 방법도 있는 걸 알아두면 유용할 것 같다.

 

 

 

끝.

 


※ 참고 자료와 이미지 출처 ※

 

반응형
Comments