使用docker来编译三种C编译器

在Docker中同时使用GCC、Clang和VS Code的介绍。

这一部分还没有写完。会逐步添加内容。

第一阶段,gcc。

gcc有官方的Docker镜像。

$ docker run -it gcc /bin/bash
Unable to find image 'gcc:latest' locally
latest: Pulling from library/gcc
e79bb959ec00: Pull complete 
d4b7902036fe: Pull complete 
1b2a72d4e030: Pull complete 
d54db43011fd: Pull complete 
69d473365bb3: Pull complete 
79806b91083b: Pull complete 
0005867d0332: Pull complete 
97e9d2778677: Pull complete 
21e48d1c09d5: Pull complete 
Digest: sha256:87d0585f5d309a641775563417a84f251eda7c89c6ae26b96eeb475a57094ea6
Status: Downloaded newer image for gcc:latest

使用Docker进行更新和升级

# apt update
Ign:1 http://deb.debian.org/debian stretch InRelease
Get:2 http://deb.debian.org/debian stretch-updates InRelease [91.0 kB]
Get:3 http://deb.debian.org/debian stretch Release [118 kB]
Get:4 http://deb.debian.org/debian stretch Release.gpg [2434 B]
Get:5 http://security.debian.org/debian-security stretch/updates InRelease [94.3 kB]
Get:6 http://security.debian.org/debian-security stretch/updates/main amd64 Packages [487 kB]
Get:7 http://deb.debian.org/debian stretch-updates/main amd64 Packages [11.1 kB]
Get:8 http://deb.debian.org/debian stretch/main amd64 Packages [7082 kB]
Fetched 7886 kB in 2s (3549 kB/s)  
Reading package lists... Done
Building dependency tree       
Reading state information... Done
29 packages can be upgraded. Run 'apt list --upgradable' to see them.

# apt list --upgradable
Listing... Done
base-files/stable 9.9+deb9u9 amd64 [upgradable from: 9.9+deb9u8]
imagemagick/stable 8:6.9.7.4+dfsg-11+deb9u7 amd64 [upgradable from: 8:6.9.7.4+dfsg-11+deb9u6]
imagemagick-6-common/stable 8:6.9.7.4+dfsg-11+deb9u7 all [upgradable from: 8:6.9.7.4+dfsg-11+deb9u6]
imagemagick-6.q16/stable 8:6.9.7.4+dfsg-11+deb9u7 amd64 [upgradable from: 8:6.9.7.4+dfsg-11+deb9u6]
libjs-jquery/stable 3.1.1-2+deb9u1 all [upgradable from: 3.1.1-2]
libmagickcore-6-arch-config/stable 8:6.9.7.4+dfsg-11+deb9u7 amd64 [upgradable from: 8:6.9.7.4+dfsg-11+deb9u6]
libmagickcore-6-headers/stable 8:6.9.7.4+dfsg-11+deb9u7 all [upgradable from: 8:6.9.7.4+dfsg-11+deb9u6]
libmagickcore-6.q16-3/stable 8:6.9.7.4+dfsg-11+deb9u7 amd64 [upgradable from: 8:6.9.7.4+dfsg-11+deb9u6]
libmagickcore-6.q16-3-extra/stable 8:6.9.7.4+dfsg-11+deb9u7 amd64 [upgradable from: 8:6.9.7.4+dfsg-11+deb9u6]
libmagickcore-6.q16-dev/stable 8:6.9.7.4+dfsg-11+deb9u7 amd64 [upgradable from: 8:6.9.7.4+dfsg-11+deb9u6]
libmagickcore-dev/stable 8:6.9.7.4+dfsg-11+deb9u7 all [upgradable from: 8:6.9.7.4+dfsg-11+deb9u6]
libmagickwand-6-headers/stable 8:6.9.7.4+dfsg-11+deb9u7 all [upgradable from: 8:6.9.7.4+dfsg-11+deb9u6]
libmagickwand-6.q16-3/stable 8:6.9.7.4+dfsg-11+deb9u7 amd64 [upgradable from: 8:6.9.7.4+dfsg-11+deb9u6]
libmagickwand-6.q16-dev/stable 8:6.9.7.4+dfsg-11+deb9u7 amd64 [upgradable from: 8:6.9.7.4+dfsg-11+deb9u6]
libmagickwand-dev/stable 8:6.9.7.4+dfsg-11+deb9u7 all [upgradable from: 8:6.9.7.4+dfsg-11+deb9u6]
libmariadbclient-dev/stable 10.1.38-0+deb9u1 amd64 [upgradable from: 10.1.37-0+deb9u1]
libmariadbclient-dev-compat/stable 10.1.38-0+deb9u1 amd64 [upgradable from: 10.1.37-0+deb9u1]
libmariadbclient18/stable 10.1.38-0+deb9u1 amd64 [upgradable from: 10.1.37-0+deb9u1]
libpng-dev/stable 1.6.28-1+deb9u1 amd64 [upgradable from: 1.6.28-1]
libpng16-16/stable 1.6.28-1+deb9u1 amd64 [upgradable from: 1.6.28-1]
libpq-dev/stable 9.6.12-0+deb9u1 amd64 [upgradable from: 9.6.11-0+deb9u1]
libpq5/stable 9.6.12-0+deb9u1 amd64 [upgradable from: 9.6.11-0+deb9u1]
libssh2-1/stable,stable 1.7.0-1+deb9u1 amd64 [upgradable from: 1.7.0-1]
libsystemd0/stable,stable 232-25+deb9u11 amd64 [upgradable from: 232-25+deb9u9]
libudev1/stable,stable 232-25+deb9u11 amd64 [upgradable from: 232-25+deb9u9]
linux-libc-dev/stable 4.9.168-1 amd64 [upgradable from: 4.9.144-3.1]
tzdata/stable,stable-updates 2019a-0+deb9u1 all [upgradable from: 2018i-0+deb9u1]
unzip/stable 6.0-21+deb9u1 amd64 [upgradable from: 6.0-21]
wget/stable,stable 1.18-5+deb9u3 amd64 [upgradable from: 1.18-5+deb9u2]

# apt -y upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  base-files imagemagick imagemagick-6-common imagemagick-6.q16 libjs-jquery libmagickcore-6-arch-config
  libmagickcore-6-headers libmagickcore-6.q16-3 libmagickcore-6.q16-3-extra libmagickcore-6.q16-dev
  libmagickcore-dev libmagickwand-6-headers libmagickwand-6.q16-3 libmagickwand-6.q16-dev
  libmagickwand-dev libmariadbclient-dev libmariadbclient-dev-compat libmariadbclient18 libpng-dev
  libpng16-16 libpq-dev libpq5 libssh2-1 libsystemd0 libudev1 linux-libc-dev tzdata unzip wget
29 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 11.7 MB of archives.
After this operation, 54.3 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian stretch/main amd64 base-files amd64 9.9+deb9u9 [67.4 kB]
Get:2 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickwand-6.q16-dev amd64 8:6.9.7.4+dfsg-11+deb9u7 [418 kB]
Get:3 http://deb.debian.org/debian stretch/main amd64 libsystemd0 amd64 232-25+deb9u11 [281 kB]
Get:4 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickwand-dev all 8:6.9.7.4+dfsg-11+deb9u7 [1254 B]
Get:5 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickcore-6.q16-dev amd64 8:6.9.7.4+dfsg-11+deb9u7 [1094 kB]
Get:6 http://deb.debian.org/debian stretch/main amd64 libudev1 amd64 232-25+deb9u11 [126 kB]
Get:7 http://deb.debian.org/debian stretch/main amd64 tzdata all 2019a-0+deb9u1 [273 kB]
Get:8 http://deb.debian.org/debian stretch/main amd64 wget amd64 1.18-5+deb9u3 [800 kB]
Get:9 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickcore-6.q16-3-extra amd64 8:6.9.7.4+dfsg-11+deb9u7 [190 kB]
Get:10 http://deb.debian.org/debian stretch/main amd64 libjs-jquery all 3.1.1-2+deb9u1 [154 kB]
Get:11 http://security.debian.org/debian-security stretch/updates/main amd64 libpng-dev amd64 1.6.28-1+deb9u1 [250 kB]
Get:12 http://security.debian.org/debian-security stretch/updates/main amd64 libpng16-16 amd64 1.6.28-1+deb9u1 [280 kB]
Get:13 http://security.debian.org/debian-security stretch/updates/main amd64 imagemagick-6.q16 amd64 8:6.9.7.4+dfsg-11+deb9u7 [563 kB]
Get:14 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickcore-dev all 8:6.9.7.4+dfsg-11+deb9u7 [1266 B]
Get:15 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickwand-6-headers all 8:6.9.7.4+dfsg-11+deb9u7 [10.5 kB]
Get:16 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickcore-6-headers all 8:6.9.7.4+dfsg-11+deb9u7 [47.0 kB]
Get:17 http://security.debian.org/debian-security stretch/updates/main amd64 imagemagick-6-common all 8:6.9.7.4+dfsg-11+deb9u7 [184 kB]
Get:18 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickcore-6.q16-3 amd64 8:6.9.7.4+dfsg-11+deb9u7 [1743 kB]
Get:19 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickwand-6.q16-3 amd64 8:6.9.7.4+dfsg-11+deb9u7 [422 kB]
Get:20 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickcore-6-arch-config amd64 8:6.9.7.4+dfsg-11+deb9u7 [149 kB]
Get:21 http://security.debian.org/debian-security stretch/updates/main amd64 imagemagick amd64 8:6.9.7.4+dfsg-11+deb9u7 [141 kB]
Get:22 http://deb.debian.org/debian stretch/main amd64 libmariadbclient-dev amd64 10.1.38-0+deb9u1 [1658 kB]
Get:23 http://deb.debian.org/debian stretch/main amd64 libmariadbclient18 amd64 10.1.38-0+deb9u1 [785 kB]
Get:24 http://deb.debian.org/debian stretch/main amd64 libmariadbclient-dev-compat amd64 10.1.38-0+deb9u1 [27.5 kB]
Get:25 http://deb.debian.org/debian stretch/main amd64 libpq-dev amd64 9.6.12-0+deb9u1 [216 kB]
Get:26 http://deb.debian.org/debian stretch/main amd64 libpq5 amd64 9.6.12-0+deb9u1 [136 kB]
Get:27 http://deb.debian.org/debian stretch/main amd64 libssh2-1 amd64 1.7.0-1+deb9u1 [139 kB]
Get:28 http://deb.debian.org/debian stretch/main amd64 linux-libc-dev amd64 4.9.168-1 [1420 kB]
Get:29 http://deb.debian.org/debian stretch/main amd64 unzip amd64 6.0-21+deb9u1 [170 kB]
Fetched 11.7 MB in 2s (5680 kB/s)         
debconf: delaying package configuration, since apt-utils is not installed
(Reading database ... 29982 files and directories currently installed.)
Preparing to unpack .../base-files_9.9+deb9u9_amd64.deb ...
Unpacking base-files (9.9+deb9u9) over (9.9+deb9u8) ...
Setting up base-files (9.9+deb9u9) ...
Installing new version of config file /etc/debian_version ...
(Reading database ... 29982 files and directories currently installed.)
Preparing to unpack .../libsystemd0_232-25+deb9u11_amd64.deb ...
Unpacking libsystemd0:amd64 (232-25+deb9u11) over (232-25+deb9u9) ...
Setting up libsystemd0:amd64 (232-25+deb9u11) ...
(Reading database ... 29982 files and directories currently installed.)
Preparing to unpack .../00-libmagickwand-6.q16-dev_8%3a6.9.7.4+dfsg-11+deb9u7_amd64.deb ...
Unpacking libmagickwand-6.q16-dev:amd64 (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../01-libmagickwand-dev_8%3a6.9.7.4+dfsg-11+deb9u7_all.deb ...
Unpacking libmagickwand-dev (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../02-libmagickcore-6.q16-dev_8%3a6.9.7.4+dfsg-11+deb9u7_amd64.deb ...
Unpacking libmagickcore-6.q16-dev:amd64 (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../03-libmagickcore-6.q16-3-extra_8%3a6.9.7.4+dfsg-11+deb9u7_amd64.deb ...
Unpacking libmagickcore-6.q16-3-extra:amd64 (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../04-libpng-dev_1.6.28-1+deb9u1_amd64.deb ...
Unpacking libpng-dev:amd64 (1.6.28-1+deb9u1) over (1.6.28-1) ...
Preparing to unpack .../05-libpng16-16_1.6.28-1+deb9u1_amd64.deb ...
Unpacking libpng16-16:amd64 (1.6.28-1+deb9u1) over (1.6.28-1) ...
Preparing to unpack .../06-imagemagick-6.q16_8%3a6.9.7.4+dfsg-11+deb9u7_amd64.deb ...
Unpacking imagemagick-6.q16 (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../07-libmagickcore-dev_8%3a6.9.7.4+dfsg-11+deb9u7_all.deb ...
Unpacking libmagickcore-dev (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../08-libmagickwand-6-headers_8%3a6.9.7.4+dfsg-11+deb9u7_all.deb ...
Unpacking libmagickwand-6-headers (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../09-libmagickcore-6-headers_8%3a6.9.7.4+dfsg-11+deb9u7_all.deb ...
Unpacking libmagickcore-6-headers (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../10-imagemagick-6-common_8%3a6.9.7.4+dfsg-11+deb9u7_all.deb ...
Unpacking imagemagick-6-common (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../11-libmagickcore-6.q16-3_8%3a6.9.7.4+dfsg-11+deb9u7_amd64.deb ...
Unpacking libmagickcore-6.q16-3:amd64 (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../12-libmagickwand-6.q16-3_8%3a6.9.7.4+dfsg-11+deb9u7_amd64.deb ...
Unpacking libmagickwand-6.q16-3:amd64 (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../13-libmagickcore-6-arch-config_8%3a6.9.7.4+dfsg-11+deb9u7_amd64.deb ...
Unpacking libmagickcore-6-arch-config:amd64 (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../14-libudev1_232-25+deb9u11_amd64.deb ...
Unpacking libudev1:amd64 (232-25+deb9u11) over (232-25+deb9u9) ...
Setting up libudev1:amd64 (232-25+deb9u11) ...
(Reading database ... 29982 files and directories currently installed.)
Preparing to unpack .../00-tzdata_2019a-0+deb9u1_all.deb ...
Unpacking tzdata (2019a-0+deb9u1) over (2018i-0+deb9u1) ...
Preparing to unpack .../01-wget_1.18-5+deb9u3_amd64.deb ...
Unpacking wget (1.18-5+deb9u3) over (1.18-5+deb9u2) ...
Preparing to unpack .../02-imagemagick_8%3a6.9.7.4+dfsg-11+deb9u7_amd64.deb ...
Unpacking imagemagick (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../03-libjs-jquery_3.1.1-2+deb9u1_all.deb ...
Unpacking libjs-jquery (3.1.1-2+deb9u1) over (3.1.1-2) ...
Preparing to unpack .../04-libmariadbclient-dev_10.1.38-0+deb9u1_amd64.deb ...
Unpacking libmariadbclient-dev (10.1.38-0+deb9u1) over (10.1.37-0+deb9u1) ...
Preparing to unpack .../05-libmariadbclient18_10.1.38-0+deb9u1_amd64.deb ...
Unpacking libmariadbclient18:amd64 (10.1.38-0+deb9u1) over (10.1.37-0+deb9u1) ...
Preparing to unpack .../06-libmariadbclient-dev-compat_10.1.38-0+deb9u1_amd64.deb ...
Unpacking libmariadbclient-dev-compat:amd64 (10.1.38-0+deb9u1) over (10.1.37-0+deb9u1) ...
Preparing to unpack .../07-libpq-dev_9.6.12-0+deb9u1_amd64.deb ...
Unpacking libpq-dev (9.6.12-0+deb9u1) over (9.6.11-0+deb9u1) ...
Preparing to unpack .../08-libpq5_9.6.12-0+deb9u1_amd64.deb ...
Unpacking libpq5:amd64 (9.6.12-0+deb9u1) over (9.6.11-0+deb9u1) ...
Preparing to unpack .../09-libssh2-1_1.7.0-1+deb9u1_amd64.deb ...
Unpacking libssh2-1:amd64 (1.7.0-1+deb9u1) over (1.7.0-1) ...
Preparing to unpack .../10-linux-libc-dev_4.9.168-1_amd64.deb ...
Unpacking linux-libc-dev:amd64 (4.9.168-1) over (4.9.144-3.1) ...
Preparing to unpack .../11-unzip_6.0-21+deb9u1_amd64.deb ...
Unpacking unzip (6.0-21+deb9u1) over (6.0-21) ...
Setting up libjs-jquery (3.1.1-2+deb9u1) ...
Setting up imagemagick-6-common (8:6.9.7.4+dfsg-11+deb9u7) ...
Processing triggers for mime-support (3.60) ...
Setting up libpng16-16:amd64 (1.6.28-1+deb9u1) ...
Setting up tzdata (2019a-0+deb9u1) ...
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

Current default time zone: 'Etc/UTC'
Local time is now:      Fri May  3 02:03:07 UTC 2019.
Universal Time is now:  Fri May  3 02:03:07 UTC 2019.
Run 'dpkg-reconfigure tzdata' if you wish to change it.

Setting up libmagickcore-6-arch-config:amd64 (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up unzip (6.0-21+deb9u1) ...
Setting up linux-libc-dev:amd64 (4.9.168-1) ...
Setting up libmariadbclient18:amd64 (10.1.38-0+deb9u1) ...
Setting up libssh2-1:amd64 (1.7.0-1+deb9u1) ...
Setting up libpq5:amd64 (9.6.12-0+deb9u1) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
Setting up wget (1.18-5+deb9u3) ...
Setting up libmagickcore-6-headers (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up libpng-dev:amd64 (1.6.28-1+deb9u1) ...
Processing triggers for hicolor-icon-theme (0.15-1) ...
Setting up libmariadbclient-dev (10.1.38-0+deb9u1) ...
Setting up libpq-dev (9.6.12-0+deb9u1) ...
Setting up libmagickcore-6.q16-3:amd64 (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up libmagickwand-6-headers (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up libmariadbclient-dev-compat:amd64 (10.1.38-0+deb9u1) ...
Setting up libmagickwand-6.q16-3:amd64 (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up imagemagick-6.q16 (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up libmagickcore-6.q16-3-extra:amd64 (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up imagemagick (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up libmagickcore-6.q16-dev:amd64 (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up libmagickcore-dev (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up libmagickwand-6.q16-dev:amd64 (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up libmagickwand-dev (8:6.9.7.4+dfsg-11+deb9u7) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...

首先将此部分上传到Docker Hub。

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
d7b5a5211451        gcc                 "/bin/bash"         8 hours ago         Up 8 hours                              inspiring_pike

$ docker commit d7b5a5211451   kaizenjapan/cc 
sha256:a90480303225d3f142629ddd7b455ddf7c6476891b64558b34a6a1290dfa5ec0

$ docker push kaizenjapan/cc
The push refers to repository [docker.io/kaizenjapan/cc]
b67c22e8c474: Pushed 
67479158abb8: Mounted from library/gcc 
abfd81232d1e: Mounted from library/gcc 
eac885ac1d3b: Mounted from library/gcc 
08e7e0bcc587: Mounted from library/gcc 
0fe19df8b8f8: Mounted from library/gcc 
b17cc31e431b: Mounted from library/gcc 
12cb127eee44: Mounted from library/gcc 
604829a174eb: Mounted from library/gcc 
fbb641a8b943: Mounted from library/gcc 
latest: digest: sha256:3d355b1ff36a163347e11717d7852e6fe352b746c85fb9ffee072e3b072a7e2a size: 2428

在第二阶段中,我们将使用VSCode进行开发。

首先安装llvm/clang和vscode。首先使用vscode从Ubuntu/Debian中的命令行安装Visual Studio Code的方法请参考https://www.karelie.net/ubuntu-debian-command-install-vscode/。

#  apt install dialog
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  dialog
0 upgraded, 1 newly installed, 0 to remove and 29 not upgraded.
Need to get 262 kB of archives.
After this operation, 1138 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian stretch/main amd64 dialog amd64 1.3-20160828-2 [262 kB]
Fetched 262 kB in 0s (1735 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package dialog.
(Reading database ... 29982 files and directories currently installed.)
Preparing to unpack .../dialog_1.3-20160828-2_amd64.deb ...
Unpacking dialog (1.3-20160828-2) ...
Setting up dialog (1.3-20160828-2) ...
root@d7b5a5211451:/# apt upgrade dialog
Reading package lists... Done
Building dependency tree       
Reading state information... Done
dialog is already the newest version (1.3-20160828-2).
Calculating upgrade... Done
The following packages will be upgraded:
  base-files imagemagick imagemagick-6-common imagemagick-6.q16 libjs-jquery libmagickcore-6-arch-config
  libmagickcore-6-headers libmagickcore-6.q16-3 libmagickcore-6.q16-3-extra libmagickcore-6.q16-dev
  libmagickcore-dev libmagickwand-6-headers libmagickwand-6.q16-3 libmagickwand-6.q16-dev
  libmagickwand-dev libmariadbclient-dev libmariadbclient-dev-compat libmariadbclient18 libpng-dev
  libpng16-16 libpq-dev libpq5 libssh2-1 libsystemd0 libudev1 linux-libc-dev tzdata unzip wget
29 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 11.7 MB of archives.
After this operation, 54.3 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian stretch/main amd64 base-files amd64 9.9+deb9u9 [67.4 kB]
Get:2 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickwand-6.q16-dev amd64 8:6.9.7.4+dfsg-11+deb9u7 [418 kB]
Get:3 http://deb.debian.org/debian stretch/main amd64 libsystemd0 amd64 232-25+deb9u11 [281 kB]
Get:4 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickwand-dev all 8:6.9.7.4+dfsg-11+deb9u7 [1254 B]
Get:5 http://deb.debian.org/debian stretch/main amd64 libudev1 amd64 232-25+deb9u11 [126 kB]
Get:6 http://deb.debian.org/debian stretch/main amd64 tzdata all 2019a-0+deb9u1 [273 kB]
Get:7 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickcore-6.q16-dev amd64 8:6.9.7.4+dfsg-11+deb9u7 [1094 kB]
Get:8 http://deb.debian.org/debian stretch/main amd64 wget amd64 1.18-5+deb9u3 [800 kB]
Get:9 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickcore-6.q16-3-extra amd64 8:6.9.7.4+dfsg-11+deb9u7 [190 kB]
Get:10 http://security.debian.org/debian-security stretch/updates/main amd64 libpng-dev amd64 1.6.28-1+deb9u1 [250 kB]
Get:11 http://deb.debian.org/debian stretch/main amd64 libjs-jquery all 3.1.1-2+deb9u1 [154 kB]
Get:12 http://security.debian.org/debian-security stretch/updates/main amd64 libpng16-16 amd64 1.6.28-1+deb9u1 [280 kB]
Get:13 http://security.debian.org/debian-security stretch/updates/main amd64 imagemagick-6.q16 amd64 8:6.9.7.4+dfsg-11+deb9u7 [563 kB]
Get:14 http://deb.debian.org/debian stretch/main amd64 libmariadbclient-dev amd64 10.1.38-0+deb9u1 [1658 kB]
Get:15 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickcore-dev all 8:6.9.7.4+dfsg-11+deb9u7 [1266 B]
Get:16 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickwand-6-headers all 8:6.9.7.4+dfsg-11+deb9u7 [10.5 kB]
Get:17 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickcore-6-headers all 8:6.9.7.4+dfsg-11+deb9u7 [47.0 kB]
Get:18 http://security.debian.org/debian-security stretch/updates/main amd64 imagemagick-6-common all 8:6.9.7.4+dfsg-11+deb9u7 [184 kB]
Get:19 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickcore-6.q16-3 amd64 8:6.9.7.4+dfsg-11+deb9u7 [1743 kB]
Get:20 http://deb.debian.org/debian stretch/main amd64 libmariadbclient18 amd64 10.1.38-0+deb9u1 [785 kB]
Get:21 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickwand-6.q16-3 amd64 8:6.9.7.4+dfsg-11+deb9u7 [422 kB]
Get:22 http://deb.debian.org/debian stretch/main amd64 libmariadbclient-dev-compat amd64 10.1.38-0+deb9u1 [27.5 kB]
Get:23 http://deb.debian.org/debian stretch/main amd64 libpq-dev amd64 9.6.12-0+deb9u1 [216 kB]
Get:24 http://deb.debian.org/debian stretch/main amd64 libpq5 amd64 9.6.12-0+deb9u1 [136 kB]
Get:25 http://deb.debian.org/debian stretch/main amd64 libssh2-1 amd64 1.7.0-1+deb9u1 [139 kB]
Get:26 http://deb.debian.org/debian stretch/main amd64 linux-libc-dev amd64 4.9.168-1 [1420 kB]
Get:27 http://deb.debian.org/debian stretch/main amd64 unzip amd64 6.0-21+deb9u1 [170 kB]
Get:28 http://security.debian.org/debian-security stretch/updates/main amd64 libmagickcore-6-arch-config amd64 8:6.9.7.4+dfsg-11+deb9u7 [149 kB]
Get:29 http://security.debian.org/debian-security stretch/updates/main amd64 imagemagick amd64 8:6.9.7.4+dfsg-11+deb9u7 [141 kB]
Fetched 11.7 MB in 2min 0s (97.4 kB/s) 
debconf: delaying package configuration, since apt-utils is not installed
(Reading database ... 30136 files and directories currently installed.)
Preparing to unpack .../base-files_9.9+deb9u9_amd64.deb ...
Unpacking base-files (9.9+deb9u9) over (9.9+deb9u8) ...
Setting up base-files (9.9+deb9u9) ...
Installing new version of config file /etc/debian_version ...
(Reading database ... 30136 files and directories currently installed.)
Preparing to unpack .../libsystemd0_232-25+deb9u11_amd64.deb ...
Unpacking libsystemd0:amd64 (232-25+deb9u11) over (232-25+deb9u9) ...
Setting up libsystemd0:amd64 (232-25+deb9u11) ...
(Reading database ... 30136 files and directories currently installed.)
Preparing to unpack .../00-libmagickwand-6.q16-dev_8%3a6.9.7.4+dfsg-11+deb9u7_amd64.deb ...
Unpacking libmagickwand-6.q16-dev:amd64 (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../01-libmagickwand-dev_8%3a6.9.7.4+dfsg-11+deb9u7_all.deb ...
Unpacking libmagickwand-dev (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../02-libmagickcore-6.q16-dev_8%3a6.9.7.4+dfsg-11+deb9u7_amd64.deb ...
Unpacking libmagickcore-6.q16-dev:amd64 (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../03-libmagickcore-6.q16-3-extra_8%3a6.9.7.4+dfsg-11+deb9u7_amd64.deb ...
Unpacking libmagickcore-6.q16-3-extra:amd64 (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../04-libpng-dev_1.6.28-1+deb9u1_amd64.deb ...
Unpacking libpng-dev:amd64 (1.6.28-1+deb9u1) over (1.6.28-1) ...
Preparing to unpack .../05-libpng16-16_1.6.28-1+deb9u1_amd64.deb ...
Unpacking libpng16-16:amd64 (1.6.28-1+deb9u1) over (1.6.28-1) ...
Preparing to unpack .../06-imagemagick-6.q16_8%3a6.9.7.4+dfsg-11+deb9u7_amd64.deb ...
Unpacking imagemagick-6.q16 (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../07-libmagickcore-dev_8%3a6.9.7.4+dfsg-11+deb9u7_all.deb ...
Unpacking libmagickcore-dev (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../08-libmagickwand-6-headers_8%3a6.9.7.4+dfsg-11+deb9u7_all.deb ...
Unpacking libmagickwand-6-headers (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../09-libmagickcore-6-headers_8%3a6.9.7.4+dfsg-11+deb9u7_all.deb ...
Unpacking libmagickcore-6-headers (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../10-imagemagick-6-common_8%3a6.9.7.4+dfsg-11+deb9u7_all.deb ...
Unpacking imagemagick-6-common (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../11-libmagickcore-6.q16-3_8%3a6.9.7.4+dfsg-11+deb9u7_amd64.deb ...
Unpacking libmagickcore-6.q16-3:amd64 (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../12-libmagickwand-6.q16-3_8%3a6.9.7.4+dfsg-11+deb9u7_amd64.deb ...
Unpacking libmagickwand-6.q16-3:amd64 (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../13-libmagickcore-6-arch-config_8%3a6.9.7.4+dfsg-11+deb9u7_amd64.deb ...
Unpacking libmagickcore-6-arch-config:amd64 (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../14-libudev1_232-25+deb9u11_amd64.deb ...
Unpacking libudev1:amd64 (232-25+deb9u11) over (232-25+deb9u9) ...
Setting up libudev1:amd64 (232-25+deb9u11) ...
(Reading database ... 30136 files and directories currently installed.)
Preparing to unpack .../00-tzdata_2019a-0+deb9u1_all.deb ...
Unpacking tzdata (2019a-0+deb9u1) over (2018i-0+deb9u1) ...
Preparing to unpack .../01-wget_1.18-5+deb9u3_amd64.deb ...
Unpacking wget (1.18-5+deb9u3) over (1.18-5+deb9u2) ...
Preparing to unpack .../02-imagemagick_8%3a6.9.7.4+dfsg-11+deb9u7_amd64.deb ...
Unpacking imagemagick (8:6.9.7.4+dfsg-11+deb9u7) over (8:6.9.7.4+dfsg-11+deb9u6) ...
Preparing to unpack .../03-libjs-jquery_3.1.1-2+deb9u1_all.deb ...
Unpacking libjs-jquery (3.1.1-2+deb9u1) over (3.1.1-2) ...
Preparing to unpack .../04-libmariadbclient-dev_10.1.38-0+deb9u1_amd64.deb ...
Unpacking libmariadbclient-dev (10.1.38-0+deb9u1) over (10.1.37-0+deb9u1) ...
Preparing to unpack .../05-libmariadbclient18_10.1.38-0+deb9u1_amd64.deb ...
Unpacking libmariadbclient18:amd64 (10.1.38-0+deb9u1) over (10.1.37-0+deb9u1) ...
Preparing to unpack .../06-libmariadbclient-dev-compat_10.1.38-0+deb9u1_amd64.deb ...
Unpacking libmariadbclient-dev-compat:amd64 (10.1.38-0+deb9u1) over (10.1.37-0+deb9u1) ...
Preparing to unpack .../07-libpq-dev_9.6.12-0+deb9u1_amd64.deb ...
Unpacking libpq-dev (9.6.12-0+deb9u1) over (9.6.11-0+deb9u1) ...
Preparing to unpack .../08-libpq5_9.6.12-0+deb9u1_amd64.deb ...
Unpacking libpq5:amd64 (9.6.12-0+deb9u1) over (9.6.11-0+deb9u1) ...
Preparing to unpack .../09-libssh2-1_1.7.0-1+deb9u1_amd64.deb ...
Unpacking libssh2-1:amd64 (1.7.0-1+deb9u1) over (1.7.0-1) ...
Preparing to unpack .../10-linux-libc-dev_4.9.168-1_amd64.deb ...
Unpacking linux-libc-dev:amd64 (4.9.168-1) over (4.9.144-3.1) ...
Preparing to unpack .../11-unzip_6.0-21+deb9u1_amd64.deb ...
Unpacking unzip (6.0-21+deb9u1) over (6.0-21) ...
Setting up libjs-jquery (3.1.1-2+deb9u1) ...
Setting up imagemagick-6-common (8:6.9.7.4+dfsg-11+deb9u7) ...
Processing triggers for mime-support (3.60) ...
Setting up libpng16-16:amd64 (1.6.28-1+deb9u1) ...
Setting up tzdata (2019a-0+deb9u1) ...

Current default time zone: 'Etc/UTC'
Local time is now:      Sat May  4 02:06:24 UTC 2019.
Universal Time is now:  Sat May  4 02:06:24 UTC 2019.
Run 'dpkg-reconfigure tzdata' if you wish to change it.

Setting up libmagickcore-6-arch-config:amd64 (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up unzip (6.0-21+deb9u1) ...
Setting up linux-libc-dev:amd64 (4.9.168-1) ...
Setting up libmariadbclient18:amd64 (10.1.38-0+deb9u1) ...
Setting up libssh2-1:amd64 (1.7.0-1+deb9u1) ...
Setting up libpq5:amd64 (9.6.12-0+deb9u1) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
Setting up wget (1.18-5+deb9u3) ...
Setting up libmagickcore-6-headers (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up libpng-dev:amd64 (1.6.28-1+deb9u1) ...
Processing triggers for hicolor-icon-theme (0.15-1) ...
Setting up libmariadbclient-dev (10.1.38-0+deb9u1) ...
Setting up libpq-dev (9.6.12-0+deb9u1) ...
Setting up libmagickcore-6.q16-3:amd64 (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up libmagickwand-6-headers (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up libmariadbclient-dev-compat:amd64 (10.1.38-0+deb9u1) ...
Setting up libmagickwand-6.q16-3:amd64 (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up imagemagick-6.q16 (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up libmagickcore-6.q16-3-extra:amd64 (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up imagemagick (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up libmagickcore-6.q16-dev:amd64 (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up libmagickcore-dev (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up libmagickwand-6.q16-dev:amd64 (8:6.9.7.4+dfsg-11+deb9u7) ...
Setting up libmagickwand-dev (8:6.9.7.4+dfsg-11+deb9u7) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...

# curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   983  100   983    0     0   2878      0 --:--:-- --:--:-- --:--:--  2874

# install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/

# sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'

# apt install apt-transport-https
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  apt-transport-https
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 171 kB of archives.
After this operation, 243 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian stretch/main amd64 apt-transport-https amd64 1.4.9 [171 kB]
Fetched 171 kB in 0s (263 kB/s)         
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package apt-transport-https.
(Reading database ... 30138 files and directories currently installed.)
Preparing to unpack .../apt-transport-https_1.4.9_amd64.deb ...
Unpacking apt-transport-https (1.4.9) ...
Setting up apt-transport-https (1.4.9) ...

# apt update
Hit:1 http://security.debian.org/debian-security stretch/updates InRelease
Ign:2 http://deb.debian.org/debian stretch InRelease
Hit:3 http://deb.debian.org/debian stretch-updates InRelease
Get:4 https://packages.microsoft.com/repos/vscode stable InRelease [3181 B]
Hit:5 http://deb.debian.org/debian stretch Release
Get:7 https://packages.microsoft.com/repos/vscode stable/main amd64 Packages [115 kB]
Fetched 118 kB in 1s (118 kB/s)    
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.

# apt install -y code
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  adwaita-icon-theme at-spi2-core dconf-gsettings-backend dconf-service glib-networking
  glib-networking-common glib-networking-services gsettings-desktop-schemas libatk-bridge2.0-0
  libatspi2.0-0 libcolord2 libdconf1 libdrm2 libegl1-mesa libepoxy0 libgbm1 libgtk-3-0 libgtk-3-bin
  libgtk-3-common libjson-glib-1.0-0 libjson-glib-1.0-common libnotify4 libnspr4 libnss3 libproxy1v5
  librest-0.7-0 libsecret-1-0 libsecret-common libsoup-gnome2.4-1 libsoup2.4-1 libwayland-client0
  libwayland-cursor0 libwayland-egl1-mesa libwayland-server0 libx11-xcb1 libxcb-dri2-0 libxcb-dri3-0
  libxcb-present0 libxcb-sync1 libxcb-xfixes0 libxkbcommon0 libxkbfile1 libxshmfence1 libxss1 libxtst6
  notification-daemon xkb-data
Suggested packages:
  colord gvfs
The following NEW packages will be installed:
  adwaita-icon-theme at-spi2-core code dconf-gsettings-backend dconf-service glib-networking
  glib-networking-common glib-networking-services gsettings-desktop-schemas libatk-bridge2.0-0
  libatspi2.0-0 libcolord2 libdconf1 libdrm2 libegl1-mesa libepoxy0 libgbm1 libgtk-3-0 libgtk-3-bin
  libgtk-3-common libjson-glib-1.0-0 libjson-glib-1.0-common libnotify4 libnspr4 libnss3 libproxy1v5
  librest-0.7-0 libsecret-1-0 libsecret-common libsoup-gnome2.4-1 libsoup2.4-1 libwayland-client0
  libwayland-cursor0 libwayland-egl1-mesa libwayland-server0 libx11-xcb1 libxcb-dri2-0 libxcb-dri3-0
  libxcb-present0 libxcb-sync1 libxcb-xfixes0 libxkbcommon0 libxkbfile1 libxshmfence1 libxss1 libxtst6
  notification-daemon xkb-data
0 upgraded, 48 newly installed, 0 to remove and 0 not upgraded.
Need to get 71.6 MB of archives.
After this operation, 287 MB of additional disk space will be used.
Get:1 http://deb.debian.org/debian stretch/main amd64 libxss1 amd64 1:1.2.2-1 [17.5 kB]
Get:2 http://deb.debian.org/debian stretch/main amd64 adwaita-icon-theme all 3.22.0-1+deb9u1 [11.5 MB]
Get:3 https://packages.microsoft.com/repos/vscode stable/main amd64 code amd64 1.33.1-1554971066 [48.7 MB]
Get:4 http://deb.debian.org/debian stretch/main amd64 libatspi2.0-0 amd64 2.22.0-6+deb9u1 [60.9 kB]
Get:5 http://deb.debian.org/debian stretch/main amd64 libxtst6 amd64 2:1.2.3-1 [27.8 kB]
Get:6 http://deb.debian.org/debian stretch/main amd64 at-spi2-core amd64 2.22.0-6+deb9u1 [69.3 kB]
Get:7 http://deb.debian.org/debian stretch/main amd64 libnotify4 amd64 0.7.7-2 [21.9 kB]
Get:8 http://deb.debian.org/debian stretch/main amd64 libnspr4 amd64 2:4.12-6 [117 kB]
Get:9 http://deb.debian.org/debian stretch/main amd64 libnss3 amd64 2:3.26.2-1.1+deb9u1 [1161 kB]
Get:10 http://deb.debian.org/debian stretch/main amd64 libxkbfile1 amd64 1:1.0.9-2 [74.6 kB]
Get:11 http://deb.debian.org/debian stretch/main amd64 libsecret-common all 0.18.5-3.1 [24.0 kB]
Get:12 http://deb.debian.org/debian stretch/main amd64 libsecret-1-0 amd64 0.18.5-3.1 [96.5 kB]
Get:13 http://deb.debian.org/debian stretch/main amd64 libdconf1 amd64 0.26.0-2+b1 [37.6 kB]
Get:14 http://deb.debian.org/debian stretch/main amd64 dconf-service amd64 0.26.0-2+b1 [34.7 kB]
Get:15 http://deb.debian.org/debian stretch/main amd64 dconf-gsettings-backend amd64 0.26.0-2+b1 [26.4 kB]
Get:16 http://deb.debian.org/debian stretch/main amd64 libgtk-3-common all 3.22.11-1 [3416 kB]
Get:17 http://deb.debian.org/debian stretch/main amd64 libatk-bridge2.0-0 amd64 2.22.0-2 [56.3 kB]
Get:18 http://deb.debian.org/debian stretch/main amd64 libcolord2 amd64 1.3.3-2 [252 kB]
Get:19 http://deb.debian.org/debian stretch/main amd64 libepoxy0 amd64 1.3.1-2 [176 kB]
Get:20 http://deb.debian.org/debian stretch/main amd64 libjson-glib-1.0-common all 1.2.6-1 [166 kB]
Get:21 http://deb.debian.org/debian stretch/main amd64 libjson-glib-1.0-0 amd64 1.2.6-1 [178 kB]
Get:22 http://deb.debian.org/debian stretch/main amd64 libproxy1v5 amd64 0.4.14-2 [57.4 kB]
Get:23 http://deb.debian.org/debian stretch/main amd64 glib-networking-common all 2.50.0-1 [49.1 kB]
Get:24 http://deb.debian.org/debian stretch/main amd64 glib-networking-services amd64 2.50.0-1+b1 [12.3 kB]
Get:25 http://deb.debian.org/debian stretch/main amd64 gsettings-desktop-schemas all 3.22.0-1 [473 kB]
Get:26 http://deb.debian.org/debian stretch/main amd64 glib-networking amd64 2.50.0-1+b1 [57.3 kB]
Get:27 http://deb.debian.org/debian stretch/main amd64 libsoup2.4-1 amd64 2.56.0-2+deb9u2 [296 kB]
Get:28 http://deb.debian.org/debian stretch/main amd64 libsoup-gnome2.4-1 amd64 2.56.0-2+deb9u2 [16.4 kB]
Get:29 http://deb.debian.org/debian stretch/main amd64 librest-0.7-0 amd64 0.8.0-2 [33.0 kB]
Get:30 http://deb.debian.org/debian stretch/main amd64 libwayland-client0 amd64 1.12.0-1+deb9u1 [25.1 kB]
Get:31 http://deb.debian.org/debian stretch/main amd64 libwayland-cursor0 amd64 1.12.0-1+deb9u1 [13.5 kB]
Get:32 http://deb.debian.org/debian stretch/main amd64 libdrm2 amd64 2.4.74-1 [36.2 kB]
Get:33 http://deb.debian.org/debian stretch/main amd64 libwayland-server0 amd64 1.12.0-1+deb9u1 [30.6 kB]
Get:34 http://deb.debian.org/debian stretch/main amd64 libgbm1 amd64 13.0.6-1+b2 [59.2 kB]
Get:35 http://deb.debian.org/debian stretch/main amd64 libx11-xcb1 amd64 2:1.6.4-3+deb9u1 [183 kB]
Get:36 http://deb.debian.org/debian stretch/main amd64 libxcb-dri2-0 amd64 1.12-1 [97.2 kB]
Get:37 http://deb.debian.org/debian stretch/main amd64 libxcb-dri3-0 amd64 1.12-1 [95.6 kB]
Get:38 http://deb.debian.org/debian stretch/main amd64 libxcb-present0 amd64 1.12-1 [95.8 kB]
Get:39 http://deb.debian.org/debian stretch/main amd64 libxcb-sync1 amd64 1.12-1 [99.2 kB]
Get:40 http://deb.debian.org/debian stretch/main amd64 libxcb-xfixes0 amd64 1.12-1 [99.6 kB]
Get:41 http://deb.debian.org/debian stretch/main amd64 libxshmfence1 amd64 1.2-1+b2 [7922 B]
Get:42 http://deb.debian.org/debian stretch/main amd64 libegl1-mesa amd64 13.0.6-1+b2 [112 kB]
Get:43 http://deb.debian.org/debian stretch/main amd64 libwayland-egl1-mesa amd64 13.0.6-1+b2 [43.0 kB]
Get:44 http://deb.debian.org/debian stretch/main amd64 xkb-data all 2.19-1+deb9u1 [650 kB]
Get:45 http://deb.debian.org/debian stretch/main amd64 libxkbcommon0 amd64 0.7.1-2~deb9u1 [122 kB]
Get:46 http://deb.debian.org/debian stretch/main amd64 libgtk-3-0 amd64 3.22.11-1 [2529 kB]
Get:47 http://deb.debian.org/debian stretch/main amd64 libgtk-3-bin amd64 3.22.11-1 [110 kB]
Get:48 http://deb.debian.org/debian stretch/main amd64 notification-daemon amd64 3.20.0-1+b1 [60.5 kB]   
Fetched 71.6 MB in 2min 1s (588 kB/s)            
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libxss1:amd64.
(Reading database ... 30144 files and directories currently installed.)
Preparing to unpack .../00-libxss1_1%3a1.2.2-1_amd64.deb ...
Unpacking libxss1:amd64 (1:1.2.2-1) ...
Selecting previously unselected package adwaita-icon-theme.
Preparing to unpack .../01-adwaita-icon-theme_3.22.0-1+deb9u1_all.deb ...
Unpacking adwaita-icon-theme (3.22.0-1+deb9u1) ...
Selecting previously unselected package libatspi2.0-0:amd64.
Preparing to unpack .../02-libatspi2.0-0_2.22.0-6+deb9u1_amd64.deb ...
Unpacking libatspi2.0-0:amd64 (2.22.0-6+deb9u1) ...
Selecting previously unselected package libxtst6:amd64.
Preparing to unpack .../03-libxtst6_2%3a1.2.3-1_amd64.deb ...
Unpacking libxtst6:amd64 (2:1.2.3-1) ...
Selecting previously unselected package at-spi2-core.
Preparing to unpack .../04-at-spi2-core_2.22.0-6+deb9u1_amd64.deb ...
Unpacking at-spi2-core (2.22.0-6+deb9u1) ...
Selecting previously unselected package libnotify4:amd64.
Preparing to unpack .../05-libnotify4_0.7.7-2_amd64.deb ...
Unpacking libnotify4:amd64 (0.7.7-2) ...
Selecting previously unselected package libnspr4:amd64.
Preparing to unpack .../06-libnspr4_2%3a4.12-6_amd64.deb ...
Unpacking libnspr4:amd64 (2:4.12-6) ...
Selecting previously unselected package libnss3:amd64.
Preparing to unpack .../07-libnss3_2%3a3.26.2-1.1+deb9u1_amd64.deb ...
Unpacking libnss3:amd64 (2:3.26.2-1.1+deb9u1) ...
Selecting previously unselected package libxkbfile1:amd64.
Preparing to unpack .../08-libxkbfile1_1%3a1.0.9-2_amd64.deb ...
Unpacking libxkbfile1:amd64 (1:1.0.9-2) ...
Selecting previously unselected package libsecret-common.
Preparing to unpack .../09-libsecret-common_0.18.5-3.1_all.deb ...
Unpacking libsecret-common (0.18.5-3.1) ...
Selecting previously unselected package libsecret-1-0:amd64.
Preparing to unpack .../10-libsecret-1-0_0.18.5-3.1_amd64.deb ...
Unpacking libsecret-1-0:amd64 (0.18.5-3.1) ...
Selecting previously unselected package libdconf1:amd64.
Preparing to unpack .../11-libdconf1_0.26.0-2+b1_amd64.deb ...
Unpacking libdconf1:amd64 (0.26.0-2+b1) ...
Selecting previously unselected package dconf-service.
Preparing to unpack .../12-dconf-service_0.26.0-2+b1_amd64.deb ...
Unpacking dconf-service (0.26.0-2+b1) ...
Selecting previously unselected package dconf-gsettings-backend:amd64.
Preparing to unpack .../13-dconf-gsettings-backend_0.26.0-2+b1_amd64.deb ...
Unpacking dconf-gsettings-backend:amd64 (0.26.0-2+b1) ...
Selecting previously unselected package libgtk-3-common.
Preparing to unpack .../14-libgtk-3-common_3.22.11-1_all.deb ...
Unpacking libgtk-3-common (3.22.11-1) ...
Selecting previously unselected package libatk-bridge2.0-0:amd64.
Preparing to unpack .../15-libatk-bridge2.0-0_2.22.0-2_amd64.deb ...
Unpacking libatk-bridge2.0-0:amd64 (2.22.0-2) ...
Selecting previously unselected package libcolord2:amd64.
Preparing to unpack .../16-libcolord2_1.3.3-2_amd64.deb ...
Unpacking libcolord2:amd64 (1.3.3-2) ...
Selecting previously unselected package libepoxy0:amd64.
Preparing to unpack .../17-libepoxy0_1.3.1-2_amd64.deb ...
Unpacking libepoxy0:amd64 (1.3.1-2) ...
Selecting previously unselected package libjson-glib-1.0-common.
Preparing to unpack .../18-libjson-glib-1.0-common_1.2.6-1_all.deb ...
Unpacking libjson-glib-1.0-common (1.2.6-1) ...
Selecting previously unselected package libjson-glib-1.0-0:amd64.
Preparing to unpack .../19-libjson-glib-1.0-0_1.2.6-1_amd64.deb ...
Unpacking libjson-glib-1.0-0:amd64 (1.2.6-1) ...
Selecting previously unselected package libproxy1v5:amd64.
Preparing to unpack .../20-libproxy1v5_0.4.14-2_amd64.deb ...
Unpacking libproxy1v5:amd64 (0.4.14-2) ...
Selecting previously unselected package glib-networking-common.
Preparing to unpack .../21-glib-networking-common_2.50.0-1_all.deb ...
Unpacking glib-networking-common (2.50.0-1) ...
Selecting previously unselected package glib-networking-services.
Preparing to unpack .../22-glib-networking-services_2.50.0-1+b1_amd64.deb ...
Unpacking glib-networking-services (2.50.0-1+b1) ...
Selecting previously unselected package gsettings-desktop-schemas.
Preparing to unpack .../23-gsettings-desktop-schemas_3.22.0-1_all.deb ...
Unpacking gsettings-desktop-schemas (3.22.0-1) ...
Selecting previously unselected package glib-networking:amd64.
Preparing to unpack .../24-glib-networking_2.50.0-1+b1_amd64.deb ...
Unpacking glib-networking:amd64 (2.50.0-1+b1) ...
Selecting previously unselected package libsoup2.4-1:amd64.
Preparing to unpack .../25-libsoup2.4-1_2.56.0-2+deb9u2_amd64.deb ...
Unpacking libsoup2.4-1:amd64 (2.56.0-2+deb9u2) ...
Selecting previously unselected package libsoup-gnome2.4-1:amd64.
Preparing to unpack .../26-libsoup-gnome2.4-1_2.56.0-2+deb9u2_amd64.deb ...
Unpacking libsoup-gnome2.4-1:amd64 (2.56.0-2+deb9u2) ...
Selecting previously unselected package librest-0.7-0:amd64.
Preparing to unpack .../27-librest-0.7-0_0.8.0-2_amd64.deb ...
Unpacking librest-0.7-0:amd64 (0.8.0-2) ...
Selecting previously unselected package libwayland-client0:amd64.
Preparing to unpack .../28-libwayland-client0_1.12.0-1+deb9u1_amd64.deb ...
Unpacking libwayland-client0:amd64 (1.12.0-1+deb9u1) ...
Selecting previously unselected package libwayland-cursor0:amd64.
Preparing to unpack .../29-libwayland-cursor0_1.12.0-1+deb9u1_amd64.deb ...
Unpacking libwayland-cursor0:amd64 (1.12.0-1+deb9u1) ...
Selecting previously unselected package libdrm2:amd64.
Preparing to unpack .../30-libdrm2_2.4.74-1_amd64.deb ...
Unpacking libdrm2:amd64 (2.4.74-1) ...
Selecting previously unselected package libwayland-server0:amd64.
Preparing to unpack .../31-libwayland-server0_1.12.0-1+deb9u1_amd64.deb ...
Unpacking libwayland-server0:amd64 (1.12.0-1+deb9u1) ...
Selecting previously unselected package libgbm1:amd64.
Preparing to unpack .../32-libgbm1_13.0.6-1+b2_amd64.deb ...
Unpacking libgbm1:amd64 (13.0.6-1+b2) ...
Selecting previously unselected package libx11-xcb1:amd64.
Preparing to unpack .../33-libx11-xcb1_2%3a1.6.4-3+deb9u1_amd64.deb ...
Unpacking libx11-xcb1:amd64 (2:1.6.4-3+deb9u1) ...
Selecting previously unselected package libxcb-dri2-0:amd64.
Preparing to unpack .../34-libxcb-dri2-0_1.12-1_amd64.deb ...
Unpacking libxcb-dri2-0:amd64 (1.12-1) ...
Selecting previously unselected package libxcb-dri3-0:amd64.
Preparing to unpack .../35-libxcb-dri3-0_1.12-1_amd64.deb ...
Unpacking libxcb-dri3-0:amd64 (1.12-1) ...
Selecting previously unselected package libxcb-present0:amd64.
Preparing to unpack .../36-libxcb-present0_1.12-1_amd64.deb ...
Unpacking libxcb-present0:amd64 (1.12-1) ...
Selecting previously unselected package libxcb-sync1:amd64.
Preparing to unpack .../37-libxcb-sync1_1.12-1_amd64.deb ...
Unpacking libxcb-sync1:amd64 (1.12-1) ...
Selecting previously unselected package libxcb-xfixes0:amd64.
Preparing to unpack .../38-libxcb-xfixes0_1.12-1_amd64.deb ...
Unpacking libxcb-xfixes0:amd64 (1.12-1) ...
Selecting previously unselected package libxshmfence1:amd64.
Preparing to unpack .../39-libxshmfence1_1.2-1+b2_amd64.deb ...
Unpacking libxshmfence1:amd64 (1.2-1+b2) ...
Selecting previously unselected package libegl1-mesa:amd64.
Preparing to unpack .../40-libegl1-mesa_13.0.6-1+b2_amd64.deb ...
Unpacking libegl1-mesa:amd64 (13.0.6-1+b2) ...
Selecting previously unselected package libwayland-egl1-mesa:amd64.
Preparing to unpack .../41-libwayland-egl1-mesa_13.0.6-1+b2_amd64.deb ...
Unpacking libwayland-egl1-mesa:amd64 (13.0.6-1+b2) ...
Selecting previously unselected package xkb-data.
Preparing to unpack .../42-xkb-data_2.19-1+deb9u1_all.deb ...
Unpacking xkb-data (2.19-1+deb9u1) ...
Selecting previously unselected package libxkbcommon0:amd64.
Preparing to unpack .../43-libxkbcommon0_0.7.1-2~deb9u1_amd64.deb ...
Unpacking libxkbcommon0:amd64 (0.7.1-2~deb9u1) ...
Selecting previously unselected package libgtk-3-0:amd64.
Preparing to unpack .../44-libgtk-3-0_3.22.11-1_amd64.deb ...
Unpacking libgtk-3-0:amd64 (3.22.11-1) ...
Selecting previously unselected package code.
Preparing to unpack .../45-code_1.33.1-1554971066_amd64.deb ...
Unpacking code (1.33.1-1554971066) ...
Selecting previously unselected package libgtk-3-bin.
Preparing to unpack .../46-libgtk-3-bin_3.22.11-1_amd64.deb ...
Unpacking libgtk-3-bin (3.22.11-1) ...
Selecting previously unselected package notification-daemon.
Preparing to unpack .../47-notification-daemon_3.20.0-1+b1_amd64.deb ...
Unpacking notification-daemon (3.20.0-1+b1) ...
Setting up libxkbfile1:amd64 (1:1.0.9-2) ...
Setting up libxcb-present0:amd64 (1.12-1) ...
Setting up libnotify4:amd64 (0.7.7-2) ...
Setting up libxcb-dri2-0:amd64 (1.12-1) ...
Setting up libsecret-common (0.18.5-3.1) ...
Setting up libxcb-dri3-0:amd64 (1.12-1) ...
Setting up libjson-glib-1.0-common (1.2.6-1) ...
Setting up libxcb-xfixes0:amd64 (1.12-1) ...
Setting up glib-networking-common (2.50.0-1) ...
Processing triggers for mime-support (3.60) ...
Setting up libatspi2.0-0:amd64 (2.22.0-6+deb9u1) ...
Processing triggers for libglib2.0-0:amd64 (2.50.3-2) ...
Setting up libxss1:amd64 (1:1.2.2-1) ...
Setting up libxshmfence1:amd64 (1.2-1+b2) ...
Setting up libwayland-client0:amd64 (1.12.0-1+deb9u1) ...
Setting up xkb-data (2.19-1+deb9u1) ...
Setting up libproxy1v5:amd64 (0.4.14-2) ...
Setting up glib-networking-services (2.50.0-1+b1) ...
Setting up libnspr4:amd64 (2:4.12-6) ...
Setting up libxtst6:amd64 (2:1.2.3-1) ...
Setting up libdrm2:amd64 (2.4.74-1) ...
Setting up libjson-glib-1.0-0:amd64 (1.2.6-1) ...
Setting up libxcb-sync1:amd64 (1.12-1) ...
Setting up libx11-xcb1:amd64 (2:1.6.4-3+deb9u1) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
Setting up libepoxy0:amd64 (1.3.1-2) ...
Setting up libatk-bridge2.0-0:amd64 (2.22.0-2) ...
Setting up libdconf1:amd64 (0.26.0-2+b1) ...
Setting up libxkbcommon0:amd64 (0.7.1-2~deb9u1) ...
Setting up libcolord2:amd64 (1.3.3-2) ...
Setting up libsecret-1-0:amd64 (0.18.5-3.1) ...
Setting up libwayland-cursor0:amd64 (1.12.0-1+deb9u1) ...
Setting up libwayland-server0:amd64 (1.12.0-1+deb9u1) ...
Setting up adwaita-icon-theme (3.22.0-1+deb9u1) ...
update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode
Setting up dconf-service (0.26.0-2+b1) ...
Setting up at-spi2-core (2.22.0-6+deb9u1) ...
Setting up libgbm1:amd64 (13.0.6-1+b2) ...
Setting up libnss3:amd64 (2:3.26.2-1.1+deb9u1) ...
Setting up dconf-gsettings-backend:amd64 (0.26.0-2+b1) ...
Setting up libegl1-mesa:amd64 (13.0.6-1+b2) ...
Setting up gsettings-desktop-schemas (3.22.0-1) ...
Setting up libgtk-3-common (3.22.11-1) ...
Setting up glib-networking:amd64 (2.50.0-1+b1) ...
Setting up libwayland-egl1-mesa:amd64 (13.0.6-1+b2) ...
Setting up libsoup2.4-1:amd64 (2.56.0-2+deb9u2) ...
Setting up libsoup-gnome2.4-1:amd64 (2.56.0-2+deb9u2) ...
Setting up librest-0.7-0:amd64 (0.8.0-2) ...
Setting up libgtk-3-0:amd64 (3.22.11-1) ...
Setting up libgtk-3-bin (3.22.11-1) ...
Setting up code (1.33.1-1554971066) ...
update-alternatives: using /usr/bin/code to provide /usr/bin/editor (editor) in auto mode
Setting up notification-daemon (3.20.0-1+b1) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...

将此部分注册为另一个Docker Hub。

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
d7b5a5211451        gcc                 "/bin/bash"         9 hours ago         Up 9 hours                              inspiring_pike
OgawaKiyoshi-no-MacBook-Pro:scripts ogawakiyoshi$ docker commit d7b5a5211451   kaizenjapan/cc2
sha256:3c56251edcf3deae6a149cf34392a96ec478c1d5c2d089ad4fa50ea756ac65bc
OgawaKiyoshi-no-MacBook-Pro:scripts ogawakiyoshi$ docker push kaizenjapan/cc2
The push refers to repository [docker.io/kaizenjapan/cc2]
03c403a68abc: Pushed 
67479158abb8: Mounted from kaizenjapan/cc 
abfd81232d1e: Mounted from kaizenjapan/cc 
eac885ac1d3b: Mounted from kaizenjapan/cc 
08e7e0bcc587: Mounted from kaizenjapan/cc 
0fe19df8b8f8: Mounted from kaizenjapan/cc 
b17cc31e431b: Mounted from kaizenjapan/cc 
12cb127eee44: Mounted from kaizenjapan/cc 
604829a174eb: Mounted from kaizenjapan/cc 
fbb641a8b943: Mounted from kaizenjapan/cc 
latest: digest: sha256:727a003f21e2fd2c1a58fba768c14e7efa081c20187e9be3ce07baa425496c9d size: 2429

第三阶段的咔嗒声。

/# apt install -y clang
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  binfmt-support clang-3.8 libclang-common-3.8-dev libclang1-3.8 libgc1c2 libjsoncpp1 libllvm3.8
  libobjc-6-dev libobjc4 libpipeline1 llvm-3.8 llvm-3.8-dev llvm-3.8-runtime
Suggested packages:
  gnustep gnustep-devel clang-3.8-doc llvm-3.8-doc
The following NEW packages will be installed:
  binfmt-support clang clang-3.8 libclang-common-3.8-dev libclang1-3.8 libgc1c2 libjsoncpp1 libllvm3.8
  libobjc-6-dev libobjc4 libpipeline1 llvm-3.8 llvm-3.8-dev llvm-3.8-runtime
0 upgraded, 14 newly installed, 0 to remove and 0 not upgraded.
Need to get 58.0 MB of archives.
After this operation, 293 MB of additional disk space will be used.
Get:1 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libpipeline1 amd64 1.4.1-2 [27.6 kB]
Get:2 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libgc1c2 amd64 1:7.4.2-8 [208 kB]
Get:3 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 binfmt-support amd64 2.1.6-2 [59.5 kB]
Get:4 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libllvm3.8 amd64 1:3.8.1-24 [10.4 MB]
Get:5 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libclang1-3.8 amd64 1:3.8.1-24 [4190 kB]
Get:6 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libobjc4 amd64 6.3.0-18+deb9u1 [49.5 kB]
Get:7 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libobjc-6-dev amd64 6.3.0-18+deb9u1 [196 kB]
Get:8 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libclang-common-3.8-dev amd64 1:3.8.1-24 [2198 kB]
Get:9 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 clang-3.8 amd64 1:3.8.1-24 [22.8 MB]
Get:10 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 clang amd64 1:3.8-36 [5810 B]
Get:11 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 llvm-3.8-runtime amd64 1:3.8.1-24 [87.9 kB]
Get:12 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 llvm-3.8 amd64 1:3.8.1-24 [1548 kB]
Get:13 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libjsoncpp1 amd64 1.7.4-3 [75.6 kB]
Get:14 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 llvm-3.8-dev amd64 1:3.8.1-24 [16.1 MB]
Fetched 58.0 MB in 2min 6s (457 kB/s)    
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libpipeline1:amd64.
(Reading database ... 38749 files and directories currently installed.)
Preparing to unpack .../00-libpipeline1_1.4.1-2_amd64.deb ...
Unpacking libpipeline1:amd64 (1.4.1-2) ...
Selecting previously unselected package libgc1c2:amd64.
Preparing to unpack .../01-libgc1c2_1%3a7.4.2-8_amd64.deb ...
Unpacking libgc1c2:amd64 (1:7.4.2-8) ...
Selecting previously unselected package binfmt-support.
Preparing to unpack .../02-binfmt-support_2.1.6-2_amd64.deb ...
Unpacking binfmt-support (2.1.6-2) ...
Selecting previously unselected package libllvm3.8:amd64.
Preparing to unpack .../03-libllvm3.8_1%3a3.8.1-24_amd64.deb ...
Unpacking libllvm3.8:amd64 (1:3.8.1-24) ...
Selecting previously unselected package libclang1-3.8:amd64.
Preparing to unpack .../04-libclang1-3.8_1%3a3.8.1-24_amd64.deb ...
Unpacking libclang1-3.8:amd64 (1:3.8.1-24) ...
Selecting previously unselected package libobjc4:amd64.
Preparing to unpack .../05-libobjc4_6.3.0-18+deb9u1_amd64.deb ...
Unpacking libobjc4:amd64 (6.3.0-18+deb9u1) ...
Selecting previously unselected package libobjc-6-dev:amd64.
Preparing to unpack .../06-libobjc-6-dev_6.3.0-18+deb9u1_amd64.deb ...
Unpacking libobjc-6-dev:amd64 (6.3.0-18+deb9u1) ...
Selecting previously unselected package libclang-common-3.8-dev.
Preparing to unpack .../07-libclang-common-3.8-dev_1%3a3.8.1-24_amd64.deb ...
Unpacking libclang-common-3.8-dev (1:3.8.1-24) ...
Selecting previously unselected package clang-3.8.
Preparing to unpack .../08-clang-3.8_1%3a3.8.1-24_amd64.deb ...
Unpacking clang-3.8 (1:3.8.1-24) ...
Selecting previously unselected package clang.
Preparing to unpack .../09-clang_1%3a3.8-36_amd64.deb ...
Unpacking clang (1:3.8-36) ...
Selecting previously unselected package llvm-3.8-runtime.
Preparing to unpack .../10-llvm-3.8-runtime_1%3a3.8.1-24_amd64.deb ...
Unpacking llvm-3.8-runtime (1:3.8.1-24) ...
Selecting previously unselected package llvm-3.8.
Preparing to unpack .../11-llvm-3.8_1%3a3.8.1-24_amd64.deb ...
Unpacking llvm-3.8 (1:3.8.1-24) ...
Selecting previously unselected package libjsoncpp1:amd64.
Preparing to unpack .../12-libjsoncpp1_1.7.4-3_amd64.deb ...
Unpacking libjsoncpp1:amd64 (1.7.4-3) ...
Selecting previously unselected package llvm-3.8-dev.
Preparing to unpack .../13-llvm-3.8-dev_1%3a3.8.1-24_amd64.deb ...
Unpacking llvm-3.8-dev (1:3.8.1-24) ...
Setting up libllvm3.8:amd64 (1:3.8.1-24) ...
Setting up libclang-common-3.8-dev (1:3.8.1-24) ...
Setting up libclang1-3.8:amd64 (1:3.8.1-24) ...
Setting up libgc1c2:amd64 (1:7.4.2-8) ...
Setting up libpipeline1:amd64 (1.4.1-2) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
Setting up libjsoncpp1:amd64 (1.7.4-3) ...
Setting up binfmt-support (2.1.6-2) ...
mount: permission denied
update-binfmts: warning: Couldn't mount the binfmt_misc filesystem on /proc/sys/fs/binfmt_misc.
mount: permission denied
update-binfmts: warning: Couldn't mount the binfmt_misc filesystem on /proc/sys/fs/binfmt_misc.
mount: permission denied
update-binfmts: warning: Couldn't mount the binfmt_misc filesystem on /proc/sys/fs/binfmt_misc.
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of start.
Setting up libobjc4:amd64 (6.3.0-18+deb9u1) ...
Setting up libobjc-6-dev:amd64 (6.3.0-18+deb9u1) ...
Setting up llvm-3.8-runtime (1:3.8.1-24) ...
mount: permission denied
update-binfmts: warning: Couldn't mount the binfmt_misc filesystem on /proc/sys/fs/binfmt_misc.
Setting up llvm-3.8 (1:3.8.1-24) ...
Setting up llvm-3.8-dev (1:3.8.1-24) ...
Setting up clang-3.8 (1:3.8.1-24) ...
Setting up clang (1:3.8-36) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...

情况未知。

# sudo apt install -y clang
Reading package lists... Done
Building dependency tree       
Reading state information... Done
clang is already the newest version (1:3.8-36).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

# sudo apt upgrade clang
Reading package lists... Done
Building dependency tree       
Reading state information... Done
clang is already the newest version (1:3.8-36).
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

暂时注册

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
d7b5a5211451        gcc                 "/bin/bash"         10 hours ago        Up 10 hours                             

$ docker commit d7b5a5211451   kaizenjapan/cc3
sha256:156eb2d613901e433e0f93f8981dbd2042dee8d2a1fe7c01d7b6af950a8d7dd1

$ docker push kaizenjapan/cc3
The push refers to repository [docker.io/kaizenjapan/cc3]
a9609e17548f: Pushed 
67479158abb8: Mounted from kaizenjapan/cc2 
abfd81232d1e: Mounted from kaizenjapan/cc2 
eac885ac1d3b: Mounted from kaizenjapan/cc2 
08e7e0bcc587: Mounted from kaizenjapan/cc2 
0fe19df8b8f8: Mounted from kaizenjapan/cc2 
b17cc31e431b: Mounted from kaizenjapan/cc2 
12cb127eee44: Mounted from kaizenjapan/cc2 
604829a174eb: Mounted from kaizenjapan/cc2 
fbb641a8b943: Mounted from kaizenjapan/cc2 
latest: digest: sha256:acbf6c21c9c52ad15aefd8210128f736b021f76c09aee3ac82c3352e209d14b2 size: 2429

请确认占据了多少面积。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
kaizenjapan/cc3     latest              156eb2d61390        11 minutes ago      1.8GB
kaizenjapan/cc2     latest              3c56251edcf3        About an hour ago   1.5GB
kaizenjapan/cc      latest              a90480303225        2 hours ago         1.22GB
gcc                 latest              6808528eb8f5        5 weeks ago         1.15GB

如果一切順利的話,我們可能會發現每個工作大致上需要大約一個小時的時間。

实际上,由于操作方法不熟悉、各种错误出现以及研究如何处理这些错误或者可以忽略它们,花了整整两天。相关记录见下方参考资料。

版確認 -> 確認版本

# gcc --version
gcc (GCC) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

# clang --version
clang version 3.8.1-24 (tags/RELEASE_381/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

# code --version  --user-data-dir=/root
1.33.1
51b0b28134d51361cf996d2f0a1c698247aeabd8
x64

另外,代码出现警告和错误,请添加一个以下的库。

# code --version
You are trying to start vscode as a super user which is not recommended. If you really want to, you must specify an alternate user data directory using the --user-data-dir argument.
# code a.c --user-data-dir=/root
/usr/share/code/bin/../code: error while loading shared libraries: libasound.so.2: cannot open shared object file: No such file or directory
# apt search libsound
Sorting... Done
Full Text Search... Done
libsoundio-dbg/stable 1.0.2-1+b1 amd64
  debugging symbols for libsoundio

libsoundio-dev/stable 1.0.2-1+b1 amd64
  cross platform audio input and output library (development files)

libsoundio1/stable 1.0.2-1+b1 amd64
  cross-platform audio input and output library

libsoundtouch-dev/stable 1.9.2-2+deb9u1 amd64
  Development files for the sound stretching library

libsoundtouch-ocaml/stable 0.1.7-1+b4 amd64
  OCaml bindings for the sound stretching library -- runtime files

libsoundtouch-ocaml-dev/stable 0.1.7-1+b4 amd64
  OCaml bindings for the sound stretching library -- runtime files

libsoundtouch1/stable 1.9.2-2+deb9u1 amd64
  Sound stretching library

libsoundtouch1-dbg/stable 1.9.2-2+deb9u1 amd64
  Debugging symbols for the sound stretching library

root@31acc5c44966:/home/root# apt search libsoundio1
Sorting... Done
Full Text Search... Done
libsoundio1/stable 1.0.2-1+b1 amd64
  cross-platform audio input and output library

root@31acc5c44966:/home/root# apt install libsoundio1

参考资料

如何使用命令在Ubuntu/Debian上安装VSCode (Visual Studio Code)
链接:https://www.karelie.net/ubuntu-debian-command-install-vscode/

自己参照(self reference):Docker GCC升级错误
链接:https://qiita.com/kaizen_nagoya/items/d2d424318b711aef4af5

无法挂载binfmt_misc文件系统。

docker:拉取镜像配置时发生错误:获取 https://qiita.com/kaizen_nagoya/items/1350d5a7144706d0bd81

删除Docker镜像的步骤
https://qiita.com/kaizen_nagoya/items/0bc05d08cf18af4a8801

Docker 中的 Visual Studio Code 是一项持续不断的苦行。

g++、clang++和vscode++使用Docker(仍在出现错误中)

用Docker安装GCC(g++)和LLVM(clang++)

Docker和VSCode,而不是Visual Studio Code。

这篇文章是基于个人过去经验的个人感想。与目前所属的组织和工作无关。

文件历史

第0.01版 初稿 2019年5月4日 晚上
第0.02版 标签和思考补充 2019年5月4日 夜晚
第0.03版 工作时间补充 2019年5月5日 早上
第0.04版 vscode错误处理补充 2019年5月5日 上午
第0.05版 错误处理补充 2019年5月5日 下午
第0.06版 标题补充 2019年8月13日

感谢您阅读到最后。

请点赞?,请关注我。

非常感谢您阅读到最后一句话。

请点击那个❤️按钮并关注我,带给您幸福的生活。

このエントリーをはてなブックマークに追加
广告
将在 10 秒后关闭
bannerAds