[install wine] lib liodbc.so introuvable
Re: [install wine] lib liodbc.so introuvable
Bonjour , il s' agit de $FALL .
le mieux etant de passer le script à la moulinette : https://www.shellcheck.net/
il parait qu ' utiliser " cd " dans un script est à proscrire .
le mieux etant de passer le script à la moulinette : https://www.shellcheck.net/
il parait qu ' utiliser " cd " dans un script est à proscrire .
Dernière modification par iznobe le ven. 20 juin 2025, 08:43, modifié 1 fois.
Re: [install wine] lib liodbc.so introuvable
Bonjour , il s' agit de $FALL bien presente ( et en erreur ) à la ligne 334 .
le mieux étant de passer le script à la moulinette : https://www.shellcheck.net/
il parait qu ' utiliser " cd " dans un script est à proscrire .
le mieux étant de passer le script à la moulinette : https://www.shellcheck.net/
il parait qu ' utiliser " cd " dans un script est à proscrire .
Re: [install wine] lib liodbc.so introuvable
Houlà un grand MERCI à tous les deux.
Je ne sais pas depuis quand c'est là, et ce matin au saut du lit je n'ai rien vu
Merci d'avoir insisté !
Et merci pour le lien, je ne connaissais pas, on n’arrête pas le progrès
On voit que j'ai fait le script en plusieurs étapes et à coup de copier/coller...
Il a besoin d'un bon coup de jeune
Je ne sais pas depuis quand c'est là, et ce matin au saut du lit je n'ai rien vu

Merci d'avoir insisté !
Non, heureusement qu'on peut, je fais çà depuis toujours... pas de pb pour l'instant !iznobe a écrit : il parait qu ' utiliser " cd " dans un script est à proscrire .
Et merci pour le lien, je ne connaissais pas, on n’arrête pas le progrès

On voit que j'ai fait le script en plusieurs étapes et à coup de copier/coller...
Il a besoin d'un bon coup de jeune

-
- Hankyu
- Messages : 18
- Inscription : dim. 03 mars 2019, 13:01
Re: [install wine] lib liodbc.so introuvable
essayer celui je vous ai envoyer vous me direz

Re: [install wine] lib liodbc.so introuvable
OK, darkcyb081,
Comme il n'y avait pas l'origine, que j'aime bien laisser... :
J'ai pensé que c'était quelque chose que j'avais laissé traîner il y a longtemps sur le net...
Je regarde demain matin à la fraîche
Comme il n'y avait pas l'origine, que j'aime bien laisser... :
Code : Tout sélectionner
#! /usr/bin/env bash
#
# sysrescue-customize - customize an existing SystemRescue iso image
#
# Author: Gerd v. Egidy
# SPDX-License-Identifier: GPL-3.0-or-later
#
# see https://www.system-rescue.org/scripts/sysrescue-customize/ for details
Je regarde demain matin à la fraîche

-
- Hankyu
- Messages : 18
- Inscription : dim. 03 mars 2019, 13:01
Re: [install wine] lib liodbc.so introuvable
Toujours l'erreur ligne 1
en
Sachez qu'il y avait eu des faille de securité sur #! /usr/bin/env bash il est préférable d'utiliser
Code : Tout sélectionner
#! /usr/bin/env bash
Code : Tout sélectionner
#!/usr/bin/env bash
Code : Tout sélectionner
#!/bin/bash

Re: [install wine] lib liodbc.so introuvable
En fait c'est déconseillé, on préfère utiliser des chemins absolus à la place de chemins relatifs.
D'ailleurs, tu le fais de temps en temps :
Code : Tout sélectionner
rm -r ${DIR_BASE}/squashfs-root/opt/firefox-esr
cp -R /opt/firefox-esr/ ${DIR_BASE}/squashfs-root/opt/
Code : Tout sélectionner
cd /root/MK_Rescue/sysresccd/RECIPE_00-TOUT/iso_add/root/.config
rm -r strawberry
cd /root/MK_Rescue/sysresccd/RECIPE_00-TOUT/iso_add/root/.local/share
rm -r strawberry

------------
Note
Au début tu fais un
alias echo='echo -e'
il fonctionne ? si oui pourquoi faire 300 echo -e
dans le code. Si ne fonctionne pas, alors virer cet alias.---------
Déjà dit dans ton sujet précédent

Pacman accepte plusieurs paquets en paramètre !! voir code bien compliqué pour rien :
Code : Tout sélectionner
pacman --noconfirm -Sy vlc >> MK_sysrescue.log 2>&1
pacman --noconfirm -Sy audacity >> MK_sysrescue.log 2>&1
pacman --noconfirm -Sy strawberry >> MK_sysrescue.log 2>&1
pacman --noconfirm -Sy python-pip >> MK_sysrescue.log 2>&1
Dernière modification par papajoke le ven. 20 juin 2025, 14:29, modifié 1 fois.
Arch stable - Kde 6 / fish - btrfs/mbr - Intel Core i3 - 6Go RAM - GeForce 405 video-nouveau
Re: [install wine] lib liodbc.so introuvable
darkcyb081 ton module :
fonctionne parfaitement :

Code : Tout sélectionner
#!/bin/bash
# sysrescue-customize - customize an existing SystemRescue iso image
# Auteur : darkcyb081
# Libre de droit
# Contrôle de la version du bash
if [ -n "$POSIXLY_CORRECT" ] || [ -z "$BASH_VERSION" ]; then
echo "ERROR: bash >= 4.0 is required for this script."
exit 1
fi
if (( BASH_VERSINFO[0]*100 + BASH_VERSINFO[1] < 400 )); then
echo "ERROR: bash >= 4.0 is required for this script."
exit 1
fi
# Configuration des couleurs
declare -g DR='\033[1;91m'
declare -g DV='\033[1;92m'
declare -g DB='\033[1;94m'
declare -g FA='\033[0m'
print_usage() {
echo "Usages :"
echo "MK_sysrescue TOUT"
echo "MK_sysrescue READ"
echo "MK_sysrescue RECI"
echo "MK_sysrescue WRITE"
echo "MK_sysrescue HELP"
echo ""
}
print_help() {
echo " MK_sysrescue customize un SystemRescue depuis l'ISO téléchargée sur :"
echo " https://www.system-rescue.org/Download/"
echo ""
echo "Usages :"
echo "MK_sysrescue TOUT | READ | RECI | WRITE | HELP"
echo ""
echo "- Le mode TOUT Part toujours de la version ISO téléchargée, génère une archive"
echo " Avec TOUTES les modifications contenues dans RECIPE_00-TOUT"
echo " Puis la pousse dans le répertoire de destination :"
echo " DIR_CCD=/root/sda1/sysresccd/x86_64"
echo ""
echo "- le mode READ Part également de la version ISO téléchargée."
echo " Les mises à niveau de RECIPE_00-TOUT sont IGNOREES, on repart de ZERO"
echo " RECIPE_04-READ ; RECIPE_05-RECI & RECIPE_06-WRITE sont vides au départ"
echo " En vue d'effectuer des modifications à la main dans squashfs-root"
echo ""
echo "- le mode RECI Permet de faire des modifications ponctuelles à la main sans perturber :"
echo " - RECIPE_00-TOUT"
echo ""
echo "- le mode WRITE Permet de tester des modifications manuelles faites dans squashfs-root :"
echo " Puis la pousse dans le répertoire de destination :"
echo " DIR_CCD=/root/sda1/sysresccd/x86_64"
echo ""
echo "- le mode HELP Affiche ce menu"
echo ""
echo -e "${DR}"
echo " Les modes CHROOT, MAJFF, MAJTB, STRAWB ont été supprimés de ce script."
echo -e "${FA}"
echo ""
}
argument_error() {
echo -e "${DR}"
echo "$1"
echo -e "${FA}"
print_usage
exit 2
}
# Variables globales
declare -g MODE=""
declare -g DIR_BASE="/root/MK_Rescue/sysresccd"
declare -g DIR_ISO="/root/MK_Rescue/sysresccd/I_ISO"
declare -g DIR_MNT="/root/MK_Rescue/sysresccd/MNT"
declare -g DIR_SFS="/root/MK_Rescue/sysresccd/SFS"
declare -g DIR_REC="/root/MK_Rescue/sysresccd/RECIPE"
declare -g DIR_CCD="/root/sda1/sysresccd/x86_64"
parse_args() {
echo -e "${DB}"
echo "Contrôle des arguments"
echo -e "${FA}"
[[ $# -eq 0 ]] && argument_error "Absence de l'argument (TOUT | READ | RECI | WRITE | HELP)"
case "$1" in
TOUT)
MODE="TOUT"
;;
READ)
MODE="READ"
;;
RECI)
MODE="RECI"
;;
WRITE)
MODE="WRITE"
;;
HELP)
print_help
exit 0
;;
*)
argument_error "ERREUR l'argument -->$1<-- est inconnu"
;;
esac
[[ $# -gt 1 ]] && argument_error "Trop d'arguments"
[[ -z "$MODE" ]] && argument_error "Variable MODE non initialisée"
}
read_iso() {
echo -e "${DB}"
echo "read_iso()"
echo -e "${DV}"
echo "===> Nettoyages ..."
echo -e "${FA}"
# Vérification des dépendances
if ! command -v unsquashfs >/dev/null 2>&1; then
echo -e "${DR}"
echo "ERREUR: unsquashfs n'est pas installé (paquet squashfs-tools requis)"
echo -e "${FA}"
exit 1
fi
if ! command -v mksquashfs >/dev/null 2>&1; then
echo -e "${DR}"
echo "ERREUR: mksquashfs n'est pas installé (paquet squashfs-tools requis)"
echo -e "${FA}"
exit 1
fi
if ! command -v rsync >/dev/null 2>&1; then
echo -e "${DR}"
echo "ERREUR: rsync n'est pas installé"
echo -e "${FA}"
exit 1
fi
# Vérification de l'existence du fichier ISO
if [[ ! -f "${DIR_ISO}/systemrescue.iso" ]]; then
echo -e "${DR}"
echo "ERREUR: Le fichier ISO ${DIR_ISO}/systemrescue.iso n'existe pas"
echo -e "${FA}"
exit 1
fi
# Création des répertoires nécessaires
mkdir -p "${DIR_MNT}" "${DIR_BASE}"
umount "${DIR_MNT}" 2>/dev/null || true
rm -rf "${DIR_BASE}/squashfs-root" 2>/dev/null || true
echo -e "${DV}"
echo "===> Montage de ${DIR_ISO}/systemrescue.iso ..."
echo -e "${FA}"
if ! mount -o loop "${DIR_ISO}/systemrescue.iso" "${DIR_MNT}"; then
echo -e "${DR}"
echo "ERREUR: Impossible de monter l'ISO"
echo -e "${FA}"
exit 1
fi
cd "${DIR_BASE}" || exit 1
echo -e "${DV}"
echo "===> Extract en cours ..."
echo -e "${FA}"
if ! unsquashfs "${DIR_MNT}/sysresccd/x86_64/airootfs.sfs"; then
echo -e "${DR}"
echo "ERREUR: Impossible d'extraire le système de fichiers"
echo -e "${FA}"
umount "${DIR_MNT}" 2>/dev/null || true
exit 1
fi
}
run_recipe() {
echo -e "${DB}"
echo "run_recipe()"
echo -e "${DV}"
echo "===> Suppression de fichiers..."
echo -e "${FA}"
local DELETE_ROOT="${DIR_REC}/iso_delfic"
if [[ -d "${DELETE_ROOT}" ]]; then
while IFS= read -r -d '' FILE; do
echo "FICHIER SUPPRIME = ${DIR_BASE}/squashfs-root/${FILE}"
rm -rf "${DIR_BASE}/squashfs-root/${FILE}"
done < <(find "${DELETE_ROOT}" -type f -printf '%P\0' 2>/dev/null)
fi
echo -e "${DV}"
echo "===> Suppression de répertoires vides..."
echo -e "${FA}"
local DELETE_ROOT="${DIR_REC}/iso_delrep"
if [[ -d "${DELETE_ROOT}" ]]; then
while IFS= read -r -d '' REP; do
if [[ -d "${DIR_BASE}/squashfs-root/${REP}" ]]; then
if [[ -z "$(ls -A "${DIR_BASE}/squashfs-root/${REP}" 2>/dev/null)" ]]; then
echo "${DIR_BASE}/squashfs-root/${REP} VIDE"
if rmdir "${DIR_BASE}/squashfs-root/${REP}" 2>/dev/null; then
echo "${DIR_BASE}/squashfs-root/${REP} SUPPRIME"
fi
fi
fi
done < <(find "${DELETE_ROOT}" -type d -printf '%P\0' 2>/dev/null)
fi
echo -e "${DV}"
echo "===> Ajout/remplacement de fichiers..."
echo -e "${FA}"
local ADD_ROOT="${DIR_REC}/iso_add"
if [[ -d "${ADD_ROOT}" ]]; then
rsync -a "${ADD_ROOT}/" "${DIR_BASE}/squashfs-root/"
fi
}
write_iso() {
echo -e "${DB}"
echo "write_iso()"
echo -e "${FA}"
cd "${DIR_BASE}" || exit 1
# Vérification de l'existence du répertoire squashfs-root
if [[ ! -d "${DIR_BASE}/squashfs-root" ]]; then
echo -e "${DR}"
echo "ERREUR: Le répertoire squashfs-root n'existe pas"
echo -e "${FA}"
exit 1
fi
# Création du répertoire de destination
mkdir -p "${DIR_CCD}"
if ! mksquashfs "${DIR_BASE}/squashfs-root" airootfs.sfs -noappend -comp xz; then
echo -e "${DR}"
echo "ERREUR: Impossible de créer le fichier squashfs"
echo -e "${FA}"
exit 1
fi
echo -e "${DB}"
echo "sha512sum()"
echo -e "${FA}"
sha512sum airootfs.sfs > airootfs.sha512
echo -e "${DV}"
echo "===> Copies dans ${DIR_CCD}"
echo -e "${FA}"
if ! cp airootfs.sfs airootfs.sha512 "${DIR_CCD}/"; then
echo -e "${DR}"
echo "ERREUR: Impossible de copier les fichiers vers ${DIR_CCD}"
echo -e "${FA}"
exit 1
fi
rm -f airootfs.sfs airootfs.sha512
}
# Fonction de nettoyage en cas d'interruption
cleanup() {
echo -e "${DR}"
echo "Nettoyage en cours..."
echo -e "${FA}"
umount "${DIR_MNT}" 2>/dev/null || true
rm -f "${DIR_BASE}/airootfs.sfs" "${DIR_BASE}/airootfs.sha512" 2>/dev/null || true
}
# Trap pour nettoyer en cas d'interruption
trap cleanup EXIT INT TERM
#################
# Ça commence ici
parse_args "$@"
case "$MODE" in
"TOUT")
DIR_REC="/root/MK_Rescue/sysresccd/RECIPE_00-TOUT"
read_iso
run_recipe
write_iso
echo -e "${DB}"
echo "TOUT est fini !"
echo "Rebooter"
echo -e "${FA}"
echo ""
;;
"READ")
DIR_REC="/root/MK_Rescue/sysresccd/RECIPE_04-READ"
read_iso
echo -e "${DB}"
echo "L'ISO est maintenant dans ${DIR_BASE}/squashfs-root !"
echo "Faites vos modifications manuelles, puis passez à RECIPE_06-WRITE"
echo -e "${FA}"
echo ""
;;
"RECI")
DIR_REC="/root/MK_Rescue/sysresccd/RECIPE_05-RECI"
run_recipe
echo -e "${DB}"
echo "Les modifs de RECI sont maintenant intégrées dans ${DIR_BASE}/squashfs-root !"
echo "Passer à RECIPE_06-WRITE pour générer l'image"
echo -e "${FA}"
echo ""
;;
"WRITE")
DIR_REC="/root/MK_Rescue/sysresccd/RECIPE_06-WRITE"
write_iso
echo -e "${DB}"
echo "C'est fini !"
echo "Rebooter"
echo -e "${FA}"
echo ""
;;
esac
Code : Tout sélectionner
[1;94m
Contrôle des arguments
[0m
[1;94m
read_iso()
[1;92m
===> Nettoyages ...
[0m
[1;92m
===> Montage de /root/MK_Rescue/sysresccd/I_ISO/systemrescue.iso ...
[0m
[1;92m
===> Extract en cours ...
[0m
Parallel unsquashfs: Using 32 processors
80635 inodes (74522 blocks) to write
[=/ ] 3882/155157 2%
[===- ] 10765/155157 6%
[=========\ ] 25735/155157 16%
[============| ] 34493/155157 22%
[===================/ ] 53279/155157 34%
[===============================- ] 86359/155157 55%
[=================================================\ ] 135602/155157 87%
[=========================================================\] 155157/155157 100%
created 72029 files
created 8547 directories
created 6427 symlinks
created 0 devices
created 0 fifos
created 4 sockets
created 2175 hardlinks
[1;94m
run_recipe()
[1;92m
===> Suppression de fichiers...
[0m
FICHIER SUPPRIME = /root/MK_Rescue/sysresccd/squashfs-root/opt/firefox-esr/distribution/policies.json
[1;92m
===> Suppression de répertoires vides...
[0m
/root/MK_Rescue/sysresccd/squashfs-root/opt/firefox-esr/distribution VIDE
/root/MK_Rescue/sysresccd/squashfs-root/opt/firefox-esr/distribution SUPPRIME
[1;92m
===> Ajout/remplacement de fichiers...
[0m
[1;94m
write_iso()
[0m
Parallel mksquashfs: Using 32 processors
Creating 4.0 filesystem on airootfs.sfs, block size 131072.
[====/ ] 7100/97500 7%
[=======- ] 12300/97500 12%
[===========\ ] 18700/97500 19%
[======================- ] 37900/97500 38%
[===========================================================/] 97500/97500 100%
Exportable Squashfs 4.0 filesystem, xz compressed, data block size 131072
compressed data, compressed metadata, compressed fragments,
compressed xattrs, compressed ids
duplicates are removed
Filesystem size 1282768.79 Kbytes (1252.70 Mbytes)
36.70% of uncompressed filesystem size (3494894.18 Kbytes)
Inode table size 726334 bytes (709.31 Kbytes)
22.57% of uncompressed inode table size (3217651 bytes)
Directory table size 866350 bytes (846.04 Kbytes)
37.10% of uncompressed directory table size (2334982 bytes)
Xattr table size 130 bytes (0.13 Kbytes)
40.62% of uncompressed xattr table size (320 bytes)
Number of duplicate files found 4368
Number of inodes 92892
Number of files 77268
Number of fragments 6561
Number of symbolic links 6433
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 4
Number of directories 9187
Number of hard-links 2175
Number of ids (unique uids + gids) 23
Number of uids 11
root (0)
daemon (2)
openvpn (964)
partimag (110)
colord (970)
uuidd (973)
rpcuser (34)
ntp (87)
rpc (32)
systemd-network (979)
tss (974)
Number of gids 21
root (0)
daemon (2)
named (40)
network (90)
partimag (110)
polkitd (102)
ftp (11)
groups (983)
locate (21)
tty (5)
dbus (81)
utmp (997)
games (50)
colord (970)
uuidd (973)
rpcuser (34)
rpc (32)
systemd-network (979)
tss (974)
systemd-journal-remote (977)
systemd-journal (982)
[1;94m
sha512sum()
[0m
[1;92m
===> Copies dans /root/sda1/sysresccd/x86_64
[0m
[1;94m
TOUT est fini !
Rebooter
[0m
[1;91m
Nettoyage en cours...
[0m

Re: [install wine] lib liodbc.so introuvable
c'est les codes couleurs qui te gêne ?
tu ne peux pas faire des tests toi même dans un mini script ? pour trouver la syntaxe qui te va... (ou qui fonctionne
)
Pour moi, faire tes 3
(et on peut aussi créer une fonction ou 3)
EDIT
et si ce sont les retours à la ligne avant/après qui dérangent, exists
tu ne peux pas faire des tests toi même dans un mini script ? pour trouver la syntaxe qui te va... (ou qui fonctionne

Code : Tout sélectionner
declare -g DR='\033[1;91m'
declare -g DV='\033[1;92m'
declare -g DB='\033[1;94m'
declare -g FA='\033[0m'
echo -e ${DR}bonjour a toi $FA
echo ---
echo -e "${DV}bonjour a toi${FA}"
echo -e ---
echo -e "$DB"bonjour a toi "$FA"
echo ---
echo -e "${DV}bonjour a toi "${FA}
echo -e ---
echo -e "${DR}"bonjour a toi "${FA}"
echo ---
echo
à chaque fois .... bof(et on peut aussi créer une fonction ou 3)
EDIT
et si ce sont les retours à la ligne avant/après qui dérangent, exists
\n

Dernière modification par papajoke le ven. 20 juin 2025, 16:32, modifié 1 fois.
Arch stable - Kde 6 / fish - btrfs/mbr - Intel Core i3 - 6Go RAM - GeForce 405 video-nouveau