Architecture et implementations sous Linux
A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another
Dockerfile
Docker Image
Docker Container
| Instruction(s) | Affect |
|---|---|
| from | La base de l'image |
| add, copy* | Le système de fichier |
| run* | L'exécution d'une commande |
| env, arg, workdir, user, shell, stopsignal | La construction et l'execution de l'image |
| maintainer, label | Les Métadonnées de l'image |
| expose, volume | Le montage des systèmes de fichier et le réseau |
| arg, cmd, entrypoint, healthcheck | Le processus de l'image |
est donc composée de :
D'une autre image
D'un système de fichier
D'informations sur : réseau et volumes, utilisateurs, exécution, variables d'environnements ...
De métadonnées
Container Spec
Runtime Spec
Distribution Spec
IMG
Images
Runtimes
$ docker pull alpine@sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d
docker.io/library/alpine@sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d: Pulling from library/alpine
Digest: sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d
Status: Image is up to date for alpine@sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d
docker.io/library/alpine@sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d
# Attention docker version >= v25 !
$ docker save -o alpine.tar alpine@sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d
$ mkdir alpine
$ tar -xvf alpine.tar -C ./alpine
$ cd alpine
$ tree
.
├── blobs
│ └── sha256
│ ├── 309ff318b44b4f2af442a37a269a93ce6907d277d2c168d3160f36cc802f8838
│ ├── 63ca1fbb43ae5034640e5e6cb3e083e05c290072c5366fcaa9d62435a4cced85
│ ├── 6ad8fd5c38430e1ab05f033c689994934a216c1a7481aeb44de1239d7ca82f77
│ └── 91ef0af61f39ece4d6710e465df5ed6ca12112358344fd51ae6a3b886634148b
├── index.json
├── manifest.json
└── oci-layout$ jq . index.json
$ ls "blobs/$(jq -r '.manifests[0].digest| sub(":"; "/")' index.json)"
blobs/sha256/309ff318b44b4f2af442a37a269a93ce6907d277d2c168d3160f36cc802f8838
$ DIGEST_SHA=$(jq -r '.manifests[0].digest|ltrimstr("sha256:")' index.json)
$ echo "$DIGEST_SHA blobs/$DIGEST_SHA" | sha256sum --check
blobs/sha256/309ff318b44b4f2af442a37a269a93ce6907d277d2c168d3160f36cc802f8838: Réussi{
"schemaVersion": 2,
"mediaType": "application/vnd.oci.image.index.v1+json",
"manifests": [
{
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"digest": "sha256:309ff318b44b4f2af442a37a269a93ce6907d277d2c168d3160f36cc802f8838",
"size": 401
}
]
}
$ MANIFEST="blobs/$(jq -r '.manifests[0].digest| sub(":"; "/")' index.json)"
$ jq . "$MANIFEST"
{
"schemaVersion": 2,
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"config": {
"mediaType": "application/vnd.oci.image.config.v1+json",
"digest": "sha256:91ef0af61f39ece4d6710e465df5ed6ca12112358344fd51ae6a3b886634148b",
"size": 1471
},
"layers": [
{
"mediaType": "application/vnd.oci.image.layer.v1.tar",
"digest": "sha256:63ca1fbb43ae5034640e5e6cb3e083e05c290072c5366fcaa9d62435a4cced85",
"size": 8081920
}
]
}
$ CONFIG="blobs/$(jq -r '.config.digest|sub(":"; "/")' "$MANIFEST")"
$ jq . "$CONFIG"{
"architecture": "amd64",
"config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ],
"Cmd": [ "/bin/sh" ],
"Image": "sha256:2b00b4bd27e9e55889516b87471798d04fafb613bbbfc4c46589b7ce7f7e75e4",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": null
},
"container": "a9f02e65025ad035b1bbd0ccda6a13d174e4ed21633f2671364c725a56bd7107",
"container_config": {
"Hostname": "a9f02e65025a",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ],
"Cmd": [ "/bin/sh", "-c", "#(nop) ", "CMD [\"/bin/sh\"]"
],
"Image": "sha256:2b00b4bd27e9e55889516b87471798d04fafb613bbbfc4c46589b7ce7f7e75e4",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {}
},
"created": "2024-09-06T22:20:07.972381771Z",
"docker_version": "23.0.11",
"history": [
{
"created": "2024-09-06T22:20:07.740564901Z",
"created_by": "/bin/sh -c #(nop) ADD file:5758b97d8301c84a204a6e516241275d785a7cade40b2fb99f01fe122482e283 in / "
},
{
"created": "2024-09-06T22:20:07.972381771Z",
"created_by": "/bin/sh -c #(nop) CMD [\"/bin/sh\"]",
"empty_layer": true
}
],
"os": "linux",
"rootfs": {
"type": "layers",
"diff_ids": [
"sha256:63ca1fbb43ae5034640e5e6cb3e083e05c290072c5366fcaa9d62435a4cced85"
]
}
}
$ LAYER_ZERO="blobs/$(jq -r '.layers[0].digest|sub(":"; "/")' "$MANIFEST")"
$ tar -tvf "$LAYER_ZERO"drwxr-xr-x 0/0 0 2024-09-06 13:34 bin/
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/arch -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/ash -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/base64 -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/bbconfig -> /bin/busybox
-rwxr-xr-x 0/0 808712 2024-06-10 09:11 bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/cat -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/chattr -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/chgrp -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/chmod -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/chown -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/cp -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/date -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/dd -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/df -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/dmesg -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/dnsdomainname -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/dumpkmap -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/echo -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/egrep -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/false -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/fatattr -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/fdflush -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/fgrep -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/fsync -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/getopt -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/grep -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/gunzip -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/gzip -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/hostname -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/ionice -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/iostat -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/ipcalc -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/kbd_mode -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/kill -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/link -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/linux32 -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/linux64 -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/ln -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/login -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/ls -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/lsattr -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/lzop -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/makemime -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/mkdir -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/mknod -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/mktemp -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/more -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/mount -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/mountpoint -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/mpstat -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/mv -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/netstat -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/nice -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/pidof -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/ping -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/ping6 -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/pipe_progress -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/printenv -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/ps -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/pwd -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/reformime -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/rev -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/rm -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/rmdir -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/run-parts -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/sed -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/setpriv -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/setserial -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/sh -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/sleep -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/stat -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/stty -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/su -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/sync -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/tar -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/touch -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/true -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/umount -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/uname -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/usleep -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/watch -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 bin/zcat -> /bin/busybox
drwxr-xr-x 0/0 0 2024-09-06 13:34 dev/
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/
-rw-r--r-- 0/0 7 2024-09-06 13:33 etc/alpine-release
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/apk/
-rw-r--r-- 0/0 7 2024-09-06 13:34 etc/apk/arch
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/apk/keys/
-rw-r--r-- 0/0 451 2021-10-18 19:54 etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub
-rw-r--r-- 0/0 451 2021-10-18 19:54 etc/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub
-rw-r--r-- 0/0 451 2021-10-18 19:54 etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub
-rw-r--r-- 0/0 800 2021-10-18 19:54 etc/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub
-rw-r--r-- 0/0 800 2021-10-18 19:54 etc/apk/keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/apk/protected_paths.d/
-rw-r--r-- 0/0 103 2024-09-06 13:34 etc/apk/repositories
-rw-r--r-- 0/0 59 2024-09-06 13:34 etc/apk/world
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/busybox-paths.d/
-rw-r--r-- 0/0 3989 2024-06-10 09:11 etc/busybox-paths.d/busybox
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/crontabs/
-rw------- 0/0 283 2024-05-06 09:38 etc/crontabs/root
-rw-r--r-- 0/0 89 2024-05-06 09:38 etc/fstab
-rw-r--r-- 0/0 510 2024-05-06 09:38 etc/group
-rw-r--r-- 0/0 10 2024-05-06 09:38 etc/hostname
-rw-r--r-- 0/0 79 2024-05-06 09:38 etc/hosts
-rw-r--r-- 0/0 570 2024-05-06 09:38 etc/inittab
-rw-r--r-- 0/0 54 2024-09-06 13:33 etc/issue
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/logrotate.d/
-rw-r--r-- 0/0 140 2024-06-10 09:11 etc/logrotate.d/acpid
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/modprobe.d/
-rw-r--r-- 0/0 1545 2024-05-06 09:38 etc/modprobe.d/aliases.conf
-rw-r--r-- 0/0 2136 2024-05-06 09:38 etc/modprobe.d/blacklist.conf
-rw-r--r-- 0/0 122 2024-05-06 09:38 etc/modprobe.d/i386.conf
-rw-r--r-- 0/0 91 2024-05-06 09:38 etc/modprobe.d/kms.conf
-rw-r--r-- 0/0 15 2024-05-06 09:38 etc/modules
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/modules-load.d/
-rw-r--r-- 0/0 284 2024-05-06 09:38 etc/motd
lrwxrwxrwx 0/0 0 2024-09-06 13:34 etc/mtab -> /proc/mounts
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/network/
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/network/if-down.d/
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/network/if-post-down.d/
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/network/if-post-up.d/
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/network/if-pre-down.d/
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/network/if-pre-up.d/
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/network/if-up.d/
-rwxrwxr-x 0/0 285 2024-06-10 09:11 etc/network/if-up.d/dad
-rw-r--r-- 0/0 205 2024-05-06 09:38 etc/nsswitch.conf
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/opt/
-rw-r--r-- 0/0 188 2024-09-06 13:33 etc/os-release
-rw-r--r-- 0/0 702 2024-05-06 09:38 etc/passwd
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/periodic/
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/periodic/15min/
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/periodic/daily/
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/periodic/hourly/
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/periodic/monthly/
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/periodic/weekly/
-rw-r--r-- 0/0 547 2024-05-06 09:38 etc/profile
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/profile.d/
-rw-r--r-- 0/0 97 2024-05-06 09:38 etc/profile.d/20locale.sh
-rw-r--r-- 0/0 249 2024-05-06 09:38 etc/profile.d/README
-rw-r--r-- 0/0 447 2024-05-06 09:38 etc/profile.d/color_prompt.sh.disabled
-rw-r--r-- 0/0 3144 2024-05-06 09:38 etc/protocols
drwxr-xr-x 0/0 0 2024-09-06 13:33 etc/secfixes.d/
-rw-r--r-- 0/0 97 2024-09-06 13:33 etc/secfixes.d/alpine
-rw-r--r-- 0/0 156 2024-06-10 09:11 etc/securetty
-rw-r--r-- 0/0 12813 2024-05-06 09:38 etc/services
-rw-r----- 0/42 260 2024-09-06 13:34 etc/shadow
-rw-r--r-- 0/0 38 2024-05-06 09:38 etc/shells
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/ssl/
lrwxrwxrwx 0/0 0 2024-09-06 13:34 etc/ssl/cert.pem -> certs/ca-certificates.crt
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/ssl/certs/
-rw-r--r-- 0/0 220093 2024-07-09 11:59 etc/ssl/certs/ca-certificates.crt
-rw-r--r-- 0/0 412 2024-09-03 20:09 etc/ssl/ct_log_list.cnf
-rw-r--r-- 0/0 412 2024-09-03 20:09 etc/ssl/ct_log_list.cnf.dist
-rw-r--r-- 0/0 12328 2024-09-03 20:09 etc/ssl/openssl.cnf
-rw-r--r-- 0/0 12328 2024-09-03 20:09 etc/ssl/openssl.cnf.dist
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/ssl/private/
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/ssl1.1/
lrwxrwxrwx 0/0 0 2024-09-06 13:34 etc/ssl1.1/cert.pem -> /etc/ssl/cert.pem
lrwxrwxrwx 0/0 0 2024-09-06 13:34 etc/ssl1.1/certs -> /etc/ssl/certs
-rw-r--r-- 0/0 53 2024-05-06 09:38 etc/sysctl.conf
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/sysctl.d/
drwxr-xr-x 0/0 0 2024-09-06 13:34 etc/udhcpc/
-rw-r--r-- 0/0 287 2024-06-10 09:11 etc/udhcpc/udhcpc.conf
drwxr-xr-x 0/0 0 2024-09-06 13:34 home/
drwxr-xr-x 0/0 0 2024-09-06 13:34 lib/
drwxr-xr-x 0/0 0 2024-09-06 13:34 lib/apk/
drwxr-xr-x 0/0 0 2024-09-06 13:34 lib/apk/db/
-rw-r--r-- 0/0 14206 2024-09-06 13:34 lib/apk/db/installed
-rw------- 0/0 0 2024-09-06 13:34 lib/apk/db/lock
-rw-r--r-- 0/0 10240 2024-09-06 13:34 lib/apk/db/scripts.tar
-rw-r--r-- 0/0 76 2024-09-06 13:34 lib/apk/db/triggers
drwxr-xr-x 0/0 0 2024-09-06 13:34 lib/apk/exec/
drwxr-xr-x 0/0 0 2024-09-06 13:34 lib/firmware/
-rwxr-xr-x 0/0 649832 2024-03-15 12:43 lib/ld-musl-x86_64.so.1
-rwxr-xr-x 0/0 183992 2024-04-16 16:50 lib/libapk.so.2.14.0
lrwxrwxrwx 0/0 0 2024-09-06 13:34 lib/libc.musl-x86_64.so.1 -> ld-musl-x86_64.so.1
-rwxr-xr-x 0/0 4478288 2024-09-03 20:09 lib/libcrypto.so.3
-rwxr-xr-x 0/0 798424 2024-09-03 20:09 lib/libssl.so.3
lrwxrwxrwx 0/0 0 2024-09-06 13:34 lib/libz.so.1 -> libz.so.1.3.1
-rwxr-xr-x 0/0 100208 2024-04-12 09:40 lib/libz.so.1.3.1
drwxr-xr-x 0/0 0 2024-09-06 13:34 lib/modules-load.d/
drwxr-xr-x 0/0 0 2024-09-06 13:34 lib/sysctl.d/
-rw-r--r-- 0/0 1278 2024-05-06 09:38 lib/sysctl.d/00-alpine.conf
drwxr-xr-x 0/0 0 2024-09-06 13:34 media/
drwxr-xr-x 0/0 0 2024-09-06 13:34 media/cdrom/
drwxr-xr-x 0/0 0 2024-09-06 13:34 media/floppy/
drwxr-xr-x 0/0 0 2024-09-06 13:34 media/usb/
drwxr-xr-x 0/0 0 2024-09-06 13:34 mnt/
drwxr-xr-x 0/0 0 2024-09-06 13:34 opt/
dr-xr-xr-x 0/0 0 2024-09-06 13:34 proc/
drwx------ 0/0 0 2024-09-06 13:34 root/
drwxr-xr-x 0/0 0 2024-09-06 13:34 run/
drwxr-xr-x 0/0 0 2024-09-06 13:34 sbin/
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/acpid -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/adjtimex -> /bin/busybox
-rwxr-xr-x 0/0 69648 2024-04-16 16:50 sbin/apk
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/arp -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/blkid -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/blockdev -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/depmod -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/fbsplash -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/fdisk -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/findfs -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/fsck -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/fstrim -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/getty -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/halt -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/hwclock -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/ifconfig -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/ifdown -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/ifenslave -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/ifup -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/init -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/inotifyd -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/insmod -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/ip -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/ipaddr -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/iplink -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/ipneigh -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/iproute -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/iprule -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/iptunnel -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/klogd -> /bin/busybox
-rwxr-xr-x 0/0 393 2024-03-15 12:43 sbin/ldconfig
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/loadkmap -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/logread -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/losetup -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/lsmod -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/mdev -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/mkdosfs -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/mkfs.vfat -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/mkswap -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/modinfo -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/modprobe -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/nameif -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/nologin -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/pivot_root -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/poweroff -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/raidautorun -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/reboot -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/rmmod -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/route -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/setconsole -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/slattach -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/swapoff -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/swapon -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/switch_root -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/sysctl -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/syslogd -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/tunctl -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/udhcpc -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/vconfig -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/watchdog -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 sbin/zcip -> /bin/busybox
drwxr-xr-x 0/0 0 2024-09-06 13:34 srv/
drwxr-xr-x 0/0 0 2024-09-06 13:34 sys/
drwxrwxrwt 0/0 0 2024-09-06 13:34 tmp/
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/bin/
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/[ -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/[[ -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/awk -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/basename -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/bc -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/beep -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/blkdiscard -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/bunzip2 -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/bzcat -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/bzip2 -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/cal -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/chvt -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/cksum -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/clear -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/cmp -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/comm -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/cpio -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/crontab -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/cryptpw -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/cut -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/dc -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/deallocvt -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/diff -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/dirname -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/dos2unix -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/du -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/eject -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/env -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/expand -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/expr -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/factor -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/fallocate -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/find -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/flock -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/fold -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/free -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/fuser -> /bin/busybox
-rwxr-xr-x 0/0 35424 2024-03-15 12:43 usr/bin/getconf
-rwxr-xr-x 0/0 44888 2024-03-15 12:43 usr/bin/getent
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/groups -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/hd -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/head -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/hexdump -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/hostid -> /bin/busybox
-rwxr-xr-x 0/0 24520 2024-03-15 12:43 usr/bin/iconv
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/id -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/install -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/ipcrm -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/ipcs -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/killall -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/last -> /bin/busybox
-rwxr-xr-x 0/0 52 2024-03-15 12:43 usr/bin/ldd
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/less -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/logger -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/lsof -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/lsusb -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/lzcat -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/lzma -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/lzopcat -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/md5sum -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/mesg -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/microcom -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/mkfifo -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/mkpasswd -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/nc -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/nl -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/nmeter -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/nohup -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/nproc -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/nsenter -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/nslookup -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/od -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/openvt -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/passwd -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/paste -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/pgrep -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/pkill -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/pmap -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/printf -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/pscan -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/pstree -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/pwdx -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/readlink -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/realpath -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/renice -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/reset -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/resize -> /bin/busybox
-rwxr-xr-x 0/0 67576 2023-06-19 14:41 usr/bin/scanelf
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/seq -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/setkeycodes -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/setsid -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/sha1sum -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/sha256sum -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/sha3sum -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/sha512sum -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/showkey -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/shred -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/shuf -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/sort -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/split -> /bin/busybox
-rwxr-xr-x 0/0 14400 2024-06-10 09:11 usr/bin/ssl_client
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/strings -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/sum -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/tac -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/tail -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/tee -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/test -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/time -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/timeout -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/top -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/tr -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/traceroute -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/traceroute6 -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/tree -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/truncate -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/tty -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/ttysize -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/udhcpc6 -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/unexpand -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/uniq -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/unix2dos -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/unlink -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/unlzma -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/unlzop -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/unshare -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/unxz -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/unzip -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/uptime -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/uudecode -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/uuencode -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/vi -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/vlock -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/volname -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/wc -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/wget -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/which -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/who -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/whoami -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/whois -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/xargs -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/xxd -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/xzcat -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/bin/yes -> /bin/busybox
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/lib/
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/lib/engines-3/
-rwxr-xr-x 0/0 18504 2024-09-03 20:09 usr/lib/engines-3/afalg.so
-rwxr-xr-x 0/0 13864 2024-09-03 20:09 usr/lib/engines-3/capi.so
-rwxr-xr-x 0/0 47608 2024-09-03 20:09 usr/lib/engines-3/loader_attic.so
-rwxr-xr-x 0/0 22360 2024-09-03 20:09 usr/lib/engines-3/padlock.so
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/lib/libcrypto.so.3 -> ../../lib/libcrypto.so.3
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/lib/libssl.so.3 -> ../../lib/libssl.so.3
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/lib/modules-load.d/
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/lib/ossl-modules/
-rwxr-xr-x 0/0 96088 2024-09-03 20:09 usr/lib/ossl-modules/legacy.so
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/local/
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/local/bin/
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/local/lib/
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/local/share/
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/sbin/
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/add-shell -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/addgroup -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/adduser -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/arping -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/brctl -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/chpasswd -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/chroot -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/crond -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/delgroup -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/deluser -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/ether-wake -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/fbset -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/killall5 -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/loadfont -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/nanddump -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/nandwrite -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/nbd-client -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/ntpd -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/partprobe -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/rdate -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/rdev -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/readahead -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/remove-shell -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/rfkill -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/sendmail -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/setfont -> /bin/busybox
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/sbin/setlogcons -> /bin/busybox
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/share/
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/share/apk/
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/share/apk/keys/
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/share/apk/keys/aarch64/
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub
-rw-r--r-- 0/0 451 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub
-rw-r--r-- 0/0 451 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub
-rw-r--r-- 0/0 451 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub
-rw-r--r-- 0/0 451 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub
-rw-r--r-- 0/0 451 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub
-rw-r--r-- 0/0 451 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub
-rw-r--r-- 0/0 451 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub
-rw-r--r-- 0/0 451 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub
-rw-r--r-- 0/0 451 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub
-rw-r--r-- 0/0 800 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub
-rw-r--r-- 0/0 800 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub
-rw-r--r-- 0/0 800 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub
-rw-r--r-- 0/0 800 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub
-rw-r--r-- 0/0 800 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub
-rw-r--r-- 0/0 800 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub
-rw-r--r-- 0/0 800 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub
-rw-r--r-- 0/0 800 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/share/apk/keys/armhf/
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/share/apk/keys/armv7/
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/armv7/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/armv7/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/share/apk/keys/mips64/
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/mips64/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/share/apk/keys/ppc64le/
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/share/apk/keys/riscv64/
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/riscv64/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/riscv64/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/share/apk/keys/s390x/
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/share/apk/keys/x86/
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/share/apk/keys/x86_64/
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub
lrwxrwxrwx 0/0 0 2024-09-06 13:34 usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/share/man/
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/share/misc/
drwxr-xr-x 0/0 0 2024-09-06 13:34 usr/share/udhcpc/
-rwxr-xr-x 0/0 3688 2024-06-10 09:11 usr/share/udhcpc/default.script
drwxr-xr-x 0/0 0 2024-09-06 13:34 var/
drwxr-xr-x 0/0 0 2024-09-06 13:34 var/cache/
drwxr-xr-x 0/0 0 2024-09-06 13:34 var/cache/apk/
drwxr-xr-x 0/0 0 2024-09-06 13:34 var/cache/misc/
dr-xr-xr-x 0/0 0 2024-09-06 13:34 var/empty/
drwxr-xr-x 0/0 0 2024-09-06 13:34 var/lib/
drwxr-xr-x 0/0 0 2024-09-06 13:34 var/lib/misc/
drwxr-xr-x 0/0 0 2024-09-06 13:34 var/local/
drwxr-xr-x 0/0 0 2024-09-06 13:34 var/lock/
drwxr-xr-x 0/0 0 2024-09-06 13:34 var/lock/subsys/
drwxr-xr-x 0/0 0 2024-09-06 13:34 var/log/
drwxr-xr-x 0/0 0 2024-09-06 13:34 var/mail/
drwxr-xr-x 0/0 0 2024-09-06 13:34 var/opt/
lrwxrwxrwx 0/0 0 2024-09-06 13:34 var/run -> /run
drwxr-xr-x 0/0 0 2024-09-06 13:34 var/spool/
drwxr-xr-x 0/0 0 2024-09-06 13:34 var/spool/cron/
lrwxrwxrwx 0/0 0 2024-09-06 13:34 var/spool/cron/crontabs -> /etc/crontabs
lrwxrwxrwx 0/0 0 2024-09-06 13:34 var/spool/mail -> /var/mail
drwxrwxrwt 0/0 0 2024-09-06 13:34 var/tmp/$ LAYER_ZERO_DIFF=$(jq -r '.rootfs.diff_ids[0] | ltrimstr("sha256:")' $CONFIG)
$ echo "$LAYER_ZERO_DIFF $LAYER_ZERO" | sha256sum --check
blobs/sha256/63ca1fbb43ae5034640e5e6cb3e083e05c290072c5366fcaa9d62435a4cced85: Réussiapplication/vnd.oci.image.index.v1+jsonapplication/vnd.oci.image.manifest.v1+json
application/vnd.oci.image.layer.v1.tar
application/vnd.oci.image.layer.v1.tar+gzip
application/vnd.oci.image.layer.v1.tar+zstd
application/vnd.oci.image.config.v1+json
index.json
manifest(s)
config
layers
FROM ubuntu:latest
COPY apt.conf /ect/apt.conf
RUN apt update
container layer
= UNION FS
| aufs | Advanced multi layered Unification |
| vfs | Virtual File System |
| overlay/overlay2 | OverlayFS |
| fuse-overlay | Filesystem in UserSpacE |
| devicemapper | |
| btrfs | B-tree File System |
$ mkdir overlayfs && cd $_
$ mkdir {layer1,layer2,upperlayer,workdir,mountedfs}
$ echo "content for file1.txt in layer 1" > layer1/file1.txt;
$ echo "content for file1.txt in layer 2" > layer2/file1.txt;
$ echo "content for file2.txt in layer 1" > layer1/file2.txt;
$ echo "content for file3.txt in layer 2" > layer2/file3.txt;
$ tree
.
├── layer1
│ ├── file1.txt
│ └── file2.txt
├── layer2
│ ├── file1.txt
│ └── file3.txt
├── mountedfs
├── upperlayer
└── workdirPréparation du test :
$ mount \
-t overlay overlay \
-o lowerdir=layer1:layer2,upperdir=upperlayer,workdir=workdir \
mountedfs
mount: ***/overlayfs/mountedfs: seul le superutilisateur peut utiliser mount.
-t : driver type
lowerdir= mounted read only directories (leftmoss precedence)
upperdir= R/W directory
workdir= used by driver (must be on the same device with upperdir)
$ unshare -Urm
-U : Usernamespace
-r : map user as root-m : unshare mounts namespace
$ id
uid=0(root) gid=0(root) groupes=0(root),65534(nogroup)
# YEAAH !!
$ ls -la
total 28
drwxrwxr-x 7 root root 4096 sept. 12 13:34 .
drwxr-xr-x 60 root nogroup 4096 sept. 12 13:56 ..
drwxrwxr-x 2 root root 4096 sept. 12 13:35 layer1
drwxrwxr-x 2 root root 4096 sept. 12 13:35 layer2
drwxrwxr-x 2 root root 4096 sept. 12 13:34 mountedfs
drwxrwxr-x 2 root root 4096 sept. 12 13:34 upperlayer
drwxrwxr-x 2 root root 4096 sept. 12 13:34 workdir
$ mount \
-t overlay overlay \
-o lowerdir=layer1:layer2,upperdir=upperlayer,workdir=workdir \
mountedfs
$ tree
mountedfs
├── file1.txt
├── file2.txt
└── file3.txt
# vérifions la précédence
$ cat mountedfs/file1.txt
content for file1.txt in layer 1
# Ajoutons un fichier dans le repertoire d'union
$ echo "content for file4.txt" > mountedfs/file4.txt
$ tree
.
├── layer1
│ ├── file1.txt
│ └── file2.txt
├── layer2
│ ├── file1.txt
│ └── file3.txt
├── mountedfs
│ ├── file1.txt
│ ├── file2.txt
│ ├── file3.txt
│ └── file4.txt
├── upperlayer
│ └── file4.txt
└── workdir
└── work
# Maintenant supprimons un fichier
$ rm mountedfs/file1.txt
$ ls -la mountedfs
total 20
drwxrwxr-x 1 root root 4096 sept. 12 19:49 .
drwxrwxr-x 7 root root 4096 sept. 12 13:34 ..
-rw-rw-r-- 1 root root 33 sept. 12 13:35 file2.txt
-rw-rw-r-- 1 root root 33 sept. 12 13:35 file3.txt
-rw-rw-r-- 1 root root 22 sept. 12 19:46 file4.txt
$ ls -la layer1
total 16
drwxrwxr-x 2 root root 4096 sept. 12 13:35 .
drwxrwxr-x 7 root root 4096 sept. 12 13:34 ..
-rw-rw-r-- 1 root root 33 sept. 12 13:34 file1.txt
-rw-rw-r-- 1 root root 33 sept. 12 13:35 file2.txt
$ ls -la layer2
total 16
drwxrwxr-x 2 root root 4096 sept. 12 13:35 .
drwxrwxr-x 7 root root 4096 sept. 12 13:34 ..
-rw-rw-r-- 1 root root 33 sept. 12 13:34 file1.txt
-rw-rw-r-- 1 root root 33 sept. 12 13:35 file3.txt
$ ls -la upperlayer
total 12
drwxrwxr-x 2 root root 4096 sept. 12 19:49 .
drwxrwxr-x 7 root root 4096 sept. 12 13:34 ..
c--------- 2 root root 0, 0 sept. 12 19:49 file1.txt
-rw-rw-r-- 1 root root 22 sept. 12 19:46 file4.txt
Un format de description simple
Des layers immuables (donc partageables)
Un format de stockage extensible
Repose sur les fonctionnalités du kernel Linux
Un écosystème riche
https://gdevillele.github.io/engine/userguide/storagedriver/https://github.com/opencontainers/image-spec/blob/main/spec.md
https://docs.docker.com/storage/storagedriver/
https://blog.quarkslab.com/digging-into-the-oci-image-specification.html
https://integratedcode.us/2016/08/30/storage-drivers-in-docker-a-deep-dive/