2020-11-01: Création
Avant toute chose, et pour le fun, je suis curieux de voir si le serveur à rebooté depuis sa dernière mise à jour du 2018-09-20 :
# uptime 12:18:58 up 766 days, 20:02, 1 user, load average: 0,00, 0,00, 0,00 # uptime -p up 2 years, 5 weeks, 3 days, 20 hours, 2 minutes
Youhou ! nickel ! pas de reboot depuis !
Dokuwiki n'a pas de base de données (c'était l'un de mes critères de choix), donc pas de dump à faire. Coté Django c'est juste quelques test utilisant SQLight donc rien à faire non plus.
Un simple backup de /var/www suffit :
# cd /var root@vps408839:/var# zip -r www_2020-11-01.zip www
rsync du backup www.zip depuis la machine locale:
$ rsync -avz -e "ssh -p xxxx" yyyy@open1024.fr:/var/www_2020-11-01.zip .
Suppression du backup (espace disque limité sur le serveur) :
# rm www_2020-11-01.zip
# cd / # gzip -r -c -9 etc > etc_2020-11-01.gz
Coté remote :
$ rsync -avz --progress -e "ssh -p xxxx" yyyy@open1024.fr:/etc_2020-11-01.gz . receiving incremental file list etc_2020-11-01.gz 21,627,094 100% 590.30kB/s 0:00:35 (xfr#1, to-chk=0/1) sent 43 bytes received 21,407,878 bytes 570,877.89 bytes/sec total size is 21,627,094 speedup is 1.01
Dans le terminal :
$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 9.5 (stretch) Release: 9.5 Codename: stretch
Autre commande :
$ cat /etc/debian_version 9.5
Dans le terminal :
$ uname -a Linux vps408839.ovh.net 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u4 (2018-08-21) x86_64 GNU/Linux
# cat /etc/apt/sources.list deb http://ftp.debian.org/debian/ stretch main deb http://security.debian.org/ stretch/updates main deb http://ftp.de.debian.org/debian testing main
Ici pas de paquet installé sauvagement.
Docs : www.debian.org
# dpkg --audit
pas de réponse
Paquets actuels :
# mkdir debian_9.5_to_10.6 # cd debian_9.5_to_10.6 # dpkg --get-selections "*" > paquets-actuels_2020-11-01.txt
Recherche des blocages de paquets :
# aptitude search "~ahold" # dpkg --get-selections | grep 'hold$'
Pas de paquet en hold.
Doc Debian :
Il est fortement recommandé d'utiliser le programme /usr/bin/script pour enregistrer une transcription de la session de mise à niveau. Ainsi, quand un problème survient, vous avez un enregistrement de ce qui s'est passé, et vous pouvez fournir les informations exactes pour un rapport de bogue. Pour démarrer un enregistrement, saisissez :
# mkdir script # script -t 2>/root/debian_9.5_to_10.6/script/upgrade_9-5_10-6_etape.time -a /root/debian_9.5_to_10.6/script/upgrade_9-5_10-6_etape.script
ou quelque chose d'équivalent. Si vous devez utiliser à nouveau le script d'enregistrement (par exemple suite à un redémarrage), utilisez une nouvelle valeur pour etape afin d'indiquer quelle étape vous enregistrez. Ne mettez pas le fichier d'enregistrement dans un répertoire temporaire tel que /tmp ou /var/tmp (les fichiers de ces répertoires peuvent être détruits pendant la mise à niveau ou pendant un redémarrage).
Le fichier d'enregistrement vous permettra également de revoir les informations qui ont défilé. Basculez simplement sur la deuxième console (en utilisant Alt+F2) et, après la connexion, utilisez
# less -R /root/debian_9.5_to_10.6/upgrade_9-5_10-6_etape.script
pour voir le fichier.
Après avoir terminé la mise à niveau, vous pouvez stopper l'enregistrement en entrant exit à l'invite de commande.
Si vous avez utilisé l'option -t de script, vous pouvez utiliser le programme scriptreplay pour rejouer la session entière :
# scriptreplay /root/debian_9.5_to_10.6/upgrade_9-5_10-6_etape.time /root/debian_9.5_to_10.6/upgrade_9-5_10-6_etape.script
# apt update Atteint:1 http://nginx.org/packages/mainline/debian jessie InRelease Ign:2 http://ftp.debian.org/debian stretch InRelease Atteint:3 http://security.debian.org stretch/updates InRelease Réception de:4 http://ftp.de.debian.org/debian testing InRelease [116 kB] Atteint:5 http://ftp.debian.org/debian stretch Release Réception de:7 http://ftp.de.debian.org/debian testing/main amd64 Packages.diff/Index [2 686 B] Réception de:8 http://ftp.de.debian.org/debian testing/main Translation-en.diff/Index [1 710 B] Réception de:7 http://ftp.de.debian.org/debian testing/main amd64 Packages.diff/Index [2 686 B] Réception de:8 http://ftp.de.debian.org/debian testing/main Translation-en.diff/Index [1 710 B] Réception de:9 http://ftp.de.debian.org/debian testing/main amd64 Packages [7 820 kB] Réception de:10 http://ftp.de.debian.org/debian testing/main Translation-en [5 978 kB] 13,9 Mo réceptionnés en 4s (2 907 ko/s) Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait 578 packages can be upgraded. Run 'apt list --upgradable' to see them.
# df -h Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur udev 1,9G 0 1,9G 0% /dev tmpfs 386M 40M 347M 11% /run /dev/sda1 20G 8,7G 11G 46% / tmpfs 1,9G 0 1,9G 0% /dev/shm tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 1,9G 0 1,9G 0% /sys/fs/cgroup tmpfs 386M 0 386M 0% /run/user/1001
Donc 11 Go de dispo.
Doc Debian :
Le programme apt-get peut afficher des informations détaillées à propos de l'espace disque nécessaire à l'installation. Vous pouvez obtenir cette estimation avant d'effectuer vraiment la mise à niveau avec la commande :
# apt-get -o APT::Get::Trivial-Only=true dist-upgrade Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait Calcul de la mise à jour... Fait Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires : camlp4 dh-python g++-6 geoip-database gnupg-agent ledit libbind9-140 libboost-filesystem1.62.0 libboost-iostreams1.62.0 libboost-system1.62.0 libcamlp4-ocaml-dev libcgi-fast-perl libcgi-pm-perl libclass-accessor-perl libcroco3 libcwidget3v5 libdns-export162 libdns162 libevent-2.0-5 libfcgi-perl libfindlib-ocaml libfindlib-ocaml-dev libgeoip1 libgmime-2.6-0 libhogweed4 libicu57 libio-string-perl libio-stringy-perl libip4tc0 libip6tc0 libiptc0 libisc-export160 libisc160 libisccc140 libisccfg140 liblwres141 libncurses-dev libncurses5-dev libnettle6 libnotmuch4 libparse-debianchangelog-perl libperl5.24 libprocps6 libpython2-dev libpython2.7 libpython2.7-dev libpython3.5-minimal libpython3.5-stdlib libpython3.6 libpython3.6-dev libssl1.0.2 libstdc++-6-dev libtalloc2 libtinfo-dev libunistring0 ocaml-base-nox ocaml-compiler-libs ocaml-findlib ocaml-interp ocaml-man ocaml-nox perl-modules-5.24 python-cffi-backend python-configargparse python-configobj python-cryptography python-dnspython python-enum34 python-funcsigs python-idna python-ipaddress python-meld3 python-mock python-openssl python-parsedatetime python-pbr python-psutil python-pyasn1 python-pycurl python-pyicu python-pyparsing python-rfc3339 python-six python-urllib3 python-zope.component python-zope.event python-zope.hookable python-zope.interface python2.7-dev python3-cairo python3-dbus python3-entrypoints python3-gunicorn python3-jeepney python3-keyring python3-keyrings.alt python3-prettytable python3-pyasn1 python3-pycryptodome python3-secretstorage python3-xdg python3.5 python3.5-minimal python3.6-dev rename sgml-base tcpd xml-core Veuillez utiliser « apt autoremove » pour les supprimer. Les paquets suivants seront ENLEVÉS : gunicorn3 libapt-inst2.0 libapt-pkg5.0 libpython-dev libsensors4 libtirpc1 ocaml-native-compilers python-acme python-apt python-boto python-certbot python-chardet python-debian python-debianbts python-dev python-httplib2 python-pysimplesoap python-reportbug python-requests python2-dev Les NOUVEAUX paquets suivants seront installés : alsa-topology-conf alsa-ucm-conf apparmor bind9-dnsutils bind9-libs binutils-common binutils-x86-64-linux-gnu bsdextrautils calendar cpp-10 e2fsprogs-l10n eatmydata fdisk g++-10 gcc-10 gcc-10-base gcc-8-base gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm libapt-pkg6.0 libargon2-1 libasan6 libasound2 libasound2-data libbinutils libboost-iostreams1.71.0 libbrotli1 libcairo-gobject2 libcanberra0 libcbor0 libclone-perl libcom-err2 libcrypt-dev libcrypt1 libcryptsetup12 libctf-nobfd0 libctf0 libcwidget4 libdata-dump-perl libdns-export1110 libeatmydata1 libefiboot1 libefivar1 libevent-2.1-7 libext2fs2 libffi7 libfido2-1 libfl2 libfribidi0 libfstrm0 libgcc-10-dev libgcc-s1 libgdbm-compat4 libgdbm6 libgdk-pixbuf2.0-bin libgnutls-dane0 libgpg-error-l10n libhogweed6 libicu67 libio-stringy-perl libip4tc2 libip6tc2 libisc-export1105 libisl22 libjansson4 libjson-c5 libllvm10 liblmdb0 libltdl7 libmaxminddb0 libmpfr6 libncurses-dev libncurses6 libnettle8 libnftables1 libnftnl11 libnsl-dev libnsl2 libnss-nis libnss-nisplus libnss-systemd libogg0 libpcre2-8-0 libperl5.30 libprocps8 libprotobuf-c1 libpython3.8 libpython3.8-dev libpython3.8-minimal libpython3.8-stdlib libreadline8 libsensors-config libsensors5 libstdc++-10-dev libtdb1 libtirpc-common libtirpc-dev libtirpc3 libtry-tiny-perl libubsan1 libuchardet0 libunbound8 libunistring2 liburing1 libuv1 libvorbis0a libvorbisfile3 libwebp6 libx11-xcb1 libxxhash0 libz3-4 libzstd1 linux-image-5.9.0-1-amd64 logsave ncal nftables ocaml-man pci.ids perl-modules-5.30 pigz postgresql-13 postgresql-client-13 python3-acme python3-appdirs python3-attr python3-certbot python3-certbot-nginx python3-certifi python3-configargparse python3-debconf python3-distlib python3-distro python3-filelock python3-future python3-icu python3-importlib-metadata python3-jeepney python3-josepy python3-jsonschema python3-more-itertools python3-openssl python3-parsedatetime python3-pycryptodome python3-pyparsing python3-pyrsistent python3-requests-toolbelt python3-rfc3339 python3-tz python3-zipp python3-zope.component python3-zope.event python3-zope.hookable python3-zope.interface python3.8 python3.8-dev python3.8-minimal runit-helper sound-theme-freedesktop systemd-timesyncd unison-2.48 zlib1g-dev Les paquets suivants ont été conservés : dh-python libpython2-stdlib python2 python2-minimal w3m w3m-img Les paquets suivants seront mis à jour : acl acpi acpi-support-base acpid adduser apt apt-listchanges apt-utils aptitude aptitude-common aptitude-doc-en at augeas-lenses base-files base-passwd bash bash-completion bc bind9-host binutils bsd-mailx bsdmainutils bsdutils build-essential busybox bzip2 ca-certificates camlp4 certbot cloud-guest-utils cloud-image-utils cloud-init cloud-initramfs-growroot cloud-utils console-common console-data console-setup console-setup-linux coreutils cpio cpp cron dash dbus dc debconf debconf-i18n debian-archive-keyring debian-faq debianutils deborphan dialog dictionaries-common diffutils dirmngr discover distro-info distro-info-data dmidecode dmsetup dnsutils dpkg dpkg-dev e2fslibs e2fsprogs eject emacsen-common exim4 exim4-base exim4-config exim4-daemon-light fakeroot file findutils firmware-linux-free fontconfig fontconfig-config fonts-dejavu-core ftp fuse g++ gcc gdisk genisoimage geoip-database gettext-base gir1.2-glib-2.0 git git-man gnome-icon-theme gnupg gnupg-agent gnupg-l10n gnupg2 gpgv grep groff-base grub-common grub-pc grub-pc-bin grub2-common gtk-update-icon-cache gzip hicolor-icon-theme host hostname htop iamerican ibritish ienglish-common ifupdown info init init-system-helpers initramfs-tools initramfs-tools-core initscripts insserv install-info installation-report iproute2 iptables iputils-ping irqbalance isc-dhcp-client isc-dhcp-common iso-codes ispell kbd keyboard-configuration keyutils klibc-utils kmod krb5-locales laptop-detect ledit less libacl1 libaio1 libalgorithm-diff-perl libalgorithm-diff-xs-perl libapparmor1 libassuan0 libatk1.0-0 libatk1.0-data libatomic1 libattr1 libaudit-common libaudit1 libaugeas0 libavahi-client3 libavahi-common-data libavahi-common3 libbind9-140 libblkid1 libbsd0 libbz2-1.0 libc-bin libc-dev-bin libc-l10n libc6 libc6-dev libcairo2 libcamlp4-ocaml-dev libcap-ng0 libcap2 libcap2-bin libcc1-0 libcgi-fast-perl libcgi-pm-perl libclass-accessor-perl libclass-isa-perl libcomerr2 libcroco3 libcups2 libcurl3-gnutls libdatrie1 libdb5.3 libdbus-1-3 libdebconfclient0 libdevmapper1.02.1 libdiscover2 libdns-export162 libdns162 libdpkg-perl libedit2 libelf1 liberror-perl libestr0 libexpat1 libexpat1-dev libfakeroot libfastjson4 libfcgi-perl libfdisk1 libffi-dev libfile-fcntllock-perl libfile-listing-perl libfindlib-ocaml libfindlib-ocaml-dev libfont-afm-perl libfontconfig1 libfreetype6 libfuse2 libgail-common libgail18 libgcrypt20 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgeoip1 libgif7 libgirepository-1.0-1 libglib2.0-0 libglib2.0-data libgmp10 libgnutls-openssl27 libgnutls30 libgomp1 libgpg-error0 libgpgme11 libgpm2 libgraphite2-3 libgssapi-krb5-2 libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libharfbuzz0b libhtml-form-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libicu57 libid3tag0 libidn11 libidn2-0 libimlib2 libio-socket-ip-perl libio-socket-ssl-perl libiptc0 libisc-export160 libisc160 libisccc140 libisccfg140 libitm1 libjpeg62-turbo libk5crypto3 libkeyutils1 libklibc libkmod2 libkrb5-3 libkrb5support0 libksba8 libldap-2.4-2 libldap-common liblocale-gettext-perl liblockfile-bin liblockfile1 liblognorm5 liblsan0 liblwp-mediatypes-perl liblwp-protocol-https-perl liblwres141 liblz4-1 liblzma5 libmagic-mgc libmagic1 libmailtools-perl libmnl0 libmount1 libmpc3 libmpdec2 libmpx2 libncurses5 libncurses5-dev libncursesw5 libncursesw6 libnet-http-perl libnet-ssleay-perl libnetfilter-acct1 libnetfilter-conntrack3 libnewt0.52 libnfnetlink0 libnghttp2-14 libnpth0 libnuma1 libp11-kit0 libpam-modules libpam-modules-bin libpam-runtime libpam-systemd libpam0g libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libparted2 libpci3 libpcre3 libperl5.24 libpipeline1 libpixman-1-0 libpng16-16 libpopt0 libpq5 libpsl5 libpython2-dev libpython2.7 libpython2.7-dev libpython2.7-minimal libpython2.7-stdlib libpython3-dev libpython3-stdlib libpython3.5-minimal libpython3.5-stdlib libqdbm14 libquadmath0 librsvg2-2 librsvg2-common librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db libseccomp2 libsecret-1-0 libsecret-common libselinux1 libsemanage-common libsemanage1 libsepol1 libsigc++-2.0-0v5 libsigsegv2 libslang2 libsmartcols1 libsqlite3-0 libss2 libssh2-1 libssl-dev libssl1.0.2 libssl1.1 libstdc++6 libsub-name-perl libsystemd0 libtalloc2 libtasn1-6 libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl libthai-data libthai0 libtiff5 libtimedate-perl libtinfo-dev libtinfo5 libtinfo6 libtokyocabinet9 libtsan0 libudev1 liburi-perl libusb-0.1-4 libuuid1 libwrap0 libwww-perl libwww-robotrules-perl libx11-6 libx11-data libxapian30 libxau6 libxcb-render0 libxcb-shm0 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxi6 libxinerama1 libxml-libxml-perl libxml-namespacesupport-perl libxml-parser-perl libxml-sax-base-perl libxml-sax-expat-perl libxml-sax-perl libxml2 libxmuu1 libxslt1.1 libxtables12 libyaml-0-2 linux-base linux-image-amd64 linux-libc-dev locales login logrotate lsb-base lsb-release lsof m4 make man-db manpages manpages-dev mawk mc mc-data mime-support mlocate mount multiarch-support mutt nano ncurses-base ncurses-bin ncurses-term net-tools netbase netcat-traditional nfacct nfs-common nginx ocaml-base-nox ocaml-compiler-libs ocaml-findlib ocaml-interp ocaml-nox openssh-client openssh-server openssh-sftp-server openssl os-prober parted passwd patch pciutils perl perl-base perl-modules-5.24 perl-openssl-defaults pinentry-gtk2 postgresql postgresql-9.6 postgresql-client-9.6 postgresql-client-common postgresql-common postgresql-contrib postgresql-contrib-9.6 procmail procps psmisc publicsuffix python-apt-common python-certbot-nginx python-cryptography python-dnspython python-parsedatetime python-pip-whl python-pkg-resources python-setuptools python-six python2.7 python2.7-dev python2.7-minimal python3 python3-apt python3-blinker python3-cairo python3-cffi-backend python3-chardet python3-configobj python3-crypto python3-cryptography python3-dbus python3-debian python3-debianbts python3-dev python3-distutils python3-entrypoints python3-gi python3-gunicorn python3-httplib2 python3-idna python3-jinja2 python3-json-pointer python3-jsonpatch python3-jwt python3-keyring python3-keyrings.alt python3-lib2to3 python3-markupsafe python3-minimal python3-oauthlib python3-pip python3-pkg-resources python3-prettytable python3-pyasn1 python3-pycurl python3-pysimplesoap python3-reportbug python3-requests python3-secretstorage python3-setuptools python3-six python3-urllib3 python3-virtualenv python3-wheel python3-xdg python3-yaml python3.5 python3.5-minimal qemu-utils ranger readline-common rename reportbug rpcbind rsync rsyslog sed sensible-utils sgml-base shared-mime-info startpar sudo supervisor sysstat systemd systemd-sysv sysv-rc sysvinit-utils tar task-english tasksel tasksel-data tcpd telnet tex-common texinfo traceroute tree tzdata ucf udev unison unzip util-linux util-linux-locales vim vim-common vim-runtime vim-tiny virtualenv vsftpd wamerican wget whiptail whois xauth xdg-user-dirs xkb-data xml-core xxd xz-utils zlib1g 566 mis à jour, 166 nouvellement installés, 20 à enlever et 6 non mis à jour. Il est nécessaire de prendre 525 Mo dans les archives. Après cette opération, 1 151 Mo d'espace disque supplémentaires seront utilisés. E: L'option --trivial-only a été indiquée mais il ne s'agit pas d'une opération triviale.
En résumé :
566 mis à jour, 166 nouvellement installés, 20 à enlever et 6 non mis à jour. Il est nécessaire de prendre 525 Mo dans les archives. Après cette opération, 1 151 Mo d'espace disque supplémentaires seront utilisés.
# apt-get clean
puis
# apt-get autoremove Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait Les paquets suivants seront ENLEVÉS : libpython3.5-minimal libpython3.5-stdlib python3.5 python3.5-minimal 0 mis à jour, 0 nouvellement installés, 4 à enlever et 574 non mis à jour. Après cette opération, 23,9 Mo d'espace disque seront libérés. Souhaitez-vous continuer ? [O/n] o (Lecture de la base de données... 60119 fichiers et répertoires déjà installés.) Suppression de python3.5 (3.5.3-1) ... Suppression de libpython3.5-stdlib:amd64 (3.5.3-1) ... Suppression de python3.5-minimal (3.5.3-1) ... Unlinking and removing bytecode for runtime python3.5 Suppression de libpython3.5-minimal:amd64 (3.5.3-1) ... Traitement des actions différées (« triggers ») pour mime-support (3.60) ... Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
Il est possible que le lancement d'une mise à niveau complète (décrite ci-dessous) supprime un grand nombre de paquets que vous voudriez garder. Nous recommandons donc une action en deux temps : commencer par une mise à niveau minimale pour éviter ces conflits, puis faire une mise à niveau totale.
# apt-get upgrade [...] 180 Mo réceptionnés en 22s (8 162 ko/s) Lecture des fichiers de modifications (« changelog »)... Terminé apt-listchanges : Envoi des modifications par courriel à root : apt-listchanges : nouveautés pour vps408839.ovh.net Extraction des modèles depuis les paquets : 100% Préconfiguration des paquets... (Lecture de la base de données... 59287 fichiers et répertoires déjà installés.) Préparation du dépaquetage de .../base-files_11_amd64.deb ... Dépaquetage de base-files (11) sur (9.9+deb9u5) ... Paramétrage de base-files (11) ... Installation de la nouvelle version du fichier de configuration /etc/debian_version ... Installation de la nouvelle version du fichier de configuration /etc/issue ... Installation de la nouvelle version du fichier de configuration /etc/issue.net ... Updating /root/.profile to current default. (Lecture de la base de données... 59288 fichiers et répertoires déjà installés.) Préparation du dépaquetage de .../debianutils_4.11.2_amd64.deb ... Dépaquetage de debianutils (4.11.2) sur (4.8.1.1) ... Paramétrage de debianutils (4.11.2) ... (Lecture de la base de données... 59288 fichiers et répertoires déjà installés.) Préparation du dépaquetage de .../bash_5.1~rc1-2_amd64.deb ... Dépaquetage de bash (5.1~rc1-2) sur (4.4-5) ... Paramétrage de bash (5.1~rc1-2) ... Installation de la nouvelle version du fichier de configuration /etc/bash.bashrc ... Installation de la nouvelle version du fichier de configuration /etc/skel/.profile ... update-alternatives: utilisation de « /usr/share/man/man7/bash-builtins.7.gz » pour fournir « /usr/share/man/man7/built ins.7.gz » (builtins.7.gz) en mode automatique (Lecture de la base de données... 59290 fichiers et répertoires déjà installés.) Préparation du dépaquetage de .../libsmartcols1_2.36-3+b1_amd64.deb ... Dépaquetage de libsmartcols1:amd64 (2.36-3+b1) sur (2.29.2-1+deb9u1) ... Paramétrage de libsmartcols1:amd64 (2.36-3+b1) ... (Lecture de la base de données... 59291 fichiers et répertoires déjà installés.) Préparation du dépaquetage de .../bsdmainutils_12.1.7_all.deb ... '/etc/default/bsdmainutils' -> '/etc/default/bsdmainutils.dpkg-remove' '/etc/cron.daily/bsdmainutils' -> '/etc/cron.daily/bsdmainutils.dpkg-remove' Dépaquetage de bsdmainutils (12.1.7) sur (9.0.12+nmu1) ... dpkg: avertissement: impossible de supprimer l'ancien répertoire « /etc/calendar » : Le dossier n'est pas vide Sélection du paquet bsdextrautils précédemment désélectionné. Préparation du dépaquetage de .../bsdextrautils_2.36-3+b1_amd64.deb ... Dépaquetage de bsdextrautils (2.36-3+b1) ... dpkg: erreur de traitement de l'archive /var/cache/apt/archives/bsdextrautils_2.36-3+b1_amd64.deb (--unpack) : tentative de remplacement de « /usr/share/bash-completion/completions/hexdump », qui appartient aussi au paquet bash-c ompletion 1:2.1-4.3 Préparation du dépaquetage de .../libbsd0_0.10.0-1_amd64.deb ... Dépaquetage de libbsd0:amd64 (0.10.0-1) sur (0.8.3-1) ... Sélection du paquet gcc-10-base:amd64 précédemment désélectionné. Préparation du dépaquetage de .../gcc-10-base_10.2.0-15_amd64.deb ... Dépaquetage de gcc-10-base:amd64 (10.2.0-15) ... Des erreurs ont été rencontrées pendant l'exécution : /var/cache/apt/archives/bsdextrautils_2.36-3+b1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) root@vps408839:~/debian_9.5_to_10.6/script# root@vps408839:~/debian_9.5_to_10.6/script# apt upgrade Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait Vous pouvez lancer « apt --fix-broken install » pour corriger ces problèmes. Les paquets suivants contiennent des dépendances non satisfaites : bsdmainutils : Dépend: bsdextrautils (>= 2.35.2-7) mais il n'est pas installé Dépend: calendar mais il n'est pas installé Dépend: ncal mais il n'est pas installé E: Dépendances non satisfaites. Essayez « apt --fix-broken install » sans paquet (ou indiquez une solution).
En résumé :
# apt --fix-broken install #ne parvient pas à résoudre le problème car bsdextrautils dépend de man-db # dpkg -r man-db -> ok # dpkg --configure -a -> pas de réponse # apt-get install -f -> Erreur car bsdextrautils dépend de bash-completion # apt remove bash-completion -> Erreur # apt --fix-broken install -> Erreur # dpkg -r bash-completion -> ok # apt --fix-broken install -> ok
# script -t 2>/root/debian_9.5_to_10.6/script/upgrade_9-5_10-6_etape_2.time -a /root/debian_9.5_to_10.6/script/upgrade_9-5_10-6_etape_2.script Le script a débuté, le fichier est /root/debian_9.5_to_10.6/script/upgrade_9-5_10-6_etape_2.script # apt-get upgrade -> PC générique 105 touches (internat.) -> Français -> clavier Français (azerty standard AFNOR) L'utilitaire « update-passwd » a détecté une différence entre les comptes système et les comptes Debian définis par défaut. Il est │ │ recommandé de permettre à « update-passwd » de modifier le système ; sans ces changements, certains paquets risquent de ne pas fonctionner │ │ correctement. Davantage d'informations concernant la politique des comptes Debian se trouvent dans le fichier │ │ « /usr/share/doc/base-passwd/README ». │ │ │ │ La modification proposée est : │ │ │ │ Modification du répertoire personnel de l'utilisateur « irc » de /var/run/ircd à /run/ircd │ │ │ │ En acceptant cette modification, une sauvegarde des fichiers modifiés sera créée avec l'extension .org, qui pourra être utilisée plus tard │ │ pour restaurer les réglages actuels. Si la modification n'est pas effectuée maintenant, elle pourra l'être ultérieurement en utilisant │ │ « update-passwd ». │ │ │ │ Faut-il modifier le répertoire personnel de l'utilisateur irc ? -> <Oui>
Différence /etc/crontab:
--- /etc/crontab 2017-09-10 18:18:31.388000000 +0200 +++ /etc/crontab.dpkg-new 2020-02-10 20:16:06.000000000 +0100 @@ -7,12 +7,16 @@ SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin -# m h dom mon dow user command +# Example of job definition: +# .---------------- minute (0 - 59) +# | .------------- hour (0 - 23) +# | | .---------- day of month (1 - 31) +# | | | .------- month (1 - 12) OR jan,feb,mar,apr ... +# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat +# | | | | | +# * * * * * user-name command to be executed 17 * * * * root cd / && run-parts --report /etc/cron.hourly 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) 52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly ) # -## Mise a jour automatique des certificats ssl le premier de chaque mois a 4h00 -0 4 1 * * root /home/jc/installation/install_cerbot/certbot-auto renew --quiet --no-self-upgrade -#
Je décide de prendre la nouvelle version et d'y remettre certbot-auto plus tard
Fin d'apt-get upgrade sans erreur !
# lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux bullseye/sid Release: 9.13 Codename: stretch # cat /etc/debian_version bullseye/sid # uname -a Linux vps408839.ovh.net 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u4 (2018-08-21) x86_64 GNU/Linux
# apt dist-upgrade │ Running services and programs that are using NSS need to be restarted, otherwise they might not be able to do lookup or authentication any │ │ more. The installation process is able to restart some services (such as ssh or telnetd), but other programs cannot be restarted │ │ automatically. One such program that needs manual stopping and restart after the glibc upgrade by yourself is xdm - because automatic │ │ restart might disconnect your active X11 sessions. │ │ │ │ This script detected the following installed services which must be stopped before the upgrade: postgresql │ │ │ │ If you want to interrupt the upgrade now and continue later, please answer No to the question below. │ │ │ │ Do you want to upgrade glibc now? │ │ │ │ <Yes> <No> │
Validation <Yes>
Fichier de configuration « /etc/ssh/ssh_config » ==> Modifié (par vous ou par un script) depuis l'installation. ==> Le distributeur du paquet a fourni une version mise à jour. Que voulez-vous faire ? Vos options sont les suivantes : Y ou I : installer la version du responsable du paquet N ou O : garder votre version actuellement installée D : afficher les différences entre les versions Z : suspendre ce processus pour examiner la situation L'action par défaut garde votre version actuelle. *** ssh_config (Y/I/N/O/D/Z) [défaut=N] ?
→ Y
┌────────────────────────────────────────────────────┤ Configuration de openssh-server ├────────────────────────────────────────────────────┐ │ Une nouvelle version (/tmp/tmp.U4UpEPkBSf) du fichier de configuration /etc/ssh/sshd_config est disponible mais la version actuellement │ │ utilisée a été modifiée localement. │ │ │ │ Action souhaitée pour le fichier de configuration modifié sshd_config : │ │ │ │ Installer la version du responsable du paquet │ │ Garder la version actuellement installée │ │ Montrer les différences entre les versions │ │ Montrer côte à côte les différences entre les versions │ │ Montrer les différences entre les trois versions du fichier │ │ Fusionner les différences entre les trois versions du fichier │ │ Lancer un shell pour examiner la situation │ │ │ │ │ │ <Ok> │ │ │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
→ Sélection: Installer la version du responsable du paquet
┌───────────────────────────────────────────────────┤ Configuration de postgresql-common ├────────────────────────────────────────────────────┐ │ │ │ Version majeure 9.6 obsolète │ │ │ │ La version 9.6 de PostgreSQL est obsolète, mais le paquet du client ou du serveur est toujours installé. Veuillez installer la version la │ │ plus récente des paquets postgresql-13 et postgresql-client-13 et mettre à niveau les grappes (« clusters ») en version avec │ │ « pg_upgradecluster ». Veuillez consulter la page de manuel pour plus de précisions. │ │ │ │ Veuillez noter que l'installation de postgresql-13 créera par défaut une grappe (« cluster ») 13/main. Si vous souhaitez mettre à niveau │ │ la grappe 9.6/main, il faudra supprimer la grappe 13 en exécutant la commande « pg_dropcluster--stop 13 main ». Veuillez consulter la page │ │ de manuel pour plus de précisions. │ │ │ │ Les anciennes versions des paquets client et serveur ne sont plus maintenues. Après la mise à niveau des grappes (« clusters »), les │ │ paquets postgresql-9.6 et postgresql-client-9.6 devraient être supprimés. │ │ │ │ Veuillez consulter /usr/share/doc/postgresql-common/README.Debian.gz pour plus de détails. │ │ │ │ <Ok> │ │ │ └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Fichier de configuration « /etc/cloud/cloud.cfg » ==> Modifié (par vous ou par un script) depuis l'installation. ==> Le distributeur du paquet a fourni une version mise à jour. Que voulez-vous faire ? Vos options sont les suivantes : Y ou I : installer la version du responsable du paquet N ou O : garder votre version actuellement installée D : afficher les différences entre les versions Z : suspendre ce processus pour examiner la situation L'action par défaut garde votre version actuelle. *** cloud.cfg (Y/I/N/O/D/Z) [défaut=N] ? Y
→ Y
E: Impossible de configurer « libc6:amd64 ». E: Impossible d'effectuer la configuration immédiate de « libtirpc3:amd64 ». Veuillez consulter la page de manuel apt.conf(5) et notamment la section à propos de APT::Immediate-Configure, pour plus d'informations. (2) E: Impossible de configurer « libc6:amd64 ». E: Impossible d'effectuer la configuration immédiate de « libnsl2:amd64 ». Veuillez consulter la page de manuel apt.conf(5) et notamment la section à propos de APT::Immediate-Configure, pour plus d'informations. (2) E: Impossible de configurer « libc6:amd64 ». E: Impossible d'effectuer la configuration immédiate de « libnss-nis:amd64 ». Veuillez consulter la page de manuel apt.conf(5) et notamment la section à propos de APT::Immediate-Configure, pour plus d'informations. (2) W: Can not find PkgVer for 'libtirpc-common' W: APT had planned for dpkg to do more than it reported back (2123 vs 2131). Affected packages: libtirpc-common:amd64
# lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux bullseye/sid Release: 9.13 Codename: stretch # uname -a Linux vps408839.ovh.net 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u4 (2018-08-21) x86_64 GNU/Linux # df -h Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur udev 1,9G 0 1,9G 0% /dev tmpfs 386M 440K 386M 1% /run /dev/sda1 20G 11G 8,6G 55% / tmpfs 1,9G 16K 1,9G 1% /dev/shm tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 1,9G 0 1,9G 0% /sys/fs/cgroup tmpfs 386M 0 386M 0% /run/user/1001
Doc Debian :
Quand vous faites une mise à niveau de Stretch vers Buster, il est fortement recommandé d'installer un métapaquet linux-image-*, si cela n’avait pas été déjà fait. Ces métapaquets vont automatiquement récupérer une nouvelle version par le processus de mise à niveau. Vous pouvez vérifier cela en exécutant :
# dpkg -l "linux-image*" | grep ^ii | grep -i meta ii linux-image-amd64 5.9.1-1 amd64 Linux for 64-bit PCs (meta-package)
Si cela ne donne rien, vous devez alors soit installer un nouveau paquet linux-image vous-même ou installer un métapaquet linux-image.
→ Ici on à un retour qui est :
ii linux-image-amd64 5.9.1-1 amd64 Linux for 64-bit PCs (meta-package)
Donc pas d'installation manuelle du noyau ! Youpi! \o/
Fin de la procédure Installer un métapaquet du noyau.
Doc Debian :
Après la mise à niveau, il y a plusieurs choses que vous pouvez faire pour préparer la prochaine version.
# apt-get clean # apt-get autoremove Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait Les paquets suivants seront ENLEVÉS : camlp4 dh-python g++-6 geoip-database gnupg-agent ledit libbind9-140 libboost-filesystem1.62.0 libboost-iostreams1.62.0 libboost-system1.62.0 libcamlp4-ocaml-dev libcgi-fast-perl libcgi-pm-perl libclass-accessor-perl libcroco3 libcwidget3v5 libdns-export162 libdns162 libevent-2.0-5 libfcgi-perl libfindlib-ocaml libfindlib-ocaml-dev libgeoip1 libgmime-2.6-0 libhogweed4 libicu57 libio-string-perl libio-stringy-perl libip4tc0 libip6tc0 libiptc0 libisc-export160 libisc160 libisccc140 libisccfg140 liblwres141 libncurses-dev libncurses5-dev libnettle6 libnotmuch4 libparse-debianchangelog-perl libperl5.24 libprocps6 libpython2-dev libpython2.7 libpython2.7-dev libpython3.6 libpython3.6-dev libssl1.0.2 libstdc++-6-dev libtalloc2 libtinfo-dev libunistring0 linux-image-4.9.0-3-amd64 ocaml-base-nox ocaml-compiler-libs ocaml-findlib ocaml-interp ocaml-man ocaml-nox perl-modules-5.24 postgresql-9.6 postgresql-client-9.6 postgresql-contrib-9.6 python-cffi-backend python-configargparse python-configobj python-cryptography python-dnspython python-enum34 python-funcsigs python-idna python-ipaddress python-meld3 python-mock python-openssl python-parsedatetime python-pbr python-psutil python-pyasn1 python-pycurl python-pyicu python-pyparsing python-rfc3339 python-six python-urllib3 python-zope.component python-zope.event python-zope.hookable python-zope.interface python2.7-dev python3-cairo python3-dbus python3-entrypoints python3-gunicorn python3-jeepney python3-keyring python3-keyrings.alt python3-prettytable python3-pyasn1 python3-pycryptodome python3-secretstorage python3-xdg python3.6-dev rename sgml-base tcpd xml-core 0 mis à jour, 0 nouvellement installés, 108 à enlever et 5 non mis à jour. Après cette opération, 1 049 Mo d'espace disque seront libérés. Souhaitez-vous continuer ? [O/n] O
Nouvelle instruction du site Debian:
https://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.fr.html#for-next
# dpkg -l | awk '/^rc/ { print $2 }' # apt purge $(dpkg -l | awk '/^rc/ { print $2 }')
Arrêt du script de record par Ctrl-D
Un petit uptime avant de reboot :
# uptime 22:01:37 up 767 days, 5:45, 1 user, load average: 0,09, 0,13, 0,18 # uptime -p up 2 years, 5 weeks, 4 days, 5 hours, 45 minutes
Rappel des versions avant reboot :
$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 9.5 (stretch) Release: 9.5 Codename: stretch $ cat /etc/debian_version 9.5 $ uname -a Linux vps408839.ovh.net 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u4 (2018-08-21) x86_64 GNU/Linux
Versions après reboot :
# uptime 22:13:15 up 0 min, 1 user, load average: 0,73, 0,25, 0,09 # uptime -p up 0 minutes
# lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux bullseye/sid Release: testing Codename: bullseye # cat /etc/debian_version bullseye/sid # uname -a Linux vps408839.ovh.net 5.9.0-1-amd64 #1 SMP Debian 5.9.1-1 (2020-10-17) x86_64 GNU/Linux # cat /etc/os-release PRETTY_NAME="Debian GNU/Linux bullseye/sid" NAME="Debian GNU/Linux" ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/"
Petit récap. de la monté de version :
Versions | Avant | Après |
---|---|---|
Debian | 9.5 | bullseye/sid testing |
Noyau GNU/Linux | 4.9.110-3+deb9u4 (2018-08-21) | 5.9.1-1 (2020-10-17) |
# apt install man-db # apt install bash-completion