diff --git a/obijupyterhub/Dockerfile b/obijupyterhub/Dockerfile index 76b1b60..f8854c0 100644 --- a/obijupyterhub/Dockerfile +++ b/obijupyterhub/Dockerfile @@ -1,40 +1,53 @@ -# ---------- Stage 1 : builder ---------- -FROM jupyter/base-notebook:latest AS builder +# ---------- Stage 1 : builder pour csvlens ---------- +FROM jupyter/base-notebook:latest AS rust-builder USER root -# Install system dependencies for R, build tools and Go/Rust +# Installer seulement les dépendances pour compiler csvlens RUN apt-get update && apt-get install -y \ - r-base r-base-dev \ - libcurl4-openssl-dev libssl-dev libxml2-dev \ - build-essential git curl \ - texlive-xetex texlive-fonts-recommended texlive-plain-generic \ - && apt-get clean && rm -rf /var/lib/apt/lists/* + curl build-essential zlib1g-dev unzip \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* -# Install R kernel + useful packages -RUN R -e "install.packages('IRkernel', repos='http://cran.rstudio.com/')" && \ - R -e "IRkernel::installspec(user = FALSE)" && \ - R -e "install.packages(c('tidyverse','vegan','ade4'), repos='http://cran.rstudio.com/')" - -# Install bash kernel -RUN pip install bash_kernel && python -m bash_kernel.install --sys-prefix +# Installer Rust et compiler csvlens +RUN curl https://sh.rustup.rs -sSf | bash -s -- -y +RUN . $HOME/.cargo/env && cargo install csvlens # Install obitools4 -RUN curl -L https://raw.githubusercontent.com/metabarcoding/obitools4/master/install_obitools.sh | bash +RUN TEMP=. curl -L https://raw.githubusercontent.com/metabarcoding/obitools4/master/install_obitools.sh \ + | bash -s -- --install-dir $HOME/obitools-build \ + && cp $HOME/obitools-build/bin/* /usr/local/bin +RUN ls -l /usr/local/bin -# Install csvkit -RUN pip install csvkit -# Install csvlens via Rust -RUN curl https://sh.rustup.rs -sSf | bash -s -- -y && \ - . $HOME/.cargo/env && \ - cargo install csvlens +# ---------- Stage 2 : image finale ---------- +FROM jupyter/base-notebook:latest -RUN apt-get update && apt-get install -y ruby ruby-dev build-essential \ - && gem install youplot +USER root -# Copy csvlens to /usr/local/bin for final use -RUN cp $HOME/.cargo/bin/csvlens /usr/local/bin/ +# Installer seulement les dépendances d'exécution (sans build-essential) +RUN apt-get update && apt-get install -y \ + r-base \ + libcurl4-openssl-dev libssl-dev libxml2-dev \ + curl \ + texlive-xetex texlive-fonts-recommended texlive-plain-generic \ + ruby ruby-dev \ + vim nano \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +# Installer R et packages +RUN R -e "install.packages(c('IRkernel','tidyverse','vegan','ade4','BiocManager','remotes'), repos='http://cran.rstudio.com/')" && \ + R -e "BiocManager::install('biomformat')" && \ + R -e "remotes::install_github('metabaRfactory/metabaR')" && \ + R -e "IRkernel::installspec(user = FALSE)" && \ + rm -rf /tmp/Rtmp* + +# Installer les autres outils +RUN pip install --no-cache-dir bash_kernel csvkit && \ + python -m bash_kernel.install --sys-prefix + +RUN gem install youplot # Set permissions for Jupyter user RUN mkdir -p /home/${NB_USER}/.local/share/jupyter && \ @@ -43,12 +56,14 @@ RUN mkdir -p /home/${NB_USER}/.local/share/jupyter && \ COPY start-notebook.sh /usr/local/bin/start-notebook.sh RUN chmod +x /usr/local/bin/start-notebook.sh +# Copier uniquement le binaire csvlens du builder +COPY --from=rust-builder /home/jovyan/.cargo/bin/csvlens /usr/local/bin/ +COPY --from=rust-builder /usr/local/bin/* /usr/local/bin/ + # Switch back to Jupyter user USER ${NB_UID}:${NB_GID} WORKDIR /home/${NB_USER}/work -# Environment variables ENV PATH="/home/${NB_USER}/work/course/bin:${PATH}" ENV R_LIBS_USER="/home/${NB_USER}/work/R_packages" ENV R_LIBS_SITE="/home/${NB_USER}/work/course/R_packages:/usr/local/lib/R/site-library:/usr/lib/R/site-library" - diff --git a/obijupyterhub/build_student.log b/obijupyterhub/build_student.log new file mode 100644 index 0000000..04b88a6 --- /dev/null +++ b/obijupyterhub/build_student.log @@ -0,0 +1,1993 @@ +#0 building with "orbstack" instance using docker driver + +#1 [internal] load build definition from Dockerfile +#1 transferring dockerfile: 2.49kB done +#1 DONE 0.0s + +#2 [internal] load metadata for docker.io/jupyter/base-notebook:latest +#2 DONE 0.0s + +#3 [internal] load .dockerignore +#3 transferring context: 2B done +#3 DONE 0.0s + +#4 [rust-builder 1/6] FROM docker.io/jupyter/base-notebook:latest +#4 CACHED + +#5 [internal] load build context +#5 transferring context: 39B done +#5 DONE 0.0s + +#6 [rust-builder 2/6] RUN apt-get update && apt-get install -y curl build-essential zlib1g-dev unzip && apt-get clean && rm -rf /var/lib/apt/lists/* +#6 0.390 Get:1 http://ports.ubuntu.com/ubuntu-ports jammy InRelease [270 kB] +#6 0.943 Get:2 http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease [128 kB] +#6 1.074 Get:3 http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease [127 kB] +#6 1.206 Get:4 http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease [129 kB] +#6 1.338 Get:5 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 Packages [1,758 kB] +#6 1.659 Get:6 http://ports.ubuntu.com/ubuntu-ports jammy/restricted arm64 Packages [24.2 kB] +#6 1.659 Get:7 http://ports.ubuntu.com/ubuntu-ports jammy/multiverse arm64 Packages [224 kB] +#6 1.673 Get:8 http://ports.ubuntu.com/ubuntu-ports jammy/universe arm64 Packages [17.2 MB] +#6 2.493 Get:9 http://ports.ubuntu.com/ubuntu-ports jammy-updates/restricted arm64 Packages [5,751 kB] +#6 2.623 Get:10 http://ports.ubuntu.com/ubuntu-ports jammy-updates/universe arm64 Packages [1,618 kB] +#6 2.662 Get:11 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 Packages [3,594 kB] +#6 2.752 Get:12 http://ports.ubuntu.com/ubuntu-ports jammy-updates/multiverse arm64 Packages [46.0 kB] +#6 2.757 Get:13 http://ports.ubuntu.com/ubuntu-ports jammy-backports/universe arm64 Packages [33.3 kB] +#6 2.757 Get:14 http://ports.ubuntu.com/ubuntu-ports jammy-backports/main arm64 Packages [83.5 kB] +#6 2.758 Get:15 http://ports.ubuntu.com/ubuntu-ports jammy-security/universe arm64 Packages [1,317 kB] +#6 2.781 Get:16 http://ports.ubuntu.com/ubuntu-ports jammy-security/multiverse arm64 Packages [39.5 kB] +#6 2.783 Get:17 http://ports.ubuntu.com/ubuntu-ports jammy-security/main arm64 Packages [3,258 kB] +#6 2.861 Get:18 http://ports.ubuntu.com/ubuntu-ports jammy-security/restricted arm64 Packages [5,552 kB] +#6 3.865 Fetched 41.2 MB in 4s (11.0 MB/s) +#6 3.865 Reading package lists... +#6 4.530 Reading package lists... +#6 5.171 Building dependency tree... +#6 5.313 Reading state information... +#6 5.475 The following additional packages will be installed: +#6 5.475 binutils binutils-aarch64-linux-gnu binutils-common cpp cpp-11 dirmngr +#6 5.475 dpkg-dev fakeroot fontconfig-config g++ g++-11 gcc gcc-11 gcc-11-base +#6 5.475 gcc-12-base gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client +#6 5.475 gpg-wks-server gpgconf gpgsm gpgv libalgorithm-diff-perl +#6 5.475 libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan6 libassuan0 +#6 5.475 libatomic1 libbinutils libbrotli1 libbsd0 libc-dev-bin libc-devtools libc6 +#6 5.475 libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libcurl4 libdeflate0 +#6 5.475 libdpkg-perl libexpat1 libfakeroot libfile-fcntllock-perl libfontconfig1 +#6 5.475 libfreetype6 libgcc-11-dev libgcc-s1 libgd3 libgdbm-compat4 libgdbm6 +#6 5.475 libgomp1 libhwasan0 libisl23 libitm1 libjbig0 libjpeg-turbo8 libjpeg8 +#6 5.475 libksba8 libldap-2.5-0 libldap-common liblocale-gettext-perl liblsan0 libmd0 +#6 5.475 libmpc3 libmpfr6 libnghttp2-14 libnpth0 libnsl-dev libperl5.34 libpng16-16 +#6 5.475 libreadline8 librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db +#6 5.475 libsqlite3-0 libssh-4 libstdc++-11-dev libstdc++6 libtiff5 libtirpc-dev +#6 5.475 libtsan0 libubsan1 libwebp7 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 +#6 5.475 libxpm4 linux-libc-dev lto-disabled-list make manpages manpages-dev netbase +#6 5.475 patch perl perl-base perl-modules-5.34 pinentry-curses readline-common +#6 5.476 rpcsvc-proto ucf xz-utils +#6 5.476 Suggested packages: +#6 5.476 binutils-doc cpp-doc gcc-11-locales dbus-user-session libpam-systemd +#6 5.476 pinentry-gnome3 tor debian-keyring gcc-11-doc gcc-multilib autoconf automake +#6 5.476 libtool flex bison gdb gcc-doc parcimonie xloadimage scdaemon glibc-doc git +#6 5.476 bzr libgd-tools gdbm-l10n libsasl2-modules-gssapi-mit +#6 5.476 | libsasl2-modules-gssapi-heimdal libsasl2-modules-ldap libsasl2-modules-otp +#6 5.476 libsasl2-modules-sql libstdc++-11-doc make-doc man-browser ed diffutils-doc +#6 5.476 perl-doc libterm-readline-gnu-perl | libterm-readline-perl-perl +#6 5.476 libtap-harness-archive-perl pinentry-doc readline-doc zip +#6 5.476 Recommended packages: +#6 5.476 libnss-nis libnss-nisplus +#6 5.591 The following NEW packages will be installed: +#6 5.591 binutils binutils-aarch64-linux-gnu binutils-common build-essential cpp +#6 5.591 cpp-11 curl dirmngr dpkg-dev fakeroot fontconfig-config g++ g++-11 gcc +#6 5.591 gcc-11 gcc-11-base gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client +#6 5.591 gpg-wks-server gpgconf gpgsm libalgorithm-diff-perl +#6 5.591 libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan6 libassuan0 +#6 5.591 libatomic1 libbinutils libbrotli1 libbsd0 libc-dev-bin libc-devtools +#6 5.591 libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libcurl4 libdeflate0 +#6 5.591 libdpkg-perl libexpat1 libfakeroot libfile-fcntllock-perl libfontconfig1 +#6 5.591 libfreetype6 libgcc-11-dev libgd3 libgdbm-compat4 libgdbm6 libgomp1 +#6 5.591 libhwasan0 libisl23 libitm1 libjbig0 libjpeg-turbo8 libjpeg8 libksba8 +#6 5.591 libldap-2.5-0 libldap-common liblocale-gettext-perl liblsan0 libmd0 libmpc3 +#6 5.591 libmpfr6 libnghttp2-14 libnpth0 libnsl-dev libperl5.34 libpng16-16 +#6 5.591 libreadline8 librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db +#6 5.591 libsqlite3-0 libssh-4 libstdc++-11-dev libtiff5 libtirpc-dev libtsan0 +#6 5.591 libubsan1 libwebp7 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxpm4 +#6 5.591 linux-libc-dev lto-disabled-list make manpages manpages-dev netbase patch +#6 5.591 perl perl-modules-5.34 pinentry-curses readline-common rpcsvc-proto ucf +#6 5.591 unzip xz-utils zlib1g-dev +#6 5.592 The following packages will be upgraded: +#6 5.592 gcc-12-base gpgv libc6 libgcc-s1 libstdc++6 perl-base +#6 5.804 6 upgraded, 108 newly installed, 0 to remove and 44 not upgraded. +#6 5.804 Need to get 86.4 MB of archives. +#6 5.804 After this operation, 280 MB of additional disk space will be used. +#6 5.804 Get:1 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 perl-base arm64 5.34.0-3ubuntu1.5 [1,710 kB] +#6 6.620 Get:2 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 gcc-12-base arm64 12.3.0-1ubuntu1~22.04.2 [20.6 kB] +#6 6.623 Get:3 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libgcc-s1 arm64 12.3.0-1ubuntu1~22.04.2 [39.7 kB] +#6 6.624 Get:4 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libstdc++6 arm64 12.3.0-1ubuntu1~22.04.2 [661 kB] +#6 6.649 Get:5 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libc6 arm64 2.35-0ubuntu3.11 [2,709 kB] +#6 6.785 Get:6 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 liblocale-gettext-perl arm64 1.07-4build3 [16.9 kB] +#6 6.785 Get:7 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 perl-modules-5.34 all 5.34.0-3ubuntu1.5 [2,977 kB] +#6 6.858 Get:8 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libgdbm6 arm64 1.23-1 [34.1 kB] +#6 6.859 Get:9 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libgdbm-compat4 arm64 1.23-1 [6,294 B] +#6 6.859 Get:10 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libperl5.34 arm64 5.34.0-3ubuntu1.5 [4,721 kB] +#6 7.075 Get:11 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 perl arm64 5.34.0-3ubuntu1.5 [232 kB] +#6 7.088 Get:12 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 gpgv arm64 2.2.27-3ubuntu2.4 [134 kB] +#6 7.096 Get:13 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libmd0 arm64 1.0.4-1build1 [23.8 kB] +#6 7.096 Get:14 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libbsd0 arm64 0.11.5-1 [43.7 kB] +#6 7.097 Get:15 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libexpat1 arm64 2.4.7-1ubuntu0.6 [77.8 kB] +#6 7.098 Get:16 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 readline-common all 8.1.2-1 [53.5 kB] +#6 7.098 Get:17 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libreadline8 arm64 8.1.2-1 [153 kB] +#6 7.106 Get:18 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libsqlite3-0 arm64 3.37.2-2ubuntu0.5 [636 kB] +#6 7.115 Get:19 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 netbase all 6.3 [12.9 kB] +#6 7.173 Get:20 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 ucf all 3.0043 [56.1 kB] +#6 7.188 Get:21 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libnghttp2-14 arm64 1.43.0-1ubuntu0.2 [76.0 kB] +#6 7.192 Get:22 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libpng16-16 arm64 1.6.37-3build5 [189 kB] +#6 7.298 Get:23 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libxau6 arm64 1:1.0.9-1build5 [7,624 B] +#6 7.301 Get:24 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libxdmcp6 arm64 1:1.1.3-0ubuntu5 [10.8 kB] +#6 7.301 Get:25 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libxcb1 arm64 1.14-3ubuntu3 [49.0 kB] +#6 7.303 Get:26 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libx11-data all 2:1.7.5-1ubuntu0.3 [120 kB] +#6 7.376 Get:27 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libx11-6 arm64 2:1.7.5-1ubuntu0.3 [661 kB] +#6 7.392 Get:28 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 manpages all 5.10-1ubuntu1 [1,375 kB] +#6 7.412 Get:29 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 xz-utils arm64 5.2.5-2ubuntu1 [84.4 kB] +#6 7.414 Get:30 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 binutils-common arm64 2.38-4ubuntu2.10 [223 kB] +#6 7.424 Get:31 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libbinutils arm64 2.38-4ubuntu2.10 [824 kB] +#6 7.479 Get:32 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libctf-nobfd0 arm64 2.38-4ubuntu2.10 [109 kB] +#6 7.496 Get:33 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libctf0 arm64 2.38-4ubuntu2.10 [103 kB] +#6 7.502 Get:34 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 binutils-aarch64-linux-gnu arm64 2.38-4ubuntu2.10 [3,225 kB] +#6 7.600 Get:35 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 binutils arm64 2.38-4ubuntu2.10 [3,160 B] +#6 7.606 Get:36 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libc-dev-bin arm64 2.35-0ubuntu3.11 [19.7 kB] +#6 7.606 Get:37 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 linux-libc-dev arm64 5.15.0-161.171 [1,284 kB] +#6 7.777 Get:38 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libcrypt-dev arm64 1:4.4.27-1 [119 kB] +#6 7.784 Get:39 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 rpcsvc-proto arm64 1.4.2-0ubuntu6 [65.4 kB] +#6 7.794 Get:40 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libtirpc-dev arm64 1.3.2-2ubuntu0.1 [199 kB] +#6 7.801 Get:41 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libnsl-dev arm64 1.3.0-2build2 [72.1 kB] +#6 7.807 Get:42 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libc6-dev arm64 2.35-0ubuntu3.11 [1,548 kB] +#6 7.829 Get:43 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 gcc-11-base arm64 11.4.0-1ubuntu1~22.04.2 [20.8 kB] +#6 7.830 Get:44 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libisl23 arm64 0.24-2build1 [689 kB] +#6 7.837 Get:45 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libmpfr6 arm64 4.1.0-3build3 [245 kB] +#6 7.839 Get:46 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libmpc3 arm64 1.2.1-2build1 [48.1 kB] +#6 7.882 Get:47 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 cpp-11 arm64 11.4.0-1ubuntu1~22.04.2 [9,717 kB] +#6 8.119 Get:48 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 cpp arm64 4:11.2.0-1ubuntu1 [27.7 kB] +#6 8.121 Get:49 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libcc1-0 arm64 12.3.0-1ubuntu1~22.04.2 [45.1 kB] +#6 8.123 Get:50 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libgomp1 arm64 12.3.0-1ubuntu1~22.04.2 [124 kB] +#6 8.124 Get:51 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libitm1 arm64 12.3.0-1ubuntu1~22.04.2 [28.5 kB] +#6 8.125 Get:52 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libatomic1 arm64 12.3.0-1ubuntu1~22.04.2 [10.8 kB] +#6 8.125 Get:53 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libasan6 arm64 11.4.0-1ubuntu1~22.04.2 [2,236 kB] +#6 8.171 Get:54 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 liblsan0 arm64 12.3.0-1ubuntu1~22.04.2 [1,038 kB] +#6 8.192 Get:55 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libtsan0 arm64 11.4.0-1ubuntu1~22.04.2 [2,239 kB] +#6 8.246 Get:56 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libubsan1 arm64 12.3.0-1ubuntu1~22.04.2 [967 kB] +#6 8.271 Get:57 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libhwasan0 arm64 12.3.0-1ubuntu1~22.04.2 [1,120 kB] +#6 8.295 Get:58 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libgcc-11-dev arm64 11.4.0-1ubuntu1~22.04.2 [1,145 kB] +#6 8.320 Get:59 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 gcc-11 arm64 11.4.0-1ubuntu1~22.04.2 [19.5 MB] +#6 8.902 Get:60 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 gcc arm64 4:11.2.0-1ubuntu1 [5,128 B] +#6 8.902 Get:61 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libstdc++-11-dev arm64 11.4.0-1ubuntu1~22.04.2 [2,088 kB] +#6 8.932 Get:62 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 g++-11 arm64 11.4.0-1ubuntu1~22.04.2 [11.2 MB] +#6 9.207 Get:63 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 g++ arm64 4:11.2.0-1ubuntu1 [1,394 B] +#6 9.212 Get:64 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 make arm64 4.3-4.1build1 [177 kB] +#6 9.226 Get:65 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libdpkg-perl all 1.21.1ubuntu2.6 [237 kB] +#6 9.230 Get:66 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 patch arm64 2.7.6-7build2 [105 kB] +#6 9.235 Get:67 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 lto-disabled-list all 24 [12.5 kB] +#6 9.236 Get:68 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 dpkg-dev all 1.21.1ubuntu2.6 [922 kB] +#6 9.246 Get:69 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 build-essential arm64 12.9ubuntu3 [4,740 B] +#6 9.246 Get:70 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libbrotli1 arm64 1.0.9-2build6 [314 kB] +#6 9.249 Get:71 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libsasl2-modules-db arm64 2.1.27+dfsg2-3ubuntu1.2 [21.1 kB] +#6 9.304 Get:72 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libsasl2-2 arm64 2.1.27+dfsg2-3ubuntu1.2 [55.6 kB] +#6 9.322 Get:73 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libldap-2.5-0 arm64 2.5.19+dfsg-0ubuntu0.22.04.1 [181 kB] +#6 9.328 Get:74 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 librtmp1 arm64 2.4+20151223.gitfa8646d.1-2build4 [59.2 kB] +#6 9.329 Get:75 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libssh-4 arm64 0.9.6-2ubuntu0.22.04.5 [185 kB] +#6 9.401 Get:76 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libcurl4 arm64 7.81.0-1ubuntu1.21 [284 kB] +#6 9.409 Get:77 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 curl arm64 7.81.0-1ubuntu1.21 [190 kB] +#6 9.414 Get:78 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libassuan0 arm64 2.5.5-1build1 [36.5 kB] +#6 9.414 Get:79 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 gpgconf arm64 2.2.27-3ubuntu2.4 [92.9 kB] +#6 9.415 Get:80 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libksba8 arm64 1.6.0-2ubuntu0.2 [117 kB] +#6 9.418 Get:81 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libnpth0 arm64 1.6-3build2 [8,156 B] +#6 9.418 Get:82 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 dirmngr arm64 2.2.27-3ubuntu2.4 [289 kB] +#6 9.426 Get:83 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libfakeroot arm64 1.28-1ubuntu1 [31.5 kB] +#6 9.426 Get:84 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 fakeroot arm64 1.28-1ubuntu1 [60.5 kB] +#6 9.498 Get:85 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 fontconfig-config all 2.13.1-4.2ubuntu5 [29.1 kB] +#6 9.507 Get:86 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 gnupg-l10n all 2.2.27-3ubuntu2.4 [54.7 kB] +#6 9.513 Get:87 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 gnupg-utils arm64 2.2.27-3ubuntu2.4 [304 kB] +#6 9.520 Get:88 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 gpg arm64 2.2.27-3ubuntu2.4 [507 kB] +#6 9.531 Get:89 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 pinentry-curses arm64 1.1.1-1build2 [33.5 kB] +#6 9.531 Get:90 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 gpg-agent arm64 2.2.27-3ubuntu2.4 [204 kB] +#6 9.535 Get:91 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 gpg-wks-client arm64 2.2.27-3ubuntu2.4 [61.4 kB] +#6 9.536 Get:92 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 gpg-wks-server arm64 2.2.27-3ubuntu2.4 [56.8 kB] +#6 9.537 Get:93 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 gpgsm arm64 2.2.27-3ubuntu2.4 [192 kB] +#6 9.594 Get:94 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 gnupg all 2.2.27-3ubuntu2.4 [315 kB] +#6 9.605 Get:95 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libalgorithm-diff-perl all 1.201-1 [41.8 kB] +#6 9.610 Get:96 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libalgorithm-diff-xs-perl arm64 0.04-6build3 [11.7 kB] +#6 9.625 Get:97 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libalgorithm-merge-perl all 0.08-3 [12.0 kB] +#6 9.632 Get:98 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libfreetype6 arm64 2.11.1+dfsg-1ubuntu0.3 [382 kB] +#6 9.641 Get:99 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libfontconfig1 arm64 2.13.1-4.2ubuntu5 [135 kB] +#6 9.647 Get:100 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libjpeg-turbo8 arm64 2.1.2-0ubuntu1 [129 kB] +#6 9.648 Get:101 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libjpeg8 arm64 8c-2ubuntu10 [2,264 B] +#6 9.847 Get:102 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libdeflate0 arm64 1.10-2 [69.1 kB] +#6 10.19 Get:103 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libjbig0 arm64 2.1-3.1ubuntu0.22.04.1 [29.1 kB] +#6 10.22 Get:104 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libwebp7 arm64 1.2.2-2ubuntu0.22.04.2 [193 kB] +#6 10.40 Get:105 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libtiff5 arm64 4.3.0-6ubuntu0.12 [181 kB] +#6 10.48 Get:106 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libxpm4 arm64 1:3.5.12-1ubuntu0.22.04.2 [35.5 kB] +#6 10.49 Get:107 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libgd3 arm64 2.3.0-2ubuntu2.3 [127 kB] +#6 10.52 Get:108 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libc-devtools arm64 2.35-0ubuntu3.11 [27.8 kB] +#6 10.53 Get:109 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 libfile-fcntllock-perl arm64 0.22-3build7 [33.7 kB] +#6 10.54 Get:110 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libldap-common all 2.5.19+dfsg-0ubuntu0.22.04.1 [16.1 kB] +#6 10.54 Get:111 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 libsasl2-modules arm64 2.1.27+dfsg2-3ubuntu1.2 [68.4 kB] +#6 10.57 Get:112 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 manpages-dev all 5.10-1ubuntu1 [2,309 kB] +#6 10.80 Get:113 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 unzip arm64 6.0-26ubuntu3.2 [171 kB] +#6 10.81 Get:114 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 zlib1g-dev arm64 1:1.2.11.dfsg-2ubuntu9.2 [163 kB] +#6 10.92 debconf: delaying package configuration, since apt-utils is not installed +#6 10.94 Fetched 86.4 MB in 5s (16.6 MB/s) +#6 11.09 (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 5857 files and directories currently installed.) +#6 11.09 Preparing to unpack .../perl-base_5.34.0-3ubuntu1.5_arm64.deb ... +#6 11.23 Unpacking perl-base (5.34.0-3ubuntu1.5) over (5.34.0-3ubuntu1.2) ... +#6 11.45 Setting up perl-base (5.34.0-3ubuntu1.5) ... +#6 11.50 (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 5857 files and directories currently installed.) +#6 11.50 Preparing to unpack .../gcc-12-base_12.3.0-1ubuntu1~22.04.2_arm64.deb ... +#6 11.51 Unpacking gcc-12-base:arm64 (12.3.0-1ubuntu1~22.04.2) over (12.3.0-1ubuntu1~22.04) ... +#6 11.54 Setting up gcc-12-base:arm64 (12.3.0-1ubuntu1~22.04.2) ... +#6 11.64 (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 5857 files and directories currently installed.) +#6 11.64 Preparing to unpack .../libgcc-s1_12.3.0-1ubuntu1~22.04.2_arm64.deb ... +#6 11.70 Unpacking libgcc-s1:arm64 (12.3.0-1ubuntu1~22.04.2) over (12.3.0-1ubuntu1~22.04) ... +#6 11.77 Setting up libgcc-s1:arm64 (12.3.0-1ubuntu1~22.04.2) ... +#6 11.88 (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 5857 files and directories currently installed.) +#6 11.88 Preparing to unpack .../libstdc++6_12.3.0-1ubuntu1~22.04.2_arm64.deb ... +#6 11.91 Unpacking libstdc++6:arm64 (12.3.0-1ubuntu1~22.04.2) over (12.3.0-1ubuntu1~22.04) ... +#6 11.99 Setting up libstdc++6:arm64 (12.3.0-1ubuntu1~22.04.2) ... +#6 12.04 (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 5857 files and directories currently installed.) +#6 12.04 Preparing to unpack .../libc6_2.35-0ubuntu3.11_arm64.deb ... +#6 12.11 Unpacking libc6:arm64 (2.35-0ubuntu3.11) over (2.35-0ubuntu3.4) ... +#6 12.25 Setting up libc6:arm64 (2.35-0ubuntu3.11) ... +#6 13.36 Selecting previously unselected package liblocale-gettext-perl. +#6 13.36 (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 5857 files and directories currently installed.) +#6 13.36 Preparing to unpack .../0-liblocale-gettext-perl_1.07-4build3_arm64.deb ... +#6 13.37 Unpacking liblocale-gettext-perl (1.07-4build3) ... +#6 13.41 Selecting previously unselected package perl-modules-5.34. +#6 13.41 Preparing to unpack .../1-perl-modules-5.34_5.34.0-3ubuntu1.5_all.deb ... +#6 13.42 Unpacking perl-modules-5.34 (5.34.0-3ubuntu1.5) ... +#6 13.59 Selecting previously unselected package libgdbm6:arm64. +#6 13.59 Preparing to unpack .../2-libgdbm6_1.23-1_arm64.deb ... +#6 13.60 Unpacking libgdbm6:arm64 (1.23-1) ... +#6 13.64 Selecting previously unselected package libgdbm-compat4:arm64. +#6 13.64 Preparing to unpack .../3-libgdbm-compat4_1.23-1_arm64.deb ... +#6 13.64 Unpacking libgdbm-compat4:arm64 (1.23-1) ... +#6 13.67 Selecting previously unselected package libperl5.34:arm64. +#6 13.67 Preparing to unpack .../4-libperl5.34_5.34.0-3ubuntu1.5_arm64.deb ... +#6 13.68 Unpacking libperl5.34:arm64 (5.34.0-3ubuntu1.5) ... +#6 13.85 Selecting previously unselected package perl. +#6 13.85 Preparing to unpack .../5-perl_5.34.0-3ubuntu1.5_arm64.deb ... +#6 13.88 Unpacking perl (5.34.0-3ubuntu1.5) ... +#6 13.96 Preparing to unpack .../6-gpgv_2.2.27-3ubuntu2.4_arm64.deb ... +#6 14.03 Unpacking gpgv (2.2.27-3ubuntu2.4) over (2.2.27-3ubuntu2.1) ... +#6 14.07 Setting up gpgv (2.2.27-3ubuntu2.4) ... +#6 14.12 Selecting previously unselected package libmd0:arm64. +#6 14.12 (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 7866 files and directories currently installed.) +#6 14.13 Preparing to unpack .../000-libmd0_1.0.4-1build1_arm64.deb ... +#6 14.13 Unpacking libmd0:arm64 (1.0.4-1build1) ... +#6 14.16 Selecting previously unselected package libbsd0:arm64. +#6 14.16 Preparing to unpack .../001-libbsd0_0.11.5-1_arm64.deb ... +#6 14.17 Unpacking libbsd0:arm64 (0.11.5-1) ... +#6 14.28 Selecting previously unselected package libexpat1:arm64. +#6 14.28 Preparing to unpack .../002-libexpat1_2.4.7-1ubuntu0.6_arm64.deb ... +#6 14.29 Unpacking libexpat1:arm64 (2.4.7-1ubuntu0.6) ... +#6 14.39 Selecting previously unselected package readline-common. +#6 14.40 Preparing to unpack .../003-readline-common_8.1.2-1_all.deb ... +#6 14.40 Unpacking readline-common (8.1.2-1) ... +#6 14.51 Selecting previously unselected package libreadline8:arm64. +#6 14.51 Preparing to unpack .../004-libreadline8_8.1.2-1_arm64.deb ... +#6 14.52 Unpacking libreadline8:arm64 (8.1.2-1) ... +#6 14.63 Selecting previously unselected package libsqlite3-0:arm64. +#6 14.64 Preparing to unpack .../005-libsqlite3-0_3.37.2-2ubuntu0.5_arm64.deb ... +#6 14.64 Unpacking libsqlite3-0:arm64 (3.37.2-2ubuntu0.5) ... +#6 14.72 Selecting previously unselected package netbase. +#6 14.72 Preparing to unpack .../006-netbase_6.3_all.deb ... +#6 14.76 Unpacking netbase (6.3) ... +#6 14.87 Selecting previously unselected package ucf. +#6 14.88 Preparing to unpack .../007-ucf_3.0043_all.deb ... +#6 14.88 Moving old data out of the way +#6 14.88 Unpacking ucf (3.0043) ... +#6 14.99 Selecting previously unselected package libnghttp2-14:arm64. +#6 15.00 Preparing to unpack .../008-libnghttp2-14_1.43.0-1ubuntu0.2_arm64.deb ... +#6 15.00 Unpacking libnghttp2-14:arm64 (1.43.0-1ubuntu0.2) ... +#6 15.06 Selecting previously unselected package libpng16-16:arm64. +#6 15.06 Preparing to unpack .../009-libpng16-16_1.6.37-3build5_arm64.deb ... +#6 15.07 Unpacking libpng16-16:arm64 (1.6.37-3build5) ... +#6 15.13 Selecting previously unselected package libxau6:arm64. +#6 15.13 Preparing to unpack .../010-libxau6_1%3a1.0.9-1build5_arm64.deb ... +#6 15.14 Unpacking libxau6:arm64 (1:1.0.9-1build5) ... +#6 15.25 Selecting previously unselected package libxdmcp6:arm64. +#6 15.25 Preparing to unpack .../011-libxdmcp6_1%3a1.1.3-0ubuntu5_arm64.deb ... +#6 15.25 Unpacking libxdmcp6:arm64 (1:1.1.3-0ubuntu5) ... +#6 15.35 Selecting previously unselected package libxcb1:arm64. +#6 15.35 Preparing to unpack .../012-libxcb1_1.14-3ubuntu3_arm64.deb ... +#6 15.35 Unpacking libxcb1:arm64 (1.14-3ubuntu3) ... +#6 15.38 Selecting previously unselected package libx11-data. +#6 15.38 Preparing to unpack .../013-libx11-data_2%3a1.7.5-1ubuntu0.3_all.deb ... +#6 15.39 Unpacking libx11-data (2:1.7.5-1ubuntu0.3) ... +#6 15.46 Selecting previously unselected package libx11-6:arm64. +#6 15.46 Preparing to unpack .../014-libx11-6_2%3a1.7.5-1ubuntu0.3_arm64.deb ... +#6 15.47 Unpacking libx11-6:arm64 (2:1.7.5-1ubuntu0.3) ... +#6 15.50 Selecting previously unselected package manpages. +#6 15.50 Preparing to unpack .../015-manpages_5.10-1ubuntu1_all.deb ... +#6 15.50 Unpacking manpages (5.10-1ubuntu1) ... +#6 15.59 Selecting previously unselected package xz-utils. +#6 15.59 Preparing to unpack .../016-xz-utils_5.2.5-2ubuntu1_arm64.deb ... +#6 15.60 Unpacking xz-utils (5.2.5-2ubuntu1) ... +#6 15.61 Selecting previously unselected package binutils-common:arm64. +#6 15.61 Preparing to unpack .../017-binutils-common_2.38-4ubuntu2.10_arm64.deb ... +#6 15.62 Unpacking binutils-common:arm64 (2.38-4ubuntu2.10) ... +#6 15.68 Selecting previously unselected package libbinutils:arm64. +#6 15.68 Preparing to unpack .../018-libbinutils_2.38-4ubuntu2.10_arm64.deb ... +#6 15.69 Unpacking libbinutils:arm64 (2.38-4ubuntu2.10) ... +#6 15.73 Selecting previously unselected package libctf-nobfd0:arm64. +#6 15.73 Preparing to unpack .../019-libctf-nobfd0_2.38-4ubuntu2.10_arm64.deb ... +#6 15.73 Unpacking libctf-nobfd0:arm64 (2.38-4ubuntu2.10) ... +#6 15.75 Selecting previously unselected package libctf0:arm64. +#6 15.75 Preparing to unpack .../020-libctf0_2.38-4ubuntu2.10_arm64.deb ... +#6 15.75 Unpacking libctf0:arm64 (2.38-4ubuntu2.10) ... +#6 15.77 Selecting previously unselected package binutils-aarch64-linux-gnu. +#6 15.77 Preparing to unpack .../021-binutils-aarch64-linux-gnu_2.38-4ubuntu2.10_arm64.deb ... +#6 15.78 Unpacking binutils-aarch64-linux-gnu (2.38-4ubuntu2.10) ... +#6 15.87 Selecting previously unselected package binutils. +#6 15.87 Preparing to unpack .../022-binutils_2.38-4ubuntu2.10_arm64.deb ... +#6 15.87 Unpacking binutils (2.38-4ubuntu2.10) ... +#6 15.96 Selecting previously unselected package libc-dev-bin. +#6 15.96 Preparing to unpack .../023-libc-dev-bin_2.35-0ubuntu3.11_arm64.deb ... +#6 15.96 Unpacking libc-dev-bin (2.35-0ubuntu3.11) ... +#6 15.98 Selecting previously unselected package linux-libc-dev:arm64. +#6 15.98 Preparing to unpack .../024-linux-libc-dev_5.15.0-161.171_arm64.deb ... +#6 15.99 Unpacking linux-libc-dev:arm64 (5.15.0-161.171) ... +#6 16.07 Selecting previously unselected package libcrypt-dev:arm64. +#6 16.07 Preparing to unpack .../025-libcrypt-dev_1%3a4.4.27-1_arm64.deb ... +#6 16.08 Unpacking libcrypt-dev:arm64 (1:4.4.27-1) ... +#6 16.09 Selecting previously unselected package rpcsvc-proto. +#6 16.10 Preparing to unpack .../026-rpcsvc-proto_1.4.2-0ubuntu6_arm64.deb ... +#6 16.10 Unpacking rpcsvc-proto (1.4.2-0ubuntu6) ... +#6 16.12 Selecting previously unselected package libtirpc-dev:arm64. +#6 16.12 Preparing to unpack .../027-libtirpc-dev_1.3.2-2ubuntu0.1_arm64.deb ... +#6 16.12 Unpacking libtirpc-dev:arm64 (1.3.2-2ubuntu0.1) ... +#6 16.14 Selecting previously unselected package libnsl-dev:arm64. +#6 16.14 Preparing to unpack .../028-libnsl-dev_1.3.0-2build2_arm64.deb ... +#6 16.14 Unpacking libnsl-dev:arm64 (1.3.0-2build2) ... +#6 16.16 Selecting previously unselected package libc6-dev:arm64. +#6 16.16 Preparing to unpack .../029-libc6-dev_2.35-0ubuntu3.11_arm64.deb ... +#6 16.16 Unpacking libc6-dev:arm64 (2.35-0ubuntu3.11) ... +#6 16.24 Selecting previously unselected package gcc-11-base:arm64. +#6 16.24 Preparing to unpack .../030-gcc-11-base_11.4.0-1ubuntu1~22.04.2_arm64.deb ... +#6 16.24 Unpacking gcc-11-base:arm64 (11.4.0-1ubuntu1~22.04.2) ... +#6 16.32 Selecting previously unselected package libisl23:arm64. +#6 16.32 Preparing to unpack .../031-libisl23_0.24-2build1_arm64.deb ... +#6 16.32 Unpacking libisl23:arm64 (0.24-2build1) ... +#6 16.40 Selecting previously unselected package libmpfr6:arm64. +#6 16.40 Preparing to unpack .../032-libmpfr6_4.1.0-3build3_arm64.deb ... +#6 16.40 Unpacking libmpfr6:arm64 (4.1.0-3build3) ... +#6 16.43 Selecting previously unselected package libmpc3:arm64. +#6 16.43 Preparing to unpack .../033-libmpc3_1.2.1-2build1_arm64.deb ... +#6 16.46 Unpacking libmpc3:arm64 (1.2.1-2build1) ... +#6 16.50 Selecting previously unselected package cpp-11. +#6 16.50 Preparing to unpack .../034-cpp-11_11.4.0-1ubuntu1~22.04.2_arm64.deb ... +#6 16.50 Unpacking cpp-11 (11.4.0-1ubuntu1~22.04.2) ... +#6 16.65 Selecting previously unselected package cpp. +#6 16.65 Preparing to unpack .../035-cpp_4%3a11.2.0-1ubuntu1_arm64.deb ... +#6 16.66 Unpacking cpp (4:11.2.0-1ubuntu1) ... +#6 16.69 Selecting previously unselected package libcc1-0:arm64. +#6 16.69 Preparing to unpack .../036-libcc1-0_12.3.0-1ubuntu1~22.04.2_arm64.deb ... +#6 16.70 Unpacking libcc1-0:arm64 (12.3.0-1ubuntu1~22.04.2) ... +#6 16.73 Selecting previously unselected package libgomp1:arm64. +#6 16.73 Preparing to unpack .../037-libgomp1_12.3.0-1ubuntu1~22.04.2_arm64.deb ... +#6 16.73 Unpacking libgomp1:arm64 (12.3.0-1ubuntu1~22.04.2) ... +#6 16.81 Selecting previously unselected package libitm1:arm64. +#6 16.81 Preparing to unpack .../038-libitm1_12.3.0-1ubuntu1~22.04.2_arm64.deb ... +#6 16.81 Unpacking libitm1:arm64 (12.3.0-1ubuntu1~22.04.2) ... +#6 16.88 Selecting previously unselected package libatomic1:arm64. +#6 16.88 Preparing to unpack .../039-libatomic1_12.3.0-1ubuntu1~22.04.2_arm64.deb ... +#6 16.88 Unpacking libatomic1:arm64 (12.3.0-1ubuntu1~22.04.2) ... +#6 16.91 Selecting previously unselected package libasan6:arm64. +#6 16.91 Preparing to unpack .../040-libasan6_11.4.0-1ubuntu1~22.04.2_arm64.deb ... +#6 16.92 Unpacking libasan6:arm64 (11.4.0-1ubuntu1~22.04.2) ... +#6 17.00 Selecting previously unselected package liblsan0:arm64. +#6 17.00 Preparing to unpack .../041-liblsan0_12.3.0-1ubuntu1~22.04.2_arm64.deb ... +#6 17.00 Unpacking liblsan0:arm64 (12.3.0-1ubuntu1~22.04.2) ... +#6 17.04 Selecting previously unselected package libtsan0:arm64. +#6 17.05 Preparing to unpack .../042-libtsan0_11.4.0-1ubuntu1~22.04.2_arm64.deb ... +#6 17.05 Unpacking libtsan0:arm64 (11.4.0-1ubuntu1~22.04.2) ... +#6 17.11 Selecting previously unselected package libubsan1:arm64. +#6 17.12 Preparing to unpack .../043-libubsan1_12.3.0-1ubuntu1~22.04.2_arm64.deb ... +#6 17.12 Unpacking libubsan1:arm64 (12.3.0-1ubuntu1~22.04.2) ... +#6 17.18 Selecting previously unselected package libhwasan0:arm64. +#6 17.18 Preparing to unpack .../044-libhwasan0_12.3.0-1ubuntu1~22.04.2_arm64.deb ... +#6 17.20 Unpacking libhwasan0:arm64 (12.3.0-1ubuntu1~22.04.2) ... +#6 17.25 Selecting previously unselected package libgcc-11-dev:arm64. +#6 17.25 Preparing to unpack .../045-libgcc-11-dev_11.4.0-1ubuntu1~22.04.2_arm64.deb ... +#6 17.25 Unpacking libgcc-11-dev:arm64 (11.4.0-1ubuntu1~22.04.2) ... +#6 17.33 Selecting previously unselected package gcc-11. +#6 17.33 Preparing to unpack .../046-gcc-11_11.4.0-1ubuntu1~22.04.2_arm64.deb ... +#6 17.33 Unpacking gcc-11 (11.4.0-1ubuntu1~22.04.2) ... +#6 17.58 Selecting previously unselected package gcc. +#6 17.58 Preparing to unpack .../047-gcc_4%3a11.2.0-1ubuntu1_arm64.deb ... +#6 17.59 Unpacking gcc (4:11.2.0-1ubuntu1) ... +#6 17.67 Selecting previously unselected package libstdc++-11-dev:arm64. +#6 17.67 Preparing to unpack .../048-libstdc++-11-dev_11.4.0-1ubuntu1~22.04.2_arm64.deb ... +#6 17.68 Unpacking libstdc++-11-dev:arm64 (11.4.0-1ubuntu1~22.04.2) ... +#6 17.80 Selecting previously unselected package g++-11. +#6 17.80 Preparing to unpack .../049-g++-11_11.4.0-1ubuntu1~22.04.2_arm64.deb ... +#6 17.81 Unpacking g++-11 (11.4.0-1ubuntu1~22.04.2) ... +#6 18.02 Selecting previously unselected package g++. +#6 18.02 Preparing to unpack .../050-g++_4%3a11.2.0-1ubuntu1_arm64.deb ... +#6 18.06 Unpacking g++ (4:11.2.0-1ubuntu1) ... +#6 18.15 Selecting previously unselected package make. +#6 18.15 Preparing to unpack .../051-make_4.3-4.1build1_arm64.deb ... +#6 18.15 Unpacking make (4.3-4.1build1) ... +#6 18.24 Selecting previously unselected package libdpkg-perl. +#6 18.24 Preparing to unpack .../052-libdpkg-perl_1.21.1ubuntu2.6_all.deb ... +#6 18.25 Unpacking libdpkg-perl (1.21.1ubuntu2.6) ... +#6 18.28 Selecting previously unselected package patch. +#6 18.28 Preparing to unpack .../053-patch_2.7.6-7build2_arm64.deb ... +#6 18.28 Unpacking patch (2.7.6-7build2) ... +#6 18.30 Selecting previously unselected package lto-disabled-list. +#6 18.30 Preparing to unpack .../054-lto-disabled-list_24_all.deb ... +#6 18.31 Unpacking lto-disabled-list (24) ... +#6 18.33 Selecting previously unselected package dpkg-dev. +#6 18.33 Preparing to unpack .../055-dpkg-dev_1.21.1ubuntu2.6_all.deb ... +#6 18.33 Unpacking dpkg-dev (1.21.1ubuntu2.6) ... +#6 18.35 Selecting previously unselected package build-essential. +#6 18.35 Preparing to unpack .../056-build-essential_12.9ubuntu3_arm64.deb ... +#6 18.35 Unpacking build-essential (12.9ubuntu3) ... +#6 18.38 Selecting previously unselected package libbrotli1:arm64. +#6 18.38 Preparing to unpack .../057-libbrotli1_1.0.9-2build6_arm64.deb ... +#6 18.38 Unpacking libbrotli1:arm64 (1.0.9-2build6) ... +#6 18.41 Selecting previously unselected package libsasl2-modules-db:arm64. +#6 18.41 Preparing to unpack .../058-libsasl2-modules-db_2.1.27+dfsg2-3ubuntu1.2_arm64.deb ... +#6 18.41 Unpacking libsasl2-modules-db:arm64 (2.1.27+dfsg2-3ubuntu1.2) ... +#6 18.49 Selecting previously unselected package libsasl2-2:arm64. +#6 18.49 Preparing to unpack .../059-libsasl2-2_2.1.27+dfsg2-3ubuntu1.2_arm64.deb ... +#6 18.49 Unpacking libsasl2-2:arm64 (2.1.27+dfsg2-3ubuntu1.2) ... +#6 18.59 Selecting previously unselected package libldap-2.5-0:arm64. +#6 18.59 Preparing to unpack .../060-libldap-2.5-0_2.5.19+dfsg-0ubuntu0.22.04.1_arm64.deb ... +#6 18.59 Unpacking libldap-2.5-0:arm64 (2.5.19+dfsg-0ubuntu0.22.04.1) ... +#6 18.70 Selecting previously unselected package librtmp1:arm64. +#6 18.70 Preparing to unpack .../061-librtmp1_2.4+20151223.gitfa8646d.1-2build4_arm64.deb ... +#6 18.71 Unpacking librtmp1:arm64 (2.4+20151223.gitfa8646d.1-2build4) ... +#6 18.75 Selecting previously unselected package libssh-4:arm64. +#6 18.75 Preparing to unpack .../062-libssh-4_0.9.6-2ubuntu0.22.04.5_arm64.deb ... +#6 18.75 Unpacking libssh-4:arm64 (0.9.6-2ubuntu0.22.04.5) ... +#6 18.84 Selecting previously unselected package libcurl4:arm64. +#6 18.84 Preparing to unpack .../063-libcurl4_7.81.0-1ubuntu1.21_arm64.deb ... +#6 18.85 Unpacking libcurl4:arm64 (7.81.0-1ubuntu1.21) ... +#6 18.94 Selecting previously unselected package curl. +#6 18.94 Preparing to unpack .../064-curl_7.81.0-1ubuntu1.21_arm64.deb ... +#6 18.95 Unpacking curl (7.81.0-1ubuntu1.21) ... +#6 19.04 Selecting previously unselected package libassuan0:arm64. +#6 19.04 Preparing to unpack .../065-libassuan0_2.5.5-1build1_arm64.deb ... +#6 19.04 Unpacking libassuan0:arm64 (2.5.5-1build1) ... +#6 19.13 Selecting previously unselected package gpgconf. +#6 19.14 Preparing to unpack .../066-gpgconf_2.2.27-3ubuntu2.4_arm64.deb ... +#6 19.14 Unpacking gpgconf (2.2.27-3ubuntu2.4) ... +#6 19.18 Selecting previously unselected package libksba8:arm64. +#6 19.18 Preparing to unpack .../067-libksba8_1.6.0-2ubuntu0.2_arm64.deb ... +#6 19.18 Unpacking libksba8:arm64 (1.6.0-2ubuntu0.2) ... +#6 19.26 Selecting previously unselected package libnpth0:arm64. +#6 19.26 Preparing to unpack .../068-libnpth0_1.6-3build2_arm64.deb ... +#6 19.27 Unpacking libnpth0:arm64 (1.6-3build2) ... +#6 19.30 Selecting previously unselected package dirmngr. +#6 19.30 Preparing to unpack .../069-dirmngr_2.2.27-3ubuntu2.4_arm64.deb ... +#6 19.31 Unpacking dirmngr (2.2.27-3ubuntu2.4) ... +#6 19.40 Selecting previously unselected package libfakeroot:arm64. +#6 19.41 Preparing to unpack .../070-libfakeroot_1.28-1ubuntu1_arm64.deb ... +#6 19.41 Unpacking libfakeroot:arm64 (1.28-1ubuntu1) ... +#6 19.44 Selecting previously unselected package fakeroot. +#6 19.44 Preparing to unpack .../071-fakeroot_1.28-1ubuntu1_arm64.deb ... +#6 19.44 Unpacking fakeroot (1.28-1ubuntu1) ... +#6 19.46 Selecting previously unselected package fontconfig-config. +#6 19.46 Preparing to unpack .../072-fontconfig-config_2.13.1-4.2ubuntu5_all.deb ... +#6 19.46 Unpacking fontconfig-config (2.13.1-4.2ubuntu5) ... +#6 19.48 Selecting previously unselected package gnupg-l10n. +#6 19.49 Preparing to unpack .../073-gnupg-l10n_2.2.27-3ubuntu2.4_all.deb ... +#6 19.49 Unpacking gnupg-l10n (2.2.27-3ubuntu2.4) ... +#6 19.51 Selecting previously unselected package gnupg-utils. +#6 19.51 Preparing to unpack .../074-gnupg-utils_2.2.27-3ubuntu2.4_arm64.deb ... +#6 19.51 Unpacking gnupg-utils (2.2.27-3ubuntu2.4) ... +#6 19.54 Selecting previously unselected package gpg. +#6 19.54 Preparing to unpack .../075-gpg_2.2.27-3ubuntu2.4_arm64.deb ... +#6 19.54 Unpacking gpg (2.2.27-3ubuntu2.4) ... +#6 19.62 Selecting previously unselected package pinentry-curses. +#6 19.62 Preparing to unpack .../076-pinentry-curses_1.1.1-1build2_arm64.deb ... +#6 19.63 Unpacking pinentry-curses (1.1.1-1build2) ... +#6 19.66 Selecting previously unselected package gpg-agent. +#6 19.66 Preparing to unpack .../077-gpg-agent_2.2.27-3ubuntu2.4_arm64.deb ... +#6 19.67 Unpacking gpg-agent (2.2.27-3ubuntu2.4) ... +#6 19.74 Selecting previously unselected package gpg-wks-client. +#6 19.74 Preparing to unpack .../078-gpg-wks-client_2.2.27-3ubuntu2.4_arm64.deb ... +#6 19.75 Unpacking gpg-wks-client (2.2.27-3ubuntu2.4) ... +#6 19.80 Selecting previously unselected package gpg-wks-server. +#6 19.80 Preparing to unpack .../079-gpg-wks-server_2.2.27-3ubuntu2.4_arm64.deb ... +#6 19.82 Unpacking gpg-wks-server (2.2.27-3ubuntu2.4) ... +#6 19.85 Selecting previously unselected package gpgsm. +#6 19.85 Preparing to unpack .../080-gpgsm_2.2.27-3ubuntu2.4_arm64.deb ... +#6 19.85 Unpacking gpgsm (2.2.27-3ubuntu2.4) ... +#6 19.88 Selecting previously unselected package gnupg. +#6 19.88 Preparing to unpack .../081-gnupg_2.2.27-3ubuntu2.4_all.deb ... +#6 19.89 Unpacking gnupg (2.2.27-3ubuntu2.4) ... +#6 19.91 Selecting previously unselected package libalgorithm-diff-perl. +#6 19.91 Preparing to unpack .../082-libalgorithm-diff-perl_1.201-1_all.deb ... +#6 19.92 Unpacking libalgorithm-diff-perl (1.201-1) ... +#6 19.94 Selecting previously unselected package libalgorithm-diff-xs-perl. +#6 19.94 Preparing to unpack .../083-libalgorithm-diff-xs-perl_0.04-6build3_arm64.deb ... +#6 19.94 Unpacking libalgorithm-diff-xs-perl (0.04-6build3) ... +#6 19.97 Selecting previously unselected package libalgorithm-merge-perl. +#6 19.97 Preparing to unpack .../084-libalgorithm-merge-perl_0.08-3_all.deb ... +#6 19.98 Unpacking libalgorithm-merge-perl (0.08-3) ... +#6 20.00 Selecting previously unselected package libfreetype6:arm64. +#6 20.00 Preparing to unpack .../085-libfreetype6_2.11.1+dfsg-1ubuntu0.3_arm64.deb ... +#6 20.01 Unpacking libfreetype6:arm64 (2.11.1+dfsg-1ubuntu0.3) ... +#6 20.09 Selecting previously unselected package libfontconfig1:arm64. +#6 20.09 Preparing to unpack .../086-libfontconfig1_2.13.1-4.2ubuntu5_arm64.deb ... +#6 20.09 Unpacking libfontconfig1:arm64 (2.13.1-4.2ubuntu5) ... +#6 20.18 Selecting previously unselected package libjpeg-turbo8:arm64. +#6 20.18 Preparing to unpack .../087-libjpeg-turbo8_2.1.2-0ubuntu1_arm64.deb ... +#6 20.18 Unpacking libjpeg-turbo8:arm64 (2.1.2-0ubuntu1) ... +#6 20.22 Selecting previously unselected package libjpeg8:arm64. +#6 20.22 Preparing to unpack .../088-libjpeg8_8c-2ubuntu10_arm64.deb ... +#6 20.23 Unpacking libjpeg8:arm64 (8c-2ubuntu10) ... +#6 20.26 Selecting previously unselected package libdeflate0:arm64. +#6 20.26 Preparing to unpack .../089-libdeflate0_1.10-2_arm64.deb ... +#6 20.27 Unpacking libdeflate0:arm64 (1.10-2) ... +#6 20.36 Selecting previously unselected package libjbig0:arm64. +#6 20.37 Preparing to unpack .../090-libjbig0_2.1-3.1ubuntu0.22.04.1_arm64.deb ... +#6 20.37 Unpacking libjbig0:arm64 (2.1-3.1ubuntu0.22.04.1) ... +#6 20.47 Selecting previously unselected package libwebp7:arm64. +#6 20.47 Preparing to unpack .../091-libwebp7_1.2.2-2ubuntu0.22.04.2_arm64.deb ... +#6 20.48 Unpacking libwebp7:arm64 (1.2.2-2ubuntu0.22.04.2) ... +#6 20.58 Selecting previously unselected package libtiff5:arm64. +#6 20.58 Preparing to unpack .../092-libtiff5_4.3.0-6ubuntu0.12_arm64.deb ... +#6 20.59 Unpacking libtiff5:arm64 (4.3.0-6ubuntu0.12) ... +#6 20.63 Selecting previously unselected package libxpm4:arm64. +#6 20.63 Preparing to unpack .../093-libxpm4_1%3a3.5.12-1ubuntu0.22.04.2_arm64.deb ... +#6 20.63 Unpacking libxpm4:arm64 (1:3.5.12-1ubuntu0.22.04.2) ... +#6 20.67 Selecting previously unselected package libgd3:arm64. +#6 20.67 Preparing to unpack .../094-libgd3_2.3.0-2ubuntu2.3_arm64.deb ... +#6 20.67 Unpacking libgd3:arm64 (2.3.0-2ubuntu2.3) ... +#6 20.69 Selecting previously unselected package libc-devtools. +#6 20.69 Preparing to unpack .../095-libc-devtools_2.35-0ubuntu3.11_arm64.deb ... +#6 20.70 Unpacking libc-devtools (2.35-0ubuntu3.11) ... +#6 20.72 Selecting previously unselected package libfile-fcntllock-perl. +#6 20.72 Preparing to unpack .../096-libfile-fcntllock-perl_0.22-3build7_arm64.deb ... +#6 20.72 Unpacking libfile-fcntllock-perl (0.22-3build7) ... +#6 20.80 Selecting previously unselected package libldap-common. +#6 20.80 Preparing to unpack .../097-libldap-common_2.5.19+dfsg-0ubuntu0.22.04.1_all.deb ... +#6 20.80 Unpacking libldap-common (2.5.19+dfsg-0ubuntu0.22.04.1) ... +#6 20.89 Selecting previously unselected package libsasl2-modules:arm64. +#6 20.89 Preparing to unpack .../098-libsasl2-modules_2.1.27+dfsg2-3ubuntu1.2_arm64.deb ... +#6 20.90 Unpacking libsasl2-modules:arm64 (2.1.27+dfsg2-3ubuntu1.2) ... +#6 20.98 Selecting previously unselected package manpages-dev. +#6 20.98 Preparing to unpack .../099-manpages-dev_5.10-1ubuntu1_all.deb ... +#6 20.99 Unpacking manpages-dev (5.10-1ubuntu1) ... +#6 21.25 Selecting previously unselected package unzip. +#6 21.25 Preparing to unpack .../100-unzip_6.0-26ubuntu3.2_arm64.deb ... +#6 21.25 Unpacking unzip (6.0-26ubuntu3.2) ... +#6 21.34 Selecting previously unselected package zlib1g-dev:arm64. +#6 21.34 Preparing to unpack .../101-zlib1g-dev_1%3a1.2.11.dfsg-2ubuntu9.2_arm64.deb ... +#6 21.34 Unpacking zlib1g-dev:arm64 (1:1.2.11.dfsg-2ubuntu9.2) ... +#6 21.38 Setting up libksba8:arm64 (1.6.0-2ubuntu0.2) ... +#6 21.40 Setting up libexpat1:arm64 (2.4.7-1ubuntu0.6) ... +#6 21.41 Setting up gcc-11-base:arm64 (11.4.0-1ubuntu1~22.04.2) ... +#6 21.46 Setting up libxau6:arm64 (1:1.0.9-1build5) ... +#6 21.48 Setting up lto-disabled-list (24) ... +#6 21.49 Setting up manpages (5.10-1ubuntu1) ... +#6 21.50 Setting up unzip (6.0-26ubuntu3.2) ... +#6 21.51 Setting up libbrotli1:arm64 (1.0.9-2build6) ... +#6 21.52 Setting up libsqlite3-0:arm64 (3.37.2-2ubuntu0.5) ... +#6 21.53 Setting up libsasl2-modules:arm64 (2.1.27+dfsg2-3ubuntu1.2) ... +#6 21.54 Setting up binutils-common:arm64 (2.38-4ubuntu2.10) ... +#6 21.55 Setting up libnghttp2-14:arm64 (1.43.0-1ubuntu0.2) ... +#6 21.57 Setting up libdeflate0:arm64 (1.10-2) ... +#6 21.58 Setting up linux-libc-dev:arm64 (5.15.0-161.171) ... +#6 21.60 Setting up libctf-nobfd0:arm64 (2.38-4ubuntu2.10) ... +#6 21.61 Setting up libnpth0:arm64 (1.6-3build2) ... +#6 21.62 Setting up libassuan0:arm64 (2.5.5-1build1) ... +#6 21.63 Setting up libgomp1:arm64 (12.3.0-1ubuntu1~22.04.2) ... +#6 21.67 Setting up perl-modules-5.34 (5.34.0-3ubuntu1.5) ... +#6 21.70 Setting up libldap-common (2.5.19+dfsg-0ubuntu0.22.04.1) ... +#6 21.71 Setting up libjbig0:arm64 (2.1-3.1ubuntu0.22.04.1) ... +#6 21.78 Setting up libfakeroot:arm64 (1.28-1ubuntu1) ... +#6 21.80 Setting up libasan6:arm64 (11.4.0-1ubuntu1~22.04.2) ... +#6 21.81 Setting up libsasl2-modules-db:arm64 (2.1.27+dfsg2-3ubuntu1.2) ... +#6 21.82 Setting up fakeroot (1.28-1ubuntu1) ... +#6 21.83 update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode +#6 21.83 update-alternatives: warning: skip creation of /usr/share/man/man1/fakeroot.1.gz because associated file /usr/share/man/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist +#6 21.83 update-alternatives: warning: skip creation of /usr/share/man/man1/faked.1.gz because associated file /usr/share/man/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist +#6 21.83 update-alternatives: warning: skip creation of /usr/share/man/es/man1/fakeroot.1.gz because associated file /usr/share/man/es/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist +#6 21.83 update-alternatives: warning: skip creation of /usr/share/man/es/man1/faked.1.gz because associated file /usr/share/man/es/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist +#6 21.83 update-alternatives: warning: skip creation of /usr/share/man/fr/man1/fakeroot.1.gz because associated file /usr/share/man/fr/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist +#6 21.83 update-alternatives: warning: skip creation of /usr/share/man/fr/man1/faked.1.gz because associated file /usr/share/man/fr/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist +#6 21.83 update-alternatives: warning: skip creation of /usr/share/man/sv/man1/fakeroot.1.gz because associated file /usr/share/man/sv/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist +#6 21.83 update-alternatives: warning: skip creation of /usr/share/man/sv/man1/faked.1.gz because associated file /usr/share/man/sv/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist +#6 21.89 Setting up libtirpc-dev:arm64 (1.3.2-2ubuntu0.1) ... +#6 21.90 Setting up rpcsvc-proto (1.4.2-0ubuntu6) ... +#6 21.92 Setting up libx11-data (2:1.7.5-1ubuntu0.3) ... +#6 21.94 Setting up make (4.3-4.1build1) ... +#6 21.95 Setting up libmpfr6:arm64 (4.1.0-3build3) ... +#6 21.98 Setting up gnupg-l10n (2.2.27-3ubuntu2.4) ... +#6 21.99 Setting up librtmp1:arm64 (2.4+20151223.gitfa8646d.1-2build4) ... +#6 22.01 Setting up xz-utils (5.2.5-2ubuntu1) ... +#6 22.02 update-alternatives: using /usr/bin/xz to provide /usr/bin/lzma (lzma) in auto mode +#6 22.02 update-alternatives: warning: skip creation of /usr/share/man/man1/lzma.1.gz because associated file /usr/share/man/man1/xz.1.gz (of link group lzma) doesn't exist +#6 22.02 update-alternatives: warning: skip creation of /usr/share/man/man1/unlzma.1.gz because associated file /usr/share/man/man1/unxz.1.gz (of link group lzma) doesn't exist +#6 22.02 update-alternatives: warning: skip creation of /usr/share/man/man1/lzcat.1.gz because associated file /usr/share/man/man1/xzcat.1.gz (of link group lzma) doesn't exist +#6 22.02 update-alternatives: warning: skip creation of /usr/share/man/man1/lzmore.1.gz because associated file /usr/share/man/man1/xzmore.1.gz (of link group lzma) doesn't exist +#6 22.02 update-alternatives: warning: skip creation of /usr/share/man/man1/lzless.1.gz because associated file /usr/share/man/man1/xzless.1.gz (of link group lzma) doesn't exist +#6 22.02 update-alternatives: warning: skip creation of /usr/share/man/man1/lzdiff.1.gz because associated file /usr/share/man/man1/xzdiff.1.gz (of link group lzma) doesn't exist +#6 22.02 update-alternatives: warning: skip creation of /usr/share/man/man1/lzcmp.1.gz because associated file /usr/share/man/man1/xzcmp.1.gz (of link group lzma) doesn't exist +#6 22.02 update-alternatives: warning: skip creation of /usr/share/man/man1/lzgrep.1.gz because associated file /usr/share/man/man1/xzgrep.1.gz (of link group lzma) doesn't exist +#6 22.02 update-alternatives: warning: skip creation of /usr/share/man/man1/lzegrep.1.gz because associated file /usr/share/man/man1/xzegrep.1.gz (of link group lzma) doesn't exist +#6 22.02 update-alternatives: warning: skip creation of /usr/share/man/man1/lzfgrep.1.gz because associated file /usr/share/man/man1/xzfgrep.1.gz (of link group lzma) doesn't exist +#6 22.03 Setting up libpng16-16:arm64 (1.6.37-3build5) ... +#6 22.04 Setting up libmpc3:arm64 (1.2.1-2build1) ... +#6 22.05 Setting up libatomic1:arm64 (12.3.0-1ubuntu1~22.04.2) ... +#6 22.06 Setting up patch (2.7.6-7build2) ... +#6 22.12 Setting up ucf (3.0043) ... +#6 22.18 Setting up libjpeg-turbo8:arm64 (2.1.2-0ubuntu1) ... +#6 22.20 Setting up libsasl2-2:arm64 (2.1.27+dfsg2-3ubuntu1.2) ... +#6 22.24 Setting up libssh-4:arm64 (0.9.6-2ubuntu0.22.04.5) ... +#6 22.27 Setting up libwebp7:arm64 (1.2.2-2ubuntu0.22.04.2) ... +#6 22.27 Setting up libubsan1:arm64 (12.3.0-1ubuntu1~22.04.2) ... +#6 22.28 Setting up libmd0:arm64 (1.0.4-1build1) ... +#6 22.30 Setting up libnsl-dev:arm64 (1.3.0-2build2) ... +#6 22.31 Setting up libhwasan0:arm64 (12.3.0-1ubuntu1~22.04.2) ... +#6 22.32 Setting up libcrypt-dev:arm64 (1:4.4.27-1) ... +#6 22.33 Setting up netbase (6.3) ... +#6 22.35 Setting up libbinutils:arm64 (2.38-4ubuntu2.10) ... +#6 22.36 Setting up libisl23:arm64 (0.24-2build1) ... +#6 22.36 Setting up libc-dev-bin (2.35-0ubuntu3.11) ... +#6 22.37 Setting up libbsd0:arm64 (0.11.5-1) ... +#6 22.38 Setting up readline-common (8.1.2-1) ... +#6 22.39 Setting up libcc1-0:arm64 (12.3.0-1ubuntu1~22.04.2) ... +#6 22.39 Setting up liblocale-gettext-perl (1.07-4build3) ... +#6 22.40 Setting up liblsan0:arm64 (12.3.0-1ubuntu1~22.04.2) ... +#6 22.41 Setting up libitm1:arm64 (12.3.0-1ubuntu1~22.04.2) ... +#6 22.41 Setting up libgdbm6:arm64 (1.23-1) ... +#6 22.42 Setting up libtsan0:arm64 (11.4.0-1ubuntu1~22.04.2) ... +#6 22.47 Setting up libctf0:arm64 (2.38-4ubuntu2.10) ... +#6 22.49 Setting up libjpeg8:arm64 (8c-2ubuntu10) ... +#6 22.50 Setting up pinentry-curses (1.1.1-1build2) ... +#6 22.53 Setting up cpp-11 (11.4.0-1ubuntu1~22.04.2) ... +#6 22.57 Setting up manpages-dev (5.10-1ubuntu1) ... +#6 22.58 Setting up libxdmcp6:arm64 (1:1.1.3-0ubuntu5) ... +#6 22.59 Setting up libxcb1:arm64 (1.14-3ubuntu3) ... +#6 22.60 Setting up fontconfig-config (2.13.1-4.2ubuntu5) ... +#6 22.76 Setting up libreadline8:arm64 (8.1.2-1) ... +#6 22.78 Setting up binutils-aarch64-linux-gnu (2.38-4ubuntu2.10) ... +#6 22.78 Setting up binutils (2.38-4ubuntu2.10) ... +#6 22.79 Setting up libldap-2.5-0:arm64 (2.5.19+dfsg-0ubuntu0.22.04.1) ... +#6 22.80 Setting up libfreetype6:arm64 (2.11.1+dfsg-1ubuntu0.3) ... +#6 22.80 Setting up libgdbm-compat4:arm64 (1.23-1) ... +#6 22.81 Setting up libgcc-11-dev:arm64 (11.4.0-1ubuntu1~22.04.2) ... +#6 22.82 Setting up gcc-11 (11.4.0-1ubuntu1~22.04.2) ... +#6 22.82 Setting up cpp (4:11.2.0-1ubuntu1) ... +#6 22.83 Setting up gpgconf (2.2.27-3ubuntu2.4) ... +#6 22.84 Setting up libcurl4:arm64 (7.81.0-1ubuntu1.21) ... +#6 22.85 Setting up libc6-dev:arm64 (2.35-0ubuntu3.11) ... +#6 22.85 Setting up libx11-6:arm64 (2:1.7.5-1ubuntu0.3) ... +#6 22.86 Setting up libtiff5:arm64 (4.3.0-6ubuntu0.12) ... +#6 22.88 Setting up curl (7.81.0-1ubuntu1.21) ... +#6 22.92 Setting up libfontconfig1:arm64 (2.13.1-4.2ubuntu5) ... +#6 22.93 Setting up gpg (2.2.27-3ubuntu2.4) ... +#6 22.94 Setting up gnupg-utils (2.2.27-3ubuntu2.4) ... +#6 22.95 Setting up libperl5.34:arm64 (5.34.0-3ubuntu1.5) ... +#6 22.97 Setting up gpg-agent (2.2.27-3ubuntu2.4) ... +#6 23.28 Setting up libxpm4:arm64 (1:3.5.12-1ubuntu0.22.04.2) ... +#6 23.31 Setting up gpgsm (2.2.27-3ubuntu2.4) ... +#6 23.32 Setting up gcc (4:11.2.0-1ubuntu1) ... +#6 23.33 Setting up dirmngr (2.2.27-3ubuntu2.4) ... +#6 23.42 Setting up perl (5.34.0-3ubuntu1.5) ... +#6 23.45 Setting up libgd3:arm64 (2.3.0-2ubuntu2.3) ... +#6 23.49 Setting up libdpkg-perl (1.21.1ubuntu2.6) ... +#6 23.50 Setting up libstdc++-11-dev:arm64 (11.4.0-1ubuntu1~22.04.2) ... +#6 23.51 Setting up gpg-wks-server (2.2.27-3ubuntu2.4) ... +#6 23.51 Setting up zlib1g-dev:arm64 (1:1.2.11.dfsg-2ubuntu9.2) ... +#6 23.52 Setting up libc-devtools (2.35-0ubuntu3.11) ... +#6 23.53 Setting up gpg-wks-client (2.2.27-3ubuntu2.4) ... +#6 23.54 Setting up g++-11 (11.4.0-1ubuntu1~22.04.2) ... +#6 23.55 Setting up libfile-fcntllock-perl (0.22-3build7) ... +#6 23.55 Setting up libalgorithm-diff-perl (1.201-1) ... +#6 23.56 Setting up dpkg-dev (1.21.1ubuntu2.6) ... +#6 23.57 Setting up g++ (4:11.2.0-1ubuntu1) ... +#6 23.58 update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode +#6 23.58 update-alternatives: warning: skip creation of /usr/share/man/man1/c++.1.gz because associated file /usr/share/man/man1/g++.1.gz (of link group c++) doesn't exist +#6 23.59 Setting up gnupg (2.2.27-3ubuntu2.4) ... +#6 23.59 Setting up build-essential (12.9ubuntu3) ... +#6 23.61 Setting up libalgorithm-diff-xs-perl (0.04-6build3) ... +#6 23.61 Setting up libalgorithm-merge-perl (0.08-3) ... +#6 23.62 Processing triggers for libc-bin (2.35-0ubuntu3.4) ... +#6 DONE 24.3s + +#7 [rust-builder 3/6] RUN curl https://sh.rustup.rs -sSf | bash -s -- -y +#7 0.291 info: downloading installer +#7 1.674 error: $HOME differs from euid-obtained home directory: you may be using sudo +#7 1.674 error: $HOME directory: /home/jovyan +#7 1.674 error: euid-obtained home directory: /root +#7 1.718 info: profile set to 'default' +#7 1.718 info: default host triple is aarch64-unknown-linux-gnu +#7 1.718 info: syncing channel updates for 'stable-aarch64-unknown-linux-gnu' +#7 1.990 info: latest update on 2025-10-30, rust version 1.91.0 (f8297e351 2025-10-28) +#7 1.990 info: downloading component 'cargo' +#7 2.376 info: downloading component 'clippy' +#7 2.601 info: downloading component 'rust-docs' +#7 3.273 info: downloading component 'rust-std' +#7 4.157 info: downloading component 'rustc' +#7 6.280 info: downloading component 'rustfmt' +#7 6.449 info: installing component 'cargo' +#7 7.084 info: installing component 'clippy' +#7 7.398 info: installing component 'rust-docs' +#7 9.108 info: installing component 'rust-std' +#7 10.84 info: installing component 'rustc' +#7 14.30 info: installing component 'rustfmt' +#7 14.59 info: default toolchain set to 'stable-aarch64-unknown-linux-gnu' +#7 14.59 +#7 14.59 stable-aarch64-unknown-linux-gnu installed - rustc 1.91.0 (f8297e351 2025-10-28) +#7 14.59 +#7 14.59 +#7 14.59 Rust is installed now. Great! +#7 14.59 +#7 14.59 To get started you may need to restart your current shell. +#7 14.59 This would reload your PATH environment variable to include +#7 14.59 Cargo's bin directory ($HOME/.cargo/bin). +#7 14.59 +#7 14.59 To configure your current shell, you need to source +#7 14.59 the corresponding env file under $HOME/.cargo. +#7 14.59 +#7 14.59 This is usually done by running one of the following (note the leading DOT): +#7 14.59 . "$HOME/.cargo/env" # For sh/bash/zsh/ash/dash/pdksh +#7 14.59 source "$HOME/.cargo/env.fish" # For fish +#7 14.59 source $"($nu.home-path)/.cargo/env.nu" # For nushell +#7 DONE 17.0s + +#8 [rust-builder 4/6] RUN . /home/jovyan/.cargo/env && cargo install csvlens +#8 0.135 Updating crates.io index +#8 0.844 Downloading crates ... +#8 1.045 Downloaded csvlens v0.14.0 +#8 1.110 Installing csvlens v0.14.0 +#8 1.121 Updating crates.io index +#8 2.654 Locking 222 packages to latest compatible versions +#8 2.656 Adding arrow v56.2.0 (available: v57.0.0) +#8 2.660 Adding crossterm v0.28.1 (available: v0.29.0) +#8 2.666 Adding qsv-sniffer v0.11.0 (available: v0.12.2) +#8 2.675 Adding tui-input v0.13.0 (available: v0.14.0) +#8 2.675 Adding unicode-width v0.2.0 (available: v0.2.2) +#8 2.678 Downloading crates ... +#8 2.774 Downloaded clap_lex v0.7.6 +#8 2.775 Downloaded const-random v0.1.18 +#8 2.776 Downloaded anstyle-parse v0.2.7 +#8 2.778 Downloaded anstream v0.6.21 +#8 2.803 Downloaded crunchy v0.2.4 +#8 2.803 Downloaded const-random-macro v0.1.16 +#8 2.805 Downloaded either v1.15.0 +#8 2.807 Downloaded quote v1.0.41 +#8 2.809 Downloaded anstyle-query v1.1.4 +#8 2.816 Downloaded ansi-to-tui v7.0.0 +#8 2.835 Downloaded anstyle v1.0.13 +#8 2.837 Downloaded is_terminal_polyfill v1.70.2 +#8 2.838 Downloaded equivalent v1.0.2 +#8 2.844 Downloaded darling_core v0.20.11 +#8 2.848 Downloaded ident_case v1.0.1 +#8 2.849 Downloaded fixedbitset v0.4.2 +#8 2.850 Downloaded darling_macro v0.20.11 +#8 2.852 Downloaded atoi v2.0.0 +#8 2.853 Downloaded autocfg v1.5.0 +#8 2.855 Downloaded arrow-csv v56.2.0 +#8 2.864 Downloaded shlex v1.3.0 +#8 2.867 Downloaded tiny-keccak v2.0.2 +#8 2.869 Downloaded num-traits v0.2.19 +#8 2.871 Downloaded num-integer v0.1.46 +#8 2.872 Downloaded getrandom v0.2.16 +#8 2.874 Downloaded fastrand v2.3.0 +#8 2.875 Downloaded os_pipe v1.2.3 +#8 2.876 Downloaded arboard v3.6.1 +#8 2.878 Downloaded thiserror v2.0.17 +#8 2.882 Downloaded num v0.4.3 +#8 2.883 Downloaded foldhash v0.1.5 +#8 2.883 Downloaded csv-core v0.1.13 +#8 2.885 Downloaded darling v0.20.11 +#8 2.887 Downloaded lock_api v0.4.14 +#8 2.888 Downloaded downcast-rs v1.2.1 +#8 2.889 Downloaded num-complex v0.4.6 +#8 2.890 Downloaded clap_derive v4.5.49 +#8 2.892 Downloaded bytecount v0.6.9 +#8 2.893 Downloaded arrow-data v56.2.0 +#8 2.895 Downloaded arrow-ord v56.2.0 +#8 2.897 Downloaded allocator-api2 v0.2.21 +#8 2.899 Downloaded arrow-string v56.2.0 +#8 2.900 Downloaded arrow-row v56.2.0 +#8 2.901 Downloaded num-iter v0.1.45 +#8 2.902 Downloaded num-rational v0.4.2 +#8 2.903 Downloaded find-msvc-tools v0.1.4 +#8 2.904 Downloaded log v0.4.28 +#8 2.906 Downloaded clap v4.5.51 +#8 2.910 Downloaded ahash v0.8.12 +#8 2.912 Downloaded iana-time-zone v0.1.64 +#8 2.914 Downloaded lexical-parse-integer v1.0.6 +#8 2.915 Downloaded arrow-arith v56.2.0 +#8 2.916 Downloaded parking_lot_core v0.9.12 +#8 2.918 Downloaded arrow-schema v56.2.0 +#8 2.920 Downloaded getrandom v0.3.4 +#8 2.922 Downloaded fast-float2 v0.2.3 +#8 2.923 Downloaded lexical-core v1.0.6 +#8 2.924 Downloaded base64 v0.22.1 +#8 2.927 Downloaded anyhow v1.0.100 +#8 2.929 Downloaded arrow v56.2.0 +#8 2.932 Downloaded lexical-write-integer v1.0.6 +#8 2.934 Downloaded compact_str v0.8.1 +#8 2.936 Downloaded arrow-buffer v56.2.0 +#8 2.938 Downloaded arrow-select v56.2.0 +#8 2.940 Downloaded half v2.7.1 +#8 2.942 Downloaded bitflags v2.10.0 +#8 2.944 Downloaded once_cell v1.21.3 +#8 2.946 Downloaded bytes v1.10.1 +#8 2.948 Downloaded static_assertions v1.1.0 +#8 2.949 Downloaded arrow-cast v56.2.0 +#8 2.952 Downloaded lru v0.12.5 +#8 2.952 Downloaded itoa v1.0.15 +#8 2.953 Downloaded instability v0.3.9 +#8 2.954 Downloaded indoc v2.0.7 +#8 2.955 Downloaded cc v1.2.44 +#8 2.958 Downloaded indexmap v2.12.0 +#8 2.960 Downloaded heck v0.5.0 +#8 2.961 Downloaded gethostname v1.1.0 +#8 2.962 Downloaded fnv v1.0.7 +#8 2.962 Downloaded filedescriptor v0.8.3 +#8 2.963 Downloaded errno v0.3.14 +#8 2.964 Downloaded num-bigint v0.4.6 +#8 2.967 Downloaded tree_magic_mini v3.2.0 +#8 2.968 Downloaded lexical-write-float v1.0.6 +#8 2.970 Downloaded memchr v2.7.6 +#8 2.973 Downloaded lexical-util v1.0.7 +#8 2.976 Downloaded terminal-trx v0.2.5 +#8 2.977 Downloaded minimal-lexical v0.2.1 +#8 2.980 Downloaded strum v0.26.3 +#8 2.980 Downloaded hashbrown v0.16.0 +#8 2.984 Downloaded mio v1.1.0 +#8 2.987 Downloaded hashbrown v0.15.5 +#8 2.991 Downloaded libm v0.2.15 +#8 2.997 Downloaded clap_builder v4.5.51 +#8 3.001 Downloaded aho-corasick v1.1.4 +#8 3.005 Downloaded lexical-parse-float v1.0.6 +#8 3.009 Downloaded chrono v0.4.42 +#8 3.014 Downloaded crossterm v0.28.1 +#8 3.018 Downloaded arrow-array v56.2.0 +#8 3.023 Downloaded nom v7.1.3 +#8 3.026 Downloaded itertools v0.13.0 +#8 3.030 Downloaded colorchoice v1.0.4 +#8 3.031 Downloaded cfg-if v1.0.4 +#8 3.032 Downloaded castaway v0.2.4 +#8 3.033 Downloaded cassowary v0.3.0 +#8 3.033 Downloaded thiserror-impl v2.0.17 +#8 3.037 Downloaded thiserror-impl v1.0.69 +#8 3.037 Downloaded sorted-vec v0.8.10 +#8 3.049 Downloaded signal-hook-mio v0.2.5 +#8 3.070 Downloaded strsim v0.11.1 +#8 3.071 Downloaded scopeguard v1.2.0 +#8 3.081 Downloaded tui-input v0.13.0 +#8 3.082 Downloaded signal-hook-registry v1.4.6 +#8 3.091 Downloaded percent-encoding v2.3.2 +#8 3.094 Downloaded libc v0.2.177 +#8 3.113 Downloaded thiserror v1.0.69 +#8 3.116 Downloaded qsv-dateparser v0.13.0 +#8 3.117 Downloaded terminal_size v0.4.3 +#8 3.118 Downloaded serde_core v1.0.228 +#8 3.120 Downloaded csv v1.4.0 +#8 3.137 Downloaded rustversion v1.0.22 +#8 3.139 Downloaded paste v1.0.15 +#8 3.140 Downloaded qsv-sniffer v0.11.0 +#8 3.141 Downloaded pkg-config v0.3.32 +#8 3.147 Downloaded utf8parse v0.2.2 +#8 3.165 Downloaded xterm-color v1.0.1 +#8 3.165 Downloaded version_check v0.9.5 +#8 3.175 Downloaded unicode-truncate v1.1.0 +#8 3.182 Downloaded wayland-sys v0.31.7 +#8 3.187 Downloaded tabwriter v1.4.1 +#8 3.191 Downloaded terminal-colorsaurus v1.0.1 +#8 3.205 Downloaded linux-raw-sys v0.4.15 +#8 3.243 Downloaded tempfile v3.23.0 +#8 3.245 Downloaded strum_macros v0.26.4 +#8 3.246 Downloaded smallvec v1.15.1 +#8 3.248 Downloaded simdutf8 v0.1.5 +#8 3.250 Downloaded linux-raw-sys v0.11.0 +#8 3.295 Downloaded wl-clipboard-rs v0.9.2 +#8 3.297 Downloaded parking_lot v0.12.5 +#8 3.298 Downloaded wayland-protocols-wlr v0.3.9 +#8 3.300 Downloaded unicode-ident v1.0.22 +#8 3.301 Downloaded ryu v1.0.20 +#8 3.327 Downloaded proc-macro2 v1.0.103 +#8 3.344 Downloaded wayland-scanner v0.31.7 +#8 3.367 Downloaded signal-hook v0.3.18 +#8 3.395 Downloaded wayland-client v0.31.11 +#8 3.438 Downloaded zerocopy-derive v0.8.27 +#8 3.443 Downloaded wayland-backend v0.3.11 +#8 3.532 Downloaded unicode-segmentation v1.12.0 +#8 3.633 Downloaded regex v1.12.2 +#8 3.646 Downloaded wayland-protocols v0.32.9 +#8 3.725 Downloaded quick-xml v0.37.5 +#8 3.763 Downloaded unicode-width v0.2.0 +#8 3.797 Downloaded x11rb v0.13.2 +#8 3.844 Downloaded zerocopy v0.8.27 +#8 3.869 Downloaded unicode-width v0.1.14 +#8 3.896 Downloaded syn v2.0.108 +#8 3.941 Downloaded regex-syntax v0.8.8 +#8 3.962 Downloaded rustix v1.1.2 +#8 3.980 Downloaded rustix v0.38.44 +#8 4.024 Downloaded x11rb-protocol v0.13.2 +#8 4.051 Downloaded regex-automata v0.4.13 +#8 4.063 Downloaded ratatui v0.29.0 +#8 4.078 Downloaded petgraph v0.6.5 +#8 4.121 Compiling proc-macro2 v1.0.103 +#8 4.121 Compiling quote v1.0.41 +#8 4.121 Compiling unicode-ident v1.0.22 +#8 4.121 Compiling libc v0.2.177 +#8 4.121 Compiling cfg-if v1.0.4 +#8 4.121 Compiling autocfg v1.5.0 +#8 4.122 Compiling libm v0.2.15 +#8 4.124 Compiling bitflags v2.10.0 +#8 4.125 Compiling memchr v2.7.6 +#8 4.125 Compiling getrandom v0.3.4 +#8 4.125 Compiling zerocopy v0.8.27 +#8 4.125 Compiling hashbrown v0.16.0 +#8 4.125 Compiling once_cell v1.21.3 +#8 4.126 Compiling rustix v1.1.2 +#8 4.128 Compiling linux-raw-sys v0.11.0 +#8 4.128 Compiling smallvec v1.15.1 +#8 4.146 Compiling iana-time-zone v0.1.64 +#8 4.161 Compiling version_check v0.9.5 +#8 4.236 Compiling bytes v1.10.1 +#8 4.242 Compiling equivalent v1.0.2 +#8 4.271 Compiling arrow-schema v56.2.0 +#8 4.272 Compiling pkg-config v0.3.32 +#8 4.278 Compiling log v0.4.28 +#8 4.308 Compiling num-traits v0.2.19 +#8 4.310 Compiling ahash v0.8.12 +#8 4.322 Compiling shlex v1.3.0 +#8 4.345 Compiling find-msvc-tools v0.1.4 +#8 4.398 Compiling ryu v1.0.20 +#8 4.398 Compiling rustversion v1.0.22 +#8 4.411 Compiling cc v1.2.44 +#8 4.465 Compiling rustix v0.38.44 +#8 4.471 Compiling parking_lot_core v0.9.12 +#8 4.517 Compiling itoa v1.0.15 +#8 4.551 Compiling lexical-util v1.0.7 +#8 4.579 Compiling aho-corasick v1.1.4 +#8 4.615 Compiling wayland-sys v0.31.7 +#8 4.625 Compiling regex-syntax v0.8.8 +#8 4.666 Compiling linux-raw-sys v0.4.15 +#8 4.688 Compiling scopeguard v1.2.0 +#8 4.725 Compiling heck v0.5.0 +#8 4.733 Compiling syn v2.0.108 +#8 4.767 Compiling thiserror v1.0.69 +#8 4.786 Compiling fnv v1.0.7 +#8 4.791 Compiling ident_case v1.0.1 +#8 4.814 Compiling strsim v0.11.1 +#8 4.869 Compiling signal-hook v0.3.18 +#8 4.927 Compiling mio v1.1.0 +#8 5.014 Compiling signal-hook-registry v1.4.6 +#8 5.044 Compiling lock_api v0.4.14 +#8 5.066 Compiling allocator-api2 v0.2.21 +#8 5.089 Compiling quick-xml v0.37.5 +#8 5.139 Compiling downcast-rs v1.2.1 +#8 5.161 Compiling foldhash v0.1.5 +#8 5.162 Compiling wayland-client v0.31.11 +#8 5.190 Compiling serde_core v1.0.228 +#8 5.291 Compiling parking_lot v0.12.5 +#8 5.357 Compiling num-integer v0.1.46 +#8 5.390 Compiling num-complex v0.4.6 +#8 5.486 Compiling chrono v0.4.42 +#8 5.533 Compiling num-bigint v0.4.6 +#8 5.595 Compiling num-iter v0.1.45 +#8 5.621 Compiling wayland-backend v0.3.11 +#8 5.659 Compiling hashbrown v0.15.5 +#8 5.729 Compiling wayland-scanner v0.31.7 +#8 5.729 Compiling lexical-parse-integer v1.0.6 +#8 5.783 Compiling lexical-write-integer v1.0.6 +#8 5.824 Compiling either v1.15.0 +#8 5.862 Compiling minimal-lexical v0.2.1 +#8 5.863 Compiling instability v0.3.9 +#8 5.920 Compiling unicode-width v0.2.0 +#8 5.984 Compiling regex-automata v0.4.13 +#8 5.996 Compiling paste v1.0.15 +#8 6.108 Compiling nom v7.1.3 +#8 6.124 Compiling lexical-write-float v1.0.6 +#8 6.161 Compiling itertools v0.13.0 +#8 6.204 Compiling lexical-parse-float v1.0.6 +#8 6.296 Compiling signal-hook-mio v0.2.5 +#8 6.421 Compiling castaway v0.2.4 +#8 6.500 Compiling indexmap v2.12.0 +#8 6.555 Compiling csv-core v0.1.13 +#8 6.701 Compiling num-rational v0.4.2 +#8 7.096 Compiling num v0.4.3 +#8 7.131 Compiling static_assertions v1.1.0 +#8 7.155 Compiling unicode-width v0.1.14 +#8 7.272 Compiling darling_core v0.20.11 +#8 7.336 Compiling utf8parse v0.2.2 +#8 7.338 Compiling unicode-segmentation v1.12.0 +#8 7.400 Compiling thiserror v2.0.17 +#8 7.634 Compiling fixedbitset v0.4.2 +#8 7.849 Compiling anyhow v1.0.100 +#8 7.938 Compiling indoc v2.0.7 +#8 7.948 Compiling petgraph v0.6.5 +#8 8.000 Compiling unicode-truncate v1.1.0 +#8 8.078 Compiling anstyle-parse v0.2.7 +#8 8.092 Compiling compact_str v0.8.1 +#8 8.159 Compiling lexical-core v1.0.6 +#8 8.232 Compiling lru v0.12.5 +#8 8.239 Compiling atoi v2.0.0 +#8 8.296 Compiling csv v1.4.0 +#8 8.319 Compiling anstyle-query v1.1.4 +#8 8.356 Compiling regex v1.12.2 +#8 8.365 Compiling colorchoice v1.0.4 +#8 8.411 Compiling is_terminal_polyfill v1.70.2 +#8 8.434 Compiling base64 v0.22.1 +#8 8.631 Compiling anstyle v1.0.13 +#8 8.808 Compiling zerocopy-derive v0.8.27 +#8 8.977 Compiling thiserror-impl v1.0.69 +#8 9.246 Compiling strum_macros v0.26.4 +#8 9.326 Compiling thiserror-impl v2.0.17 +#8 9.338 Compiling darling_macro v0.20.11 +#8 9.507 Compiling fastrand v2.3.0 +#8 9.611 Compiling cassowary v0.3.0 +#8 9.629 Compiling tree_magic_mini v3.2.0 +#8 9.732 Compiling tempfile v3.23.0 +#8 9.740 Compiling anstream v0.6.21 +#8 9.829 Compiling gethostname v1.1.0 +#8 9.866 Compiling terminal_size v0.4.3 +#8 9.941 Compiling wayland-protocols v0.32.9 +#8 10.07 Compiling darling v0.20.11 +#8 10.22 Compiling os_pipe v1.2.3 +#8 10.30 Compiling filedescriptor v0.8.3 +#8 10.30 Compiling fast-float2 v0.2.3 +#8 10.34 Compiling clap_lex v0.7.6 +#8 10.36 Compiling simdutf8 v0.1.5 +#8 10.48 Compiling crossterm v0.28.1 +#8 10.48 Compiling x11rb-protocol v0.13.2 +#8 10.61 Compiling qsv-dateparser v0.13.0 +#8 10.66 Compiling clap_derive v4.5.49 +#8 10.70 Compiling tabwriter v1.4.1 +#8 10.86 Compiling clap_builder v4.5.51 +#8 10.99 Compiling strum v0.26.3 +#8 11.04 Compiling terminal-trx v0.2.5 +#8 11.08 Compiling ratatui v0.29.0 +#8 11.11 Compiling bytecount v0.6.9 +#8 11.26 Compiling xterm-color v1.0.1 +#8 11.30 Compiling percent-encoding v2.3.2 +#8 11.40 Compiling terminal-colorsaurus v1.0.1 +#8 11.49 Compiling qsv-sniffer v0.11.0 +#8 11.53 Compiling sorted-vec v0.8.10 +#8 11.82 Compiling half v2.7.1 +#8 12.15 Compiling arrow-buffer v56.2.0 +#8 12.61 Compiling arrow-data v56.2.0 +#8 13.33 Compiling arrow-array v56.2.0 +#8 13.48 Compiling wayland-protocols-wlr v0.3.9 +#8 13.51 Compiling x11rb v0.13.2 +#8 13.63 Compiling clap v4.5.51 +#8 13.69 Compiling ansi-to-tui v7.0.0 +#8 13.78 Compiling tui-input v0.13.0 +#8 14.61 Compiling wl-clipboard-rs v0.9.2 +#8 14.97 Compiling arboard v3.6.1 +#8 15.83 Compiling arrow-select v56.2.0 +#8 16.10 Compiling arrow-arith v56.2.0 +#8 16.47 Compiling arrow-row v56.2.0 +#8 18.01 Compiling arrow-cast v56.2.0 +#8 18.02 Compiling arrow-ord v56.2.0 +#8 18.06 Compiling arrow-string v56.2.0 +#8 21.54 Compiling arrow-csv v56.2.0 +#8 24.04 Compiling arrow v56.2.0 +#8 24.17 Compiling csvlens v0.14.0 +#8 40.54 Finished `release` profile [optimized] target(s) in 40.41s +#8 40.58 Installing /home/jovyan/.cargo/bin/csvlens +#8 40.58 Installed package `csvlens v0.14.0` (executable `csvlens`) +#8 DONE 41.0s + +#9 [rust-builder 5/6] RUN TEMP=. curl -L https://raw.githubusercontent.com/metabarcoding/obitools4/master/install_obitools.sh | bash -s -- --install-dir /home/jovyan/obitools-build && cp /home/jovyan/obitools-build/bin/* /usr/local/bin +#9 0.128 % Total % Received % Xferd Average Speed Time Time Time Current +#9 0.128 Dload Upload Total Spent Left Speed +#9 0.128 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 3569 100 3569 0 0 14480 0 --:--:-- --:--:-- --:--:-- 14449 +#9 0.382 WORK_DIR=obitools4.E8Qdcx +#9 0.382 ~/obitools4.E8Qdcx ~ +#9 0.382 INSTALL_DIR=/home/jovyan/obitools-build +#9 0.382 OBITOOLS_PREFIX= +#9 0.388 % Total % Received % Xferd Average Speed Time Time Time Current +#9 0.388 Dload Upload Total Spent Left Speed +#9 0.388 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 20 2551k 20 533k 0 0 630k 0 0:00:04 --:--:-- 0:00:04 630k 100 2551k 100 2551k 0 0 2092k 0 0:00:01 0:00:01 --:--:-- 2092k +#9 1.613 % Total % Received % Xferd Average Speed Time Time Time Current +#9 1.613 Dload Upload Total Spent Left Speed +#9 1.613 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 75 100 75 0 0 296 0 --:--:-- --:--:-- --:--:-- 297 +#9 1.870 Install GO from : https://dl.google.com/go/go1.25.3.linux-arm64.tar.gz +#9 1.874 % Total % Received % Xferd Average Speed Time Time Time Current +#9 1.875 Dload Upload Total Spent Left Speed +#9 1.875 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 7 54.6M 7 4207k 0 0 11.0M 0 0:00:04 --:--:-- 0:00:04 11.0M 60 54.6M 60 32.8M 0 0 23.7M 0 0:00:02 0:00:01 0:00:01 23.7M 100 54.6M 100 54.6M 0 0 25.2M 0 0:00:02 0:00:02 --:--:-- 25.2M +#9 4.088 % Total % Received % Xferd Average Speed Time Time Time Current +#9 4.088 Dload Upload Total Spent Left Speed +#9 4.088 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +#9 6.015 100 555k 0 555k 0 0 288k 0 --:--:-- 0:00:01 --:--:-- 288k 100 555k 0 555k 0 0 189k 0 --:--:-- 0:00:02 --:--:-- 0 100 1460k 0 1460k 0 0 464k 0 --:--:-- 0:00:03 --:--:-- 740k 100 5729k 0 5729k 0 0 1379k 0 --:--:-- 0:00:04 --:--:-- 2321k 100 9289k 0 9289k 0 0 1805k 0 --:--:-- 0:00:05 --:--:-- 2712k 100 11.7M 0 11.7M 0 0 1961k 0 --:--:-- 0:00:06 --:--:-- 2724k 100 14.6M 0 14.6M 0 0 2090k 0 --:--:-- 0:00:07 --:--:-- 3408k 100 17.9M 0 17.9M 0 0 2256k 0 --:--:-- 0:00:08 --:--:-- 3385k 100 21.7M 0 21.7M 0 0 2435k 0 --:--:-- 0:00:09 --:--:-- 3313k 100 25.5M 0 25.5M 0 0 2571k 0 --:--:-- 0:00:10 --:--:-- 3358k 100 28.4M 0 28.4M 0 0 2617k 0 --:--:-- 0:00:11 --:--:-- 3424k 100 32.4M 0 32.4M 0 0 2733k 0 --:--:-- 0:00:12 --:--:-- 3654k 100 36.5M 0 36.5M 0 0 2849k 0 --:--:-- 0:00:13 --:--:-- 3814k 100 40.6M 0 40.6M 0 0 2943k 0 --:--:-- 0:00:14 --:--:-- 3871k 100 44.3M 0 44.3M 0 0 2997k 0 --:--:-- 0:00:15 --:--:-- 3862k 100 48.1M 0 48.1M 0 0 3055k 0 --:--:-- 0:00:16 --:--:-- 4030k 100 51.3M 0 51.3M 0 0 3064k 0 --:--:-- 0:00:17 --:--:-- 3868k 100 54.8M 0 54.8M 0 0 3094k 0 --:--:-- 0:00:18 --:--:-- 3740k 100 59.1M 0 59.1M 0 0 3162k 0 --:--:-- 0:00:19 --:--:-- 3783k 100 62.3M 0 62.3M 0 0 3167k 0 --:--:-- 0:00:20 --:--:-- 3683k 100 65.6M 0 65.6M 0 0 3177k 0 --:--:-- 0:00:21 --:--:-- 3572k 100 69.5M 0 69.5M 0 0 3215k 0 --:--:-- 0:00:22 --:--:-- 3731k 100 72.7M 0 72.7M 0 0 3219k 0 --:--:-- 0:00:23 --:--:-- 3674k 100 76.1M 0 76.1M 0 0 3231k 0 --:--:-- 0:00:24 --:--:-- 3495k 100 79.3M 0 79.3M 0 0 3229k 0 --:--:-- 0:00:25 --:--:-- 3476k 100 82.3M 0 82.3M 0 0 3223k 0 --:--:-- 0:00:26 --:--:-- 3417k 100 85.9M 0 85.9M 0 0 3240k 0 --:--:-- 0:00:27 --:--:-- 3352k 100 90.0M 0 90.0M 0 0 3273k 0 --:--:-- 0:00:28 --:--:-- 3519k 100 93.5M 0 93.5M 0 0 3286k 0 --:--:-- 0:00:29 --:--:-- 3556k 100 97.3M 0 97.3M 0 0 3308k 0 --:--:-- 0:00:30 --:--:-- 3705k 100 101M 0 101M 0 0 3321k 0 --:--:-- 0:00:31 --:--:-- 3834k 100 104M 0 104M 0 0 3343k 0 --:--:-- 0:00:32 --:--:-- 3902k 100 108M 0 108M 0 0 3340k 0 --:--:-- 0:00:33 --:--:-- 3718k 100 111M 0 111M 0 0 3335k 0 --:--:-- 0:00:34 --:--:-- 3620k 100 114M 0 114M 0 0 3327k 0 --:--:-- 0:00:35 --:--:-- 3442k 100 117M 0 117M 0 0 3319k 0 --:--:-- 0:00:36 --:--:-- 3304k 100 120M 0 120M 0 0 3324k 0 --:--:-- 0:00:37 --:--:-- 3206k 100 124M 0 124M 0 0 3332k 0 --:--:-- 0:00:38 --:--:-- 3279k 100 127M 0 127M 0 0 3346k 0 --:--:-- 0:00:39 --:--:-- 3419k 100 131M 0 131M 0 0 3366k 0 --:--:-- 0:00:40 --:--:-- 3642k 100 135M 0 135M 0 0 3372k 0 --:--:-- 0:00:41 --:--:-- 3760k 100 138M 0 138M 0 0 3354k 0 --:--:-- 0:00:42 --:--:-- 3573k 100 141M 0 141M 0 0 3348k 0 --:--:-- 0:00:43 --:--:-- 3473k 100 144M 0 144M 0 0 3340k 0 --:--:-- 0:00:44 --:--:-- 3291k 100 146M 0 146M 0 0 3326k 0 --:--:-- 0:00:45 --:--:-- 3008k 100 149M 0 149M 0 0 3325k 0 --:--:-- 0:00:46 --:--:-- 2938k 100 153M 0 153M 0 0 3338k 0 --:--:-- 0:00:47 --:--:-- 3201k 100 158M 0 158M 0 0 3365k 0 --:--:-- 0:00:48 --:--:-- 3511k 100 163M 0 163M 0 0 3402k 0 --:--:-- 0:00:49 --:--:-- 3948k 100 167M 0 167M 0 0 3429k 0 --:--:-- 0:00:50 --:--:-- 4356k 100 170M 0 170M 0 0 3422k 0 --:--:-- 0:00:51 --:--:-- 4319k 100 173M 0 173M 0 0 3415k 0 --:--:-- 0:00:52 --:--:-- 4140k 100 177M 0 177M 0 0 3413k 0 --:--:-- 0:00:53 --:--:-- 3873k 100 181M 0 181M 0 0 3428k 0 --:--:-- 0:00:54 --:--:-- 3691k 100 185M 0 185M 0 0 3444k 0 --:--:-- 0:00:55 --:--:-- 3594k 100 188M 0 188M 0 0 3430k 0 --:--:-- 0:00:56 --:--:-- 3506k 100 191M 0 191M 0 0 3421k 0 --:--:-- 0:00:57 --:--:-- 3491k 100 193M 0 193M 0 0 3404k 0 --:--:-- 0:00:58 --:--:-- 3312k 100 196M 0 196M 0 0 3397k 0 --:--:-- 0:00:59 --:--:-- 3063k 100 199M 0 199M 0 0 3403k 0 --:--:-- 0:01:00 --:--:-- 2954k 100 203M 0 203M 0 0 3412k 0 --:--:-- 0:01:01 --:--:-- 3217k 100 207M 0 207M 0 0 3419k 0 --:--:-- 0:01:02 --:--:-- 3388k 100 211M 0 211M 0 0 3429k 0 --:--:-- 0:01:03 --:--:-- 3711k 100 214M 0 214M 0 0 3429k 0 --:--:-- 0:01:04 --:--:-- 3803k 100 218M 0 218M 0 0 3435k 0 --:--:-- 0:01:05 --:--:-- 3818k 100 221M 0 221M 0 0 3423k 0 --:--:-- 0:01:06 --:--:-- 3555k 100 224M 0 224M 0 0 3423k 0 --:--:-- 0:01:07 --:--:-- 3472k 100 228M 0 228M 0 0 3428k 0 --:--:-- 0:01:08 --:--:-- 3421k 100 231M 0 231M 0 0 3422k 0 --:--:-- 0:01:09 --:--:-- 3336k 100 234M 0 234M 0 0 3417k 0 --:--:-- 0:01:10 --:--:-- 3185k 100 237M 0 237M 0 0 3420k 0 --:--:-- 0:01:11 --:--:-- 3381k 100 240M 0 240M 0 0 3417k 0 --:--:-- 0:01:12 --:--:-- 3341k 100 243M 0 243M 0 0 3414k 0 --:--:-- 0:01:13 --:--:-- 3227k 100 247M 0 247M 0 0 3417k 0 --:--:-- 0:01:14 --:--:-- 3343k 100 250M 0 250M 0 0 3420k 0 --:--:-- 0:01:14 --:--:-- 3463k +#9 79.04 Archive: master.zip +#9 79.04 5e12ed5400e7c7b3422730fbaa6620dd8eb1fbd4 +#9 79.04 creating: obitools4-master/ +#9 79.04 creating: obitools4-master/.github/ +#9 79.04 creating: obitools4-master/.github/workflows/ +#9 79.04 inflating: obitools4-master/.github/workflows/obitest.yml +#9 79.04 inflating: obitools4-master/.gitignore +#9 79.04 inflating: obitools4-master/.gitlab-ci.yml +#9 79.04 inflating: obitools4-master/LICENCE-CECILL-2.1.txt +#9 79.04 inflating: obitools4-master/Makefile +#9 79.04 inflating: obitools4-master/README.md +#9 79.04 inflating: obitools4-master/Release-notes.md +#9 79.04 creating: obitools4-master/cmd/ +#9 79.04 creating: obitools4-master/cmd/obitools/ +#9 79.04 creating: obitools4-master/cmd/obitools/obiannotate/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obiannotate/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obiclean/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obiclean/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obicleandb/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obicleandb/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obicomplement/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obicomplement/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obiconsensus/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obiconsensus/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obiconvert/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obiconvert/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obicount/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obicount/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obicsv/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obicsv/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obidemerge/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obidemerge/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obidistribute/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obidistribute/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obigrep/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obigrep/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obijoin/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obijoin/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obikmermatch/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obikmermatch/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obikmersimcount/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obikmersimcount/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obilandmark/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obilandmark/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obimatrix/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obimatrix/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obimicrosat/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obimicrosat/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obimultiplex/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obimultiplex/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obipairing/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obipairing/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obipcr/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obipcr/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obireffamidx/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obireffamidx/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obirefidx/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obirefidx/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obiscript/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obiscript/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obisplit/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obisplit/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obisummary/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obisummary/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obitag/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obitag/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obitagpcr/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obitagpcr/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obitaxonomy/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obitaxonomy/main.go +#9 79.04 creating: obitools4-master/cmd/obitools/obiuniq/ +#9 79.04 inflating: obitools4-master/cmd/obitools/obiuniq/main.go +#9 79.05 creating: obitools4-master/cmd/test/ +#9 79.05 inflating: obitools4-master/cmd/test/main.go +#9 79.05 inflating: obitools4-master/devnotes.md +#9 79.05 creating: obitools4-master/doc/ +#9 79.05 extracting: obitools4-master/doc/.gitignore +#9 79.05 inflating: obitools4-master/doc/Makefile +#9 79.05 creating: obitools4-master/doc/book/ +#9 79.05 extracting: obitools4-master/doc/book/.gitignore +#9 79.05 creating: obitools4-master/doc/book/.ipynb_checkpoints/ +#9 79.05 inflating: obitools4-master/doc/book/.ipynb_checkpoints/Untitled-checkpoint.ipynb +#9 79.05 inflating: obitools4-master/doc/book/Makefile +#9 79.05 inflating: obitools4-master/doc/book/OBITools-V4.tex +#9 79.05 inflating: obitools4-master/doc/book/Probabilitymetrics.png +#9 79.05 inflating: obitools4-master/doc/book/Untitled.ipynb +#9 79.05 creating: obitools4-master/doc/book/_freeze/ +#9 79.05 creating: obitools4-master/doc/book/_freeze/comm_computation/ +#9 79.05 creating: obitools4-master/doc/book/_freeze/comm_computation/execute-results/ +#9 79.05 inflating: obitools4-master/doc/book/_freeze/comm_computation/execute-results/epub.json +#9 79.05 inflating: obitools4-master/doc/book/_freeze/comm_computation/execute-results/html.json +#9 79.05 inflating: obitools4-master/doc/book/_freeze/comm_computation/execute-results/tex.json +#9 79.05 creating: obitools4-master/doc/book/_freeze/comm_computation/figure-epub/ +#9 79.05 inflating: obitools4-master/doc/book/_freeze/comm_computation/figure-epub/unnamed-chunk-1-1.png +#9 79.05 creating: obitools4-master/doc/book/_freeze/comm_computation/figure-html/ +#9 79.05 inflating: obitools4-master/doc/book/_freeze/comm_computation/figure-html/unnamed-chunk-1-1.png +#9 79.05 creating: obitools4-master/doc/book/_freeze/comm_computation/figure-pdf/ +#9 79.05 inflating: obitools4-master/doc/book/_freeze/comm_computation/figure-pdf/unnamed-chunk-1-1.pdf +#9 79.05 creating: obitools4-master/doc/book/_freeze/commands/ +#9 79.05 creating: obitools4-master/doc/book/_freeze/commands/execute-results/ +#9 79.05 inflating: obitools4-master/doc/book/_freeze/commands/execute-results/epub.json +#9 79.05 inflating: obitools4-master/doc/book/_freeze/commands/execute-results/html.json +#9 79.05 inflating: obitools4-master/doc/book/_freeze/commands/execute-results/tex.json +#9 79.05 creating: obitools4-master/doc/book/_freeze/commands/figure-epub/ +#9 79.05 inflating: obitools4-master/doc/book/_freeze/commands/figure-epub/unnamed-chunk-1-1.png +#9 79.05 creating: obitools4-master/doc/book/_freeze/commands/figure-html/ +#9 79.05 inflating: obitools4-master/doc/book/_freeze/commands/figure-html/unnamed-chunk-1-1.png +#9 79.05 creating: obitools4-master/doc/book/_freeze/commands/figure-pdf/ +#9 79.05 inflating: obitools4-master/doc/book/_freeze/commands/figure-pdf/unnamed-chunk-1-1.pdf +#9 79.05 creating: obitools4-master/doc/book/_freeze/formats/ +#9 79.05 creating: obitools4-master/doc/book/_freeze/formats/execute-results/ +#9 79.06 inflating: obitools4-master/doc/book/_freeze/formats/execute-results/epub.json +#9 79.06 inflating: obitools4-master/doc/book/_freeze/formats/execute-results/html.json +#9 79.06 inflating: obitools4-master/doc/book/_freeze/formats/execute-results/tex.json +#9 79.06 creating: obitools4-master/doc/book/_freeze/index/ +#9 79.06 creating: obitools4-master/doc/book/_freeze/index/execute-results/ +#9 79.06 inflating: obitools4-master/doc/book/_freeze/index/execute-results/epub.json +#9 79.06 inflating: obitools4-master/doc/book/_freeze/index/execute-results/html.json +#9 79.06 inflating: obitools4-master/doc/book/_freeze/index/execute-results/tex.json +#9 79.06 creating: obitools4-master/doc/book/_freeze/installation/ +#9 79.06 creating: obitools4-master/doc/book/_freeze/installation/execute-results/ +#9 79.06 inflating: obitools4-master/doc/book/_freeze/installation/execute-results/epub.json +#9 79.06 inflating: obitools4-master/doc/book/_freeze/installation/execute-results/html.json +#9 79.06 inflating: obitools4-master/doc/book/_freeze/installation/execute-results/tex.json +#9 79.06 creating: obitools4-master/doc/book/_freeze/site_libs/ +#9 79.06 creating: obitools4-master/doc/book/_freeze/site_libs/clipboard/ +#9 79.06 inflating: obitools4-master/doc/book/_freeze/site_libs/clipboard/clipboard.min.js +#9 79.06 creating: obitools4-master/doc/book/_freeze/tutorial/ +#9 79.06 creating: obitools4-master/doc/book/_freeze/tutorial/execute-results/ +#9 79.06 inflating: obitools4-master/doc/book/_freeze/tutorial/execute-results/epub.json +#9 79.06 inflating: obitools4-master/doc/book/_freeze/tutorial/execute-results/html.json +#9 79.06 inflating: obitools4-master/doc/book/_freeze/tutorial/execute-results/tex.json +#9 79.06 creating: obitools4-master/doc/book/_freeze/tutorial/figure-epub/ +#9 79.06 inflating: obitools4-master/doc/book/_freeze/tutorial/figure-epub/unnamed-chunk-10-1.png +#9 79.06 inflating: obitools4-master/doc/book/_freeze/tutorial/figure-epub/unnamed-chunk-9-1.png +#9 79.06 creating: obitools4-master/doc/book/_freeze/tutorial/figure-html/ +#9 79.06 inflating: obitools4-master/doc/book/_freeze/tutorial/figure-html/unnamed-chunk-10-1.png +#9 79.06 inflating: obitools4-master/doc/book/_freeze/tutorial/figure-html/unnamed-chunk-9-1.png +#9 79.06 creating: obitools4-master/doc/book/_freeze/tutorial/figure-pdf/ +#9 79.06 inflating: obitools4-master/doc/book/_freeze/tutorial/figure-pdf/unnamed-chunk-10-1.pdf +#9 79.06 inflating: obitools4-master/doc/book/_freeze/tutorial/figure-pdf/unnamed-chunk-9-1.pdf +#9 79.06 inflating: obitools4-master/doc/book/_quarto.yml +#9 79.06 inflating: obitools4-master/doc/book/annexes.qmd +#9 79.06 inflating: obitools4-master/doc/book/comm_annotation.qmd +#9 79.06 inflating: obitools4-master/doc/book/comm_computation.qmd +#9 79.06 inflating: obitools4-master/doc/book/comm_metabarcode_design.qmd +#9 79.06 inflating: obitools4-master/doc/book/comm_reformat.qmd +#9 79.06 inflating: obitools4-master/doc/book/comm_sampling.qmd +#9 79.06 inflating: obitools4-master/doc/book/comm_utilities.qmd +#9 79.06 extracting: obitools4-master/doc/book/commands.qmd +#9 79.06 creating: obitools4-master/doc/book/commands_files/ +#9 79.06 creating: obitools4-master/doc/book/commands_files/figure-epub/ +#9 79.06 inflating: obitools4-master/doc/book/commands_files/figure-epub/unnamed-chunk-1-1.png +#9 79.06 creating: obitools4-master/doc/book/commands_files/figure-html/ +#9 79.06 inflating: obitools4-master/doc/book/commands_files/figure-html/unnamed-chunk-1-1.png +#9 79.06 inflating: obitools4-master/doc/book/common_options.qmd +#9 79.06 extracting: obitools4-master/doc/book/epub.css +#9 79.06 inflating: obitools4-master/doc/book/expressions.qmd +#9 79.06 inflating: obitools4-master/doc/book/formats.qmd +#9 79.06 inflating: obitools4-master/doc/book/index.qmd +#9 79.06 inflating: obitools4-master/doc/book/installation.qmd +#9 79.06 inflating: obitools4-master/doc/book/intro.qmd +#9 79.06 inflating: obitools4-master/doc/book/inupt.qmd +#9 79.06 inflating: obitools4-master/doc/book/library.qmd +#9 79.06 inflating: obitools4-master/doc/book/output.qmd +#9 79.06 inflating: obitools4-master/doc/book/references.qmd +#9 79.06 inflating: obitools4-master/doc/book/summary.qmd +#9 79.06 inflating: obitools4-master/doc/book/tutorial.qmd +#9 79.06 creating: obitools4-master/doc/book/tutorial_files/ +#9 79.06 creating: obitools4-master/doc/book/tutorial_files/figure-epub/ +#9 79.06 inflating: obitools4-master/doc/book/tutorial_files/figure-epub/unnamed-chunk-10-1.png +#9 79.06 inflating: obitools4-master/doc/book/tutorial_files/figure-epub/unnamed-chunk-9-1.png +#9 79.06 creating: obitools4-master/doc/book/tutorial_files/figure-html/ +#9 79.06 inflating: obitools4-master/doc/book/tutorial_files/figure-html/unnamed-chunk-10-1.png +#9 79.06 inflating: obitools4-master/doc/book/tutorial_files/figure-html/unnamed-chunk-9-1.png +#9 79.06 creating: obitools4-master/doc/book/wolf_data/ +#9 79.06 inflating: obitools4-master/doc/book/wolf_data/download_gb.sh +#9 79.06 inflating: obitools4-master/doc/book/wolf_data/download_gb_order.sh +#9 79.06 inflating: obitools4-master/doc/book/wolf_data/sort_gb_order.sh +#9 79.06 inflating: obitools4-master/doc/book/wolf_data/taxdump.tar.gz +#9 79.54 inflating: obitools4-master/doc/book/wolf_data/wolf_diet_ngsfilter.csv +#9 79.54 inflating: obitools4-master/doc/book/wolf_data/wolf_diet_ngsfilter.txt +#9 79.54 extracting: obitools4-master/doc/book/wolf_diet.tgz +#9 79.88 creating: obitools4-master/doc/build/ +#9 79.88 creating: obitools4-master/doc/build/_book/ +#9 79.88 inflating: obitools4-master/doc/build/_book/OBITools-V4.epub +#9 79.88 inflating: obitools4-master/doc/build/_book/OBITools-V4.pdf +#9 79.88 inflating: obitools4-master/doc/build/_book/Probabilitymetrics.png +#9 79.88 inflating: obitools4-master/doc/build/_book/annexes.html +#9 79.88 inflating: obitools4-master/doc/build/_book/comm_annotation.html +#9 79.88 inflating: obitools4-master/doc/build/_book/comm_computation.html +#9 79.88 creating: obitools4-master/doc/build/_book/comm_computation_files/ +#9 79.88 creating: obitools4-master/doc/build/_book/comm_computation_files/figure-epub/ +#9 79.88 inflating: obitools4-master/doc/build/_book/comm_computation_files/figure-epub/unnamed-chunk-1-1.png +#9 79.88 creating: obitools4-master/doc/build/_book/comm_computation_files/figure-html/ +#9 79.88 inflating: obitools4-master/doc/build/_book/comm_computation_files/figure-html/unnamed-chunk-1-1.png +#9 79.88 creating: obitools4-master/doc/build/_book/comm_computation_files/figure-pdf/ +#9 79.88 inflating: obitools4-master/doc/build/_book/comm_computation_files/figure-pdf/unnamed-chunk-1-1.pdf +#9 79.89 inflating: obitools4-master/doc/build/_book/comm_metabarcode_design.html +#9 79.89 inflating: obitools4-master/doc/build/_book/comm_reformat.html +#9 79.89 inflating: obitools4-master/doc/build/_book/comm_sampling.html +#9 79.89 inflating: obitools4-master/doc/build/_book/comm_utilities.html +#9 79.89 inflating: obitools4-master/doc/build/_book/commands.html +#9 79.89 creating: obitools4-master/doc/build/_book/commands_files/ +#9 79.89 creating: obitools4-master/doc/build/_book/commands_files/figure-epub/ +#9 79.89 inflating: obitools4-master/doc/build/_book/commands_files/figure-epub/unnamed-chunk-1-1.png +#9 79.89 creating: obitools4-master/doc/build/_book/commands_files/figure-html/ +#9 79.89 inflating: obitools4-master/doc/build/_book/commands_files/figure-html/unnamed-chunk-1-1.png +#9 79.89 creating: obitools4-master/doc/build/_book/commands_files/figure-pdf/ +#9 79.89 inflating: obitools4-master/doc/build/_book/commands_files/figure-pdf/unnamed-chunk-1-1.pdf +#9 79.89 inflating: obitools4-master/doc/build/_book/common_options.html +#9 79.89 inflating: obitools4-master/doc/build/_book/expressions.html +#9 79.89 inflating: obitools4-master/doc/build/_book/formats.html +#9 79.89 inflating: obitools4-master/doc/build/_book/index.html +#9 79.89 inflating: obitools4-master/doc/build/_book/installation.html +#9 79.89 inflating: obitools4-master/doc/build/_book/intro.html +#9 79.89 inflating: obitools4-master/doc/build/_book/inupt.html +#9 79.89 inflating: obitools4-master/doc/build/_book/library.html +#9 79.89 inflating: obitools4-master/doc/build/_book/output.html +#9 79.89 inflating: obitools4-master/doc/build/_book/references.html +#9 79.89 inflating: obitools4-master/doc/build/_book/search.json +#9 79.89 creating: obitools4-master/doc/build/_book/site_libs/ +#9 79.89 creating: obitools4-master/doc/build/_book/site_libs/clipboard/ +#9 79.89 inflating: obitools4-master/doc/build/_book/site_libs/clipboard/clipboard.min.js +#9 79.89 inflating: obitools4-master/doc/build/_book/tutorial.html +#9 79.89 creating: obitools4-master/doc/build/_book/tutorial_files/ +#9 79.89 creating: obitools4-master/doc/build/_book/tutorial_files/figure-epub/ +#9 79.89 inflating: obitools4-master/doc/build/_book/tutorial_files/figure-epub/unnamed-chunk-10-1.png +#9 79.89 inflating: obitools4-master/doc/build/_book/tutorial_files/figure-epub/unnamed-chunk-9-1.png +#9 79.89 creating: obitools4-master/doc/build/_book/tutorial_files/figure-html/ +#9 79.89 inflating: obitools4-master/doc/build/_book/tutorial_files/figure-html/unnamed-chunk-10-1.png +#9 79.89 inflating: obitools4-master/doc/build/_book/tutorial_files/figure-html/unnamed-chunk-9-1.png +#9 79.89 creating: obitools4-master/doc/build/_book/tutorial_files/figure-pdf/ +#9 79.89 inflating: obitools4-master/doc/build/_book/tutorial_files/figure-pdf/unnamed-chunk-10-1.pdf +#9 79.89 inflating: obitools4-master/doc/build/_book/tutorial_files/figure-pdf/unnamed-chunk-9-1.pdf +#9 79.89 inflating: obitools4-master/doc/build/_book/utilities.html +#9 79.89 extracting: obitools4-master/doc/build/_book/wolf_diet.tgz +#9 80.21 creating: obitools4-master/doc/build/_man/ +#9 80.21 creating: obitools4-master/doc/build/_man/man1/ +#9 80.21 inflating: obitools4-master/doc/build/_man/man1/obigrep.man +#9 80.21 creating: obitools4-master/doc/commands_files/ +#9 80.21 creating: obitools4-master/doc/commands_files/figure-epub/ +#9 80.21 inflating: obitools4-master/doc/commands_files/figure-epub/unnamed-chunk-1-1.png +#9 80.21 creating: obitools4-master/doc/commands_files/figure-pdf/ +#9 80.21 inflating: obitools4-master/doc/commands_files/figure-pdf/unnamed-chunk-1-1.pdf +#9 80.21 inflating: obitools4-master/doc/cover.png +#9 80.21 creating: obitools4-master/doc/lib/ +#9 80.21 inflating: obitools4-master/doc/lib/book.bib +#9 80.21 creating: obitools4-master/doc/lib/descriptions/ +#9 80.21 inflating: obitools4-master/doc/lib/descriptions/_obigrep.qmd +#9 80.21 creating: obitools4-master/doc/lib/options/ +#9 80.21 inflating: obitools4-master/doc/lib/options/_input.qmd +#9 80.21 inflating: obitools4-master/doc/lib/options/_output.qmd +#9 80.21 inflating: obitools4-master/doc/lib/options/_system.qmd +#9 80.21 creating: obitools4-master/doc/lib/options/input/ +#9 80.21 inflating: obitools4-master/doc/lib/options/input/_ecopcr.qmd +#9 80.21 inflating: obitools4-master/doc/lib/options/input/_embl.qmd +#9 80.21 inflating: obitools4-master/doc/lib/options/input/_genbank.qmd +#9 80.21 creating: obitools4-master/doc/lib/options/output/ +#9 80.21 inflating: obitools4-master/doc/lib/options/output/_compress.qmd +#9 80.21 inflating: obitools4-master/doc/lib/options/output/_out.qmd +#9 80.21 creating: obitools4-master/doc/lib/options/selection/ +#9 80.21 inflating: obitools4-master/doc/lib/options/selection/_max-count.qmd +#9 80.21 inflating: obitools4-master/doc/lib/options/selection/_max-length.qmd +#9 80.21 inflating: obitools4-master/doc/lib/options/selection/_min-count.qmd +#9 80.21 inflating: obitools4-master/doc/lib/options/selection/_min-length.qmd +#9 80.21 inflating: obitools4-master/doc/lib/options/selection/_sequence.qmd +#9 80.21 creating: obitools4-master/doc/lib/options/system/ +#9 80.21 extracting: obitools4-master/doc/lib/options/system/_debug.qmd +#9 80.21 extracting: obitools4-master/doc/lib/options/system/_help.qmd +#9 80.21 inflating: obitools4-master/doc/lib/options/system/_max-cpu.qmd +#9 80.21 extracting: obitools4-master/doc/lib/options/system/_no-progressbar.qmd +#9 80.21 extracting: obitools4-master/doc/lib/options/system/_workers.qmd +#9 80.21 creating: obitools4-master/doc/man/ +#9 80.21 inflating: obitools4-master/doc/man/Makefile +#9 80.21 inflating: obitools4-master/doc/man/obigrep.qmd +#9 80.21 inflating: obitools4-master/doc/man/test.md +#9 80.21 creating: obitools4-master/ecoprimers/ +#9 80.21 creating: obitools4-master/git-hooks/ +#9 80.21 inflating: obitools4-master/git-hooks/pre-push +#9 80.21 inflating: obitools4-master/go.mod +#9 80.21 inflating: obitools4-master/go.sum +#9 80.21 extracting: obitools4-master/go.work +#9 80.21 inflating: obitools4-master/go.work.sum +#9 80.21 inflating: obitools4-master/install_obitools.sh +#9 80.21 creating: obitools4-master/obitests/ +#9 80.21 creating: obitools4-master/obitests/obitools/ +#9 80.21 creating: obitools4-master/obitests/obitools/obiannotate/ +#9 80.21 inflating: obitools4-master/obitests/obitools/obiannotate/test.sh +#9 80.21 creating: obitools4-master/obitests/obitools/obiclean/ +#9 80.21 inflating: obitools4-master/obitests/obitools/obiclean/test.sh +#9 80.21 creating: obitools4-master/obitests/obitools/obicleandb/ +#9 80.21 inflating: obitools4-master/obitests/obitools/obicleandb/test.sh +#9 80.21 creating: obitools4-master/obitests/obitools/obicomplement/ +#9 80.21 inflating: obitools4-master/obitests/obitools/obicomplement/test.sh +#9 80.21 creating: obitools4-master/obitests/obitools/obiconsensus/ +#9 80.21 inflating: obitools4-master/obitests/obitools/obiconsensus/test.sh +#9 80.21 creating: obitools4-master/obitests/obitools/obiconvert/ +#9 80.21 inflating: obitools4-master/obitests/obitools/obiconvert/gbpln1088.4Mb.fasta.gz +#9 80.22 inflating: obitools4-master/obitests/obitools/obiconvert/test.sh +#9 80.22 creating: obitools4-master/obitests/obitools/obicount/ +#9 80.22 inflating: obitools4-master/obitests/obitools/obicount/test.sh +#9 80.22 extracting: obitools4-master/obitests/obitools/obicount/wolf_F.csv.gz +#9 80.22 extracting: obitools4-master/obitests/obitools/obicount/wolf_F.fasta.gz +#9 80.22 extracting: obitools4-master/obitests/obitools/obicount/wolf_F.fastq.gz +#9 80.23 creating: obitools4-master/obitests/obitools/obicsv/ +#9 80.23 inflating: obitools4-master/obitests/obitools/obicsv/test.sh +#9 80.23 creating: obitools4-master/obitests/obitools/obidemerge/ +#9 80.23 inflating: obitools4-master/obitests/obitools/obidemerge/test.sh +#9 80.23 creating: obitools4-master/obitests/obitools/obidistribute/ +#9 80.23 inflating: obitools4-master/obitests/obitools/obidistribute/test.sh +#9 80.23 creating: obitools4-master/obitests/obitools/obigrep/ +#9 80.23 inflating: obitools4-master/obitests/obitools/obigrep/test.sh +#9 80.23 creating: obitools4-master/obitests/obitools/obijoin/ +#9 80.23 inflating: obitools4-master/obitests/obitools/obijoin/test.sh +#9 80.23 creating: obitools4-master/obitests/obitools/obikmermatch/ +#9 80.23 inflating: obitools4-master/obitests/obitools/obikmermatch/test.sh +#9 80.23 creating: obitools4-master/obitests/obitools/obikmersimcount/ +#9 80.23 inflating: obitools4-master/obitests/obitools/obikmersimcount/test.sh +#9 80.23 creating: obitools4-master/obitests/obitools/obilandmark/ +#9 80.23 inflating: obitools4-master/obitests/obitools/obilandmark/test.sh +#9 80.23 creating: obitools4-master/obitests/obitools/obimatrix/ +#9 80.23 inflating: obitools4-master/obitests/obitools/obimatrix/test.sh +#9 80.23 creating: obitools4-master/obitests/obitools/obimicrosat/ +#9 80.24 inflating: obitools4-master/obitests/obitools/obimicrosat/test.sh +#9 80.24 creating: obitools4-master/obitests/obitools/obimultiplex/ +#9 80.24 inflating: obitools4-master/obitests/obitools/obimultiplex/test.sh +#9 80.24 creating: obitools4-master/obitests/obitools/obipairing/ +#9 80.24 inflating: obitools4-master/obitests/obitools/obipairing/test.sh +#9 80.24 extracting: obitools4-master/obitests/obitools/obipairing/wolf_F.fastq.gz +#9 80.25 extracting: obitools4-master/obitests/obitools/obipairing/wolf_R.fastq.gz +#9 80.26 extracting: obitools4-master/obitests/obitools/obipairing/wolf_paired_alignment.csv.gz +#9 80.26 extracting: obitools4-master/obitests/obitools/obipairing/wolf_paired_join.csv.gz +#9 80.26 creating: obitools4-master/obitests/obitools/obipcr/ +#9 80.26 inflating: obitools4-master/obitests/obitools/obipcr/test.sh +#9 80.26 creating: obitools4-master/obitests/obitools/obirefidx/ +#9 80.26 inflating: obitools4-master/obitests/obitools/obirefidx/test.sh +#9 80.26 creating: obitools4-master/obitests/obitools/obiscript/ +#9 80.26 inflating: obitools4-master/obitests/obitools/obiscript/test.sh +#9 80.26 creating: obitools4-master/obitests/obitools/obisplit/ +#9 80.26 inflating: obitools4-master/obitests/obitools/obisplit/test.sh +#9 80.26 creating: obitools4-master/obitests/obitools/obisummary/ +#9 80.26 inflating: obitools4-master/obitests/obitools/obisummary/some_uniq_seq.fasta +#9 80.26 inflating: obitools4-master/obitests/obitools/obisummary/some_uniq_seq.json +#9 80.26 inflating: obitools4-master/obitests/obitools/obisummary/some_uniq_seq.yaml +#9 80.26 inflating: obitools4-master/obitests/obitools/obisummary/test.sh +#9 80.26 creating: obitools4-master/obitests/obitools/obitag/ +#9 80.26 inflating: obitools4-master/obitests/obitools/obitag/test.sh +#9 80.26 creating: obitools4-master/obitests/obitools/obitagpcr/ +#9 80.26 inflating: obitools4-master/obitests/obitools/obitagpcr/test.sh +#9 80.26 creating: obitools4-master/obitests/obitools/obitaxonomy/ +#9 80.26 inflating: obitools4-master/obitests/obitools/obitaxonomy/test.sh +#9 80.26 creating: obitools4-master/obitests/obitools/obiuniq/ +#9 80.26 inflating: obitools4-master/obitests/obitools/obiuniq/test.sh +#9 80.26 creating: obitools4-master/obitools4/ +#9 80.26 inflating: obitools4-master/obitools4/Dockerfile +#9 80.26 creating: obitools4-master/pkg/ +#9 80.26 creating: obitools4-master/pkg/obialign/ +#9 80.26 inflating: obitools4-master/pkg/obialign/alignment.go +#9 80.26 inflating: obitools4-master/pkg/obialign/backtracking.go +#9 80.26 inflating: obitools4-master/pkg/obialign/dnamatrix.go +#9 80.26 inflating: obitools4-master/pkg/obialign/fastlcs.go +#9 80.26 inflating: obitools4-master/pkg/obialign/fastlcsegf.go +#9 80.26 inflating: obitools4-master/pkg/obialign/fourbitsencode.go +#9 80.26 inflating: obitools4-master/pkg/obialign/is_d0_or_d1.go +#9 80.26 inflating: obitools4-master/pkg/obialign/locatepattern.go +#9 80.26 inflating: obitools4-master/pkg/obialign/pairedendalign.go +#9 80.26 inflating: obitools4-master/pkg/obialign/readalign.go +#9 80.26 creating: obitools4-master/pkg/obiapat/ +#9 80.26 creating: obitools4-master/pkg/obiapat/abiapat/ +#9 80.26 creating: obitools4-master/pkg/obiapat/abiapat/CODES/ +#9 80.26 inflating: obitools4-master/pkg/obiapat/abiapat/CODES/dft_code.h +#9 80.26 inflating: obitools4-master/pkg/obiapat/abiapat/CODES/dna_code.h +#9 80.26 inflating: obitools4-master/pkg/obiapat/abiapat/CODES/prot_code.h +#9 80.26 inflating: obitools4-master/pkg/obiapat/abiapat/Makefile +#9 80.26 inflating: obitools4-master/pkg/obiapat/apat.h +#9 80.26 inflating: obitools4-master/pkg/obiapat/apat_mem.h +#9 80.26 inflating: obitools4-master/pkg/obiapat/apat_parse.c +#9 80.26 inflating: obitools4-master/pkg/obiapat/apat_search.c +#9 80.26 inflating: obitools4-master/pkg/obiapat/ecoMalloc.c +#9 80.26 inflating: obitools4-master/pkg/obiapat/libstki.c +#9 80.26 inflating: obitools4-master/pkg/obiapat/libstki.h +#9 80.26 inflating: obitools4-master/pkg/obiapat/obiapat.c +#9 80.26 inflating: obitools4-master/pkg/obiapat/obiapat.h +#9 80.26 inflating: obitools4-master/pkg/obiapat/pattern.go +#9 80.26 inflating: obitools4-master/pkg/obiapat/pattern_test.go +#9 80.26 inflating: obitools4-master/pkg/obiapat/pcr.go +#9 80.26 inflating: obitools4-master/pkg/obiapat/predicat.go +#9 80.26 creating: obitools4-master/pkg/obichunk/ +#9 80.26 inflating: obitools4-master/pkg/obichunk/chunk.go +#9 80.26 inflating: obitools4-master/pkg/obichunk/chunk_on_disk.go +#9 80.26 inflating: obitools4-master/pkg/obichunk/chunks_on_memory.go +#9 80.26 inflating: obitools4-master/pkg/obichunk/options.go +#9 80.26 inflating: obitools4-master/pkg/obichunk/subchunks.go +#9 80.26 inflating: obitools4-master/pkg/obichunk/unique.go +#9 80.26 creating: obitools4-master/pkg/obicorazick/ +#9 80.26 inflating: obitools4-master/pkg/obicorazick/worker.go +#9 80.26 creating: obitools4-master/pkg/obidefault/ +#9 80.26 inflating: obitools4-master/pkg/obidefault/batch.go +#9 80.26 inflating: obitools4-master/pkg/obidefault/compressed.go +#9 80.26 inflating: obitools4-master/pkg/obidefault/logger.go +#9 80.26 inflating: obitools4-master/pkg/obidefault/quality.go +#9 80.26 inflating: obitools4-master/pkg/obidefault/taxonomy.go +#9 80.26 inflating: obitools4-master/pkg/obidefault/workers.go +#9 80.26 creating: obitools4-master/pkg/obiformats/ +#9 80.26 inflating: obitools4-master/pkg/obiformats/batch_of_files_reader.go +#9 80.26 inflating: obitools4-master/pkg/obiformats/batch_reader_type.go +#9 80.26 inflating: obitools4-master/pkg/obiformats/csv_read.go +#9 80.26 inflating: obitools4-master/pkg/obiformats/csv_writer.go +#9 80.26 inflating: obitools4-master/pkg/obiformats/csviterator.go +#9 80.26 inflating: obitools4-master/pkg/obiformats/csvtaxdump_read.go +#9 80.26 inflating: obitools4-master/pkg/obiformats/dispatcher.go +#9 80.26 inflating: obitools4-master/pkg/obiformats/ecopcr_read.go +#9 80.26 inflating: obitools4-master/pkg/obiformats/embl_read.go +#9 80.26 inflating: obitools4-master/pkg/obiformats/empty_file.go +#9 80.26 inflating: obitools4-master/pkg/obiformats/fastaseq_read.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/fastqseq_read.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/fastqseq_write_generic.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/fastseq_header.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/fastseq_interface.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/fastseq_json_header.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/fastseq_obi_header.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/fastseq_read.c +#9 80.27 inflating: obitools4-master/pkg/obiformats/fastseq_read.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/fastseq_read.h +#9 80.27 inflating: obitools4-master/pkg/obiformats/fastseq_write_fasta.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/fastseq_write_fastq.go +#9 80.27 extracting: obitools4-master/pkg/obiformats/fastseq_write_with_index.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/file_chunk_read.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/file_chunk_write.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/genbank_read.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/json_writer.go +#9 80.27 creating: obitools4-master/pkg/obiformats/kseq/ +#9 80.27 inflating: obitools4-master/pkg/obiformats/kseq/Makefile +#9 80.27 inflating: obitools4-master/pkg/obiformats/kseq/kseq.h +#9 80.27 inflating: obitools4-master/pkg/obiformats/kseq/kseq_test +#9 80.27 inflating: obitools4-master/pkg/obiformats/kseq/kseq_test.c +#9 80.27 inflating: obitools4-master/pkg/obiformats/kseq/test.seq +#9 80.27 inflating: obitools4-master/pkg/obiformats/ncbitaxdump_read.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/ncbitaxdump_readtar.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/newick_write.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/ngsfilter_read.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/options.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/taxonomy_read.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/universal_read.go +#9 80.27 inflating: obitools4-master/pkg/obiformats/universal_write.go +#9 80.27 creating: obitools4-master/pkg/obifp/ +#9 80.27 inflating: obitools4-master/pkg/obifp/uint128.go +#9 80.27 inflating: obitools4-master/pkg/obifp/uint128_test.go +#9 80.27 inflating: obitools4-master/pkg/obifp/uint256.go +#9 80.27 inflating: obitools4-master/pkg/obifp/uint64.go +#9 80.27 inflating: obitools4-master/pkg/obifp/unint.go +#9 80.27 creating: obitools4-master/pkg/obigraph/ +#9 80.27 inflating: obitools4-master/pkg/obigraph/graph.go +#9 80.27 inflating: obitools4-master/pkg/obigraph/graphbuffer.go +#9 80.27 creating: obitools4-master/pkg/obiiter/ +#9 80.27 inflating: obitools4-master/pkg/obiiter/batch.go +#9 80.27 inflating: obitools4-master/pkg/obiiter/batchiterator.go +#9 80.27 inflating: obitools4-master/pkg/obiiter/distribute.go +#9 80.27 inflating: obitools4-master/pkg/obiiter/extract_taxonomy.go +#9 80.27 inflating: obitools4-master/pkg/obiiter/fragment.go +#9 80.27 inflating: obitools4-master/pkg/obiiter/limitmemory.go +#9 80.27 inflating: obitools4-master/pkg/obiiter/merge.go +#9 80.27 inflating: obitools4-master/pkg/obiiter/numbering.go +#9 80.27 inflating: obitools4-master/pkg/obiiter/paired.go +#9 80.27 inflating: obitools4-master/pkg/obiiter/pipe.go +#9 80.27 inflating: obitools4-master/pkg/obiiter/sequence_workers.go +#9 80.27 inflating: obitools4-master/pkg/obiiter/speed.go +#9 80.27 inflating: obitools4-master/pkg/obiiter/workers.go +#9 80.27 creating: obitools4-master/pkg/obiitercsv/ +#9 80.27 inflating: obitools4-master/pkg/obiitercsv/csv.go +#9 80.27 creating: obitools4-master/pkg/obikmer/ +#9 80.27 inflating: obitools4-master/pkg/obikmer/counting.go +#9 80.27 inflating: obitools4-master/pkg/obikmer/debruijn.go +#9 80.27 inflating: obitools4-master/pkg/obikmer/encodefourmer.go +#9 80.27 inflating: obitools4-master/pkg/obikmer/kmermap.go +#9 80.27 creating: obitools4-master/pkg/obilog/ +#9 80.27 inflating: obitools4-master/pkg/obilog/warning.go +#9 80.27 creating: obitools4-master/pkg/obilua/ +#9 80.27 inflating: obitools4-master/pkg/obilua/lua.go +#9 80.27 inflating: obitools4-master/pkg/obilua/lua_obicontext.go +#9 80.27 inflating: obitools4-master/pkg/obilua/lua_push_interface.go +#9 80.27 inflating: obitools4-master/pkg/obilua/lua_table.go +#9 80.27 inflating: obitools4-master/pkg/obilua/mutex.go +#9 80.27 inflating: obitools4-master/pkg/obilua/obilib.go +#9 80.27 inflating: obitools4-master/pkg/obilua/obiseq.go +#9 80.27 inflating: obitools4-master/pkg/obilua/obiseqslice.go +#9 80.27 inflating: obitools4-master/pkg/obilua/obitaxon.go +#9 80.27 inflating: obitools4-master/pkg/obilua/obitaxonomy.go +#9 80.27 creating: obitools4-master/pkg/obingslibrary/ +#9 80.27 inflating: obitools4-master/pkg/obingslibrary/marker.go +#9 80.27 inflating: obitools4-master/pkg/obingslibrary/match.go +#9 80.27 inflating: obitools4-master/pkg/obingslibrary/multimatch.go +#9 80.27 inflating: obitools4-master/pkg/obingslibrary/ngslibrary.go +#9 80.27 inflating: obitools4-master/pkg/obingslibrary/worker.go +#9 80.27 creating: obitools4-master/pkg/obioptions/ +#9 80.27 inflating: obitools4-master/pkg/obioptions/options.go +#9 80.27 inflating: obitools4-master/pkg/obioptions/version.go +#9 80.27 creating: obitools4-master/pkg/obiphylo/ +#9 80.27 inflating: obitools4-master/pkg/obiphylo/tree.go +#9 80.27 creating: obitools4-master/pkg/obiseq/ +#9 80.27 inflating: obitools4-master/pkg/obiseq/attributes.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/biosequence.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/biosequence_test.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/biosequenceslice.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/class.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/compare.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/eval.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/iupac_nog.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/join.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/language.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/merge.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/paired_reads.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/pool.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/predicate.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/revcomp.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/revcomp_test.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/subseq.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/subseq_test.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/taxonomy_classifier.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/taxonomy_lca.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/taxonomy_methods.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/taxonomy_predicate.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/taxonomy_workers.go +#9 80.27 inflating: obitools4-master/pkg/obiseq/worker.go +#9 80.27 creating: obitools4-master/pkg/obistats/ +#9 80.27 inflating: obitools4-master/pkg/obistats/algo.go +#9 80.27 inflating: obitools4-master/pkg/obistats/beta.go +#9 80.27 inflating: obitools4-master/pkg/obistats/betabinom.go +#9 80.27 inflating: obitools4-master/pkg/obistats/data.go +#9 80.27 inflating: obitools4-master/pkg/obistats/delta.go +#9 80.27 inflating: obitools4-master/pkg/obistats/kmeans.go +#9 80.27 inflating: obitools4-master/pkg/obistats/kolmogorovbeta.go +#9 80.27 inflating: obitools4-master/pkg/obistats/mannwhitney.go +#9 80.27 inflating: obitools4-master/pkg/obistats/mathx.go +#9 80.27 inflating: obitools4-master/pkg/obistats/minmax.go +#9 80.27 inflating: obitools4-master/pkg/obistats/normaldist.go +#9 80.27 inflating: obitools4-master/pkg/obistats/random.go +#9 80.27 inflating: obitools4-master/pkg/obistats/sample.go +#9 80.27 inflating: obitools4-master/pkg/obistats/scaler.go +#9 80.27 inflating: obitools4-master/pkg/obistats/sort.go +#9 80.27 inflating: obitools4-master/pkg/obistats/stats.go +#9 80.27 inflating: obitools4-master/pkg/obistats/table.go +#9 80.27 inflating: obitools4-master/pkg/obistats/tdist.go +#9 80.27 inflating: obitools4-master/pkg/obistats/ttest.go +#9 80.27 inflating: obitools4-master/pkg/obistats/udist.go +#9 80.27 inflating: obitools4-master/pkg/obistats/utils.go +#9 80.27 creating: obitools4-master/pkg/obisuffix/ +#9 80.27 inflating: obitools4-master/pkg/obisuffix/suffix_array.go +#9 80.27 creating: obitools4-master/pkg/obitable/ +#9 80.27 inflating: obitools4-master/pkg/obitable/table.go +#9 80.27 creating: obitools4-master/pkg/obitax/ +#9 80.27 inflating: obitools4-master/pkg/obitax/default_taxonomy.go +#9 80.27 inflating: obitools4-master/pkg/obitax/filter_on_name.go +#9 80.27 inflating: obitools4-master/pkg/obitax/filter_on_rank.go +#9 80.27 inflating: obitools4-master/pkg/obitax/filter_on_subclade_of.go +#9 80.27 inflating: obitools4-master/pkg/obitax/inner.go +#9 80.27 inflating: obitools4-master/pkg/obitax/issuubcladeof.go +#9 80.27 inflating: obitools4-master/pkg/obitax/iterator.go +#9 80.27 inflating: obitools4-master/pkg/obitax/lca.go +#9 80.27 inflating: obitools4-master/pkg/obitax/string_parser.go +#9 80.27 inflating: obitools4-master/pkg/obitax/taxid.go +#9 80.27 inflating: obitools4-master/pkg/obitax/taxon.go +#9 80.27 inflating: obitools4-master/pkg/obitax/taxonnode.go +#9 80.27 inflating: obitools4-master/pkg/obitax/taxonomy.go +#9 80.27 inflating: obitools4-master/pkg/obitax/taxonset.go +#9 80.27 inflating: obitools4-master/pkg/obitax/taxonslice.go +#9 80.27 creating: obitools4-master/pkg/obitools/ +#9 80.27 creating: obitools4-master/pkg/obitools/obiannotate/ +#9 80.27 inflating: obitools4-master/pkg/obitools/obiannotate/obiannotate.go +#9 80.27 inflating: obitools4-master/pkg/obitools/obiannotate/options.go +#9 80.27 creating: obitools4-master/pkg/obitools/obiclean/ +#9 80.27 inflating: obitools4-master/pkg/obitools/obiclean/chimera.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obiclean/graph.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obiclean/obiclean.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obiclean/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obicleandb/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obicleandb/obicleandb.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obicleandb/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obiclust/ +#9 80.28 extracting: obitools4-master/pkg/obitools/obiclust/obiclust.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obiclust/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obiconsensus/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obiconsensus/obiconsensus.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obiconsensus/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obiconvert/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obiconvert/options.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obiconvert/sequence_reader.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obiconvert/sequence_writer.go +#9 80.28 creating: obitools4-master/pkg/obitools/obicount/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obicount/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obicsv/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obicsv/csvoption.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obicsv/obicsv.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obicsv/options.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obicsv/sequence.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obicsv/writer.go +#9 80.28 creating: obitools4-master/pkg/obitools/obidemerge/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obidemerge/demerge.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obidemerge/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obidistribute/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obidistribute/distribute.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obidistribute/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obigrep/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obigrep/grep.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obigrep/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obijoin/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obijoin/join.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obijoin/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obikmersim/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obikmersim/obikmersim.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obikmersim/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obilandmark/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obilandmark/obilandmark.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obilandmark/options.go +#9 80.28 extracting: obitools4-master/pkg/obitools/obilandmark/taxostat.go +#9 80.28 creating: obitools4-master/pkg/obitools/obimatrix/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obimatrix/obimatrix.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obimatrix/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obimicrosat/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obimicrosat/microsat.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obimicrosat/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obimultiplex/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obimultiplex/demultiplex.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obimultiplex/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obipairing/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obipairing/options.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obipairing/pairing.go +#9 80.28 creating: obitools4-master/pkg/obitools/obipcr/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obipcr/options.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obipcr/pcr.go +#9 80.28 creating: obitools4-master/pkg/obitools/obirefidx/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obirefidx/famlilyindexing.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obirefidx/geomindexing.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obirefidx/obirefidx.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obirefidx/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obiscript/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obiscript/obiscript.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obiscript/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obisplit/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obisplit/obisplit.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obisplit/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obisummary/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obisummary/obisummary.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obisummary/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obitag/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obitag/obigeomtag.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obitag/obitag.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obitag/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obitagpcr/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obitagpcr/options.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obitagpcr/pcrtag.go +#9 80.28 creating: obitools4-master/pkg/obitools/obitaxonomy/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obitaxonomy/obitaxonomy.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obitaxonomy/options.go +#9 80.28 creating: obitools4-master/pkg/obitools/obiuniq/ +#9 80.28 inflating: obitools4-master/pkg/obitools/obiuniq/options.go +#9 80.28 inflating: obitools4-master/pkg/obitools/obiuniq/unique.go +#9 80.28 creating: obitools4-master/pkg/obiutils/ +#9 80.28 inflating: obitools4-master/pkg/obiutils/abs.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/abs_test.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/array.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/array_test.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/bytes.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/bytes_test.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/cast_interface.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/counter.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/download.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/goutils.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/gzipfile.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/mimetypes.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/minmax.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/path.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/path_test.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/pipe.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/ranks.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/set.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/set_test.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/slices.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/strings.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/tar.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/unsafe.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/xopen.go +#9 80.28 inflating: obitools4-master/pkg/obiutils/xopen_test.go +#9 80.28 creating: obitools4-master/public/ +#9 80.28 extracting: obitools4-master/public/.gitkeep +#9 80.28 inflating: obitools4-master/public/OBITools-V4.pdf +#9 80.28 inflating: obitools4-master/public/annexes.html +#9 80.28 inflating: obitools4-master/public/commands.html +#9 80.28 creating: obitools4-master/public/commands_files/ +#9 80.28 creating: obitools4-master/public/commands_files/figure-html/ +#9 80.28 inflating: obitools4-master/public/commands_files/figure-html/unnamed-chunk-1-1.png +#9 80.28 inflating: obitools4-master/public/index.html +#9 80.28 inflating: obitools4-master/public/intro.html +#9 80.28 inflating: obitools4-master/public/library.html +#9 80.28 inflating: obitools4-master/public/references.html +#9 80.28 inflating: obitools4-master/public/search.json +#9 80.28 creating: obitools4-master/public/site_libs/ +#9 80.28 creating: obitools4-master/public/site_libs/bootstrap/ +#9 80.28 inflating: obitools4-master/public/site_libs/bootstrap/bootstrap-icons.css +#9 80.28 inflating: obitools4-master/public/site_libs/bootstrap/bootstrap-icons.woff +#9 80.29 inflating: obitools4-master/public/site_libs/bootstrap/bootstrap.min.css +#9 80.29 inflating: obitools4-master/public/site_libs/bootstrap/bootstrap.min.js +#9 80.29 creating: obitools4-master/public/site_libs/clipboard/ +#9 80.29 inflating: obitools4-master/public/site_libs/clipboard/clipboard.min.js +#9 80.29 creating: obitools4-master/public/site_libs/quarto-html/ +#9 80.29 inflating: obitools4-master/public/site_libs/quarto-html/anchor.min.js +#9 80.29 inflating: obitools4-master/public/site_libs/quarto-html/popper.min.js +#9 80.29 inflating: obitools4-master/public/site_libs/quarto-html/quarto-syntax-highlighting.css +#9 80.29 inflating: obitools4-master/public/site_libs/quarto-html/quarto.js +#9 80.29 inflating: obitools4-master/public/site_libs/quarto-html/tippy.css +#9 80.29 inflating: obitools4-master/public/site_libs/quarto-html/tippy.umd.min.js +#9 80.29 creating: obitools4-master/public/site_libs/quarto-nav/ +#9 80.29 inflating: obitools4-master/public/site_libs/quarto-nav/headroom.min.js +#9 80.29 inflating: obitools4-master/public/site_libs/quarto-nav/quarto-nav.js +#9 80.29 creating: obitools4-master/public/site_libs/quarto-search/ +#9 80.29 inflating: obitools4-master/public/site_libs/quarto-search/autocomplete.umd.js +#9 80.29 inflating: obitools4-master/public/site_libs/quarto-search/fuse.min.js +#9 80.29 inflating: obitools4-master/public/site_libs/quarto-search/quarto-search.js +#9 80.29 inflating: obitools4-master/public/tutorial.html +#9 80.29 creating: obitools4-master/public/tutorial_files/ +#9 80.29 creating: obitools4-master/public/tutorial_files/figure-html/ +#9 80.29 inflating: obitools4-master/public/tutorial_files/figure-html/unnamed-chunk-10-1.png +#9 80.29 inflating: obitools4-master/public/tutorial_files/figure-html/unnamed-chunk-9-1.png +#9 80.29 extracting: obitools4-master/public/wolf_diet.tgz +#9 80.60 creating: obitools4-master/sample/ +#9 80.60 inflating: obitools4-master/sample/AY189646 +#9 80.60 inflating: obitools4-master/sample/FJ465692 +#9 80.60 extracting: obitools4-master/sample/wolf_F.fastq.gz +#9 80.61 extracting: obitools4-master/sample/wolf_R.fastq.gz +#9 80.62 inflating: obitools4-master/sample/wolf_diet_ngsfilter.txt +#9 80.62 Install OBITOOLS from : https://github.com/metabarcoding/obitools4/archive/refs/heads/master.zip +#9 80.63 installing pre-push... +#9 80.63 mkdir -p build +#9 80.63 - Building obitool obiannotate...Done. +#9 99.38 - Building obitool obiclean...Done. +#9 100.8 - Building obitool obicleandb...Done. +#9 102.0 - Building obitool obicomplement...Done. +#9 103.1 - Building obitool obiconsensus...Done. +#9 104.3 - Building obitool obiconvert...Done. +#9 105.4 - Building obitool obicount...Done. +#9 106.6 - Building obitool obicsv...Done. +#9 107.7 - Building obitool obidemerge...Done. +#9 108.9 - Building obitool obidistribute...Done. +#9 110.0 - Building obitool obigrep...Done. +#9 111.1 - Building obitool obijoin...Done. +#9 112.3 - Building obitool obikmermatch...Done. +#9 113.5 - Building obitool obikmersimcount...Done. +#9 114.6 - Building obitool obilandmark...Done. +#9 115.8 - Building obitool obimatrix...Done. +#9 116.9 - Building obitool obimicrosat...Done. +#9 118.6 - Building obitool obimultiplex...Done. +#9 119.7 - Building obitool obipairing...Done. +#9 120.8 - Building obitool obipcr...Done. +#9 122.0 - Building obitool obireffamidx...Done. +#9 123.2 - Building obitool obirefidx...Done. +#9 124.3 - Building obitool obiscript...Done. +#9 126.2 - Building obitool obisplit...Done. +#9 127.4 - Building obitool obisummary...Done. +#9 128.9 - Building obitool obitag...Done. +#9 130.0 - Building obitool obitagpcr...Done. +#9 131.2 - Building obitool obitaxonomy...Done. +#9 132.3 - Building obitool obiuniq...Done. +#9 134.0 ~ +#9 DONE 135.2s + +#10 [rust-builder 6/6] RUN ls -l /usr/local/bin +#10 0.145 total 558880 +#10 0.145 drwxr-xr-x 1 root root 0 Oct 20 2023 before-notebook.d +#10 0.145 -rwxr-xr-x 1 root root 1043 Aug 19 2023 fix-permissions +#10 0.145 -rwxr-xr-x 1 root root 19803400 Nov 5 09:58 obiannotate +#10 0.145 -rwxr-xr-x 1 root root 20079416 Nov 5 09:58 obiclean +#10 0.145 -rwxr-xr-x 1 root root 19765616 Nov 5 09:58 obicleandb +#10 0.145 -rwxr-xr-x 1 root root 19562704 Nov 5 09:58 obicomplement +#10 0.145 -rwxr-xr-x 1 root root 20263896 Nov 5 09:58 obiconsensus +#10 0.145 -rwxr-xr-x 1 root root 19562760 Nov 5 09:58 obiconvert +#10 0.145 -rwxr-xr-x 1 root root 19288648 Nov 5 09:58 obicount +#10 0.145 -rwxr-xr-x 1 root root 19568056 Nov 5 09:58 obicsv +#10 0.145 -rwxr-xr-x 1 root root 19569688 Nov 5 09:58 obidemerge +#10 0.145 -rwxr-xr-x 1 root root 19581400 Nov 5 09:58 obidistribute +#10 0.145 -rwxr-xr-x 1 root root 19711024 Nov 5 09:58 obigrep +#10 0.145 -rwxr-xr-x 1 root root 19600488 Nov 5 09:58 obijoin +#10 0.145 -rwxr-xr-x 1 root root 19788488 Nov 5 09:58 obikmermatch +#10 0.145 -rwxr-xr-x 1 root root 19721640 Nov 5 09:58 obikmersimcount +#10 0.145 -rwxr-xr-x 1 root root 19661496 Nov 5 09:58 obilandmark +#10 0.145 -rwxr-xr-x 1 root root 19359192 Nov 5 09:58 obimatrix +#10 0.145 -rwxr-xr-x 1 root root 19932464 Nov 5 09:58 obimicrosat +#10 0.145 -rwxr-xr-x 1 root root 19718320 Nov 5 09:58 obimultiplex +#10 0.145 -rwxr-xr-x 1 root root 19639328 Nov 5 09:58 obipairing +#10 0.145 -rwxr-xr-x 1 root root 19638176 Nov 5 09:58 obipcr +#10 0.145 -rwxr-xr-x 1 root root 19649392 Nov 5 09:58 obireffamidx +#10 0.145 -rwxr-xr-x 1 root root 19606240 Nov 5 09:58 obirefidx +#10 0.145 -rwxr-xr-x 1 root root 20809824 Nov 5 09:58 obiscript +#10 0.145 -rwxr-xr-x 1 root root 19624912 Nov 5 09:58 obisplit +#10 0.145 -rwxr-xr-x 1 root root 19923272 Nov 5 09:58 obisummary +#10 0.145 -rwxr-xr-x 1 root root 19661632 Nov 5 09:58 obitag +#10 0.145 -rwxr-xr-x 1 root root 19793288 Nov 5 09:58 obitagpcr +#10 0.145 -rwxr-xr-x 1 root root 19607312 Nov 5 09:58 obitaxonomy +#10 0.145 -rwxr-xr-x 1 root root 19692664 Nov 5 09:58 obiuniq +#10 0.145 -rwxr-xr-x 1 root root 1331 Sep 4 2023 run-hooks.sh +#10 0.145 drwxr-xr-x 1 root root 0 Oct 20 2023 start-notebook.d +#10 0.145 -rwxr-xr-x 1 root root 1471 Oct 17 2023 start-notebook.py +#10 0.145 -rwxr-xr-x 1 root root 152 Oct 17 2023 start-notebook.sh +#10 0.145 -rwxr-xr-x 1 root root 11624 Aug 25 2023 start.sh +#10 0.145 -rwxr-xr-x 1 root root 726 Oct 17 2023 start-singleuser.py +#10 0.145 -rwxr-xr-x 1 root root 158 Oct 17 2023 start-singleuser.sh +#10 DONE 0.2s + +#11 [stage-1 8/12] RUN chmod +x /usr/local/bin/start-notebook.sh +#11 CACHED + +#12 [stage-1 2/12] RUN apt-get update && apt-get install -y r-base libcurl4-openssl-dev libssl-dev libxml2-dev curl texlive-xetex texlive-fonts-recommended texlive-plain-generic ruby ruby-dev vim nano && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* +#12 CACHED + +#13 [stage-1 3/12] RUN R -e "install.packages(c('IRkernel','tidyverse','vegan','ade4','BiocManager','remotes'), repos='http://cran.rstudio.com/')" && R -e "BiocManager::install('biomformat')" && R -e "remotes::install_github('metabaRfactory/metabaR')" && R -e "IRkernel::installspec(user = FALSE)" && rm -rf /tmp/Rtmp* +#13 CACHED + +#14 [stage-1 4/12] RUN pip install --no-cache-dir bash_kernel csvkit && python -m bash_kernel.install --sys-prefix +#14 CACHED + +#15 [stage-1 5/12] RUN gem install youplot +#15 CACHED + +#16 [stage-1 6/12] RUN mkdir -p /home/jovyan/.local/share/jupyter && chown -R 1000:100 /home/jovyan +#16 CACHED + +#17 [stage-1 7/12] COPY start-notebook.sh /usr/local/bin/start-notebook.sh +#17 CACHED + +#18 [stage-1 9/12] COPY --from=rust-builder /home/jovyan/.cargo/bin/csvlens /usr/local/bin/ +#18 CACHED + +#19 [stage-1 10/12] COPY --from=rust-builder /usr/local/bin/* /usr/local/bin/ +#19 DONE 0.1s + +#20 [stage-1 11/12] RUN ls -l /usr/local/bin/* +#20 0.190 -rwxr-xr-x 1 root root 10339888 Nov 5 07:37 /usr/local/bin/csvlens +#20 0.190 -rwxr-xr-x 1 root root 1043 Aug 19 2023 /usr/local/bin/fix-permissions +#20 0.190 -rwxr-xr-x 1 root root 19803400 Nov 5 09:58 /usr/local/bin/obiannotate +#20 0.190 -rwxr-xr-x 1 root root 20079416 Nov 5 09:58 /usr/local/bin/obiclean +#20 0.190 -rwxr-xr-x 1 root root 19765616 Nov 5 09:58 /usr/local/bin/obicleandb +#20 0.190 -rwxr-xr-x 1 root root 19562704 Nov 5 09:58 /usr/local/bin/obicomplement +#20 0.190 -rwxr-xr-x 1 root root 20263896 Nov 5 09:58 /usr/local/bin/obiconsensus +#20 0.190 -rwxr-xr-x 1 root root 19562760 Nov 5 09:58 /usr/local/bin/obiconvert +#20 0.190 -rwxr-xr-x 1 root root 19288648 Nov 5 09:58 /usr/local/bin/obicount +#20 0.190 -rwxr-xr-x 1 root root 19568056 Nov 5 09:58 /usr/local/bin/obicsv +#20 0.190 -rwxr-xr-x 1 root root 19569688 Nov 5 09:58 /usr/local/bin/obidemerge +#20 0.190 -rwxr-xr-x 1 root root 19581400 Nov 5 09:58 /usr/local/bin/obidistribute +#20 0.190 -rwxr-xr-x 1 root root 19711024 Nov 5 09:58 /usr/local/bin/obigrep +#20 0.190 -rwxr-xr-x 1 root root 19600488 Nov 5 09:58 /usr/local/bin/obijoin +#20 0.190 -rwxr-xr-x 1 root root 19788488 Nov 5 09:58 /usr/local/bin/obikmermatch +#20 0.190 -rwxr-xr-x 1 root root 19721640 Nov 5 09:58 /usr/local/bin/obikmersimcount +#20 0.190 -rwxr-xr-x 1 root root 19661496 Nov 5 09:58 /usr/local/bin/obilandmark +#20 0.190 -rwxr-xr-x 1 root root 19359192 Nov 5 09:58 /usr/local/bin/obimatrix +#20 0.190 -rwxr-xr-x 1 root root 19932464 Nov 5 09:58 /usr/local/bin/obimicrosat +#20 0.190 -rwxr-xr-x 1 root root 19718320 Nov 5 09:58 /usr/local/bin/obimultiplex +#20 0.190 -rwxr-xr-x 1 root root 19639328 Nov 5 09:58 /usr/local/bin/obipairing +#20 0.190 -rwxr-xr-x 1 root root 19638176 Nov 5 09:58 /usr/local/bin/obipcr +#20 0.190 -rwxr-xr-x 1 root root 19649392 Nov 5 09:58 /usr/local/bin/obireffamidx +#20 0.190 -rwxr-xr-x 1 root root 19606240 Nov 5 09:58 /usr/local/bin/obirefidx +#20 0.190 -rwxr-xr-x 1 root root 20809824 Nov 5 09:58 /usr/local/bin/obiscript +#20 0.190 -rwxr-xr-x 1 root root 19624912 Nov 5 09:58 /usr/local/bin/obisplit +#20 0.190 -rwxr-xr-x 1 root root 19923272 Nov 5 09:58 /usr/local/bin/obisummary +#20 0.190 -rwxr-xr-x 1 root root 19661632 Nov 5 09:58 /usr/local/bin/obitag +#20 0.190 -rwxr-xr-x 1 root root 19793288 Nov 5 09:58 /usr/local/bin/obitagpcr +#20 0.190 -rwxr-xr-x 1 root root 19607312 Nov 5 09:58 /usr/local/bin/obitaxonomy +#20 0.190 -rwxr-xr-x 1 root root 19692664 Nov 5 09:58 /usr/local/bin/obiuniq +#20 0.190 -rwxr-xr-x 1 root root 1331 Sep 4 2023 /usr/local/bin/run-hooks.sh +#20 0.190 -rwxr-xr-x 1 root root 1471 Oct 17 2023 /usr/local/bin/start-notebook.py +#20 0.190 -rwxr-xr-x 1 root root 152 Oct 17 2023 /usr/local/bin/start-notebook.sh +#20 0.190 -rwxr-xr-x 1 root root 11624 Aug 25 2023 /usr/local/bin/start.sh +#20 0.190 -rwxr-xr-x 1 root root 726 Oct 17 2023 /usr/local/bin/start-singleuser.py +#20 0.190 -rwxr-xr-x 1 root root 158 Oct 17 2023 /usr/local/bin/start-singleuser.sh +#20 0.190 -rwxr-xr-x 1 root root 544 Nov 5 07:47 /usr/local/bin/uplot +#20 0.190 -rwxr-xr-x 1 root root 548 Nov 5 07:47 /usr/local/bin/youplot +#20 0.190 +#20 0.190 /usr/local/bin/before-notebook.d: +#20 0.190 total 0 +#20 0.190 +#20 0.190 /usr/local/bin/start-notebook.d: +#20 0.190 total 0 +#20 DONE 0.2s + +#21 [stage-1 12/12] WORKDIR /home/jovyan/work +#21 DONE 0.1s + +#22 exporting to image +#22 exporting layers +#22 exporting layers 1.2s done +#22 writing image sha256:16ef1b3fea82b9d4fd8e3c4f79f060d98022c2a502b1c3e49ce9e5421cdc2bd4 done +#22 naming to docker.io/library/jupyterhub-student:latest done +#22 DONE 1.3s diff --git a/obijupyterhub/jupyterhub_config.py b/obijupyterhub/jupyterhub_config.py index 2d7db66..e951187 100644 --- a/obijupyterhub/jupyterhub_config.py +++ b/obijupyterhub/jupyterhub_config.py @@ -76,6 +76,7 @@ c.DockerSpawner.volume_driver_opts = { 'device': '/volumes', 'o': 'bind' } + # Memory and CPU configuration (adjust according to your needs) c.DockerSpawner.mem_limit = '2G' c.DockerSpawner.cpu_limit = 1.0 diff --git a/web_src/lectures/computers/regex/slides_regex.qmd b/web_src/lectures/computers/regex/slides_regex.qmd index c0bc8ec..b8df902 100644 --- a/web_src/lectures/computers/regex/slides_regex.qmd +++ b/web_src/lectures/computers/regex/slides_regex.qmd @@ -3,6 +3,7 @@ title: "Regular Expressions" format: revealjs: theme: beige # thème des slides + css: ../../slides.css transition: fade # effet de transition entre les slides --- diff --git a/web_src/lectures/computers/unix/commande.svg b/web_src/lectures/computers/unix/commande.svg index a8650f3..cec6b28 100644 --- a/web_src/lectures/computers/unix/commande.svg +++ b/web_src/lectures/computers/unix/commande.svg @@ -9,7 +9,7 @@ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="210mm" - height="297mm" + height="100mm" id="svg2" sodipodi:version="0.32" inkscape:version="0.46+devel" @@ -54,7 +54,7 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1.01" - inkscape:cx="348.57747" + inkscape:cx="100" inkscape:cy="757.62376" inkscape:document-units="px" inkscape:current-layer="layer1" @@ -62,7 +62,7 @@ inkscape:window-width="1440" inkscape:window-height="823" inkscape:window-x="0" - inkscape:window-y="22" /> + inkscape:window-y="12" /> diff --git a/web_src/lectures/computers/unix/images/OBITools-web.png b/web_src/lectures/computers/unix/images/OBITools-web.png new file mode 100644 index 0000000..778bbf4 Binary files /dev/null and b/web_src/lectures/computers/unix/images/OBITools-web.png differ diff --git a/web_src/lectures/computers/unix/images/automata.svg b/web_src/lectures/computers/unix/images/automata.svg new file mode 100644 index 0000000..6735af8 --- /dev/null +++ b/web_src/lectures/computers/unix/images/automata.svg @@ -0,0 +1,420 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + 0 + + 0 + + + I->0 + + + + + 3 + + + 3 + + + 1 + + 1 + + + 0->1 + + + t + + + 2 + + 2 + + + 1->2 + + + o + + + 2->3 + + + o + + + 2->2 + + + t + + + Initial state + + final state + + transition(with symbols, i.e. letters) + + state + + + diff --git a/web_src/lectures/computers/unix/images/challenge.png b/web_src/lectures/computers/unix/images/challenge.png new file mode 100644 index 0000000..d9a7316 Binary files /dev/null and b/web_src/lectures/computers/unix/images/challenge.png differ diff --git a/web_src/lectures/computers/unix/images/command-grep1.svg b/web_src/lectures/computers/unix/images/command-grep1.svg new file mode 100644 index 0000000..c39ba0a --- /dev/null +++ b/web_src/lectures/computers/unix/images/command-grep1.svg @@ -0,0 +1,796 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + grep + + + -B 2 root /etc/passwd + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web_src/lectures/computers/unix/images/command-grep2.svg b/web_src/lectures/computers/unix/images/command-grep2.svg new file mode 100644 index 0000000..7cd9786 --- /dev/null +++ b/web_src/lectures/computers/unix/images/command-grep2.svg @@ -0,0 +1,838 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + grep + + -B 2 root + + + + + /etc/passwd + + grep + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web_src/lectures/computers/unix/images/command-grep3.svg b/web_src/lectures/computers/unix/images/command-grep3.svg new file mode 100644 index 0000000..805b82e --- /dev/null +++ b/web_src/lectures/computers/unix/images/command-grep3.svg @@ -0,0 +1,622 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + result + + + + grep + + -B 2 root + + + + + /etc/passwd + + grep + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web_src/lectures/computers/unix/images/command-grepless.svg b/web_src/lectures/computers/unix/images/command-grepless.svg new file mode 100644 index 0000000..ac35f79 --- /dev/null +++ b/web_src/lectures/computers/unix/images/command-grepless.svg @@ -0,0 +1,836 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + grep + + + -B 2 root + + + + + /etc/passwd + less + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web_src/lectures/computers/unix/images/command.svg b/web_src/lectures/computers/unix/images/command.svg new file mode 100644 index 0000000..001c43f --- /dev/null +++ b/web_src/lectures/computers/unix/images/command.svg @@ -0,0 +1,120 @@ + + + + + + + + + + image/svg+xml + + + + + + command + stdout + + parameters + stdin + + stderr + diff --git a/web_src/lectures/computers/unix/images/exp1.dot b/web_src/lectures/computers/unix/images/exp1.dot new file mode 100644 index 0000000..bde92c4 --- /dev/null +++ b/web_src/lectures/computers/unix/images/exp1.dot @@ -0,0 +1,14 @@ +digraph finite_state_machine { + rankdir=LR; + { + node [style = invis]; I; + } + node [shape = doublecircle]; 3; + node [shape = circle]; + I -> 0 + 0 -> 1 [ label = "t" ]; + 1 -> 2 [ label = "o" ]; + 2 -> 2 [ label = "t" ]; + 2 -> 3 [ label = "o" ]; + +} diff --git a/web_src/lectures/computers/unix/images/exp1.svg b/web_src/lectures/computers/unix/images/exp1.svg new file mode 100644 index 0000000..fc4ed1a --- /dev/null +++ b/web_src/lectures/computers/unix/images/exp1.svg @@ -0,0 +1,64 @@ + + + + + + +finite_state_machine + + + +0 + +0 + + +I->0 + + + + +3 + + +3 + + +1 + +1 + + +0->1 + + +t + + +2 + +2 + + +1->2 + + +o + + +2->3 + + +o + + +2->2 + + +t + + + diff --git a/web_src/lectures/computers/unix/images/exp2.dot b/web_src/lectures/computers/unix/images/exp2.dot new file mode 100644 index 0000000..ff1d743 --- /dev/null +++ b/web_src/lectures/computers/unix/images/exp2.dot @@ -0,0 +1,13 @@ +digraph finite_state_machine { + rankdir=LR; + { + node [style = invis]; I; + } + node [shape = doublecircle]; 3; + node [shape = circle]; + I -> 0 + 0 -> 1 [ label = "A" ]; + 1 -> 2 [ label = "T" ]; + 2 -> 3 [ label = "G" ]; + +} diff --git a/web_src/lectures/computers/unix/images/exp2.svg b/web_src/lectures/computers/unix/images/exp2.svg new file mode 100644 index 0000000..2bae135 --- /dev/null +++ b/web_src/lectures/computers/unix/images/exp2.svg @@ -0,0 +1,58 @@ + + + + + + +finite_state_machine + + + +0 + +0 + + +I->0 + + + + +3 + + +3 + + +1 + +1 + + +0->1 + + +A + + +2 + +2 + + +1->2 + + +T + + +2->3 + + +G + + + diff --git a/web_src/lectures/computers/unix/images/exp3.dot b/web_src/lectures/computers/unix/images/exp3.dot new file mode 100644 index 0000000..9e37197 --- /dev/null +++ b/web_src/lectures/computers/unix/images/exp3.dot @@ -0,0 +1,15 @@ +digraph finite_state_machine { + rankdir=LR; + { + node [style = invis]; I; + } + node [shape = doublecircle]; 3; + node [shape = circle]; + I -> 0 + 0 -> 1 [ label = "A" ]; + 0 -> 1 [ label = "T" ]; + 0 -> 1 [ label = "G" ]; + 1 -> 2 [ label = "T" ]; + 2 -> 3 [ label = "G" ]; + +} diff --git a/web_src/lectures/computers/unix/images/exp3.svg b/web_src/lectures/computers/unix/images/exp3.svg new file mode 100644 index 0000000..8815d0c --- /dev/null +++ b/web_src/lectures/computers/unix/images/exp3.svg @@ -0,0 +1,70 @@ + + + + + + +finite_state_machine + + + +0 + +0 + + +I->0 + + + + +3 + + +3 + + +1 + +1 + + +0->1 + + +A + + +0->1 + + +T + + +0->1 + + +G + + +2 + +2 + + +1->2 + + +T + + +2->3 + + +G + + + diff --git a/web_src/lectures/computers/unix/images/exp4.dot b/web_src/lectures/computers/unix/images/exp4.dot new file mode 100644 index 0000000..9b52e0f --- /dev/null +++ b/web_src/lectures/computers/unix/images/exp4.dot @@ -0,0 +1,16 @@ +digraph finite_state_machine { + rankdir=LR; + { + node [style = invis]; I; + } + node [shape = doublecircle]; 3; + node [shape = circle]; + I -> 0 + 0 -> 1 [ label = "A" ]; + 0 -> 1 [ label = "C" ]; + 0 -> 1 [ label = "G" ]; + 0 -> 1 [ label = "T" ]; + 1 -> 2 [ label = "T" ]; + 2 -> 3 [ label = "G" ]; + +} diff --git a/web_src/lectures/computers/unix/images/exp4.svg b/web_src/lectures/computers/unix/images/exp4.svg new file mode 100644 index 0000000..68403d9 --- /dev/null +++ b/web_src/lectures/computers/unix/images/exp4.svg @@ -0,0 +1,76 @@ + + + + + + +finite_state_machine + + + +0 + +0 + + +I->0 + + + + +3 + + +3 + + +1 + +1 + + +0->1 + + +A + + +0->1 + + +C + + +0->1 + + +G + + +0->1 + + +T + + +2 + +2 + + +1->2 + + +T + + +2->3 + + +G + + + diff --git a/web_src/lectures/computers/unix/images/exp5.dot b/web_src/lectures/computers/unix/images/exp5.dot new file mode 100644 index 0000000..d652eba --- /dev/null +++ b/web_src/lectures/computers/unix/images/exp5.dot @@ -0,0 +1,16 @@ +digraph finite_state_machine { + rankdir=LR; + { + node [style = invis]; I; + } + node [shape = doublecircle]; 5; + node [shape = circle]; + I -> 0 + 0 -> 1 [ label = "T" ]; + 1 -> 2 [ label = "T" ]; + 2 -> 3 [ label = "A" ]; + 3 -> 3 [ label = "A" ]; + 3 -> 4 [ label = "T" ]; + 4 -> 5 [ label = "T" ]; + +} diff --git a/web_src/lectures/computers/unix/images/exp5.svg b/web_src/lectures/computers/unix/images/exp5.svg new file mode 100644 index 0000000..86f6c74 --- /dev/null +++ b/web_src/lectures/computers/unix/images/exp5.svg @@ -0,0 +1,86 @@ + + + + + + +finite_state_machine + + + +0 + +0 + + +I->0 + + + + +5 + + +5 + + +1 + +1 + + +0->1 + + +T + + +2 + +2 + + +1->2 + + +T + + +3 + +3 + + +2->3 + + +A + + +3->3 + + +A + + +4 + +4 + + +3->4 + + +T + + +4->5 + + +T + + + diff --git a/web_src/lectures/computers/unix/images/exp6.dot b/web_src/lectures/computers/unix/images/exp6.dot new file mode 100644 index 0000000..a480af8 --- /dev/null +++ b/web_src/lectures/computers/unix/images/exp6.dot @@ -0,0 +1,16 @@ +digraph finite_state_machine { + rankdir=LR; + { + node [style = invis]; I; + } + node [shape = doublecircle]; 4; + node [shape = circle]; + I -> 0 + 0 -> 1 [ label = "T" ]; + 1 -> 2 [ label = "A" ]; + 1 -> 3 [ label = "G" ]; + 2 -> 4 [ label = "A" ]; + 2 -> 4 [ label = "G" ]; + 3 -> 4 [ label = "A" ]; + +} diff --git a/web_src/lectures/computers/unix/images/exp6.svg b/web_src/lectures/computers/unix/images/exp6.svg new file mode 100644 index 0000000..09ba07d --- /dev/null +++ b/web_src/lectures/computers/unix/images/exp6.svg @@ -0,0 +1,81 @@ + + + + + + +finite_state_machine + + + +0 + +0 + + +I->0 + + + + +4 + + +4 + + +1 + +1 + + +0->1 + + +T + + +2 + +2 + + +1->2 + + +A + + +3 + +3 + + +1->3 + + +G + + +2->4 + + +A + + +2->4 + + +G + + +3->4 + + +A + + + diff --git a/web_src/lectures/computers/unix/images/filesystem-link.png b/web_src/lectures/computers/unix/images/filesystem-link.png new file mode 100644 index 0000000..14f3139 Binary files /dev/null and b/web_src/lectures/computers/unix/images/filesystem-link.png differ diff --git a/web_src/lectures/computers/unix/images/filesystem-special.png b/web_src/lectures/computers/unix/images/filesystem-special.png new file mode 100644 index 0000000..1702df1 Binary files /dev/null and b/web_src/lectures/computers/unix/images/filesystem-special.png differ diff --git a/web_src/lectures/computers/unix/images/filesystem.png b/web_src/lectures/computers/unix/images/filesystem.png new file mode 100644 index 0000000..76e545c Binary files /dev/null and b/web_src/lectures/computers/unix/images/filesystem.png differ diff --git a/web_src/lectures/computers/unix/images/loop.svg b/web_src/lectures/computers/unix/images/loop.svg new file mode 100644 index 0000000..7f8deae --- /dev/null +++ b/web_src/lectures/computers/unix/images/loop.svg @@ -0,0 +1,480 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + User input + + + + Interpret &Render + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web_src/lectures/computers/unix/images/nano.png b/web_src/lectures/computers/unix/images/nano.png new file mode 100644 index 0000000..83a7e2c Binary files /dev/null and b/web_src/lectures/computers/unix/images/nano.png differ diff --git a/web_src/lectures/computers/unix/images/obitools-command.svg b/web_src/lectures/computers/unix/images/obitools-command.svg new file mode 100644 index 0000000..fcd726d --- /dev/null +++ b/web_src/lectures/computers/unix/images/obitools-command.svg @@ -0,0 +1,135 @@ + + + + + + + + + + image/svg+xml + + + + + + OBITools + command + + parameters + + stderr + decorated fasta sequence + decorated fasta sequence + diff --git a/web_src/lectures/computers/unix/images/obitools.png b/web_src/lectures/computers/unix/images/obitools.png new file mode 100644 index 0000000..1b192cb Binary files /dev/null and b/web_src/lectures/computers/unix/images/obitools.png differ diff --git a/web_src/lectures/computers/unix/images/permissions.png b/web_src/lectures/computers/unix/images/permissions.png new file mode 100644 index 0000000..f257f36 Binary files /dev/null and b/web_src/lectures/computers/unix/images/permissions.png differ diff --git a/web_src/lectures/computers/unix/images/terminal.svg b/web_src/lectures/computers/unix/images/terminal.svg new file mode 100644 index 0000000..45f271c --- /dev/null +++ b/web_src/lectures/computers/unix/images/terminal.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Openclipart + + + Terminal Icon 1:1 ratio + 2011-01-27T11:10:57 + based on tango utilities terminal by warszawianka, made for alternativeto.net + https://openclipart.org/detail/110197/terminal-icon-1:1-ratio-by-n2j3 + + + n2j3 + + + + + cli + square + terminal + + + + + + + + + + + \ No newline at end of file diff --git a/web_src/lectures/computers/unix/slides.qmd b/web_src/lectures/computers/unix/slides.qmd new file mode 100644 index 0000000..c378d6e --- /dev/null +++ b/web_src/lectures/computers/unix/slides.qmd @@ -0,0 +1,464 @@ + +--- +title: | + DNA metabarcoding School + Unix Basics +author: frederic.boyer@univ-grenoble-alpes.fr +format: + revealjs: + theme: beige + css: ../../slides.css + transition: fade + width: 1280 + height: 720 + center: true +--- + +# Introduction to Unix + + +## Interacting with a UNIX computer + + +### The command shell endless loop + +![Interactive loop](images/loop.svg){ width=80% } + + + +## Bash + +The basic command interpreter on the machine (and most often found on a linux machine) is `bash`. + + +> Bash is a command processor that typically runs in a text window, where the user types commands that cause actions. Bash can also read commands from a file, called a script. Like all Unix shells, it supports filename globbing (wildcard matching), piping, here documents, command substitution, variables and control structures for condition-testing and iteration. The keywords, syntax and other basic features of the language were all copied from sh. Other features, e.g., history, were copied from csh and ksh. Bash is a POSIX shell, but with a number of extensions. +> +> [wikipedia:bash](https://en.wikipedia.org/wiki/Bash_%28Unix_shell%29) + + +## RTFM ! + +> RTFM is an initialism for the expression "read the fucking manual" or, in the context of the Unix computer operating system, "read the fucking man page". The RTFM comment is usually expressed when the speaker is irritated by another person's question or lack of knowledge. It refers to either that person's inability to read a technical manual, or to their perceived laziness in not doing so first, before asking the question. +> +> [wikipedia:RTFM](https://en.wikipedia.org/wiki/RTFM) + + +The official `bash` documentation: [documentation]( https://www.gnu.org/software/bash/manual/ ) + + +## RTFM: getting help with `man` + +> A man page (short for manual page) is a form of software documentation usually found on a Unix or Unix-like operating system. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts. A user may invoke a man page by issuing the man command. +> +> [wikipedia:man page](https://en.wikipedia.org/wiki/Man_page) + +| Useful command | What it does | +|----------------------|-----------------------------------------| +| `man ` | prints manual for the `command` command | + +For example, to get the manual page for the `man` command: + +```bash +man man +``` + +## RTFM: getting help with `-h` or `--help` + +When there is no man page associated to a command one can use the `-h` or `--help` options: + +For example, to get the help associated to the `man` command: + +```bash +man --help +``` + +# Filesystem -- basic commands and streams + +![Système de fichier](images/filesystem.png){ width=40% } + +## Absolute path + +> An absolute or full path points to the same location in a file system, regardless of the current working directory. To do that, it must include the root directory. +> +> [wikipedia:Path(computing)](https://en.wikipedia.org/wiki/Path_(computing)) + +The root of the filesystem is designed by `/`. + +The different part of the path are separated by `/`. + +## Absolute path + + +![Système de fichier](images/filesystem.png){ width=30% } + +The red path is : `/etc/passwd` + +## Relative path + +> By contrast, a relative path starts from some given working directory, avoiding the need to provide the full absolute path. +> +> [wikipedia:Path (computing)]( https://en.wikipedia.org/wiki/Path_(computing) ) + +## Special directories : +- `~` : *home directory* for the current user +- `~name` : *home directory* for user *name* +- `.` : Current directory +- `..` : Parent directory + +![Special directories](images/filesystem-special.png){ width=30% } + + +## Useful commands to interact with the filesystem + +| Useful commands | What it does | +|----------------------------|-----------------------------| +| `pwd` | print working directory | +| `cd ` | change directory | +| `mkdir ` | create directory | +| `ls ` | list files and directories | +| `touch ` | create or touch a file | +| `cp ` | copy files or directories | +| `mv ` | move files or directories | +| `rm ` | remove files or directories | + + +## Permissions + +Files and directories are assigned permissions or access rights to specific users and groups of users. The permissions control the ability of the users to view, change, navigate, and execute the contents of the file system. + +> Permissions on Unix-like systems are managed in three distinct scopes or classes. +> These scopes are known as user, group, and others. +> +> [wikipedia: unix permissions](https://en.wikipedia.org/wiki/File_system_permissions#Traditional_Unix_permissions) + +## Permissions + + ![Permissions](images/permissions.png){ width=10% } + +> The modes indicate which permissions are to be granted or taken away from the specified classes. +> There are three basic modes which correspond to the basic permissions: +> +> | Mode | Name | Description | +> |------|---------|--------------------------------------------| +> | r | read | read a file or list a directory's contents | +> | w | write | write to a file or directory | +> | x | execute | execute a file or recurse a directory tree | +> +> [wikipedia:modes](https://en.wikipedia.org/wiki/Modes_(Unix)) + +## View and change permissions + +| Useful commands | What it does | +|------------------------------|--------------------| +| `ls -l` | view permissions | +| `chmod ` | change permissions | + + +## For example: + +```bash +fboyer@obitools:~/$ ls -l index.html +-rw-rw-r-- 1 fboyer fboyer 3101 déc. 21 17:09 index.html +fboyer@obitools:~/$ chmod 500 index.html +fboyer@obitools:~/$ ls -l index.html +-r-x------ 1 fboyer fboyer 3101 déc. 21 17:09 index.html +``` + + + +# Commands to work with text + +## Visualize the content of a file + +| Useful commands | What it does | +|--------------------|----------------------------------------| +| `less ` | utility to explore text files | + + +## The `less` command + +| shortcut | What it does | +|-----------------------|-------------------------------------------| +| `h` | display help | +| `q` | quit | +| `/` | search for a regular pattern | +| `n` | for the Next occurence of the pattern | +| `shift-n` | for the previous occurence of the pattern | +| `arrows` and `space` | to navigate | +| `g` and `G` | go to top and end of the file | + +## Edit a text file + +| Useful commands | What it does | +|--------------------|--------------------| +| `nano ` | Simple text editor | + + +![Système de fichier](images/nano.png){ width=100% } + +## Basic `Unix` commands to manipulate text files + +| Useful commands | What it does | +|-------------------------------|------------------------------------------------------------------| +| `cat ` | output the content of `filename` file | +| `head [-] ` | output the first `N` lines of `filename` | +| `tail [-] ` | output the last `N` lines of `filename` | +| `sort [options] ` | sort the content of `filename` and output it | +| `cut [options] ` | extract some column from `filename` and output it | +| `diff [options] ` | compare files line by line and output the differences | + +## Basic `Unix` commands to manipulate text files + +| Useful commands | What it does | +|-------------------------------|------------------------------------------------------------------| +| `join [options] ` | join files on the basis of column content | +| `paste [options] ` | paste files line by line | +| `wc [options] ` | count characters, words or lines | +| `find [options]` | search files (Ex: `find . -name '*.txt'`) | +| `sed ` | process file line by line for basic editing | +| `grep [options] ` | search files for a *pattern* | +| `egrep [options] ` | similar as using the `-e` option of `grep` | + +## `Unix` streams + +> In computer programming, standard streams are pre-connected input and output channels that allow communication between a computer program and its environment when the program begins execution. +> The three I/O connections are called standard input (`stdin`), standard output (`stdout`) and standard error (`stderr`). + +A basic `Unix` command: Piping a stream into another command> [wikipedia:streams](https://en.wikipedia.org/wiki/Standard_streams) + +## A basic `Unix` command + +![Système de fichier](images/command.svg){ width=50% } + +standard input (`stdin`), standard output (`stdout`), standard error (`stderr`) and parameters don't need to be specified. + +By default, `stdin` is empty, `stdout` and `stderr` output their content to the terminal. + +## A basic `Unix` command: Specifying parameters + +#### Exemples: Parameters + +```bash +grep -B 2 root /etc/passwd +``` + +![Command example](images/command-grep1.svg){ width=60% } + +## A basic `Unix` command: Sending the content of a text file to the standard input + +Most of the commands that handle text can, if no file is given as a parameter, use the content of `stdin`. + +#### Exemples: Redirecting the standard input + +```bash +grep -B 2 root < /etc/passwd +``` + +![Redirect stdin](images/command-grep2.svg){ width=40% } + +## A basic `Unix` command: Creating a text file from the output of a command + +### Exemples: Redirecting the standard output + +```bash +# > create or replace file +# >> append to file +grep -B 2 root < /etc/passwd > result +``` + +![Redirect stdout](images/command-grep3.svg){width = 40%} + +## A basic `Unix` command: Piping a stream into another command + +### Exemples: Redirecting the standard output + +```bash +# > create or replace file +# >> append to file +grep -B 2 root < /etc/passwd | less +``` + +![Pipe between commands](/images/command-grepless.svg){width = 20%} + +## RTFM: Bash redirections + +[Bash redirections](https://www.gnu.org/software/bash/manual/html_node/Redirections.html) + +# The bash command challenge ! + + +![CMDChallenge](images/challenge.png){ width=80% } + + +[I accept the challenge !](https://cmdchallenge.com/) + + + +# The `OBITools` + +![OBITools](images/obitools.png){width = 80%} + +## RTFM ! + +The [documentation](http://obitools4.metabarcoding.org) is available online. + +![An OBITools command](images/OBITools-web.png){width = 80%} + +## An `OBITools` command + +![An OBITools command](images/obitools-command.svg){width = 80%} + + +## Decorated fasta sequences + +Basic fasta sequence: + +``` +>my_sequence this is my pretty sequence +ACGTTGCAGTACGTTGCAGTACGTTGCAGTACGTTGCAGTACGTTGCAGTACGTTGCAGT +GTGCTGACGTTGCAGTACGTTGCAGTACGTTGCAGTACGTTGCAGTACGTTGCAGTGTTT +AACGACGTTGCAGTACGTTGCAGT +``` + +*Decorated* fasta sequence: + +``` +>my_sequence taxid=3456; direct=True; sample=A354; this is my pretty sequence +ACGTTGCAGTACGTTGCAGTACGTTGCAGTACGTTGCAGTACGTTGCAGTACGTTGCAGT +GTGCTGACGTTGCAGTACGTTGCAGTACGTTGCAGTACGTTGCAGTACGTTGCAGTGTTT +AACGACGTTGCAGTACGTTGCAGT +``` +*decoration* can be any set of `key=value;` couples + +## Main OBITools commands (1/2) + + +- Metabarcode design and quality assessment + - `ecoPCR`: in silico PCR + - `ecoPrimers`: new barcode markers and primers + - `ecotaxstat`: getting the coverage of an ecoPCR output compared to the original ecoPCR database + - `ecotaxspecificity`: Evaluates barcode resolution + +- File format conversions + - `obiconvert`: converts sequence files to different output formats + - `obitab`: converts a sequence file to a tabular file + +- Sequence annotations + - `ecotag`: assigns sequences to taxa + - `obiannotate`: adds/edits sequence record annotations + +## Main OBITools commands (2/2) + +- Computations on sequences + - `illuminapairedend`: aligns paired-end Illumina reads + - `ngsfilter`: Assigns sequence records to the corresponding experiment/sample based on DNA tags and primers + - `obiclean`: tags a set of sequences for PCR/sequencing errors identification + - `obiuniq`: groups and dereplicates sequences + +- Sequence sampling and filtering + - `obigrep`: filters sequence file + - `obihead`: extracts the first sequence records + +- Statistics over sequence file + - `obicount`: counts the number of sequence records + - `obistat`: computes basic statistics for attribute values + + +## Regular expressions: Regex + +> In computing, a regular expression is a specific pattern that provides concise and flexible means to "match" (specify and recognize) strings of text, such as particular characters, words, or patterns of characters. +> +> Common abbreviations for "regular expression" include regex and regexp. +> - http://en.wikipedia.org/wiki/Regular_expression + +## Graphical representation + +A regular expression can be represented by an *automata* + +![Automata](images/automata.svg){ width=50% } + +## Occurrence of a regular pattern + +If one can get to the final state, the text `match` the regular expression. + + +![tot*o](images/exp1.svg){ width=50% } + +> Tutu et **_toto_** sont sur un bateau. Toto tombe à l’eau. + +> Obama: «If daughters get tat**_too_**s, we will **_too_**» + +## Exemples of regular expressions + +Regular expressions defined on DNA → Σ={A,C,G,T} + +| Regular expression | Automata | +|-------------------------------|---------------------------------------------------------------------| +| `ATG` (start codon) | ![ATG](images/exp2.svg){ width=100% } | +| `[ATG]TG`
`[^C]TG`(all start codons) | ![[ATG]TG](images/exp3.svg){ width=100% } | + +## Exemples of regular expressions + +Regular expressions defined on DNA → Σ={A,C,G,T} + +| Regular expression | Automata | +|-------------------------------|---------------------------------------------------------------------| +| `.TG`
`[ACGT]TG` (all codons ending with TG) | ![.TG](images/exp4.svg){ width=100% } | +| `TTA+TT`
`TTAA*TT` (TT, at least one A, TT) | ![TTAT+TT](images/exp5.svg){ width=100% } | + +## Exemples of regular expressions + +Regular expressions defined on DNA → Σ={A,C,G,T} + +| Regular expression | Automata | +|-------------------------------|---------------------------------------------------------------------| +| `TAA`|`TAG`|`TGA`
`T(AA`|`AG`|`GA)` (All stop codons) | ![All stops](images/exp6.svg){ width=100% } | + +## Syntax of regular expressions + +| Syntax | What it matches | +|-------------------|--------------------------------------------------| +| `^` | begining of the line | +| `$` | end of the line | +| `[]` | set of characters | +| `[^]` | all characters but these ones (ex: `TTA{3,5}TT`) | +| | | multiple choices | +| `{}` | repetitions | +| `*` | any number of times | +| `+` | at least once | +| `?` | none or once | +| `\*` | the `*` character (same for `+`, `(`, `[`, ...) | + +## Special characters: Regular expression extensions + +| Special characters| What it matches | +|-------------------|--------------------------------------------------| +| `()` | used to define sub-expressions | +| `\n` | used to reuse the text matched by the `n`th sub-expression | + +## Syntax of extended regular expressions + +Extended regular expressions defined on DNA → Σ={A,C,G,T} + +| Regular expression | Automata | +|-------------------------------|---------------------------------------------------------------------| +| `([ACGT]{3})\1{9,}` (matching a stretch of at least the same codon 10 times) | As the langage described is not regular, no automaton can be used to represent the expression | + + +[What is my regular expression engine capable of ?](https://en.wikipedia.org/wiki/Comparison_of_regular_expression_engines) + +## Regular expressions and `obigrep` + +Regular expressions can be used with `obigrep` to filter sequences with the appropriate options: + + -s , --sequence= + regular expression pattern used to select the + sequence. The pattern is case insensitive + -D , --definition= + regular expression pattern matched against the + definition of the sequence. The pattern is case + sensitive + -I , --identifier= + regular expression pattern matched against the + identifier of the sequence. The pattern is case + sensitive diff --git a/web_src/lectures/computers/unix/slides_unix.qmd b/web_src/lectures/computers/unix/slides_unix.qmd deleted file mode 100644 index c02c250..0000000 --- a/web_src/lectures/computers/unix/slides_unix.qmd +++ /dev/null @@ -1,365 +0,0 @@ ---- -title: "Unix Basics" -format: - revealjs: - theme: beige - transition: fade - width: 1280 - height: 720 - center: true ---- - -## Why Learn Unix? - -- Foundational philosophy for modern computing -- Powers most of the digital world -- Born at AT&T's Bell Labs in late 1960s -- Design principles: simplicity, modularity - -## Unix Today - -- **Certified Unix**: macOS -- **Unix-like Systems**: GNU/Linux, BSD variants -- **Linux**: Dominant Unix-like OS -- Understanding Unix = understanding DNA of modern OS - -## Unix System Overview - -**Multi-user, Multitasking Operating System** - -```{mermaid} -graph TD - A[OS Kernel] --> B[User 1 Process] - A --> C[User 2 Process] - A --> D[User 3 Process] - B --> E[File System] - C --> E - D --> E - style A fill:#2e86ab,color:#fff - style B fill:#a23b72,color:#fff - style C fill:#f18f01,color:#fff - style D fill:#c73e1d,color:#fff - style E fill:#3c8d5f,color:#fff -``` - -## File System Structure - -**Hierarchical Tree Organization** - -```{mermaid} -graph TD - Root[/] --> etc["/etc
config files"] - Root --> home["/home
user directories"] - Root --> usr["/usr
system software"] - Root --> var["/var
variable data"] - home --> user1[/user1/] - home --> user2[/user2/] - user1 --> docs[Documents] - user1 --> downloads[Downloads] - - style Root fill:#2e86ab,color:#fff; - style etc fill:#a23b72,color:#fff; - style home fill:#f18f01,color:#fff; - style usr fill:#c73e1d,color:#fff; - style var fill:#3c8d5f,color:#fff; -``` - -## File Naming Rules - -**Allowed Characters:** - -- Letters (a-z, A-Z), Numbers (0-9) -- Recommended: `.`, `%`, `-`, `_`, `:`, `=` - -**Key Rules:** - -- **Case sensitive**: `File.txt` ≠ `file.txt` ≠ `FILE.TXT` -- **No leading dash**: `-file` causes issues (use `./-file`) -- **Hidden files**: Start with `.` (e.g., `.bashrc`) - -**Best Practices:** - -```bash -good_file.txt # Clear and safe -data-set-01.csv # Descriptive with hyphens -project_config # No extension needed -``` - -## Globbing - Pattern Matching - -**Wildcard Characters:** - -```bash -* # Any sequence of characters -? # Any single character -[abc] # Any character in set -[a-z] # Any character in range -``` - -**Practical Examples:** - -```bash -ls *.txt # All text files -ls report?.pdf # report1.pdf, reportA.pdf -ls [abc]*.log # a.log, b_data.log, c-backup.log -ls image[0-9].jpg # image0.jpg through image9.jpg -``` - -## Advanced Globbing - -**Combining Patterns:** - -```bash -ls *.{txt,md} # All .txt AND .md files -ls project_{dev,prod} # project_dev, project_prod -ls file[!0-9]* # Files NOT starting with digit -``` - -**Use in Commands:** - -```bash -cp *.txt backup/ # Copy all text files -rm temp_*.log # Remove temporary logs -chmod +x *.sh # Make all scripts executable -``` - -**Pattern Expansion:** - -```bash -echo *.py # Shows what patterns match -ls data_202{3,4}*.csv # Multiple year patterns -``` - -## Globbing vs Regular Expressions - -**Key Differences:** - -- **Globbing**: File matching (`ls *.txt`) -- **Regex**: Text pattern matching (`grep "^A" file.txt`) - -**Remember:** Globbing happens **before** command execution! - -## File Permissions - -**Three categories × Three rights** - -```bash --rwxr-xr-- # Owner: read, write, execute - # Group: read, execute - # Others: read only -``` - -```{=html} - - - - - - - - - - - - - - - - - - - - Owner - - - r - - w - - x - - - - - - - Group - - - r - - - - - x - - - - - - - Others - - - r - - - - - - - - - -``` - -## Process Concept - -**Program vs Process** - -```{=html} - - - - - - - - - - - - - - - Program - Static Code - (On Disk) - - - - - execution - - - - - - Process - Running Instance - (In Memory) - - -``` - -## Shell Environment - -**Your Command Interface** - -```{=html} - - - - - - - - - - - - Shell Environment - - - - $ ls -l *.txt - - - - - Keyboard - Input - - - - - - Terminal - Output - - - - - - - - - Process - Execution - -``` - -## Command Structure - -```bash -command [options] [arguments] [redirections] -``` - -**Examples:** -```bash -ls -l /home # List with details -grep "error" log.txt # Search pattern -find . -name "*.txt" # Find files -``` - -## Input/Output Redirection - -**Controlling Data Flow** - -```{mermaid} -flowchart LR - A[Input File
data.txt] --> B{Command
program} - B --> C[Output File
results.txt] - - style A fill:#2e86ab,color:#fff - style B fill:#a23b72,color:#fff - style C fill:#f18f01,color:#fff -``` - -## Pipes - Command Chaining - -**Connect processes together** - -```bash -cat file.txt | grep "error" | sort | uniq -``` - -```{mermaid} -flowchart LR - A[cat
Reads file] -->|stdout| B[grep
Filters text] - B -->|stdout| C[sort
Orders data] - C -->|stdout| D[uniq
Removes duplicates] - - style A fill:#2e86ab,color:#fff - style B fill:#a23b72,color:#fff - style C fill:#f18f01,color:#fff - style D fill:#3c8d5f,color:#fff -``` - -## Essential Commands - -| Category | Commands | Purpose | -|----------|----------|---------| -| **Files** | `ls, cp, mv, rm, mkdir` | Manage files and directories | -| **Navigation** | `cd, pwd` | Move around file system | -| **Text** | `cat, grep, head, tail, wc` | View and search text | -| **Process** | `ps, kill, &, bg, fg` | Manage running programs | -| **Help** | `man, --help` | Get command information | - -## Getting Started - -**Next Steps:** -- Practice basic file operations -- Learn command combinations with pipes -- Study pattern matching with wildcards -- Explore shell scripting for automation -- Use `man` pages for detailed help - -**Remember:** Unix mastery comes through practice! diff --git a/web_src/lectures/computers/unix/unix-modern-bash.qmd b/web_src/lectures/computers/unix/unix-modern-bash.qmd index b036c55..b64ad10 100644 --- a/web_src/lectures/computers/unix/unix-modern-bash.qmd +++ b/web_src/lectures/computers/unix/unix-modern-bash.qmd @@ -1,484 +1,975 @@ --- -title: "Unix Essentials — Modern Bash Edition" -subtitle: "A practical, color‑blind‑friendly introduction" -author: "Your Name" +title: "Introduction to Unix by Example" +subtitle: "A Modern Approach for Bioinformaticians" +author: "Updated Course Material" +date: today format: html: toc: true toc-depth: 3 - code-tools: true + number-sections: true code-fold: false theme: cosmo - smooth-scroll: true - include-in-header: - text: | - -execute: - echo: true - warning: false - message: false -mermaid: - theme: neutral - background: transparent - width: 100% -page-layout: article --- -# Introduction to Unix +# Why Unix? -Unix is a family of operating systems and a set of design ideas—small programs that do one thing well, text as a universal interface, and easy composition through pipes. Those ideas power Linux servers, macOS, iOS, Android (via Linux), and most cloud infrastructure today. Learning Unix is learning the lingua franca of modern computing. +The Unix operating system was born in AT&T laboratories in the United States, then known as "Bell Labs". Created in the late 1960s, it derives from Multics, another system from the same laboratory about ten years earlier. Unix spread rapidly because Bell Labs distributed its new system as freely modifiable source code. This led to the emergence of Unix families produced by the system's main users: research laboratories on one hand and major computer manufacturers on the other. -## Certified UNIX vs. Unix‑like +From the beginning, Unix development has been closely linked to scientific computing. These intrinsic qualities explain why this operating system is still widely used in many research fields today. -“UNIX” is a trademark of The Open Group for systems that pass the POSIX/SUS conformance tests. macOS is certified; Linux distributions and BSDs are “Unix‑like”—they follow the same model and standards. For our purposes, you can treat them similarly. +Today, Unix is a registered trademark of The Open Group, which standardizes all Unix systems. However, there is a broader definition that includes "Unix-like" systems such as GNU/Linux. Despite proclaiming in its name not to be Unix (GNU is Not Unix), this family of operating systems has such functional similarities with its ancestor that it's difficult to explain how it isn't Unix. -> This course uses **bash** exclusively. Commands and syntax target modern GNU/*BSD/macOS shells and core utilities. When an option is GNU‑specific, we’ll note it. +Nowadays, a Unix system can be installed on virtually any machine, from personal computers to large computing servers. Notably, for several years, Apple's standard operating system on Macintosh computers, macOS, has been a certified Unix system. -# Users and Accounts +# Unix System Overview -Each person has a **user account** (username/login) with a numeric **UID**, a **primary group**, a **home directory**, and a **default shell**. User account metadata lives in `/etc/passwd` (user list) and `/etc/shadow` (password hashes, not world‑readable). - -```{bash} -#| label: ex-passwd-head -#| eval: false -#| caption: Inspecting the user database (first lines of /etc/passwd). -head -15 /etc/passwd -``` - -# The Unix File System - -The filesystem is a single rooted hierarchy (`/`). Directories are nodes; files are leaves; symbolic links add extra edges (making it a DAG). - -![](fs.svg){style="display:block;margin:0;padding:0;" fig-cap="A simplified Unix filesystem tree. The highlighted path resolves to `/etc/passwd`." #fig-fs-unix} - -Common top‑level directories: - -- `/etc` – system configuration -- `/var` – variable state (logs, spool, caches) -- `/bin`, `/usr/bin` – essential and additional executables -- `/usr`, `/usr/local` – the main system and locally installed software -- `/home` (or `/Users` on macOS) – user homes - -## Filenames and Rules - -- Case matters: `Foo.txt` ≠ `foo.txt`. -- Avoid spaces and exotic punctuation in names; prefer letters, digits, `. - _`. -- Names starting with `.` are “hidden” (e.g., `~/.bashrc`). - -## Links - -Two kinds of links: - -- **Hard link**: an additional directory entry pointing to the same inode (same file). Cannot span filesystems; not for directories (with rare admin exceptions). -- **Symbolic link**: a small file that points to a path (can cross filesystems). - -![](fs-link.svg){fig-cap="Symbolic link creates an extra path to the same target." #fig-fs-link} - -## `.` and `..` - -Every directory contains entries `.` (itself) and `..` (parent). They make relative navigation and scripting concise. - -![](fs-spdir.svg){fig-cap="Special entries `.` and `..` help navigate without absolute paths." #fig-fs-spdir} - -## Current Working Directory and Relative Paths - -Your **current working directory** (CWD) is where relative paths are resolved. Use `pwd` to show it and `cd` to change it. - -```{bash} -#| eval: false -pwd -cd /usr -pwd -cd - # jump back -``` - -## Permissions (Mode), Ownership, and Umask - -Each file has an **owner** (user), a **group**, and three permission triplets (r,w,x) for **user**, **group**, and **others**: - -```{bash} -#| eval: false -# long listing shows mode, owner, group, size, date, name -ls -l /bin/bash -# change permissions: add user execute, remove group write -chmod u+x,g-w script.sh -# change owner/group (requires privileges) -sudo chown alice:science data.tsv -# show and set default creation mask -umask # e.g., 0022 -umask 0002 # collaborative group-writable defaults -``` - -# Processes - -A **program** is code on disk; a **process** is a running instance with its own memory, environment, and open file descriptors. Each process has a **PID** and a **PPID** (parent PID). - -```{bash} -#| eval: false -ps aux | head -5 -pstree -a | head -20 # on macOS: brew install pstree; or use 'pgrep -lf .' -``` - -## The Process “Anatomy” - -- **Code** (the program image) -- **Data/Heap/Stack** -- **Environment** (variables like `PATH`, `HOME`) -- **Standard streams**: `stdin` (0), `stdout` (1), `stderr` (2) - -![](process.svg){fig-cap="A process has code, data, environment, and standard streams." #fig-process-anatomy} - -## Lifecycle and Inheritance - -Processes are created by **fork/exec**. Children inherit the parent’s environment and open descriptors unless changed. When a child exits, it becomes a **zombie** until the parent reaps it. +Unix is a multitasking and multi-user operating system. This means it can manage the simultaneous use of the same computer by multiple people, and for each person, it allows parallel execution of multiple programs. The multiplicity of users and running programs on the same machine requires particular resource management, involving restricted rights for each user so that one person's work doesn't interfere with another's. ```{mermaid} -%%| echo: false -%%| code-fold: false -graph TD -A["Parent process"] -->|fork| B["Child (COW)"] -B -->|exec| C["New program image"] -C -->|exit| D{Parent waits} -D -- yes --> E["Child reaped"] -D -- no --> F["Zombie until parent waits"] +flowchart TB + U1["User 1"] --> S1["Shell
(Command Interpreter)"] + U2["User 2"] --> S1 + U3["User N"] --> S1 + + subgraph Unix ["Unix Operating System"] + S1["Shell
(Command Interpreter)"] --> K1["Kernel
(Core System)"] + K1 --> R1["CPU"] + K1 --> R2["Memory"] + K1 --> R3["Disk Storage"] + K1 --> R4["Network"] + end ``` -# The Shell (bash) +## Users -The shell is a command interpreter and a scripting language. We’ll use **bash** only. +Each Unix system user needs an account or "machine access right" to work. Each account is identified by a login name. -## Structure of a Command Line +Associated with each login: -```text -command [OPTIONS...] [ARGUMENTS...] [REDIRECTIONS/PIPES] +- A password that secures system access +- A user ID (UID) that identifies the user on the machine +- A location on the hard drive to store user files, called Home directory +- A user group, allowing collaborative work (see later) + +Information about all users on a machine is typically stored in a text file: `/etc/passwd` + +```bash +root:x:0:0:root:/root:/bin/bash +bin:x:1:1:bin:/bin:/sbin/nologin +daemon:x:2:2:daemon:/sbin:/sbin/nologin +mail:x:8:12:mail:/var/spool/mail:/sbin/nologin +alice:x:1000:1000:Alice Smith:/home/alice:/bin/bash +bob:x:1001:1001:Bob Jones:/home/bob:/bin/bash ``` -- **Command**: executable name or path -- **Options**: short `-l` or long `--long` -- **Arguments**: files, patterns, values -- **Redirections/Pipes**: `>`, `>>`, `<`, `2>`, `|`, `|&`, `<<<` +Each line corresponds to a user. Information is separated by `:` characters. In order: login, encoded password, UID, group ID, full name, home directory, and default shell. -```{bash} -#| label: ex-path -#| caption: PATH lists directories searched for commands, left to right. -echo "$PATH" -command -v bash # show full path to the executable bash will run +## The File System + +The file system of an operating system encompasses all mechanisms for managing storage space (hard drives) on the computer. Data and programs are stored in files. A file can be thought of as a small part of a hard drive dedicated to storing a set of data. + +### File Names + +In a Unix system, a file name describes a path in a tree. A file name starts with a `/` character and consists of successive node labels describing the file's location in the name tree. Each label is separated from the preceding one by the `/` character. + +```{mermaid} +graph TB + root["/"] + root --> bin["/bin"] + root --> etc["/etc"] + root --> home["/home"] + root --> usr["/usr"] + root --> var["/var"] + + etc --> passwd["passwd"] + etc --> hosts["hosts"] + + home --> alice["alice"] + home --> bob["bob"] + + alice --> documents["documents"] + alice --> data["data.txt"] + + usr --> local["/local"] + usr --> usrbin["/bin"] + + style passwd fill:#e1f5ff + style root fill:#ffe1e1 ``` -If a program isn’t on `PATH`, run it via a path (absolute or relative): +For example, the file `/etc/passwd` indicates that this file is located at a node (directory) named `/etc`, which itself is located at the root of the file name tree `/`. -```{bash} -#| eval: false -./mytool --help -/home/alice/bin/mytool --version +### Standard Directory Structure + +Certain directories are found in many Unix systems: + +- `/etc` - Contains system configuration files +- `/var` - Contains system operation information +- `/bin` - Contains basic system programs +- `/usr` - Contains a large part of the system +- `/usr/local` - Contains programs specific to a machine +- `/home` - Contains user home directories +- `/tmp` - Temporary files + +### Lexical Rules for File Names + +File name labels can contain: + +- Alphabetic characters (a-z and A-Z) +- Numeric characters (0-9) +- Punctuation marks (& , $ , * , + , = , . , etc.) + +However, using some of these signs can cause problems. It's recommended to use only: `. , % , - , _ , : , =` + +**Important**: Unix is case-sensitive. `TODO`, `todo`, `Todo`, and `ToTo` are all different names. + +File names starting with a dot `.` are hidden files and typically correspond to configuration files. + +### Links + +The concept of a link can be compared to a shortcut in other operating systems. A link is a special file that creates additional edges in the file name tree. From a computer science perspective, the tree structure becomes a Directed Acyclic Graph (DAG). + +```{mermaid} +graph LR + root["/"] + usr["/usr"] + bin["/bin"] + home["/home"] + alice["alice"] + programs["programs
(link)"] + grep["grep"] + + root --> usr + root --> home + usr --> bin + home --> alice + alice --> programs + bin --> grep + programs -.->|symbolic link| bin + + style programs fill:#fff2cc + style grep fill:#e1f5ff ``` -## Modern Note on `grep` +Creating a link in a Unix file system creates a synonym between the link name and the target file. -`egrep` and `fgrep` are deprecated. Use `grep -E` (extended regex) and `grep -F` (fixed strings). +### The `.` and `..` Directories -```{bash} -#| eval: false -grep -E 'root|daemon' /etc/passwd -grep -Fi 'error' /var/log/system.log +Unix uses links to facilitate navigation in the file name tree. When creating a directory node, the system automatically adds two links under this node named `.` and `..`: + +- `.` links to the directory containing it +- `..` points to the parent directory + +```{mermaid} +graph TB + root["/"] + home["/home"] + alice["alice"] + dot[". (alice)"] + dotdot[".. (home)"] + docs["documents"] + + root --> home + home --> alice + alice --> dot + alice --> dotdot + alice --> docs + + dot -.-> alice + dotdot -.-> home + + style dot fill:#fff2cc + style dotdot fill:#fff2cc ``` -# Globs (Filename Patterns) +These links mean that for each file, there isn't just one name but an infinite number of possible names. The file `/home/alice/myfile` can also be named: -The shell expands patterns **before** running the command: +- `/home/alice/./myfile` +- `/home/alice/../../home/alice/myfile` +- `/home/alice/./././myfile` -| Pattern | Meaning | -|---|---| -| `*` | any string (including empty) | -| `?` | any single char | -| `[abc]` | any of listed chars | -| `{a,b,c}` | brace expansion (not a glob; bash feature) | +### Current Directory and Relative Paths -```{bash} -#| eval: false -echo *.txt -ls -ld /[uv]?? -printf '%s\n' project/{data,docs,src} +The hierarchical tree structure of Unix file names is powerful but produces often very long file names. To work around this problem, Unix offers the concept of current directory and relative paths. + +**Current Directory**: When working on a machine, you typically work on a set of files located in the same region of the name tree. The common part of all these names is stored in an environment variable called `PWD` (Present Working Directory). + +By default, when you log into your Unix account, this variable is initialized with your home directory name. You can change this variable's value using the `cd` command. + +**Relative Paths**: Relative file names are expressed relative to the current directory. To know the true name corresponding to a relative name, you concatenate the current directory name and the relative name. + +Example: +```bash +# If current directory is: /home/alice/experiment_1 +# These files: +/home/alice/experiment_1/sequence.fasta +/home/alice/experiment_1/expression.dat +/home/alice/experiment_1/annotation.gff + +# Can be named simply: +sequence.fasta +expression.dat +annotation.gff ``` -# Redirection and Pipes +A relative name is recognized by the fact it doesn't start with `/`. In contrast, complete file names are called absolute paths and always start with `/`. -Standard streams: `stdin` (0), `stdout` (1), `stderr` (2). +### Access Rights -![](shell-inout.svg){fig-cap="Default streams: keyboard → stdin; stdout/stderr → terminal." #fig-shell-inoutput} +Unix is a multi-user system. To protect each user's data from others, each file belongs to a specific user (usually its creator) and a user group. Additionally, each file has access rights concerning: -## Redirect to/From Files +- The file owner +- The group to which the file belongs +- All other system users -```{bash} -#| eval: false -ls / > listing.txt # stdout to file (overwrite) -ls / >> listing.txt # append -grep -E 'log' < listing.txt # stdin from file -grep -E 'log' listing.txt > matches.txt 2> errors.log +For each of these three user categories, there are read, write, and execute rights: + +- **Read right**: Allows reading the file +- **Write right**: Authorizes modifying or deleting the file +- **Execute right**: Allows executing the file if it contains a program + +For directories, execute right indicates permission to use it as an element of a file name. + +```bash +# Example of file permissions +$ ls -l +-rw-r--r-- 1 alice staff 1024 Nov 03 10:30 data.txt +-rwxr-xr-x 1 alice staff 2048 Nov 03 10:31 script.sh +drwxr-xr-x 2 alice staff 512 Nov 03 10:32 results ``` -## Pipelines +Rights can be modified by the file owner using the `chmod` instruction. -`|` connects stdout of left command to stdin of right command. Use `|&` to pipe both stdout and stderr (bash). +## Processes -![](commande-tube.svg){fig-cap="A two‑stage pipeline: stdout of cmd1 becomes stdin of cmd2." #fig-commande-tube} +A program corresponds to a sequence of calculation instructions that the computer must execute to perform a task. While it's important to store this instruction sequence for regular reuse, it's equally important to execute it. A process corresponds to the execution of a program. -```{bash} -#| eval: false -ls -l /usr/bin | head -n 5 -journalctl -u ssh |& grep -Ei 'fail|error' # GNU/Linux +Since Unix is multitasking and multi-user, the same program can be executed simultaneously by multiple processes. It's therefore important to distinguish between program and process. + +### Process Anatomy + +A process can be considered as part of the computer's memory dedicated to program execution. This memory chunk can be divided into three main parts: the environment, data area, and program area. + +```{mermaid} +flowchart TB + subgraph Process["Process Memory Space"] + direction TB + Env["Environment
- Variables
- File descriptors
- PID/PPID"] + Code["Code Area
- Program instructions"] + Data["Data Area
- Variables
- Computation results"] + end + + Parent["Parent Process"] -.->|fork| Process + + style Env fill:#e1f5ff + style Code fill:#ffe1e1 + style Data fill:#e1ffe1 ``` -![](ls-stdout.svg){fig-cap="Redirecting `ls` output into a file." #fig-ls-stdout} -![](gnome-fs-regular.svg){fig-cap="Regular file."} -![](gnome-fs-directory.svg){fig-cap="Directory."} -![](gnome-fs-home.svg){fig-cap="Home directory icon."} -![](gnome-fs-regular.svg){fig-cap="Regular file (again, for legend grouping)."} -![](gnome-fs-slink.svg){fig-cap="Symbolic link (legend)."} +### Process Environment -# Loops, Variables, and Scripting +A process is an isolated memory area where a program executes. Isolation secures the computer by preventing a program from corrupting others' execution. However, during execution, a program must interact with the rest of the computer. -## Variables +The process environment is dedicated to this interface task. It contains descriptions of system elements the process needs to know. Two main types of information are stored: -Create with `name=value`. Read with `$name`. Export to children with `export name`. +**Environment Variables**: Associate a name with a value describing certain system properties. Examples: -```{bash} -#| label: ex-vars -greeting="hello world" -echo "$greeting" -export PATH="$HOME/bin:$PATH" +- `PWD`: Current Working Directory for interpreting relative paths +- `PATH`: List of directories where available programs are stored +- `HOME`: User's home directory +- `USER`: Current username + +**Streams**: Virtual pipes through which data transits. By default, three streams are associated with each process: + +- `stdin` (standard input): How a Unix program normally receives data +- `stdout` (standard output): Used by the program to return results +- `stderr` (standard error): Used for error messages and information + +```{mermaid} +flowchart LR + Input[("Input
Source")] --> stdin["stdin
(0)"] + stdin --> Process["Process"] + Process --> stdout["stdout
(1)"] + Process --> stderr["stderr
(2)"] + stdout --> Output[("Output
Destination")] + stderr --> Error[("Error
Log")] + + style stdin fill:#e1f5ff + style stdout fill:#e1ffe1 + style stderr fill:#ffe1e1 ``` -## `for` Loops +### Process Lifecycle -```{bash} -#| eval: false -for f in /var/log/*.log; do - echo "Checking: $f" - grep -Eci 'error|warning' "$f" +Every process has a parent (except the initial process) and inherits all its properties: environment, data area, and program code to execute. + +```{mermaid} +stateDiagram-v2 + [*] --> Init: System Boot + Init --> Parent: fork() + Parent --> Child1: fork() + Parent --> Child2: fork() + Child1 --> [*]: exit() + Child2 --> [*]: exit() + Parent --> [*]: All children terminated + + note right of Parent + PID: 1234 + Creates child processes + end note + + note right of Child1 + PID: 1235 + Inherits parent environment + end note +``` + +Important points: + +- Every process has a parent and inherits all its properties +- A child process must terminate before its parent +- When you close your shell, all running programs are terminated unless detached +- A process is created by copying its parent, inheriting its properties except PID + +The normal chronology for creating a new process: + +1. Call the `fork()` function +2. Test which process continues execution +3. In the child process, call `exec()` to replace the program code +4. At execution end, notify the parent and wait for cleanup + +# The Unix Shell - A Working Environment + +The Unix shell is the most important program for a Unix user. It's how they interact with their computer. There's a graphical window system under Unix similar to Windows or macOS, called X Window System (X11), which can operate in client/server mode across networks. However, we'll focus on interacting with Unix in "text" mode via the shell. + +The Unix shell is a program capable of interpreting a command language. These commands allow users to launch program execution by specifying: + +- Data to work on +- Parameters to adjust execution +- What to do with results + +Several Unix shells exist, differing mainly in their command language syntax. The two most commonly used today are: + +- **bash** (Bourne Again Shell): Modern version of the Bourne shell (sh) +- **zsh** (Z Shell): Enhanced version with additional features + +This course focuses on **bash**, the default shell on most Linux systems and macOS. + +## Basic Command Structure + +A shell command describes how to trigger program execution with all necessary information. As a principle, every program installed on a Unix machine corresponds to a usable command from the shell bearing the program's name, and conversely, every Unix command is the name of an installed program. + +```{mermaid} +flowchart LR + Command["Command
(program name)"] --> Options["Options
(flags)"] + Options --> Arguments["Arguments
(input files)"] + Arguments --> Redirection["I/O Redirection
(< > |)"] + + style Command fill:#ffe1e1 + style Options fill:#e1f5ff + style Arguments fill:#e1ffe1 + style Redirection fill:#fff2cc +``` + +A Unix command line has four main parts: + +1. **Command** (required): Program name +2. **Options** (optional): Adjust program behavior +3. **Arguments** (optional): Specify data to process +4. **Redirection** (optional): Control input/output + +### The Unix Command + +A Unix command is the name of a program installed on the machine. When you execute a command like `ls` or `grep`, you're actually launching execution of an eponymous program stored somewhere on your hard drives. + +The machine searches for program files only in a subset of existing directories, described by a list stored in the `PATH` environment variable. + +```bash +$ echo $PATH +/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin +``` + +Directories are searched in order. If programs with the same name exist in different directories, the first one found is executed. + +To execute a program in a directory not listed in `PATH`, specify its location: + +```bash +# Using absolute path +$ /home/alice/myprograms/myscript.sh + +# Using relative path (if in the directory) +$ ./myscript.sh +``` + +The `./` prefix is necessary to indicate the current directory location. + +### Command Options + +Options alter command functionality by adjusting parameters. Options are recognizable as: + +- Short form: Single character preceded by `-` (e.g., `-l`) +- Long form: Complete word preceded by `--` (e.g., `--list`) + +Many programs offer both forms for the same option. + +```bash +# Short option +$ grep -i root /etc/passwd + +# Long option (equivalent) +$ grep --ignore-case root /etc/passwd +``` + +Some options require arguments: + +```bash +# Short form with argument +$ grep -B 2 root /etc/passwd +$ grep -B2 root /etc/passwd # No space also works + +# Long form with argument +$ grep --before-context=2 root /etc/passwd +``` + +Multiple short options can be combined: + +```bash +# Separate options +$ grep -i -n root /etc/passwd + +# Combined options +$ grep -in root /etc/passwd +``` + +If an option requires an argument, it must be placed last in the group. + +### Command Arguments + +Arguments indicate data the program should process, beyond data potentially transmitted through standard input. Depending on how it's programmed, a program can accept one or multiple arguments. Each argument may have a distinct role depending on the program. + +To understand each argument's role, consult the program's manual page via `man` command or online help, usually accessible with the `-h` option. + +```bash +# Example with multiple arguments +$ cp source.txt destination.txt + +# Example with patterns +$ grep "pattern" file1.txt file2.txt file3.txt +``` + +### I/O Redirection Instructions + +This fourth part of a Unix command line is crucial, allowing you to specify how your program should configure its standard inputs/outputs. This is one of the most important things to understand to fully benefit from the Unix system. + +## File Name Patterns with Wildcards + +It's very common in a Unix command to need to specify multiple file names. When the number of files becomes large, typing these names one by one can be tedious, especially if all file names share common characteristics. + +To address this, there's a series of "wildcard" characters to indicate the form of desired file names: + +| Wildcard | Matches | +|----------|---------| +| `*` | Zero, one, or more characters | +| `?` | Exactly one character | +| `[...]` | One character from the list | +| `[^...]` | One character NOT in the list | +| `[a-z]` | One character in the range | + +Each word in a Unix command line using these characters is replaced during execution by the list of existing file names matching the pattern. + +```bash +# List all text files +$ ls *.txt + +# Files starting with 'data' and any single character +$ ls data? + +# Files starting with uppercase letter +$ ls [A-Z]* + +# Files NOT starting with lowercase letter +$ ls [^a-z]* + +# Complex pattern +$ ls experiment_[0-9][0-9].dat +``` + +If no file matches the pattern, a "No match" error is generated. + +```bash +$ echo *toto +bash: no matches found: *toto + +$ ls / +Applications Library bin home opt usr +Desktop Network cores sbin private var +Developer System dev etc tmp + +$ echo /mach* +/mach.sym /mach_kernel /mach_kernel.ctfsys + +$ echo /*.* +/atp.mol /mach.sym /mach_kernel.ctfsys /untitled.log + +$ echo /[AD]* +/Applications /Desktop_DB /Desktop_DF /Developer + +$ echo /[uv]?? +/usr /var +``` + +These file name patterns are most often used with file manipulation commands like copying (`cp`), deletion (`rm`), or listing (`ls`). They're also frequently used in loops to launch the same command on an entire series of datasets. + +## Standard I/O Redirection + +The property that gives a Unix shell its full power is the standard input/output redirection system. Each process inherits three standard data streams from its parent: + +- `stdin`: Standard input stream (file descriptor 0) +- `stdout`: Standard output stream (file descriptor 1) +- `stderr`: Standard error stream (file descriptor 2) + +```{mermaid} +flowchart TB + subgraph Default["Default Configuration"] + Keyboard[("Keyboard")] --> stdin1["stdin"] + stdin1 --> Shell1["Shell Process"] + Shell1 --> stdout1["stdout"] + Shell1 --> stderr1["stderr"] + stdout1 --> Screen1[("Screen")] + stderr1 --> Screen1 + end + + style stdin1 fill:#e1f5ff + style stdout1 fill:#e1ffe1 + style stderr1 fill:#ffe1e1 +``` + +### Redirecting Standard Output + +To save results generated by a program to a file, add an output redirection instruction at the end of the command line: `>` followed by a file name. + +```bash +$ ls / +Applications Desktop Developer Library System +bin cores dev etc home usr var + +$ ls / > my_listing + +$ ls -l +total 8 +drwxr-xr-x 2 alice staff 102 Nov 27 17:18 myprograms +-rw-r--r-- 1 alice staff 241 Dec 3 16:50 my_listing + +$ cat my_listing +Applications +Desktop +Developer +Library +System +bin +cores +dev +etc +home +usr +var +``` + +```{mermaid} +flowchart LR + stdin["stdin"] --> Process["ls /"] + Process --> stdout["stdout"] + Process --> stderr["stderr"] + stdout --> File[("my_listing")] + stderr --> Screen[("Screen")] + + style stdout fill:#e1ffe1 + style stderr fill:#ffe1e1 +``` + +Important notes: + +- If the file doesn't exist, it's created and filled with results +- If the file exists, it's erased and replaced with a new file +- **Be careful**: This can easily overwrite existing files + +To append results to an existing file instead of replacing it, use `>>`: + +```bash +$ echo "First line" > output.txt +$ echo "Second line" >> output.txt +$ cat output.txt +First line +Second line +``` + +### Redirecting Standard Input + +Input redirection indicates where a program reading from standard input should find its data. Input redirection uses the `<` character. + +```bash +$ grep or < my_listing +Network +cores + +$ grep or < my_listing > my_selection + +$ cat my_selection +Network +cores +``` + +The `grep` command selects lines of text containing a pattern (or in this example) and copies them to standard output. Input redirection tells the process to read from `my_listing`, and output redirection saves results to `my_selection`. + +### Redirecting Output to Another Process (Pipes) + +The most powerful redirection mode connects one process's standard output to another's standard input. The first program's results become the second's data. Data passes directly between processes without going through an intermediate file. This creates a "pipe" between processes. + +```{mermaid} +flowchart LR + stdin1["stdin"] --> P1["ls /"] + P1 --> pipe["|
pipe"] + pipe --> P2["grep or"] + P2 --> stdout2["stdout"] + P2 --> stderr2["stderr"] + stdout2 --> Screen[("Screen")] + stderr2 --> Screen + + style pipe fill:#fff2cc + style stdout2 fill:#e1ffe1 + style stderr2 fill:#ffe1e1 +``` + +Syntactically, this is achieved by joining two or more commands with the `|` character: + +```bash +$ ls / | grep or +Network +cores + +$ ls / | grep or > my_selection + +$ cat my_selection +Network +cores +``` + +In a complex command, a process is created for each command, and data simply transits from one to another. + +**Important restrictions:** + +- Commands before a pipe cannot redirect stdout to a file (already piped to next command) +- Commands after a pipe cannot redirect stdin from a file (already receiving from previous command) + +You can chain multiple pipes: + +```bash +# Count lines containing "error" in log file +$ cat logfile.txt | grep error | wc -l + +# Sort unique email addresses +$ cat emails.txt | sort | uniq +``` + +## Building Execution Loops + +A computer's value lies in its ability to automatically perform repetitive calculation tasks. Users often find themselves needing to launch the same Unix command for calculations on multiple datasets. If each dataset is saved in a different file with coherent naming (e.g., `gis_vercors.dat`, `gis_belledonne.dat`, `gis_chartreuse.dat`), it's possible to leverage loop structures offered by Unix shells. + +### Shell Variables + +Working automatically and repetitively requires using variables to store useful, changing information at each iteration. For example, if your Unix command must read data from different files for each execution, you cannot write the file name in your command since it won't always be the same. + +You already know environment variables, set up by the `export` command, used to store system configuration information. There are simple variables allowing you to store any information you deem necessary during your Unix session. They're set up with simple assignment: + +```bash +$ myvar="hello everyone" +$ echo myvar +myvar +$ echo $myvar +hello everyone +``` + +To retrieve the value contained in a variable, precede its name with the `$` character. + +### The `for` Loop + +To solve our problem of repeating the same Unix command multiple times while working on different data files, we'll create a variable that takes each element of a list as its value in turn. In our case, this list will be a list of file names constructed using file name ambiguity characters. + +```bash +$ echo /[mnop]* +/mach.sym /mach_kernel /mach_kernel.ctfsys /net /opt /private + +$ for f in /[mnop]*; do +> echo "Working with file $f" +> done +Working with file /mach.sym +Working with file /mach_kernel +Working with file /mach_kernel.ctfsys +Working with file /net +Working with file /opt +Working with file /private +``` + +```{mermaid} +flowchart TD + Start([Start]) --> Init["Initialize loop variable
with first item"] + Init --> Check{More items
in list?} + Check -->|Yes| Execute["Execute commands
in loop body"] + Execute --> Next["Move to next item"] + Next --> Check + Check -->|No| End([End]) + + style Execute fill:#e1ffe1 +``` + +The syntax is: + +```bash +for variable in list; do + commands using $variable done ``` -## Safer Bash +All Unix commands inserted between `do` and `done` are executed once for each value taken by the variable. -- Always quote expansions: `"$var"` -- Enable strict mode in scripts: - ```bash - set -Eeuo pipefail - IFS=$'\n\t' - ``` -- Prefer `mktemp` for temp files -- Use `printf` instead of `echo` for exact output - -## Color‑Blind‑Friendly Tips - -Use **shapes**, **labels**, and **line styles** rather than relying solely on color in outputs and diagrams. In Mermaid use dashed/solid edges and different node shapes: - -```{mermaid} -%%| echo: false -%%| code-fold: false -flowchart LR - classDef solid stroke-width:2; - classDef dashed stroke-dasharray: 5 5, stroke-width:2; - A([File]):::solid --> B{{Grep}}:::dashed - B --> C[[Matches]] -``` - -# Essential Commands (Modernized, Bash‑centric) - -Below are concise prototypes. Use `--help` and `man` for details. - -## `awk` — Pattern scanning and processing +Practical examples: ```bash -awk [-F SEP] 'PROGRAM' [FILE...] +# Process multiple data files +$ for file in data*.txt; do +> echo "Processing $file" +> ./analyze.sh $file > results_$file +> done + +# Rename multiple files +$ for file in *.jpeg; do +> mv "$file" "${file%.jpeg}.jpg" +> done + +# Create numbered directories +$ for i in {1..10}; do +> mkdir experiment_$i +> done ``` -- `-F` field separator. Example: `awk -F: '{print $1,$3}' /etc/passwd` +### Conditional Execution -## `bash` — The shell +Bash also provides conditional structures: ```bash -bash # start a new interactive shell -bash script.sh # run a script +# if-then-else +$ if [ -f "data.txt" ]; then +> echo "File exists" +> else +> echo "File not found" +> fi + +# Test file properties +$ for file in *.txt; do +> if [ -s "$file" ]; then +> echo "$file is not empty" +> fi +> done ``` -## `bg` / `fg` / `jobs` — Job control +Common test operators: +| Test | Meaning | +|------|---------| +| `-f file` | File exists and is regular file | +| `-d dir` | Directory exists | +| `-s file` | File exists and is not empty | +| `-r file` | File is readable | +| `-w file` | File is writable | +| `-x file` | File is executable | + +# Essential Unix Commands (Alphabetical) + +The commands presented here are a subset of all commands available by default on a Unix system. They're presented with a subset of their options. For a complete description of their functionality, refer to online help accessible via the `man` command. + +## `awk` - Pattern Scanning and Processing + +Named after its authors (Aho, Weinberger, Kernighan), `awk` is a complete programming language. A full description is beyond this course's scope but was perfectly described in "The AWK Programming Language" by its authors. + +**Synopsis:** ```bash -sleep 60 & # run in background -jobs # list jobs -fg %1 # bring job 1 to foreground -bg %1 # resume job 1 in background +awk [-F separator] 'program' [data_file] ``` -## `cat` — Concatenate files +**Main options:** +- `-F` - Specify column separator + +**Examples:** ```bash -cat file1 [file2 ...] > out +# Print second column +$ awk '{print $2}' file.txt + +# Sum numbers in first column +$ awk '{sum += $1} END {print sum}' numbers.txt + +# Process CSV file +$ awk -F',' '{print $1, $3}' data.csv ``` -## `cd` — Change directory +## `bash` - Bourne-Again Shell +Launches a bash Unix shell. To exit this new shell, press `Ctrl-D` at a prompt. + +**Synopsis:** ```bash -cd [DIR] # no arg: go to $HOME +bash ``` -## `chmod` — Change permissions - +**Example:** ```bash -chmod [-R] MODE FILE... -chmod u+rwx,g+rx,o-rwx FILE +$ bash +bash-5.1$ export test_var="hello" +bash-5.1$ exit +$ ``` -## `chsh` — Change login shell +## `bg` - Send Process to Background +Resumes execution of a process suspended by `Ctrl-Z` in the background. + +**Synopsis:** ```bash -chsh -s /bin/bash +bg [%job] ``` -## `cp` — Copy files +**Arguments:** +- `%job` - Job number (preceded by %). Get list with `jobs` command. + +**Example:** ```bash -cp [-R] SRC... DEST +$ sleep 30 +^Z +[1]+ Stopped sleep 30 +$ jobs +[1]+ Stopped sleep 30 +$ bg %1 +[1]+ sleep 30 & +$ jobs +[1]+ Running sleep 30 & ``` -## `diff` — Text diffs +## `cat` - Concatenate Files +Reads content from one or more data streams and copies it identically to standard output. + +**Synopsis:** ```bash -diff -u old.txt new.txt | less +cat [file ...] ``` -## `env` / `export` — Environment +**Arguments:** +- `file` - One or more file names. If none provided, reads from stdin. + +**Examples:** ```bash -env | sort -export VAR=value +# Display file content +$ cat file.txt + +# Concatenate multiple files +$ cat file1.txt file2.txt > combined.txt + +# Number lines +$ cat -n file.txt ``` -## `grep` — Search text (replaces `egrep`/`fgrep`) +## `cd` - Change Directory +Changes the current working directory. + +**Synopsis:** ```bash -grep [-E|-F] [-iR] PATTERN [FILE...] +cd [directory] ``` -## `head` / `tail` — File ends +**Arguments:** +- `directory` - New working directory name. Without argument, returns to home. + +**Examples:** ```bash -head -n 20 FILE -tail -n 50 FILE -tail -f /var/log/syslog # follow +$ pwd +/home/alice +$ cd /usr/local +$ pwd +/usr/local +$ cd ../../home/alice +$ pwd +/home/alice +$ cd +$ pwd +/home/alice ``` -## `join` — Join lines on a field +## `chmod` - Change File Mode +Changes file access permissions. + +**Synopsis:** ```bash -join -1 1 -2 1 file1 file2 +chmod [-R] mode file ``` -## `kill` — Send signals +**Main options:** +- `-R` - Recursive operation on directory contents + +**Arguments:** + +- `mode` - Permission change description (e.g., `u+x`, `go-w`, `755`) +- `file` - File(s) whose mode should be changed + +**Examples:** ```bash -kill -SIGTERM PID -kill -9 PID # last resort -kill -l # list signals +# Add execute permission for user +$ chmod u+x script.sh + +# Remove write permission for group and others +$ chmod go-w data.txt + +# Set specific permissions with octal +$ chmod 755 program + +# Recursive permission change +$ chmod -R 644 documents/ ``` -## `ln` — Create links +## `cp` - Copy Files +Copies a file or directory. + +**Synopsis:** ```bash -ln FILE LINKNAME # hard link -ln -s TARGET LINKNAME # symlink +cp [-R] source destination ``` -## `ls` — List files +**Main options:** +- `-R` - Recursive copy for directories + +**Arguments:** + +- `source` - File(s) to be copied +- `destination` - Copy destination name or directory + +**Examples:** ```bash -ls -la -ls -ltrh /var/log -``` +# Copy file +$ cp source.txt backup.txt -## `man` — Manuals +# Copy to directory +$ cp file.txt documents/ -```bash -man ls -man -k network # search by keyword -``` - -## `mkdir` — Make directories - -```bash -mkdir -p project/{data,docs,src} -``` - -## `mv` — Move/rename - -```bash -mv old new -mv file*.txt dir/ -``` - -## `paste` — Merge lines side by side - -```bash -paste file1 file2 -``` - -## `ps` — Process status - -```bash -ps aux | grep -E '[n]ginx' -ps -U "$USER" -o pid,ppid,stat,cmd -``` - -## `pwd` — Current directory - -```bash -pwd -``` - -## `rm` — Remove files (dangerous) - -```bash -rm [-rf] PATH... -``` - -> Tip: Use `trash`/`gio trash` on desktops when possible. - -## `sed` — Stream editor - -```bash -sed -E 's/old/new/g' FILE -``` - -## `sort` / `uniq` — Sorting and deduping - -```bash -sort -u names.txt -sort -k2,2n data.tsv | uniq -c -``` - -## `wc` — Counts - -```bash -wc -lwc FILE -``` - -# Practice: Putting It Together - -```{bash} -#| eval: false -# Find the 10 most common failed SSH sources today (GNU/Linux example) -journalctl -u ssh --since today \ -| grep -Ei 'failed|authentication failure' \ -| awk '{print $(NF)}' \ -| sort | uniq -c | sort -k1,1nr | head -10 -``` +# Copy directory recursively +$ cp -R project/ project_backup/ +# Copy multiple files to directory +$ diff --git a/web_src/lectures/computers/regex/slides.css b/web_src/lectures/slides.css similarity index 79% rename from web_src/lectures/computers/regex/slides.css rename to web_src/lectures/slides.css index 98d9503..ae84fc7 100644 --- a/web_src/lectures/computers/regex/slides.css +++ b/web_src/lectures/slides.css @@ -1,4 +1,9 @@ /* Centre toutes les images dans les slides */ + +.reveal { + font-size: 1.5em; +} + .quarto-figure-default { display: block; margin-left: auto;