La version 7.4 de la suite bureautique LibreOffice vient de sortir. Si vous utiliser la version disponible dans les dépôts de Linux Mint (et probablement de tout Linux dérivé d’Ubuntu) c’est la version 7.3.6.2 qui vous est proposé.
- Les nouveautés de la version 7.4 en anglais, (en français).
Attention la procédure décrite est réservé aux machines à base de processeurs x86 64 bits (Intel ou AMD), les URLs utilisées ne sont pas valides pour une machine à base de processeur ARM (même 64 bits).
Procédure
Je vous conseille de commencer par mettre à jour votre système, avant l’installation de LibreOffice, et manière très facultative de désinstaller l’ancienne version.
- Télécharger les fichiers contenant l’installation de :
- LibreOffice,
- le pack correspondant à votre langue,
- et l’aide intégrée à votre langue ;
- Extraire les fichiers tar.gz ;
- Supprimer la version précédente ;
- Installer les fichiers .deb ;
- Nettoyage final.
Script d’installation
On trouve plein de vidéos sur le net qui montre cette procédure, mais c’est moins pratique qu’un script qui fait le travail pour vous.
Voici donc une version d’un script permettant de faire l’installation initiale ou la mise à jour de LibreOffice avec la dernière version en ligne.
-
libreoffice-install.sh
#!/bin/bash # # libreoffice-install:libreoffice-install.sh # set -u set -o pipefail function usage { cat <<EOF Install LibreOffice from DEB files. Usage: $( basename "$0" ) [--help] $( basename "$0" ) [--download-dir DIR] [--version VER] [--lang LANG] [--no-langage-pack] [--keep-other-versions] Actions: -h, --help Display this message and exit. Options: -D DIR, --download-dir DIR Set custom download directory, otherwise use $( xdg-user-dir DOWNLOAD ) -V VER, --version VER Set custom version number, otherwise use available version -L LANG, --lang LANG Set custom version number, default value is 'fr' --no-langage-pack Skip language pack installation -K, --keep-other-versions Don't remove other versions EOF } # # P_param : get parameter value, if not exist call usage and return error. # # Usage: # param_xxx="$( P_param "$@" )" && shift || return $? # # Require: # - param variable with current parameter name # - usage function (use to display usage) # function P_param { if [ "$#" -gt 0 ] ; then echo "$1" else echofatal "Value required for '${param}'" usage >&2 return 1 fi } function echofatal { echo '*** [FATAL]: ' "$@" >&2 } function echowarn { echo '* [WARN]: ' "$@" >&2 } function echoinfo { echo '* [INFO]: ' "$@" >&2 } function __do_download__ { local -r __url__="$1" echoinfo "${FUNCNAME[0]}( '${__url__}' )" local __file__= __file__="$( basename "${__url__}" )" local -r __file__ if [ -f "${__file__}" ] ; then echowarn "File already there: '${__file__}'" return 0 fi # wget "${__url__}" --output-file="${__file__}" >&2 || return $? curl --location "${__url__}" --output "${__file__}" >&2 || return $? } function libreoffice_download { echoinfo "${FUNCNAME[0]}()" if [ "$( arch )" != 'x86_64' ] ; then echofatal "Wrong hardware. Can't install LibreOffice." arch >&2 return 1 fi mkdir -vp "${__lo_download_dir__}" >&2 || return $? pushd "${__lo_download_dir__}" >/dev/null || return $? __do_download__ "https://download.documentfoundation.org/libreoffice/stable/${__lo_version__}/deb/x86_64/LibreOffice_${__lo_version__}_Linux_x86-64_deb.tar.gz" || return $? if [ -n "${__lo_lang__}" ] ; then __do_download__ "https://download.documentfoundation.org/libreoffice/stable/${__lo_version__}/deb/x86_64/LibreOffice_${__lo_version__}_Linux_x86-64_deb_langpack_${__lo_lang__}.tar.gz" || return $? __do_download__ "https://download.documentfoundation.org/libreoffice/stable/${__lo_version__}/deb/x86_64/LibreOffice_${__lo_version__}_Linux_x86-64_deb_helppack_${__lo_lang__}.tar.gz" || return $? fi popd >/dev/null || return $? } function libreoffice_extract { echoinfo "${FUNCNAME[0]}()" tar -zxf "${__lo_download_dir__}/LibreOffice_${__lo_version__}_Linux_x86-64_deb.tar.gz" --directory "${__lo_download_dir__}/" || return $? if [ -n "${__lo_lang__}" ] ; then tar -zxf "${__lo_download_dir__}/LibreOffice_${__lo_version__}_Linux_x86-64_deb_langpack_${__lo_lang__}.tar.gz" --directory "${__lo_download_dir__}/" || return $? tar -zxf "${__lo_download_dir__}/LibreOffice_${__lo_version__}_Linux_x86-64_deb_helppack_${__lo_lang__}.tar.gz" --directory "${__lo_download_dir__}/" || return $? fi ls -la --color "${__lo_download_dir__}/" } function libreoffice_uninstall { echoinfo "${FUNCNAME[0]}()" sudo apt update || return $? if [ "${__do_cleanup__}" = 'true' ] ; then sudo apt upgrade -y || return $? sudo apt autoremove -y || return $? fi sudo apt purge 'libreoffice*' -y || true } function libreoffice_install { echoinfo "${FUNCNAME[0]}()" pushd "${__lo_download_dir__}/LibreOffice_${__lo_version__}"*'_Linux_x86-64_deb/DEBS' >/dev/null || return $? ( sudo dpkg -i ./*.deb ) || return $? popd >/dev/null || return $? pushd "${__lo_download_dir__}/LibreOffice_${__lo_version__}"*"_Linux_x86-64_deb_langpack_${__lo_lang__}/DEBS" >/dev/null || return $? ( sudo dpkg -i ./*.deb ) || return $? popd >/dev/null || return $? pushd "${__lo_download_dir__}/LibreOffice_${__lo_version__}"*"_Linux_x86-64_deb_helppack_${__lo_lang__}/DEBS" >/dev/null || return $? ( sudo dpkg -i ./*.deb ) || return $? popd >/dev/null || return $? } function get_last_versions { echoinfo "${FUNCNAME[0]}()" curl -L 'https://www.libreoffice.org/download/' | grep 'https://download.documentfoundation.org/libreoffice/stable/' | sed -E 's,.*"https://download\.documentfoundation\.org/libreoffice/stable/([^/]+)/.*,\1,g' || true } function get_last_version { # TODO: let user choose ? get_last_versions | sort --reverse | head -n 1 } function main_libreoffice_install { local -r __download_dir__="$1" local -r __lo_version__="$2" local -r __lo_lang__="$3" # If defined but empty, don't install langage pack local -r __do_cleanup__="$4" local -r __lo_download_dir__="${__download_dir__}/LibreOffice_${__lo_version__}" libreoffice_download || return $? libreoffice_extract || return $? libreoffice_uninstall || return $? libreoffice_install || return $? } function main { local param_download_dir= local param_lo_version= local param_lo_lang='fr' # default language is french local param_no_lang='false' # if true don't install langage pack local param_lo_cleanup='true' param_download_dir="$( xdg-user-dir DOWNLOAD )" || return $? while [ "$#" -gt 0 ] ; do param="$1" shift case "${param}" in '-h'|'--help') usage return 0 ;; '-D'|'--download-dir') param_download_dir="$( P_param "$@" )" && shift || return $? ;; '-V'|'--version') param_lo_version="$( P_param "$@" )" && shift || return $? ;; '-L'|'--lang') param_lo_lang="$( P_param "$@" )" && shift || return $? ;; '--no-langage-pack') param_no_lang='true' ;; '-K'|'--keep-other-versions') param_lo_cleanup='false' ;; *) echofatal "Unknown option: '${param}'" usage >&2 return 1 ;; esac done if [ -z "${param_lo_version}" ] ; then param_lo_version="$( get_last_version )" || return $? fi if [ "${param_no_lang}" = 'true' ] ; then param_lo_lang='' # Don't install langage pack fi main_libreoffice_install "${param_download_dir}" "${param_lo_version}" "${param_lo_lang}" "${param_lo_cleanup}" || return $? echoinfo "$( basename "${BASH_SOURCE[0]}" ) - Done." } main "$@" || exit $?
ඏ
Le dépôt
Comme vous le constaté ce script assez basique à ce jour et il a vocation à évoluer voici pourquoi je vous propose ce dépôt où les prochaines versions seront publiées.
ඏ
Références
- La page de Téléchargement de LibreOffice,
- Le code source est également disponible (attention : il faut prévoir 5 Go d’espace disque sans les sous-modules et presque 10 Go avec ces derniers).
ᦿ