Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/07/2018, à 06:43

RolandG

[Résolu]installation LAMP défectueuse

Bonjour,

Nouveau PC, réinstallation des outils, au premier rang desquels mon LAMP pour développement, accès interne uniquement.

Superbe nouveau tuto, je lance la première ligne de commande


et j'obtiens ceci :

roland@roland-miniPC:~$ sudo apt install libapache2-mod-php mariadb-server php-mysql
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les paquets supplémentaires suivants seront installés : 
  apache2 apache2-bin apache2-data apache2-utils galera-3 gawk libaio1
  libapache2-mod-php7.2 libapr1 libaprutil1 libaprutil1-dbd-sqlite3
  libaprutil1-ldap libconfig-inifiles-perl libdbd-mysql-perl libdbi-perl
  libjemalloc1 libmysqlclient20 libreadline5 libsigsegv2 libterm-readkey-perl
  mariadb-client-10.1 mariadb-client-core-10.1 mariadb-common
  mariadb-server-10.1 mariadb-server-core-10.1 mysql-common php-common
  php7.2-cli php7.2-common php7.2-json php7.2-mysql php7.2-opcache
  php7.2-readline socat
Paquets suggérés :
  apache2-doc apache2-suexec-pristine | apache2-suexec-custom gawk-doc
  php-pear libmldbm-perl libnet-daemon-perl libsql-statement-perl mailx tinyca
Les NOUVEAUX paquets suivants seront installés :
  apache2 apache2-bin apache2-data apache2-utils galera-3 gawk libaio1
  libapache2-mod-php libapache2-mod-php7.2 libapr1 libaprutil1
  libaprutil1-dbd-sqlite3 libaprutil1-ldap libconfig-inifiles-perl
  libdbd-mysql-perl libdbi-perl libjemalloc1 libmysqlclient20 libreadline5
  libsigsegv2 libterm-readkey-perl mariadb-client-10.1
  mariadb-client-core-10.1 mariadb-common mariadb-server mariadb-server-10.1
  mariadb-server-core-10.1 mysql-common php-common php-mysql php7.2-cli
  php7.2-common php7.2-json php7.2-mysql php7.2-opcache php7.2-readline socat
0 mis à jour, 37 nouvellement installés, 0 à enlever et 9 non mis à jour.
Il est nécessaire de prendre 29,6 Mo dans les archives.
Après cette opération, 208 Mo d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] 
Réception de:1 http://fr.archive.ubuntu.com/ubuntu bionic/main amd64 libapr1 amd64 1.6.3-2 [90,9 kB]
Réception de:2 http://fr.archive.ubuntu.com/ubuntu bionic/main amd64 libaprutil1 amd64 1.6.1-2 [84,4 kB]
Réception de:3 http://fr.archive.ubuntu.com/ubuntu bionic/main amd64 libaprutil1-dbd-sqlite3 amd64 1.6.1-2 [10,6 kB]
Réception de:4 http://fr.archive.ubuntu.com/ubuntu bionic/main amd64 libaprutil1-ldap amd64 1.6.1-2 [8764 B]
Réception de:5 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 apache2-bin amd64 2.4.29-1ubuntu4.2 [1071 kB]
Réception de:6 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 apache2-utils amd64 2.4.29-1ubuntu4.2 [83,5 kB]
Réception de:7 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 apache2-data all 2.4.29-1ubuntu4.2 [160 kB]
Réception de:8 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 apache2 amd64 2.4.29-1ubuntu4.2 [95,1 kB]
Réception de:9 http://fr.archive.ubuntu.com/ubuntu bionic/main amd64 libsigsegv2 amd64 2.12-1 [14,7 kB]
Réception de:10 http://fr.archive.ubuntu.com/ubuntu bionic/main amd64 gawk amd64 1:4.1.4+dfsg-1build1 [401 kB]
Réception de:11 http://fr.archive.ubuntu.com/ubuntu bionic/main amd64 mysql-common all 5.8+1.0.4 [7308 B]
Réception de:12 http://fr.archive.ubuntu.com/ubuntu bionic/universe amd64 mariadb-common all 1:10.1.29-6 [15,3 kB]
Réception de:13 http://fr.archive.ubuntu.com/ubuntu bionic/universe amd64 galera-3 amd64 25.3.20-1 [947 kB]
Réception de:14 http://fr.archive.ubuntu.com/ubuntu bionic/main amd64 libdbi-perl amd64 1.640-1 [724 kB]
Réception de:15 http://fr.archive.ubuntu.com/ubuntu bionic/main amd64 libaio1 amd64 0.3.110-5 [6448 B]
Réception de:16 http://fr.archive.ubuntu.com/ubuntu bionic/main amd64 libreadline5 amd64 5.2+dfsg-3build1 [99,5 kB]
Réception de:17 http://fr.archive.ubuntu.com/ubuntu bionic/universe amd64 mariadb-client-core-10.1 amd64 1:10.1.29-6 [4735 kB]
Réception de:18 http://fr.archive.ubuntu.com/ubuntu bionic/main amd64 libconfig-inifiles-perl all 2.94-1 [40,4 kB]
Réception de:19 http://fr.archive.ubuntu.com/ubuntu bionic/universe amd64 libjemalloc1 amd64 3.6.0-11 [82,4 kB]
Réception de:20 http://fr.archive.ubuntu.com/ubuntu bionic/universe amd64 mariadb-client-10.1 amd64 1:10.1.29-6 [5624 kB]
Réception de:21 http://fr.archive.ubuntu.com/ubuntu bionic/universe amd64 mariadb-server-core-10.1 amd64 1:10.1.29-6 [4929 kB]
Réception de:22 http://fr.archive.ubuntu.com/ubuntu bionic/main amd64 socat amd64 1.7.3.2-2ubuntu2 [342 kB]
Réception de:23 http://fr.archive.ubuntu.com/ubuntu bionic/universe amd64 mariadb-server-10.1 amd64 1:10.1.29-6 [5086 kB]
Réception de:24 http://fr.archive.ubuntu.com/ubuntu bionic/main amd64 php-common all 1:60ubuntu1 [12,1 kB]
Réception de:25 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 php7.2-common amd64 7.2.7-0ubuntu0.18.04.2 [879 kB]
Réception de:26 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 php7.2-json amd64 7.2.7-0ubuntu0.18.04.2 [18,8 kB]
Réception de:27 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 php7.2-opcache amd64 7.2.7-0ubuntu0.18.04.2 [164 kB]
Réception de:28 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 php7.2-readline amd64 7.2.7-0ubuntu0.18.04.2 [12,1 kB]
Réception de:29 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 php7.2-cli amd64 7.2.7-0ubuntu0.18.04.2 [1406 kB]
Réception de:30 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 libapache2-mod-php7.2 amd64 7.2.7-0ubuntu0.18.04.2 [1349 kB]
Réception de:31 http://fr.archive.ubuntu.com/ubuntu bionic/main amd64 libapache2-mod-php all 1:7.2+60ubuntu1 [3212 B]
Réception de:32 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 libmysqlclient20 amd64 5.7.22-0ubuntu18.04.1 [815 kB]
Réception de:33 http://fr.archive.ubuntu.com/ubuntu bionic/universe amd64 libdbd-mysql-perl amd64 4.046-1 [82,0 kB]
Réception de:34 http://fr.archive.ubuntu.com/ubuntu bionic/universe amd64 libterm-readkey-perl amd64 2.37-1build1 [24,4 kB]
Réception de:35 http://fr.archive.ubuntu.com/ubuntu bionic/universe amd64 mariadb-server all 1:10.1.29-6 [12,9 kB]
Réception de:36 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 php7.2-mysql amd64 7.2.7-0ubuntu0.18.04.2 [117 kB]
Réception de:37 http://fr.archive.ubuntu.com/ubuntu bionic/main amd64 php-mysql all 1:7.2+60ubuntu1 [2004 B]
29,6 Mo réceptionnés en 17s (1699 ko/s)                                       
Extraction des modèles depuis les paquets : 100%
Préconfiguration des paquets...
Sélection du paquet libapr1:amd64 précédemment désélectionné.
(Lecture de la base de données... 175015 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../0-libapr1_1.6.3-2_amd64.deb ...
Dépaquetage de libapr1:amd64 (1.6.3-2) ...
Sélection du paquet libaprutil1:amd64 précédemment désélectionné.
Préparation du dépaquetage de .../1-libaprutil1_1.6.1-2_amd64.deb ...
Dépaquetage de libaprutil1:amd64 (1.6.1-2) ...
Sélection du paquet libaprutil1-dbd-sqlite3:amd64 précédemment désélectionné.
Préparation du dépaquetage de .../2-libaprutil1-dbd-sqlite3_1.6.1-2_amd64.deb ...
Dépaquetage de libaprutil1-dbd-sqlite3:amd64 (1.6.1-2) ...
Sélection du paquet libaprutil1-ldap:amd64 précédemment désélectionné.
Préparation du dépaquetage de .../3-libaprutil1-ldap_1.6.1-2_amd64.deb ...
Dépaquetage de libaprutil1-ldap:amd64 (1.6.1-2) ...
Sélection du paquet apache2-bin précédemment désélectionné.
Préparation du dépaquetage de .../4-apache2-bin_2.4.29-1ubuntu4.2_amd64.deb ...
Dépaquetage de apache2-bin (2.4.29-1ubuntu4.2) ...
Sélection du paquet apache2-utils précédemment désélectionné.
Préparation du dépaquetage de .../5-apache2-utils_2.4.29-1ubuntu4.2_amd64.deb ...
Dépaquetage de apache2-utils (2.4.29-1ubuntu4.2) ...
Sélection du paquet apache2-data précédemment désélectionné.
Préparation du dépaquetage de .../6-apache2-data_2.4.29-1ubuntu4.2_all.deb ...
Dépaquetage de apache2-data (2.4.29-1ubuntu4.2) ...
Sélection du paquet apache2 précédemment désélectionné.
Préparation du dépaquetage de .../7-apache2_2.4.29-1ubuntu4.2_amd64.deb ...
Dépaquetage de apache2 (2.4.29-1ubuntu4.2) ...
Sélection du paquet libsigsegv2:amd64 précédemment désélectionné.
Préparation du dépaquetage de .../8-libsigsegv2_2.12-1_amd64.deb ...
Dépaquetage de libsigsegv2:amd64 (2.12-1) ...
Paramétrage de libsigsegv2:amd64 (2.12-1) ...
Sélection du paquet gawk précédemment désélectionné.
(Lecture de la base de données... 175556 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../00-gawk_1%3a4.1.4+dfsg-1build1_amd64.deb ...
Dépaquetage de gawk (1:4.1.4+dfsg-1build1) ...
Sélection du paquet mysql-common précédemment désélectionné.
Préparation du dépaquetage de .../01-mysql-common_5.8+1.0.4_all.deb ...
Dépaquetage de mysql-common (5.8+1.0.4) ...
Sélection du paquet mariadb-common précédemment désélectionné.
Préparation du dépaquetage de .../02-mariadb-common_1%3a10.1.29-6_all.deb ...
Dépaquetage de mariadb-common (1:10.1.29-6) ...
Sélection du paquet galera-3 précédemment désélectionné.
Préparation du dépaquetage de .../03-galera-3_25.3.20-1_amd64.deb ...
Dépaquetage de galera-3 (25.3.20-1) ...
Sélection du paquet libdbi-perl précédemment désélectionné.
Préparation du dépaquetage de .../04-libdbi-perl_1.640-1_amd64.deb ...
Dépaquetage de libdbi-perl (1.640-1) ...
Sélection du paquet libaio1:amd64 précédemment désélectionné.
Préparation du dépaquetage de .../05-libaio1_0.3.110-5_amd64.deb ...
Dépaquetage de libaio1:amd64 (0.3.110-5) ...
Sélection du paquet libreadline5:amd64 précédemment désélectionné.
Préparation du dépaquetage de .../06-libreadline5_5.2+dfsg-3build1_amd64.deb ...
Dépaquetage de libreadline5:amd64 (5.2+dfsg-3build1) ...
Sélection du paquet mariadb-client-core-10.1 précédemment désélectionné.
Préparation du dépaquetage de .../07-mariadb-client-core-10.1_1%3a10.1.29-6_amd64.deb ...
Dépaquetage de mariadb-client-core-10.1 (1:10.1.29-6) ...
Sélection du paquet libconfig-inifiles-perl précédemment désélectionné.
Préparation du dépaquetage de .../08-libconfig-inifiles-perl_2.94-1_all.deb ...
Dépaquetage de libconfig-inifiles-perl (2.94-1) ...
Sélection du paquet libjemalloc1 précédemment désélectionné.
Préparation du dépaquetage de .../09-libjemalloc1_3.6.0-11_amd64.deb ...
Dépaquetage de libjemalloc1 (3.6.0-11) ...
Sélection du paquet mariadb-client-10.1 précédemment désélectionné.
Préparation du dépaquetage de .../10-mariadb-client-10.1_1%3a10.1.29-6_amd64.deb ...
Dépaquetage de mariadb-client-10.1 (1:10.1.29-6) ...
Sélection du paquet mariadb-server-core-10.1 précédemment désélectionné.
Préparation du dépaquetage de .../11-mariadb-server-core-10.1_1%3a10.1.29-6_amd64.deb ...
Dépaquetage de mariadb-server-core-10.1 (1:10.1.29-6) ...
Sélection du paquet socat précédemment désélectionné.
Préparation du dépaquetage de .../12-socat_1.7.3.2-2ubuntu2_amd64.deb ...
Dépaquetage de socat (1.7.3.2-2ubuntu2) ...
Paramétrage de mysql-common (5.8+1.0.4) ...
update-alternatives: utilisation de « /etc/mysql/my.cnf.fallback » pour fournir « /etc/mysql/my.cnf » (my.cnf) en mode automatique
Paramétrage de mariadb-common (1:10.1.29-6) ...
update-alternatives: utilisation de « /etc/mysql/mariadb.cnf » pour fournir « /etc/mysql/my.cnf » (my.cnf) en mode automatique
Sélection du paquet mariadb-server-10.1 précédemment désélectionné.
(Lecture de la base de données... 176089 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../00-mariadb-server-10.1_1%3a10.1.29-6_amd64.deb ...
/var/lib/mysql: found previous version 5.7
The file /var/lib/mysql/debian-5.7.flag indicates a
version that cannot automatically be upgraded. Therefore the
previous data directory will be renamed to /var/lib/mysql-5.7 and
a new data directory will be initialized at /var/lib/mysql.
Please manually export/import your data (e.g. with mysqldump) if needed.
Dépaquetage de mariadb-server-10.1 (1:10.1.29-6) ...
Sélection du paquet php-common précédemment désélectionné.
Préparation du dépaquetage de .../01-php-common_1%3a60ubuntu1_all.deb ...
Dépaquetage de php-common (1:60ubuntu1) ...
Sélection du paquet php7.2-common précédemment désélectionné.
Préparation du dépaquetage de .../02-php7.2-common_7.2.7-0ubuntu0.18.04.2_amd64.deb ...
Dépaquetage de php7.2-common (7.2.7-0ubuntu0.18.04.2) ...
Sélection du paquet php7.2-json précédemment désélectionné.
Préparation du dépaquetage de .../03-php7.2-json_7.2.7-0ubuntu0.18.04.2_amd64.deb ...
Dépaquetage de php7.2-json (7.2.7-0ubuntu0.18.04.2) ...
Sélection du paquet php7.2-opcache précédemment désélectionné.
Préparation du dépaquetage de .../04-php7.2-opcache_7.2.7-0ubuntu0.18.04.2_amd64.deb ...
Dépaquetage de php7.2-opcache (7.2.7-0ubuntu0.18.04.2) ...
Sélection du paquet php7.2-readline précédemment désélectionné.
Préparation du dépaquetage de .../05-php7.2-readline_7.2.7-0ubuntu0.18.04.2_amd64.deb ...
Dépaquetage de php7.2-readline (7.2.7-0ubuntu0.18.04.2) ...
Sélection du paquet php7.2-cli précédemment désélectionné.
Préparation du dépaquetage de .../06-php7.2-cli_7.2.7-0ubuntu0.18.04.2_amd64.deb ...
Dépaquetage de php7.2-cli (7.2.7-0ubuntu0.18.04.2) ...
Sélection du paquet libapache2-mod-php7.2 précédemment désélectionné.
Préparation du dépaquetage de .../07-libapache2-mod-php7.2_7.2.7-0ubuntu0.18.04.2_amd64.deb ...
Dépaquetage de libapache2-mod-php7.2 (7.2.7-0ubuntu0.18.04.2) ...
Sélection du paquet libapache2-mod-php précédemment désélectionné.
Préparation du dépaquetage de .../08-libapache2-mod-php_1%3a7.2+60ubuntu1_all.deb ...
Dépaquetage de libapache2-mod-php (1:7.2+60ubuntu1) ...
Sélection du paquet libmysqlclient20:amd64 précédemment désélectionné.
Préparation du dépaquetage de .../09-libmysqlclient20_5.7.22-0ubuntu18.04.1_amd64.deb ...
Dépaquetage de libmysqlclient20:amd64 (5.7.22-0ubuntu18.04.1) ...
Sélection du paquet libdbd-mysql-perl précédemment désélectionné.
Préparation du dépaquetage de .../10-libdbd-mysql-perl_4.046-1_amd64.deb ...
Dépaquetage de libdbd-mysql-perl (4.046-1) ...
Sélection du paquet libterm-readkey-perl précédemment désélectionné.
Préparation du dépaquetage de .../11-libterm-readkey-perl_2.37-1build1_amd64.deb ...
Dépaquetage de libterm-readkey-perl (2.37-1build1) ...
Sélection du paquet mariadb-server précédemment désélectionné.
Préparation du dépaquetage de .../12-mariadb-server_1%3a10.1.29-6_all.deb ...
Dépaquetage de mariadb-server (1:10.1.29-6) ...
Sélection du paquet php7.2-mysql précédemment désélectionné.
Préparation du dépaquetage de .../13-php7.2-mysql_7.2.7-0ubuntu0.18.04.2_amd64.deb ...
Dépaquetage de php7.2-mysql (7.2.7-0ubuntu0.18.04.2) ...
Sélection du paquet php-mysql précédemment désélectionné.
Préparation du dépaquetage de .../14-php-mysql_1%3a7.2+60ubuntu1_all.deb ...
Dépaquetage de php-mysql (1:7.2+60ubuntu1) ...
Paramétrage de libapr1:amd64 (1.6.3-2) ...
Traitement des actions différées (« triggers ») pour ufw (0.35-5) ...
WARN: uid est 0 mais « /etc » appartient à 1000
WARN: /etc est accessible en écriture pour tout le monde !
WARN: /etc est accessible en écriture pour le groupe !
WARN: uid est 0 mais « / » appartient à 1000
WARN: / est accessible en écriture pour tout le monde !
WARN: / est accessible en écriture pour le groupe !
WARN: uid est 0 mais « /usr » appartient à 1000
WARN: /usr est accessible en écriture pour tout le monde !
WARN: /usr est accessible en écriture pour le groupe !
Paramétrage de libconfig-inifiles-perl (2.94-1) ...
Traitement des actions différées (« triggers ») pour ureadahead (0.100.0-20) ...
Paramétrage de libjemalloc1 (3.6.0-11) ...
Paramétrage de socat (1.7.3.2-2ubuntu2) ...
Paramétrage de apache2-data (2.4.29-1ubuntu4.2) ...
Paramétrage de gawk (1:4.1.4+dfsg-1build1) ...
Paramétrage de libterm-readkey-perl (2.37-1build1) ...
Traitement des actions différées (« triggers ») pour libc-bin (2.27-3ubuntu1) ...
Paramétrage de libaio1:amd64 (0.3.110-5) ...
Paramétrage de galera-3 (25.3.20-1) ...
Paramétrage de libaprutil1:amd64 (1.6.1-2) ...
Paramétrage de php-common (1:60ubuntu1) ...
Traitement des actions différées (« triggers ») pour systemd (237-3ubuntu10) ...
Traitement des actions différées (« triggers ») pour man-db (2.8.3-2) ...
Paramétrage de libmysqlclient20:amd64 (5.7.22-0ubuntu18.04.1) ...
Paramétrage de libreadline5:amd64 (5.2+dfsg-3build1) ...
Paramétrage de libdbi-perl (1.640-1) ...
Paramétrage de libaprutil1-ldap:amd64 (1.6.1-2) ...
Paramétrage de php7.2-common (7.2.7-0ubuntu0.18.04.2) ...
Paramétrage de mariadb-server-core-10.1 (1:10.1.29-6) ...
Paramétrage de libaprutil1-dbd-sqlite3:amd64 (1.6.1-2) ...
Paramétrage de apache2-utils (2.4.29-1ubuntu4.2) ...
Paramétrage de mariadb-client-core-10.1 (1:10.1.29-6) ...
Paramétrage de apache2-bin (2.4.29-1ubuntu4.2) ...
Paramétrage de php7.2-readline (7.2.7-0ubuntu0.18.04.2) ...
Paramétrage de php7.2-json (7.2.7-0ubuntu0.18.04.2) ...
Paramétrage de libdbd-mysql-perl (4.046-1) ...
Paramétrage de php7.2-opcache (7.2.7-0ubuntu0.18.04.2) ...
Paramétrage de php7.2-mysql (7.2.7-0ubuntu0.18.04.2) ...
Paramétrage de mariadb-client-10.1 (1:10.1.29-6) ...
Paramétrage de apache2 (2.4.29-1ubuntu4.2) ...
Paramétrage de php7.2-cli (7.2.7-0ubuntu0.18.04.2) ...
update-alternatives: utilisation de « /usr/bin/php7.2 » pour fournir « /usr/bin/php » (php) en mode automatique
update-alternatives: utilisation de « /usr/bin/phar7.2 » pour fournir « /usr/bin/phar » (phar) en mode automatique
update-alternatives: utilisation de « /usr/bin/phar.phar7.2 » pour fournir « /usr/bin/phar.phar » (phar.phar) en mode automatique
Paramétrage de libapache2-mod-php7.2 (7.2.7-0ubuntu0.18.04.2) ...
libapache2-mod-php7.2: not switching MPM - already enabled
Paramétrage de mariadb-server-10.1 (1:10.1.29-6) ...
Installation de la nouvelle version du fichier de configuration /etc/apparmor.d/usr.sbin.mysqld ...
Installation de la nouvelle version du fichier de configuration /etc/init.d/mysql ...
Installation de la nouvelle version du fichier de configuration /etc/logrotate.d/mysql-server ...
Installation de la nouvelle version du fichier de configuration /etc/mysql/debian-start ...
Created symlink /etc/systemd/system/mysql.service → /lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /lib/systemd/system/mariadb.service.
^[[AJob for mariadb.service failed because a timeout was exceeded.
See "systemctl status mariadb.service" and "journalctl -xe" for details.
Paramétrage de php-mysql (1:7.2+60ubuntu1) ...
Paramétrage de libapache2-mod-php (1:7.2+60ubuntu1) ...
Paramétrage de mariadb-server (1:10.1.29-6) ...
Traitement des actions différées (« triggers ») pour libc-bin (2.27-3ubuntu1) ...
Traitement des actions différées (« triggers ») pour ureadahead (0.100.0-20) ...
Traitement des actions différées (« triggers ») pour systemd (237-3ubuntu10) ...
roland@roland-miniPC:~$

Précision :
Le process s'est arrété plusieurs minutes après avoir affiché la ligne

Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /lib/systemd/system/mariadb.service.

J'ai tapé une touche (de mémoire curseur bas) et il a continué en signalant le timeout.

Les deux commandes documentant le défaut donnent :

roland@roland-miniPC:~$ systemctl status mariadb.service
● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: failed (Result: timeout) since Tue 2018-07-24 07:20:41 CEST; 14min ago
 Main PID: 23053 (code=exited, status=0/SUCCESS)

juil. 24 07:19:09 roland-miniPC systemd[1]: Starting MariaDB database server...
juil. 24 07:19:09 roland-miniPC mysqld[23053]: 2018-07-24  7:19:09 139883535146112 [Note] /usr/sbin/mysqld (mysqld 10.1.29-MariaDB-6) starting as process 23053 ...
juil. 24 07:20:39 roland-miniPC systemd[1]: mariadb.service: Start operation timed out. Terminating.
juil. 24 07:20:41 roland-miniPC systemd[1]: mariadb.service: Failed with result 'timeout'.
juil. 24 07:20:41 roland-miniPC systemd[1]: Failed to start MariaDB database server.
roland@roland-miniPC:~$

et

roland@roland-miniPC:~$ journalctl -xe
-- L'unité (unit) mariadb.service a commencé à démarrer.
juil. 24 07:19:09 roland-miniPC mysqld[23053]: 2018-07-24  7:19:09 139883535146112 [Note] /usr/sbin/mysqld (mysqld 10.1.29-MariaDB-6) starting as process 23053 ...
juil. 24 07:19:10 roland-miniPC audit[23053]: AVC apparmor="DENIED" operation="sendmsg" info="Failed name lookup - disconnected path" error=-13 profile="/usr/sbin/my
juil. 24 07:19:10 roland-miniPC kernel: audit: type=1400 audit(1532409550.157:47): apparmor="DENIED" operation="sendmsg" info="Failed name lookup - disconnected path
juil. 24 07:20:39 roland-miniPC systemd[1]: mariadb.service: Start operation timed out. Terminating.
juil. 24 07:20:39 roland-miniPC kernel: audit: type=1400 audit(1532409639.662:48): apparmor="DENIED" operation="sendmsg" info="Failed name lookup - disconnected path
juil. 24 07:20:39 roland-miniPC audit[23053]: AVC apparmor="DENIED" operation="sendmsg" info="Failed name lookup - disconnected path" error=-13 profile="/usr/sbin/my
juil. 24 07:20:41 roland-miniPC audit[23053]: AVC apparmor="DENIED" operation="sendmsg" info="Failed name lookup - disconnected path" error=-13 profile="/usr/sbin/my
juil. 24 07:20:41 roland-miniPC kernel: audit: type=1400 audit(1532409641.914:49): apparmor="DENIED" operation="sendmsg" info="Failed name lookup - disconnected path
juil. 24 07:20:41 roland-miniPC kernel: audit: type=1400 audit(1532409641.914:50): apparmor="DENIED" operation="sendmsg" info="Failed name lookup - disconnected path
juil. 24 07:20:41 roland-miniPC audit[23053]: AVC apparmor="DENIED" operation="sendmsg" info="Failed name lookup - disconnected path" error=-13 profile="/usr/sbin/my
juil. 24 07:20:41 roland-miniPC systemd[1]: mariadb.service: Failed with result 'timeout'.
juil. 24 07:20:41 roland-miniPC systemd[1]: Failed to start MariaDB database server.
-- Subject: L'unité (unit) mariadb.service a échoué
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- L'unité (unit) mariadb.service a échoué, avec le résultat RESULT.
juil. 24 07:20:42 roland-miniPC systemd[1]: Reloading.
juil. 24 07:20:44 roland-miniPC sudo[14857]: pam_unix(sudo:session): session closed for user root
juil. 24 07:27:23 roland-miniPC firefox.desktop[1677]: (/usr/lib/firefox/firefox:2138): dconf-WARNING **: 07:27:23.157: Unable to open /var/lib/snapd/desktop/dconf/p
juil. 24 07:30:01 roland-miniPC CRON[23244]: pam_unix(cron:session): session opened for user root by (uid=0)
juil. 24 07:30:01 roland-miniPC CRON[23245]: (root) CMD ([ -x /etc/init.d/anacron ] && if [ ! -d /run/systemd/system ]; then /usr/sbin/invoke-rc.d anacron start >/de
juil. 24 07:30:01 roland-miniPC CRON[23244]: pam_unix(cron:session): session closed for user root

Dans le process original, la série de warnings :

WARN: uid est 0 mais « /etc » appartient à 1000
WARN: /etc est accessible en écriture pour tout le monde !
WARN: /etc est accessible en écriture pour le groupe !
WARN: uid est 0 mais « / » appartient à 1000
WARN: / est accessible en écriture pour tout le monde !
WARN: / est accessible en écriture pour le groupe !
WARN: uid est 0 mais « /usr » appartient à 1000
WARN: /usr est accessible en écriture pour tout le monde !
WARN: /usr est accessible en écriture pour le groupe !

montre une manipulation des propriétaires de la racine et des répertoires etc et usr.
après ce process, ces trois répertoires ont été réattribués à roland:roland:

roland@roland-miniPC:/$ ls -al
total 2097172
drwxrwxrwx   1 roland roland        250 janv. 11  2008 .
drwxrwxrwx   1 roland roland        250 janv. 11  2008 ..
drwxr-xr-x   1 root   root         2488 juil. 23 16:09 bin
drwxr-xr-x   4 root   root         4096 juil. 23 16:13 boot
drwxr-xr-x   1 root   root            0 juil. 23 15:43 cdrom
drwxr-xr-x  20 root   root         4400 juil. 24 06:59 dev
drwxrwxrwx   1 roland roland       3806 juil. 24 07:20 etc
drwxr-xr-x   1 root   root           12 juil. 23 15:44 home
...

N'auraient-ils pas plutôt du être réattribué à root:root ?

Merci par avance de vos conseils, avis, idées, pistes ...

Dernière modification par RolandG (Le 27/07/2018, à 09:42)


loup maigre (et vieux ...)

Hors ligne

#2 Le 24/07/2018, à 09:12

bruno

Re : [Résolu]installation LAMP défectueuse

Bonjour,

Je ne sais spas ce que tu as fait mais tu es bon pour une réinstallation complète. Les propriétaires et droits d'accès ont été modifié sur des dossiers système : /,  /etc, /usr, …

Hors ligne

#3 Le 24/07/2018, à 10:32

RolandG

Re : [Résolu]installation LAMP défectueuse

Bonjour Bruno,
Est-tu d'accord avec moi quand je dis que tous les répertoires dans la racine devraient appartenir à root:root ?
à te lire,
Je recommence une totale


loup maigre (et vieux ...)

Hors ligne

#4 Le 24/07/2018, à 10:43

bruno

Re : [Résolu]installation LAMP défectueuse

Oui mais ce n'est pas aussi simple que cela. Certains fichiers/dossiers doivent appartenir à d'autres utilisateurs ou groupe : shadow, adm, mysql, etc. et les droits e sont sûrement pas en écriture pour tous le monde.
Il est pratiquement impossible de revenir à une situation normale si les propriétaires et droits ont été modifiés à coup de chown/chmod récursif. Encore une fois une réinstallation complète s'impose.

Hors ligne

#5 Le 24/07/2018, à 11:14

krodelabestiole

Re : [Résolu]installation LAMP défectueuse

RolandG a écrit :
AVC apparmor="DENIED"

https://doc.ubuntu-fr.org/mysql#apparmor

Hors ligne

#6 Le 25/07/2018, à 08:39

RolandG

Re : [Résolu]installation LAMP défectueuse

Bonjour Bruno, Bonjour Krodelabestiole,

J'AI TROUVE LE FAUTIF :

C'est le script d'installation du driver unifié XEROX, conseillé par ce tuto de la doc ubuntu.

Depuis hier, je refais mon install complète en vérifiant avant et après chaque étape par un simple "ls -al /".
Voici la procédure complète telle qu'elle apparait sur mon terminal :

roland@roland-miniPC:~/Téléchargements$ sudo chmod -R 777 Linux/
[sudo] Mot de passe de roland : 
roland@roland-miniPC:~/Téléchargements$ ls -al /
total 2097180
drwxr-xr-x   1 root root        248 juil. 24 15:52 .
drwxr-xr-x   1 root root        248 juil. 24 15:52 ..
-rw-r--r--   1 root root       8886 juil. 25 09:04 access.log
drwxr-xr-x   1 root root       2488 juil. 24 11:54 bin
drwxr-xr-x   4 root root       4096 juil. 24 11:55 boot
drwxr-xr-x   1 root root          0 juil. 24 11:49 cdrom
drwxr-xr-x  20 root root       4220 juil. 25 09:04 dev
drwxr-xr-x   1 root root       3746 juil. 24 16:12 etc
drwxr-xr-x   1 root root         12 juil. 24 11:50 home
lrwxrwxrwx   1 root root         33 juil. 24 11:53 initrd.img -> boot/initrd.img-4.15.0-20-generic
lrwxrwxrwx   1 root root         33 juil. 24 11:48 initrd.img.old -> boot/initrd.img-4.15.0-20-generic
drwxr-xr-x   1 root root        380 juil. 24 11:54 lib
drwxr-xr-x   1 root root         40 avril 26 20:18 lib64
drwxr-xr-x   1 root root         12 juil. 24 12:21 media
drwxr-xr-x   1 root root          0 avril 26 20:18 mnt
drwxr-xr-x   1 root root          0 avril 26 20:18 opt
dr-xr-xr-x 318 root root          0 juil. 25 09:03 proc
drwx------   1 root root         42 avril 26 20:28 root
drwxr-xr-x  32 root root        940 juil. 25 09:08 run
drwxr-xr-x   1 root root       2708 juil. 24 11:56 sbin
drwxr-xr-x   1 root root        180 juil. 24 12:21 snap
drwxr-xr-x   1 root root          0 avril 26 20:18 srv
-rw-------   1 root root 2147483648 juil. 24 11:48 swapfile
dr-xr-xr-x  13 root root          0 juil. 25 09:03 sys
drwxrwxrwt   1 root root       1388 juil. 25 09:22 tmp
drwxr-xr-x   1 root root         70 avril 26 20:18 usr
drwxr-xr-x   1 root root        128 juil. 24 12:28 var
lrwxrwxrwx   1 root root         30 juil. 24 11:53 vmlinuz -> boot/vmlinuz-4.15.0-20-generic
roland@roland-miniPC:~/Téléchargements$ sudo bash ./Linux/install.sh
libstdc++.so.5 (gcc 3.0.x .. 3.3.x) not found, install ... done
libstdc++ v3 (gcc 2.96) not found, install ... done
libtiff.so.3 not found, install ... done
./x86_64/share/guiinstall.bin: error while loading shared libraries: libqt-mt.so.3: cannot open shared object file: No such file or directory
****  It seems Qt library is not installed, or X display is not accessible.
****  Custom Qt library will be configured for use with this package.
/home/roland/Téléchargements/Linux/x86_64/share/guiinstall.bin: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory
GUI mode installer execution failed, proceeding in text mode
****  Running text mode install
****  Press any key to continue or q to quit: 

INFO: Installing common files ...
INFO: Installing MFP port and SANE backend libraries ...
INFO: Starting USB ...
cat: /etc/modprobe.conf: Aucun fichier ou dossier de ce type
INFO: Installing GUI lpr ...
INFO: Fixing file ownership and permissions ...
INFO: Registering SANE backend ...
INFO: Registering CUPS printer ...
[ ok ] Restarting cups (via systemctl): cups.service.
INFO: CUPS restart OK
ERROR:  Invalid default model
INFO: Finishing installation ...
****  Text mode install finished
roland@roland-miniPC:~/Téléchargements$ ls -al /
total 2097180
drwxrwxrwx   1 roland roland        248 janv. 11  2008 .
drwxrwxrwx   1 roland roland        248 janv. 11  2008 ..
-rw-r--r--   1 root   root         8886 juil. 25 09:04 access.log
drwxr-xr-x   1 root   root         2488 juil. 24 11:54 bin
drwxr-xr-x   4 root   root         4096 juil. 24 11:55 boot
drwxr-xr-x   1 root   root            0 juil. 24 11:49 cdrom
drwxr-xr-x  20 root   root         4220 juil. 25 09:04 dev
drwxrwxrwx   1 roland roland       3816 juil. 25 09:27 etc
drwxr-xr-x   1 root   root           12 juil. 24 11:50 home
lrwxrwxrwx   1 root   root           33 juil. 24 11:53 initrd.img -> boot/initrd.img-4.15.0-20-generic
lrwxrwxrwx   1 root   root           33 juil. 24 11:48 initrd.img.old -> boot/initrd.img-4.15.0-20-generic
drwxr-xr-x   1 root   root          380 juil. 24 11:54 lib
drwxr-xr-x   1 root   root           40 avril 26 20:18 lib64
drwxr-xr-x   1 root   root           12 juil. 24 12:21 media
drwxr-xr-x   1 root   root            0 avril 26 20:18 mnt
drwxr-xr-x   1 root   root           10 juil. 25 09:27 opt
dr-xr-xr-x 320 root   root            0 juil. 25 09:03 proc
drwx------   1 root   root           42 avril 26 20:28 root
drwxr-xr-x  32 root   root          940 juil. 25 09:08 run
drwxr-xr-x   1 root   root         2708 juil. 24 11:56 sbin
drwxr-xr-x   1 root   root          180 juil. 24 12:21 snap
drwxr-xr-x   1 root   root            0 avril 26 20:18 srv
-rw-------   1 root   root   2147483648 juil. 24 11:48 swapfile
dr-xr-xr-x  13 root   root            0 juil. 25 09:26 sys
drwxrwxrwt   1 root   root         1446 juil. 25 09:27 tmp
drwxrwxrwx   1 roland roland         80 janv. 11  2008 usr
drwxr-xr-x   1 root   root          128 juil. 24 12:28 var
lrwxrwxrwx   1 root   root           30 juil. 24 11:53 vmlinuz -> boot/vmlinuz-4.15.0-20-generic
roland@roland-miniPC:~/Téléchargements$ 

Pourriez-vous svp corriger ou faire corriger ce script, j'ai vraiment besoin de ce driver.

Merci par avance pour votre retour.

Une journée de perdue, je recommence mon install complète.
Présentez mes meilleurs sentiments à l'auteur du script ...


loup maigre (et vieux ...)

Hors ligne

#7 Le 25/07/2018, à 08:48

RolandG

Re : [Résolu]installation LAMP défectueuse

Le script en question,cf ligne 191 à 206 et plein d'autres.

#! /bin/sh
# {

### Common procedures

wait_to_allow_to_see_info_line() {
	sleep 2
}

abort_execution() {
	echo "ERROR: $1, execution aborted"
	wait_to_allow_to_see_info_line
	exit 4
}

shell_script_execution_disable() {
	test -n "$1" || return
	test -n "$MODIFIER_ID_STRING" || return
	TMP_FILE_ENA=/tmp/`basename $1`-dis.tmp
	cat $1 > $TMP_FILE_ENA
	echo "exit 0    # $MODIFIER_ID_STRING" > $1
	cat $TMP_FILE_ENA >> $1
	rm -f $TMP_FILE_ENA
}

shell_script_execution_enable() {
	test -n "$1" || return
	test -n "$MODIFIER_ID_STRING" || return
	TMP_FILE_DIS=/tmp/`basename $1`-ena.tmp
	cat $1 | grep -v "`echo $MODIFIER_ID_STRING`" > $TMP_FILE_DIS
	cat $TMP_FILE_DIS > $1
	rm -f $TMP_FILE_DIS
}

remove_strings_containig_pattern() {

	GPAT=""
	for w in $2 ; do
		GPAT="${GPAT}${w}"
		if [ "$w" != "$3" ]; then
			GPAT="${GPAT}\ "
		fi
	done

	test -n "$1" || return
	test -n "$2" || return
	TMP_FILE_RSP=/tmp/`basename $1`-rsp.tmp
	cat $1 | grep -v "$GPAT" > $TMP_FILE_RSP
	cat $TMP_FILE_RSP > $1
	rm -f $TMP_FILE_RSP
}

check_package()
{
	if [ -f /etc/slackware-version ]; then
		result=`ls /var/log/packages/$1-* 2> /dev/null`
		rv=$?
		result=`echo $result | awk -F '-' '{print $2}'`
	else
		result=`rpm -q --queryformat '%{VERSION}' $1 2>/dev/null`
		rv=$?
	fi
#d	echo DEBUG: XXX check_package $1 : result=$result rv=$rv
	return $rv
}

is_x11_running() {
	if ps -C X > /dev/null; then
		return 0
	fi
	return 1
}

detect_system_packages() {
#	RPM_DETECTED=0
	CUPS_DETECTED=1
	GS_DETECTED=1
	SANE_DETECTED=1

#	if test -n "`rpm --version 2> /dev/null`" ; then
#		RPM_DETECTED=1
#	fi
	if ! check_package cups ; then
		if ! test -f /etc/cups/printers.conf && ! test -e /usr/sbin/cupsd ; then
			CUPS_DETECTED=0
		fi
	fi
	if ! check_package ghostscript ; then
		if test -z "`gs --version 2> /dev/null`" ; then
			GS_DETECTED=0
		fi
	fi
	if ! check_package sane ; then
		if ! check_package sane-backends ; then
			if ! test -f /usr/lib${PLSFX}/libsane.so.1 ; then
				SANE_DETECTED=0
			fi
		fi
	fi
}

check_related_packages() {
	TOTAL_RELATED_PACKAGES_INSTALLED=`ls -ld /opt/*/mfp/uninstall/guiuninstall 2> /dev/null | wc | awk '{print $1}'`
}

check_this_package() {
	THIS_PACKAGE_ALREADY_INSTALLED=`ls -ld /opt/${VENDOR}/mfp/uninstall/guiuninstall 2> /dev/null | wc | awk '{print $1}'`
}

set_firmware_device_name() {
	if [ "$MODEL" = "mfp560" ]; then
		FIRMWARE_DEVICE_NAME="MFP 560 Series"
	elif [ "$MODEL" = "mfp750" ]; then
		FIRMWARE_DEVICE_NAME="MFP 750 Series"
	elif [ "$MODEL" = "clx3160" ]; then
		FIRMWARE_DEVICE_NAME="CLX-3160 Series"
	elif [ "$MODEL" = "scx4100" ]; then
		FIRMWARE_DEVICE_NAME="SCX-4100 Series"
	elif [ "$MODEL" = "scx4200" ]; then
		FIRMWARE_DEVICE_NAME="SCX-4200 Series"
	elif [ "$MODEL" = "scx4x16" ]; then
		FIRMWARE_DEVICE_NAME="SCX-4x16 Series"
	elif [ "$MODEL" = "scx4x20" ]; then
		FIRMWARE_DEVICE_NAME="SCX-4x20 Series"
	elif [ "$MODEL" = "scx4x21" ]; then
		FIRMWARE_DEVICE_NAME="SCX-4x21 Series"
	elif [ "$MODEL" = "scx5312f" ]; then
		FIRMWARE_DEVICE_NAME="SCX-5x12 Series"
	elif [ "$MODEL" = "scx5x30" ]; then
		FIRMWARE_DEVICE_NAME="SCX-5x30 Series"
	elif [ "$MODEL" = "scx6x20" ]; then
		FIRMWARE_DEVICE_NAME="SCX-6x20 Series"
	elif [ "$MODEL" = "scx6x22ps" ]; then
		FIRMWARE_DEVICE_NAME="SCX-6x22 Series"
	elif [ "$MODEL" = "sf531p" ]; then
		FIRMWARE_DEVICE_NAME="SF-530 Series"
	else
		FIRMWARE_DEVICE_NAME=
	fi
}

prepare_shared_libraries() {
	if [ "$USE_WRAPPERS" = "1" ]; then
		( cd /opt/${VENDOR}/mfp/lib${PLSFX} && \
			mv libqt-mt.so.3 libqt-mt.so.3.0.5 ; \
			ln -s -f libqt-mt.so.3.0.5 libqt-mt.so.3.0 ; \
			ln -s -f libqt-mt.so.3.0.5 libqt-mt.so.3   ; \
			ln -s -f libqt-mt.so.3.0.5 libqt-mt.so     ; \
		)
	else
		rm -f /opt/${VENDOR}/mfp/lib${PLSFX}/libqt-mt.so.3
	fi
}

check_libstdcxx() {

	LIBSTDCXX_FILES=`ls /usr/lib${PLSFX}/libstdc++.so.5* 2> /dev/null`
	LIBSTDCXX_ARC="noarch/libstdc++-5-${HARDWARE_PLATFORM}.tar.gz"
	if test -z "$LIBSTDCXX_FILES" -a -f $LIBSTDCXX_ARC ; then
		echo -n "libstdc++.so.5 (gcc 3.0.x .. 3.3.x) not found, install ... "
		zcat $LIBSTDCXX_ARC | tar -xf - -C /
		ldconfig
		echo "done"
	fi

	if [ ! -h /usr/lib/libstdc++-libc6.2-2.so.3 -o ! -f /usr/lib/libstdc++-3-libc6.2-2-2.10.0.so ]; then
		echo -n "libstdc++ v3 (gcc 2.96) not found, install ... "
		zcat noarch/libstdc++-3.tar.gz | tar -xf - -C /
		ldconfig
		echo "done"
	fi
}

check_libtiff() {

	LIBTIFF_FILES=`ls /usr/lib${PLSFX}/libtiff.so.3* 2> /dev/null`
	LIBTIFF_ARC="noarch/libtiff-3-${HARDWARE_PLATFORM}.tar.gz"
	if test -z "$LIBTIFF_FILES" -a -f $LIBTIFF_ARC ; then
		echo -n "libtiff.so.3 not found, install ... "
		zcat $LIBTIFF_ARC | tar -xf - -C /
		ldconfig
		echo "done"
	fi
}

setup_wrappers() {
	QT_APPLICATIONS='Configurator ImageManager printeradd printertest shhv slpr smfpscan'
	SETUID_ROOT_APPLICATIONS='Configurator'
	( cd /opt/${VENDOR}/mfp/bin && \
		mkdir -p ../share
		chown root:root ldwrap ldwrapx
		chmod  755 ldwrap
		chmod 4755 ldwrapx
		for FNAME in $QT_APPLICATIONS ; do
			mv $FNAME       ../share/${FNAME}.bin
			chown root:root ../share/${FNAME}.bin
			chmod 755       ../share/${FNAME}.bin
			if echo $SETUID_ROOT_APPLICATIONS | grep -q -w "$FNAME" ; then
				ln -s -f ldwrapx $FNAME
			else
				ln -s -f ldwrap  $FNAME
			fi
		done
		# chmod 4755 ../share/Configurator.bin # root privililiges are set in ldwrapx
		# chmod 4755 ../share/slpr.bin # see comment on slpr below
	)
}

create_script_start_web_browser() {
	mkdir -p /opt/$VENDOR/mfp/bin
	cat > /opt/$VENDOR/mfp/bin/start_web_browser.sh <<EOF
#!/bin/sh
WEB_BROWSER=\`which firefox 2> /dev/null\`F
if test -z "\$WEB_BROWSER" ; then
	WEB_BROWSER=\`which mozilla 2> /dev/null\`
	if test -z "\$WEB_BROWSER" ; then
		WEB_BROWSER=\`which konqueror 2> /dev/null\`
		if test -z "\$WEB_BROWSER" ; then
			WEB_BROWSER=\`which galeon 2> /dev/null\`
			if test -z "\$WEB_BROWSER" ; then
				WEB_BROWSER=\`which opera 2> /dev/null\`
				if test -z "\$WEB_BROWSER" ; then
					WEB_BROWSER=\`which netscape 2> /dev/null\`
					if test -z "\$WEB_BROWSER" ; then
						WEB_BROWSER=\`which epiphany 2> /dev/null\`
						if test -z "\$WEB_BROWSER" ; then
							WEB_BROWSER=\`which mozilla-firefox 2> /dev/null\`
							if test -z "\$WEB_BROWSER" ; then
								WEB_BROWSER=true
							fi
						fi
					fi
				fi
			fi
		fi
	fi
fi
\$WEB_BROWSER \$1
EOF

	chmod 755 /opt/$VENDOR/mfp/bin/start_web_browser.sh
}

write_desktop_directory() {
	if test -z "$1" ; then
		return 1
	fi
	cat > $1 <<EOF
[Desktop Entry]
Name=$VENDOR Unified Driver
Name[C]=$VENDOR Unified Driver
Comment=$VENDOR Unified Driver
Comment[C]=$VENDOR Unified Driver
Icon=/opt/$VENDOR/mfp/share/images/Configurator.png
Type=Directory
EOF
}

fix_desktop_file_ownership() {
	DIR_NAME=`dirname $1`
	DIR_LSLDN=`ls -ldn $DIR_NAME`
	OWNERSHIP="`echo $DIR_LSLDN | awk '{print \$3}'`:`echo $DIR_LSLDN | awk '{print \$4}'`"

	if test -n "$OWNERSHIP" ; then
		chown "$OWNERSHIP" $1
	fi
}

write_configurator_desktop_file() {
	if test -z "$1" ; then
		return 1
	fi
	cat > $1 <<EOF
[Desktop Entry]
Name=$VENDOR Unified Driver Configurator
Name[C]=$VENDOR Unified Driver Configurator
Comment=Manage your printers and scanners here
Comment[C]=Manage your printers and scanners here
Type=Application
Exec=/opt/$VENDOR/mfp/bin/Configurator
Path=/opt/$VENDOR/mfp/bin
Icon=/opt/$VENDOR/mfp/share/images/Configurator.png
Terminal=0
TerminalOptions=
X-KDE-SubstituteUID=false
X-KDE-Username=
EOF

	fix_desktop_file_ownership $1
}

write_toner_reorder_desktop_file() {
	VENDOR_C=$VENDOR
	if [ "$VENDOR" = "DELL" ] ; then
		VENDOR_C=Dell
		URL_SUPPLIERS=http://www.dell.com/supplies
	else
		return 0
	fi
	if test -z "$1" ; then
		return 1
	fi
	cat > $1 <<EOF
[Desktop Entry]
Name=$VENDOR_C Toner Reorder
Name[C]=$VENDOR_C Toner Reorder
Comment=Order Toner Cartridge Online
Comment[C]=Order Toner Cartridge Online
Type=Application
Exec=/opt/$VENDOR/mfp/bin/start_web_browser.sh $URL_SUPPLIERS
Path=/opt/$VENDOR/mfp/bin
Icon=/opt/$VENDOR/mfp/share/images/TonerReorder.png
Terminal=0
TerminalOptions=
X-KDE-SubstituteUID=false
X-KDE-Username=
EOF

	fix_desktop_file_ownership $1
	create_script_start_web_browser
}

write_helpviewer_desktop_file() {
	if test -z "$1" ; then
		return 1
	fi
	cat > $1 <<EOF
[Desktop Entry]
Name=$VENDOR Unified Driver Help
Name[C]=$VENDOR Unified Driver Help
Comment=HTML help viewer utility
Comment[C]=HTML help viewer utility
Type=Application
Exec=/opt/$VENDOR/mfp/bin/shhv
Path=/opt/$VENDOR/mfp/bin
Icon=/opt/$VENDOR/mfp/share/images/HelpViewer.png
Terminal=0
TerminalOptions=
X-KDE-SubstituteUID=false
X-KDE-Username=
EOF
}

write_uninstall_desktop_file() {
	if test -z "$1" ; then
		return 1
	fi
	cat > $1 <<EOF
[Desktop Entry]
Name=Uninstall $VENDOR Unified Driver
Name[C]=Uninstall $VENDOR Unified Driver
Comment=$VENDOR Unified Driver uninstallation script
Comment[C]=$VENDOR Unified Driver uninstallation script
Type=Application
Exec=/opt/$VENDOR/mfp/uninstall/uninstall.sh
Path=/opt/$VENDOR/mfp/uninstall
Icon=/opt/$VENDOR/mfp/share/images/Uninstall.png
Terminal=0
TerminalOptions=
X-KDE-SubstituteUID=false
X-KDE-Username=
EOF
}

append_categories() {
	if test -n "$1" ; then
		echo "Categories=Application;SystemSetup;X-${VENDOR}-Config-UD;" >> $1
	fi
}

handle_menu() {
	if [ "$SCRIPT_MODE" = "INSTALL" ] ; then
		if [ -d "$1" ] && mkdir -p "$1/${VENDOR}_UD" ; then
			write_desktop_directory         $1/${VENDOR}_UD/.directory
			write_configurator_desktop_file $1/${VENDOR}_UD/${VENDOR}Configurator.desktop
			write_helpviewer_desktop_file   $1/${VENDOR}_UD/${VENDOR}HelpViewer.desktop
			write_uninstall_desktop_file    $1/${VENDOR}_UD/${VENDOR}UninstallUD.desktop
		fi
	elif [ "$SCRIPT_MODE" = "UNINSTALL" ] ; then
		rm -rf $1/${VENDOR}_UD
	fi
}

handle_menu_redhat89() {
	if [ "$SCRIPT_MODE" = "INSTALL" ] ; then
		if ! grep -q "$VENDOR Unified Driver" /etc/X11/desktop-menus/applications.menu ; then
			${HARDWARE_PLATFORM}/install/vendormenu /etc/X11/desktop-menus/applications.menu
		fi
		write_desktop_directory         $2/${VENDOR}_UD.directory
		write_configurator_desktop_file $1/${VENDOR}ConfiguratorUD.desktop
		append_categories               $1/${VENDOR}ConfiguratorUD.desktop
		write_helpviewer_desktop_file   $1/${VENDOR}HelpViewerUD.desktop
		append_categories               $1/${VENDOR}HelpViewerUD.desktop
		write_uninstall_desktop_file    $1/${VENDOR}UninstallUD.desktop
		append_categories               $1/${VENDOR}UninstallUD.desktop
	elif [ "$SCRIPT_MODE" = "UNINSTALL" ] ; then
		rm -f $1/.directory \
			$2/${VENDOR}_UD.directory \
			$1/${VENDOR}ConfiguratorUD.desktop \
			$1/${VENDOR}HelpViewerUD.desktop \
			$1/${VENDOR}UninstallUD.desktop
	fi
}

handle_menu_freedesktop() {
	if [ "$SCRIPT_MODE" = "INSTALL" ] ; then
		if ! grep -q "$VENDOR Unified Driver" "$3" ; then
			${HARDWARE_PLATFORM}/install/vendormenu -f $3
		fi
		write_desktop_directory         $2/${VENDOR}_UD.directory
		write_configurator_desktop_file $1/${VENDOR}ConfiguratorUD.desktop
		append_categories               $1/${VENDOR}ConfiguratorUD.desktop
		write_helpviewer_desktop_file   $1/${VENDOR}HelpViewerUD.desktop
		append_categories               $1/${VENDOR}HelpViewerUD.desktop
		write_uninstall_desktop_file    $1/${VENDOR}UninstallUD.desktop
		append_categories               $1/${VENDOR}UninstallUD.desktop
	elif [ "$SCRIPT_MODE" = "UNINSTALL" ] ; then
		rm -f $2/${VENDOR}_UD.directory \
			$1/${VENDOR}ConfiguratorUD.desktop \
			$1/${VENDOR}HelpViewerUD.desktop \
			$1/${VENDOR}UninstallUD.desktop
	fi
}

write_directory_for_update_menus() {
	echo "?package(menu): charset=\"utf8\" section=\"/\" needs=\"x11\" title=\"$VENDOR Unified Driver\" icon=\"/opt/$VENDOR/mfp/share/images/Configurator.png\"" >> $1
}

write_entry_for_update_menus() {
	echo "?package(menu): charset=\"utf8\" command=\"$1\" section=\"$VENDOR Unified Driver/\" needs=\"x11\" title=\"$2\" icon=\"$3\"" >> $4
}

handle_menu_with_update_menus() {

	ENTRY_DIR=/usr/lib/menu
	PACKAGE_STRING="$VENDOR Unified Driver"

	rm -f $ENTRY_DIR/${VENDOR}_UD

	if [ "$SCRIPT_MODE" = "INSTALL" ] ; then
		write_directory_for_update_menus $ENTRY_DIR/${VENDOR}_UD

		write_entry_for_update_menus \
			/opt/$VENDOR/mfp/bin/Configurator \
			"$PACKAGE_STRING Configurator" \
			/opt/$VENDOR/mfp/share/images/Configurator.png \
			$ENTRY_DIR/${VENDOR}_UD

		write_entry_for_update_menus \
			/opt/$VENDOR/mfp/bin/shhv \
			"$PACKAGE_STRING Help" \
			/opt/$VENDOR/mfp/share/images/HelpViewer.png \
			$ENTRY_DIR/${VENDOR}_UD

		write_entry_for_update_menus \
			/opt/$VENDOR/mfp/uninstall/uninstall.sh \
			"Uninstall $PACKAGE_STRING" \
			/opt/$VENDOR/mfp/share/images/Uninstall.png \
			$ENTRY_DIR/${VENDOR}_UD
	fi
}

create_menu_entries_local() {
	mkdir -p $MFP_INSTALL_DIR/share/desktop-directories
	mkdir -p $MFP_INSTALL_DIR/share/applications

	write_desktop_directory         $MFP_INSTALL_DIR/share/desktop-directories/${VENDOR}_UD.directory
	write_configurator_desktop_file $MFP_INSTALL_DIR/share/applications/${VENDOR}ConfiguratorUD.desktop
	append_categories               $MFP_INSTALL_DIR/share/applications/${VENDOR}ConfiguratorUD.desktop
	write_helpviewer_desktop_file   $MFP_INSTALL_DIR/share/applications/${VENDOR}HelpViewerUD.desktop
	append_categories               $MFP_INSTALL_DIR/share/applications/${VENDOR}HelpViewerUD.desktop
	write_uninstall_desktop_file    $MFP_INSTALL_DIR/share/applications/${VENDOR}UninstallUD.desktop
	append_categories               $MFP_INSTALL_DIR/share/applications/${VENDOR}UninstallUD.desktop
}

process_desktop_files() {

	DESKTOP_NAMES='Desktop Desktop2 KDesktop .gnome-desktop'
	for USER_HOME in `awk -F ':' '{print $6}' /etc/passwd` ; do
		for DESKTOP_SUBDIR in $DESKTOP_NAMES ; do
			if [ -d $USER_HOME/$DESKTOP_SUBDIR ]; then
				if [ "$SCRIPT_MODE" = "INSTALL" ] ; then
					write_configurator_desktop_file \
					$USER_HOME/$DESKTOP_SUBDIR/${VENDOR}Configurator.desktop
					write_toner_reorder_desktop_file \
					$USER_HOME/$DESKTOP_SUBDIR/${VENDOR}TonerReorder.desktop
				elif [ "$SCRIPT_MODE" = "UNINSTALL" ] ; then
					rm -f $USER_HOME/$DESKTOP_SUBDIR/${VENDOR}Configurator.desktop
					rm -f $USER_HOME/$DESKTOP_SUBDIR/${VENDOR}TonerReorder.desktop
				fi
			fi
		done
	done
}

process_desktop_menus() {

	if test -n "`which update-menus 2> /dev/null`" ; then
		handle_menu_with_update_menus
		update-menus
		return
	fi

	if echo "$LINUX_DIST" | grep -q "UBUNTU" ; then
		# Freedesktop.org Menu ( Both GNOME and KDE )
		if test -f /etc/xdg/menus/applications.menu ; then
			DIR_FILES_LOCATION=/usr/share/desktop-menu-files
			if test -d /usr/share/desktop-directories ; then
				DIR_FILES_LOCATION=/usr/share/desktop-directories
			fi
			handle_menu_freedesktop /usr/share/applications $DIR_FILES_LOCATION /etc/xdg/menus/applications.menu
			return
		fi
	fi

	# GNOME Menu
	if test -d /usr/share/gnome/apps ; then
		handle_menu /usr/share/gnome/apps
	elif test -d /etc/X11/applnk ; then
		handle_menu /etc/X11/applnk
	fi

	# KDE Menu
	if test -f /etc/X11/desktop-menus/applications.menu ; then
		handle_menu_redhat89 /usr/share/applications /usr/share/desktop-menu-files
	elif test -d /etc/opt/kde*/share/applnk/SuSE ; then
		handle_menu /etc/opt/kde*/share/applnk/SuSE
	elif test -d /opt/kde*/share/applnk ; then
		handle_menu /opt/kde*/share/applnk
	elif test -d /usr/share/applnk ; then
		if test -d /usr/share/applnk-mdk ; then
			handle_menu /usr/share/applnk-mdk
			if test -d /var/lib/gnome/Mandrake ; then
				handle_menu /var/lib/gnome/Mandrake
			fi
		else
			if ! test -d /etc/X11/applnk ; then
				# if no entries installed in /etc/X11/applnk only
				# This condition resolves duplicated menu
				# entries in Fedora 3,4
				handle_menu /usr/share/applnk
			elif `cat /etc/issue | grep -q 'Fedora Core release [5-9]' 2> /dev/null` ; then
				# ... but in Fedora 5 (and above ?) we need these entries again
				handle_menu /usr/share/applnk
			fi
		fi
	fi
}

process_psu_and_smart_panel() {
	if [ "$SCRIPT_MODE" = "INSTALL" ] ; then
		if [ -e ./psu/install.sh ]; then
			./psu/install.sh
		fi
		if [ -e ./smartpanel/install.sh ]; then
			./smartpanel/install.sh
		fi
	elif [ "$SCRIPT_MODE" = "UNINSTALL" ] ; then
		if [ -e /opt/${VENDOR}/PSU/uninstall.sh ]; then
			/opt/${VENDOR}/PSU/uninstall.sh
		fi
		if [ -e /opt/${VENDOR}/SmartPanel/uninstall.sh ]; then
			/opt/${VENDOR}/SmartPanel/uninstall.sh
		fi
	fi
}

### Install procedures

start_usb() {
	if ! test -d /proc/bus/usb ; then
		echo "INFO: Starting USB ..."
		# Start USB here. Does we need all this commented staff ?
		# FIXME: usb printer module in kernel 2.6 name is usblp.
		# FIXME: Other module names may change also ( uhci_hcd, ehci_hcd, etc. ).
		# /sbin/modprobe usbcore
		# /sbin/modprobe usb-uhci 2>/dev/null
		# /sbin/modprobe uhci 2>/dev/null
		# /sbin/modprobe usb-ohci 2>/dev/null
		# mount -t usbdevfs usbdevfs /proc/bus/usb
		# /sbin/modprobe printer
		# /sbin/modprobe scanner
	else
		echo "INFO: Checking USB ... OK"
	fi
}

install_kernel_modules() {
	# Iinstall modules for all kernels found
	for KERN_MOD_DIR in /lib/modules/* ; do
		KERNEL_RELEASE=`basename $KERN_MOD_DIR`
		if [ -d /lib/modules/$KERNEL_RELEASE/kernel ]; then
			# Directory with kernel modules found
			MOD_DIR=/lib/modules/$KERNEL_RELEASE/kernel/drivers/mfpportctrl
			if [ ! -d $HARDWARE_PLATFORM/modules/$KERNEL_RELEASE ]; then
				# We have NOT modules for this kernel
				PVSTR=`cat /proc/version 2>/dev/null`
				if echo $PVSTR | grep -q "Linux version 2.4" >/dev/null 2>/dev/null ; then
					# Try to install genegic modules for kernel 2.4
					if echo $PVSTR | grep -q "gcc version 3" >/dev/null 2>/dev/null ; then
						KERNEL_RELEASE=generic-2.4-gcc302
					else
						KERNEL_RELEASE=generic-2.4-gcc296
					fi
				fi
			fi
			if [ -d $HARDWARE_PLATFORM/modules/$KERNEL_RELEASE ]; then
				# We have modules for this kernel or can use generic
				mkdir -p $MOD_DIR
				cp -a -f $HARDWARE_PLATFORM/modules/$KERNEL_RELEASE/* $MOD_DIR/
				chmod 555 $MOD_DIR/*
				chown root:root $MOD_DIR/*
			else
				echo "WARNING: Unsupported kernel $KERNEL_RELEASE"
			fi
		fi
	done
}

insert_kernel_modules() {
	# This is unmodified code from mfp_load.sh
	# Do we need it ?
	# All these directories are created in libmfp mfp_get_devices()

	module="mfpport"
	probemodule="mfpportprobe"
	probedevice="probe"
	dev_dir="mfpports"
	major=222
	probemajor=223

	rmmod $probemodule > /dev/null 2>&1
	rmmod $module > /dev/null 2>&1

	rm -f /dev/${dev_dir}/[0-3]
	rm -f /dev/${dev_dir}/${probedevice}
	if [ -d /dev/${dev_dir} ]; then
		rmdir /dev/${dev_dir}
	fi

	#insmod -f $module $* || exit 1

	#major=`awk '$2="'$module'" {print $1}' /proc/devices`

	mkdir /dev/${dev_dir}
	mknod /dev/${dev_dir}/0 c $major 0
	mknod /dev/${dev_dir}/1 c $major 1
	mknod /dev/${dev_dir}/2 c $major 2
	mknod /dev/${dev_dir}/3 c $major 3

	chmod 'go+r+w+x' /dev/${dev_dir}
	chmod 'go+r+w' /dev/${dev_dir}/0
	chmod 'go+r+w' /dev/${dev_dir}/1
	chmod 'go+r+w' /dev/${dev_dir}/2
	chmod 'go+r+w' /dev/${dev_dir}/3

	#insmod -f $probemodule $* || exit 1
	#major=`awk '$2="'$probemodule'" {print $1}' /proc/devices`
	mknod /dev/${dev_dir}/${probedevice} c $probemajor 0

	chmod 'go+r+w' /dev/${dev_dir}/${probedevice}
}

set_parport_pc_parameters() {
	# Add options for parport_pc module if someone did not it before

	if [ "$PLSFX" = "64" -a "$LINUX_DIST" = "SUSE_92" ]; then
		OPT_LINE="options parport_pc io=0x378 irq=7 dma=none"
	else
		OPT_LINE="options parport_pc io=0x378 irq=7 dma=3"
	fi
	if ( uname -r | grep -q '^2\.[6-9]\|^[3-9]' ) ; then
		if [ "$LINUX_DIST" = "SUSE_91" ] ; then
			MOD_CONFIG_FILE=modprobe.conf.local
		else
			MOD_CONFIG_FILE=modprobe.conf
		fi
	else
		MOD_CONFIG_FILE=modules.conf
	fi
	if ! ( cat /etc/$MOD_CONFIG_FILE | grep -q "$OPT_LINE" ) ; then
		echo "$OPT_LINE" >> /etc/$MOD_CONFIG_FILE
		echo "$OPT_LINE" > /etc/mfpcommon.modules.conf
	fi

	if test -f /etc/dynamic/scripts/lp.script ; then
		shell_script_execution_disable /etc/dynamic/scripts/lp.script
	fi
}

modify_depmod_call() {
	# Do we need it ?
	#Update configuration file
	CURR_PATH=$PWD
	if [ -f /etc/rc.d/rc.sysinit ]; then
		cd /etc/rc.d
		cat rc.sysinit | sed -e 's/depmod -A/depmod -A -q/' -e 's/depmod -A -q -q -q/depmod -A -q/' -e 's/depmod -A -q -q/depmod -A -q/' > $VENDOR_LC.rc.sysinit
		if [ -f $VENDOR_LC.rc.sysinit ] ; then
			mv -f rc.sysinit rc.sysinit.bak
			cp -f $VENDOR_LC.rc.sysinit rc.sysinit
			chmod 755 rc.sysinit
		fi
		cd "$CURR_PATH"
	else
		echo Unable to update /etc/rc.d/rc.sysinit
	fi
}

restart_cups() {
	if   test -e /etc/init.d/cups ; then
		CUPS_SCRIPT=/etc/init.d/cups
	elif test -e /etc/init.d/cupsys ; then
		CUPS_SCRIPT=/etc/init.d/cupsys
	else
		echo "INFO: can't restart CUPS - script not found"
		wait_to_allow_to_see_info_line
		return
	fi

	if $CUPS_SCRIPT restart ; then
		echo "INFO: CUPS restart OK"
	else
		echo "INFO: CUPS restart FAILED"
	fi
	wait_to_allow_to_see_info_line
}

register_cups_printer() {

	mkdir -p /usr/share/cups/model/${VENDOR_LC}/cms
	cp -a /opt/${VENDOR}/mfp/share/ppd/cms/* /usr/share/cups/model/${VENDOR_LC}/cms/
	chmod 444 /usr/share/cups/model/${VENDOR_LC}/cms/*
	for MODNAME in $MODEL_LIST ; do
		cat /opt/${VENDOR}/mfp/share/ppd/${MODNAME}.ppd | \
		gzip -9 > /usr/share/cups/model/${VENDOR_LC}/${MODNAME}.ppd.gz
		chmod 444 /usr/share/cups/model/${VENDOR_LC}/${MODNAME}.ppd.gz
	done

	restart_cups

	if test "$IN_TEXTMODE" = "1" || ! $HARDWARE_PLATFORM/install/printeradd 2> /dev/null ; then
		set_firmware_device_name
		if test -n "$FIRMWARE_DEVICE_NAME" ; then
			DEVICE_LINE=`/usr/lib${PLSFX}/cups/backend/mfp 2>/dev/null | grep "$FIRMWARE_DEVICE_NAME" | head -n 1`
			if [ "$DEVICE_LINE" != "" ] ; then
				DEVICE_PORT=`echo $DEVICE_LINE | awk '{print $2}'`
			else
				DEVICE_PORT="mfp:/dev/mfp4"
			fi
			lpadmin   -p $MODEL -m samsung/$MODEL.ppd.gz -v $DEVICE_PORT
			lpadmin   -p $MODEL -E
			lpadmin   -d $MODEL
			lpoptions -p $MODEL -o scaling=100 -o page-left=13 -o page-top=13 -o page-right=13 -o page-bottom=13
		else
			echo "ERROR: " "Invalid default model" && sleep 5
		fi
	fi
}

register_sane_backend() {

	for SCDIR in /etc/sane.d /usr/local/etc/sane.d ; do
		if [ -w ${SCDIR}/dll.conf ] ; then
			if ! grep -q '^smfp$' ${SCDIR}/dll.conf ; then
				echo "smfp" >> ${SCDIR}/dll.conf
			fi
			if grep -q geniusvp2 ${SCDIR}/dll.conf ; then
				# Comment out geniusvp2 backend
				cat ${SCDIR}/dll.conf > /tmp/mfp_dll_conf.tmp
				cat /tmp/mfp_dll_conf.tmp | sed 's/geniusvp2/#geniusvp2/' > ${SCDIR}/dll.conf
				rm -f /tmp/mfp_dll_conf.tmp
			fi
			chmod 664 ${SCDIR}/dll.conf
		fi
	done
	# Create dll.conf if it does not exist
	DLL_CONFS=`ls /etc/sane.d/dll.conf /usr/local/etc/sane.d/dll.conf 2> /dev/null`
	if test -z "$DLL_CONFS" ; then
		echo "smfp" >> /etc/sane.d/dll.conf
	fi
}

save_configuration_files() {
	TEMP_CONFIG_DIR="/tmp/mfp_${VENDOR}_install"
	mkdir -p $TEMP_CONFIG_DIR || abort_execution "Can not create directory $TEMP_CONFIG_DIR"
	if test -f $MFP_INSTALL_DIR/share/OEM.ini; then
		cp -a -f $MFP_INSTALL_DIR/share/OEM.ini $TEMP_CONFIG_DIR/
	else
		touch $TEMP_CONFIG_DIR/OEM.ini
	fi
	if test -f /etc/sane.d/smfp.conf; then
		cp -a -f /etc/sane.d/smfp.conf $TEMP_CONFIG_DIR/
	fi
}

merge_configuration_files() {
	test -d "$TEMP_CONFIG_DIR" || return 0

	# Merge OEM.ini

	FSRC=$TEMP_CONFIG_DIR/OEM.ini
	FDST=$MFP_INSTALL_DIR/share/OEM.ini

	# Set SCANNER to 1 if is is 1 in SRC or DST
	if cat $FDST 2> /dev/null | grep -q 'SCANNER=0' ; then
		if cat $FSRC 2> /dev/null | grep -q 'SCANNER=1' ; then
			cat $FDST | sed 's/SCANNER=0/SCANNER=1/' > $TEMP_CONFIG_DIR/sed_output.tmp
			cat $TEMP_CONFIG_DIR/sed_output.tmp > $FDST
		fi
	fi

	# Add model from SRC if it does not exist in DST
	cat $FSRC 2> /dev/null | while read t ; do
		if echo "$t" | grep -q 'MODEL' ; then
			if ! cat $FDST 2> /dev/null | grep -q "$t" ; then
				echo "$t" >> $FDST
			fi
		fi
	done

	cp -a -f $FDST $MFP_INSTALL_DIR/uninstall/OEM.ini

	# Merge smfp.conf
	FDSTS=$TEMP_CONFIG_DIR/smfp.conf
	if test -f $FDSTS; then
		FSRCS=noarch/at_root/etc/sane.d/smfp.conf
		chmod 644 $FDSTS
		${HARDWARE_PLATFORM}/install/vendormenu -sm $FDSTS $FSRCS
		cp -a -f $FDSTS /etc/sane.d/smfp.conf
	fi

	rm -f $TEMP_CONFIG_DIR/*
	rmdir $TEMP_CONFIG_DIR
}

wrap_setuid_third_party_application() {
	APP_NAME=`which $1 2> /dev/null`
	NEW_NAME=${APP_NAME}.bin

	if test -n "$APP_NAME" ; then
		if ! test -f "$NEW_NAME" && ! test -d "$NEW_NAME"; then
			mv "$APP_NAME" "$NEW_NAME"
			cp -af /opt/${VENDOR}/mfp/bin/suwrap "$APP_NAME"
			chown root:root "$APP_NAME"
			chmod 4755 "$APP_NAME"
		fi
	fi
}

# Main installation procedure

do_install() {

	SCRIPT_MODE=INSTALL

	if [ "$THIS_PACKAGE_ALREADY_INSTALLED" = "0" ]; then
		rm -rf /opt/$VENDOR/mfp
		INCREMENT_MODE=0
	else
		save_configuration_files
		INCREMENT_MODE=1
	fi

	mkdir -p $MFP_INSTALL_DIR || abort_execution "Can not create directory $MFP_INSTALL_DIR"

	# Install common files begin {

	echo "INFO: Installing common files ..."
	( cd ${HARDWARE_PLATFORM}/at_opt   && tar -cf - .   | tar -xf - -C $MFP_INSTALL_DIR )
	( cd ${HARDWARE_PLATFORM}          && tar -cf - lib${PLSFX} | tar -xf - -C $MFP_INSTALL_DIR )
	( cd ${HARDWARE_PLATFORM}/at_root  && tar -cf - .   | tar -xf - -C / )
	( cd noarch/at_opt  && tar -cf - . | tar -xf - -C $MFP_INSTALL_DIR )
	( cd noarch/at_root && tar -cf - . | tar -xf - -C / )

	# Install OEM.ini
	cp -a -f OEM.ini $MFP_INSTALL_DIR/share/OEM.ini
	cp -a -f OEM.ini $MFP_INSTALL_DIR/uninstall/OEM.ini

	merge_configuration_files

	prepare_shared_libraries
	if [ "$USE_WRAPPERS" = "1" ]; then
		setup_wrappers
	fi
	wait_to_allow_to_see_info_line

	echo "INFO: Installing MFP port and SANE backend libraries ..."
	( cd /usr/lib${PLSFX} && \
	rm -f libmfp.so libmfp.so.1 libmfpdetect.so libmfpdetect.so.1 ; \
	ln -s -f libmfp.so.1.0.1 libmfp.so.1 ; true ln -s -f libmfpdetect.so.1.0.1 libmfpdetect.so.1 ; \
	ln -s -f libmfp.so.1 libmfp.so ; true ln -s -f libmfpdetect.so.1 libmfpdetect.so )
	( cd /usr/lib${PLSFX}/sane && \
	rm -f libsane-smfp.so libsane-smfp.so.1 ; \
	ln -s -f libsane-smfp.so.1.0.1 libsane-smfp.so.1 ; \
	ln -s -f libsane-smfp.so.1 libsane-smfp.so )
	wait_to_allow_to_see_info_line

	# Install common files end   }

	start_usb
	# if this directory does not exist then usermode mfplib is used
	if [ -d $HARDWARE_PLATFORM/modules ]; then
		echo "INFO: Installing kernel modules ..."
		install_kernel_modules
		# insert_kernel_modules
	fi
	set_parport_pc_parameters
	# modify_depmod_call

	# echo "INFO: Updating module dependencies ..."
	# depmod -a 2>/dev/null

	# Substitute CUPS lpr with slpr begin {

	echo "INFO: Installing GUI lpr ..."
	# Save lpr.cups if it was not done before
	if [ ! -f /usr/bin/lpr.cups.orig ]; then
		if [ -f /usr/bin/lpr.cups ]; then
			cp -a -f /usr/bin/lpr.cups /usr/bin/lpr.cups.orig
		fi
	fi

	# Save lpr if it was not done before
	if [ ! -f /usr/bin/lpr.orig ]; then
		mv -f /usr/bin/lpr /usr/bin/lpr.orig 2> /dev/null || \
	echo "ERROR: " "/usr/bin/lpr does not exist. Try reinstall CUPS" && sleep 5
	# abort_execution "/usr/bin/lpr does not exist. Try reinstall CUPS"
	else
		rm -f /usr/bin/lpr
	fi

	ln -s $MFP_INSTALL_DIR/bin/slpr /usr/bin/lpr
	wait_to_allow_to_see_info_line

	echo "INFO: Fixing file ownership and permissions ..."
	find $MFP_INSTALL_DIR -exec chown root:root \{\} \;
	if [ "$USE_WRAPPERS" != "1" ]; then
		chmod 4755 $MFP_INSTALL_DIR/bin/Configurator
		# OpenOffice does NOT like suid root on lpr, commented out
		# chmod 4755 $MFP_INSTALL_DIR/bin/slpr
	else
		chmod 4755 $MFP_INSTALL_DIR/bin/ldwrapx
	fi
	chmod 4755 $MFP_INSTALL_DIR/bin/slprhelper
	chown root:root /usr/lib${PLSFX}/cups/backend/mfp
	chmod 4755      /usr/lib${PLSFX}/cups/backend/mfp
	wait_to_allow_to_see_info_line

	# Substitute CUPS lpr with slpr end   }

	echo "INFO: Registering SANE backend ..."
	if cat ./OEM.ini 2> /dev/null | grep -q 'SCANNER=1' ; then
		register_sane_backend
	fi
	wait_to_allow_to_see_info_line
	echo "INFO: Registering CUPS printer ..."
	register_cups_printer
	wait_to_allow_to_see_info_line

	wrap_setuid_third_party_application xsane
	wrap_setuid_third_party_application xscanimage

	create_menu_entries_local
	process_desktop_files
	process_desktop_menus
	process_psu_and_smart_panel

	# Install  begin {
	# Install  end   }

	echo "INFO: Finishing installation ..."
	wait_to_allow_to_see_info_line
}

### Uninstall procedures

unregister_cups_printers() {
	# FIXME: check if CUPS running and run it if not

	PPD_DIST=`ls /opt/${VENDOR}/mfp/share/ppd/*.ppd 2>/dev/null`
	PPD_CUPS=`ls /etc/cups/ppd/*.ppd 2>/dev/null`

#d	echo PPD_DIST=\"$PPD_DIST\"
#d	echo PPD_CUPS=\"$PPD_CUPS\"

	if test -z "$PPD_DIST" || test -z "$PPD_DIST" ; then
		return
	fi

	PRINTERS_TO_UNINSTALL=""

	for fn_cups in $PPD_CUPS ; do
		MODEL_STRING_CUPS=`grep '*ModelName:' $fn_cups | awk -F\" '{print $2}'`
#d		echo MODEL_STRING_CUPS=\"$MODEL_STRING_CUPS\"
		for fn_dist in $PPD_DIST ; do
			MODEL_STRING_DIST=`grep '*ModelName:' $fn_dist | awk -F\" '{print $2}'`
#d			echo MODEL_STRING_DIST=\"$MODEL_STRING_DIST\"
			if [ "$MODEL_STRING_CUPS" = "$MODEL_STRING_DIST" ]; then
				PRINTERS_TO_UNINSTALL="$PRINTERS_TO_UNINSTALL `basename $fn_cups .ppd`"
			fi
		done
	done

#	echo PRINTERS_TO_UNINSTALL=\"$PRINTERS_TO_UNINSTALL\"

	for printer_name in $PRINTERS_TO_UNINSTALL ; do
		echo "INFO: Removing printer $printer_name ..."
		lpadmin -x $printer_name 2> /dev/null || true
		wait_to_allow_to_see_info_line
	done

	rm -rf /usr/share/cups/model/${VENDOR_LC}/cms

	for MODNAME in $MODEL_LIST ; do
#obs		lpadmin -x $MODNAME 2>/dev/null
		rm -f /usr/share/cups/model/${VENDOR_LC}/${MODNAME}.ppd.gz
	done

	rmdir /usr/share/cups/model/${VENDOR_LC} 2> /dev/null || true
}

unregister_sane_backend() {

	for SCDIR in /etc/sane.d /usr/local/etc/sane.d ; do
		if [ -w ${SCDIR}/dll.conf ] ; then
			cat ${SCDIR}/dll.conf | grep -v "smfp" | \
			sed 's/geniusvp2/#geniusvp2/' > /tmp/mfp_dll_conf.tmp
			cat /tmp/mfp_dll_conf.tmp > ${SCDIR}/dll.conf
			rm -f /tmp/mfp_dll_conf.tmp
		fi
	done
}

remove_modules_from_kernel() {
	# This is unmodified code from mfp_unload.sh
	module="mfpport"
	probemodule="mfpportprobe"
	probedevice="probe"
	dev_dir="mfpports"

	rmmod $probemodule > /dev/null 2>&1
	rmmod $module > /dev/null 2>&1

	rm -f /dev/${dev_dir}/[0-3]
	rm -f /dev/${dev_dir}/${probedevice}
	if [ -d /dev/${dev_dir} ]; then
		rmdir /dev/${dev_dir}
	fi
}

restore_parport_pc_parameters() {

	# Remove options of parport_pc module if we added them during install

	if [ -f /etc/mfpcommon.modules.conf ] ; then
		if [ "$PLSFX" = "64" -a "$LINUX_DIST" = "SUSE_92" ]; then
			OPT_LINE="options parport_pc io=0x378 irq=7 dma=none"
		else
			OPT_LINE="options parport_pc io=0x378 irq=7 dma=3"
		fi
		if ( uname -r | grep -q '^2\.[6-9]\|^[3-9]' ) ; then
			if [ "$LINUX_DIST" = "SUSE_91" ] ; then
				MOD_CONFIG_FILE=modprobe.conf.local
			else
				MOD_CONFIG_FILE=modprobe.conf
			fi
		else
			MOD_CONFIG_FILE=modules.conf
		fi
		if ( cat /etc/$MOD_CONFIG_FILE | grep -q "$OPT_LINE" ) ; then
			cat /etc/$MOD_CONFIG_FILE | grep -v "$OPT_LINE" > /etc/mfpcommon.modules.conf
			cat /etc/mfpcommon.modules.conf > /etc/$MOD_CONFIG_FILE
		fi
		rm -f /etc/mfpcommon.modules.conf
	fi

	if test -f /etc/dynamic/scripts/lp.script ; then
		shell_script_execution_enable /etc/dynamic/scripts/lp.script
	fi
}

uninstall_common_files() {

	echo "INFO: Restoring CUPS lpr ..."
	rm -f /usr/bin/lpr
	if [ -f /usr/bin/lpr.cups.orig ]; then
		mv -f /usr/bin/lpr.cups.orig /usr/bin/lpr.cups
	fi
	if [ -f /usr/bin/lpr.orig ]; then
		mv -f /usr/bin/lpr.orig /usr/bin/lpr
	fi
	wait_to_allow_to_see_info_line

	echo "INFO: Unregistering SANE backend ..."
	unregister_sane_backend
	wait_to_allow_to_see_info_line

	echo "INFO: Uninstalling common files ..."
	rm -f  /usr/lib${PLSFX}/libmfp.so*
	rm -f  /usr/lib${PLSFX}/libmfpdetect.so*
	rm -f  /usr/lib${PLSFX}/cups/backend/mfp
	rm -f  /usr/lib${PLSFX}/cups/filter/pscms
	rm -f  /usr/lib${PLSFX}/cups/filter/rastertosamsungpcl
	rm -f  /usr/lib${PLSFX}/cups/filter/rastertosamsungspl
	rm -f  /usr/lib${PLSFX}/cups/filter/rastertosamsungsplc
	rm -f  /usr/lib${PLSFX}/sane/libsane-smfp.so*
	rm -f  /etc/sane.d/smfp.conf
	wait_to_allow_to_see_info_line

	remove_modules_from_kernel

	for MOD_DIR in /lib/modules/*/kernel/drivers/mfpportctrl ; do
		if [ -d $MOD_DIR ]; then
			rm -f $MOD_DIR/*
			rmdir $MOD_DIR 2> /dev/null || true
		fi
	done

	restore_parport_pc_parameters

	# Restore original imagetoraster CUPS filter

	if [ -f /usr/lib${PLSFX}/cups/filter/imagetoraster.cups ] ; then
		mv -f /usr/lib${PLSFX}/cups/filter/imagetoraster.cups /usr/lib${PLSFX}/cups/filter/imagetoraster
	fi

	# Remove Help configuration files

	rm -f /root/.shhvrc /root/.shhvfavs /home/*/.shhvrc /home/*/.shhvfavs
}

unwrap_setuid_third_party_application() {
	APP_NAME=`which $1 2> /dev/null`
	NEW_NAME=${APP_NAME}.bin

	if test -n "$APP_NAME" ; then
		if test -f "$NEW_NAME" && ! test -d "$NEW_NAME"; then
			rm -f "$APP_NAME"
			mv "$NEW_NAME" "$APP_NAME"
		fi
	fi
}

# Main uninstall procedure

do_uninstall() {

	SCRIPT_MODE=UNINSTALL

	echo "INFO: Unregistering CUPS printer ..."
	unregister_cups_printers
	wait_to_allow_to_see_info_line

	check_related_packages
	if [ "$TOTAL_RELATED_PACKAGES_INSTALLED" = "1" ]; then
		# The last from the group of related packages. Remove common files.
		unwrap_setuid_third_party_application xsane
		unwrap_setuid_third_party_application xscanimage
		uninstall_common_files
	else
		# Remove slpr to check if lpr would became broken link after uninstall
		rm -f /opt/$VENDOR/mfp/bin/slpr
		# Check if lpr is broken link
		if ! test -x /usr/bin/lpr ; then
			for SLPR_FILE in `ls -tr /opt/*/mfp/bin/slpr 2> /dev/null` ; do
				if test -x $SLPR_FILE ; then
					rm -f /usr/bin/lpr
					ln -s -f $SLPR_FILE /usr/bin/lpr
				fi
			done
		fi
	fi

	process_desktop_files
	process_desktop_menus
	process_psu_and_smart_panel

	echo "INFO: Finishing uninstall ..."

	if test -d /etc/qt-smfp ; then
		rm -rf /etc/qt-smfp
	fi
	test -n "$VENDOR" || abort_execution "VENDOR undefined"
#	( rm -rf /opt/$VENDOR/mfp 2> /dev/null && rmdir /opt/$VENDOR 2> /dev/null )
	exec /bin/sh -c "rm -rf /opt/$VENDOR/mfp 2> /dev/null && rmdir /opt/$VENDOR 2> /dev/null"

	wait_to_allow_to_see_info_line
}

# Text mode procedures

ask_any_key_or_q() {
	read -p '****  Press any key to continue or q to quit: ' -n 1 KEY_PRESSED
	echo ""
	if test "$KEY_PRESSED" = "q" || test "$KEY_PRESSED" = "Q" ; then
		echo "****  $RUN_MODE terminated by user"
		exit 0
	fi
}

run_textmode_dialog() {

	test "`id -u`" = "0" || abort_execution "Root priviliges required"

	test -n "$VENDOR" || abort_execution "VENDOR undefined"
	MFP_INSTALL_DIR="/opt/$VENDOR/mfp"
	IN_TEXTMODE=1

	if [ "$RUN_MODE" = "uninstall" ]; then
		echo "****  Running text mode uninstall"
		ask_any_key_or_q
		do_uninstall  
		echo "****  Text mode uninstall finished"
	else
		echo "****  Running text mode install"
		ask_any_key_or_q
		do_install  
		echo "****  Text mode install finished"
	fi
}

print_message_qt_not_found() {
	echo "****  It seems Qt library is not installed, or X display is not accessible."
	echo "****  Custom Qt library will be configured for use with this package."
}

# Script execution starts here }

# test "$1" != "STAGE_GUI_INSTALLER" -a "$1" != "STAGE_GUI_UNINSTALL" && date > /tmp/install.log

cd `dirname $0`
source ./set_variables.sh ./OEM.ini

MODIFIER_ID_STRING="Inserted by Unified Linux Driver"

MODEL_LIST=`cat ./OEM.ini 2> /dev/null | grep 'MODEL=' | awk -F= '{print $2}'`
# The first model in the list is default
# Default model is used if printeradd is not succeeded
MODEL=`cat ./OEM.ini 2> /dev/null | grep 'MODEL=' | head -1 | awk -F= '{print $2}'`

test -n "$HARDWARE_PLATFORM" || abort_execution "HARDWARE_PLATFORM undefined"
if [ "$HARDWARE_PLATFORM" != "i386" -a "$HARDWARE_PLATFORM" != "x86_64" ]; then
	abort_execution "Unsuppored hardware platform \"$HARDWARE_PLATFORM\""
fi

#x# GLIBC_VERSION_TWO_DIGITS=`ls /lib/ld-*.so 2> /dev/null | sed s:/lib/ld-:: | cut -b 1-3`
#x# if [ "$GLIBC_VERSION_TWO_DIGITS" = "2.2" ]; then
#x#	HARDWARE_PLATFORM="i386-glibc22"
#x# fi

if [ "`basename $0`" = "uninstall.sh" ]; then
	RUN_MODE=uninstall
else
	check_libstdcxx
	check_libtiff
	RUN_MODE=install
fi

PARAMS="$@"

USE_WRAPPERS=0

if echo "$PARAMS" | grep -q -- -.*u ; then
	RUN_MODE=uninstall
fi

if echo "$PARAMS" | grep -q -- -.*t ; then
	if test -z "ls -d /usr/lib/*/lib/libqt-mt* /usr/lib/libqt-mt* /opt/*/lib/libqt-mt* /usr/local/*/lib/libqt-mt* 2> /dev/null" ; then
		print_message_qt_not_found
		USE_WRAPPERS=1
	fi
	run_textmode_dialog
	exit 0
fi

if [ "$1" != "STAGE_GUI_INSTALLER" -a "$1" != "STAGE_GUI_UNINSTALL" ] ; then
	rm -f /tmp/${VENDOR}_UD-install-use-wrappers
	if ! ./${HARDWARE_PLATFORM}/share/guiinstall.bin --check-gui ; then
		print_message_qt_not_found
		USE_WRAPPERS=1
		# Pass use_wrappers flag to GUI stage
		touch /tmp/${VENDOR}_UD-install-use-wrappers
	fi
else
	# Check use_wrappers flag in GUI stage
	if test -f /tmp/${VENDOR}_UD-install-use-wrappers ; then
		USE_WRAPPERS=1
		rm -f /tmp/${VENDOR}_UD-install-use-wrappers
	else
		USE_WRAPPERS=0
	fi
fi

if echo "$PARAMS" | grep -q -w -- -c ; then
	sh check_installation.sh
	exit 0
fi

# Add distribution binary dir to the PATH. shhv may be run from guiinstall or guiuninstall.
CUR_DIR=`pwd`
export PATH=${CUR_DIR}/${HARDWARE_PLATFORM}/at_opt/bin:${PATH}

if test -z "$MODEL" ; then
	./autorun_gui &
	exit 0
fi

if [ "$1" != "STAGE_GUI_INSTALLER" -a "$1" != "STAGE_GUI_UNINSTALL" ] ; then
	if [ "$RUN_MODE" = "uninstall" ]; then
		GUI_EXECUTABLE=guiuninstall
		P1="-p"
		P2="./models/$MODEL"
		P3="-e"
		P4="./uninstall.sh"
		P5="-a"
		P6="uninstall"
	else
		detect_system_packages
		GUI_EXECUTABLE=guiinstall
		P1="CUPS=$CUPS_DETECTED"
		P2="GS=$GS_DETECTED"
		P3="SANE=$SANE_DETECTED"
		P4=
		P5=
		P6=
	fi
	if [ "$USE_WRAPPERS" = "1" ]; then
		if test -e ./${HARDWARE_PLATFORM}/install/${GUI_EXECUTABLE} ; then
			GUIEXEC=./${HARDWARE_PLATFORM}/install/${GUI_EXECUTABLE}
		elif test -e ./${GUI_EXECUTABLE} ; then
			GUIEXEC=./${GUI_EXECUTABLE}
		else
			echo "GUI mode installer not found, proceeding in text mode"
			run_textmode_dialog
			exit 0
		fi
	else
		if test -e ./${HARDWARE_PLATFORM}/share/${GUI_EXECUTABLE}.bin ; then
			GUIEXEC=./${HARDWARE_PLATFORM}/share/${GUI_EXECUTABLE}.bin
		elif test -e ../share/${GUI_EXECUTABLE}.bin ; then
			GUIEXEC=../share/${GUI_EXECUTABLE}.bin
		else
			echo "GUI mode installer not found, proceeding in text mode"
			run_textmode_dialog
			exit 0
		fi
	fi
	if ! $GUIEXEC --check-gui ; then
		echo "GUI mode installer execution failed, proceeding in text mode"
		run_textmode_dialog
		exit 0
	fi

	if [ "$USE_WRAPPERS" = "1" ]; then
		# Make native qtrc accessible for custom libqt too
		NATIVE_QTRC=`ls /usr/lib/qt*/etc/settings/qtrc /etc/qtrc 2> /dev/null | head -1`
		if test -n "$NATIVE_QTRC"; then
			mkdir -p /etc/qt-smfp
			rm -f /etc/qt-smfp/qtrc
			ln -s -f $NATIVE_QTRC /etc/qt-smfp/qtrc
		fi
	fi
	$GUIEXEC $P1 $P2 $P3 $P4 $P5 $P6
	# guiinstall or guiuninstall will run this script again with
	# STAGE_GUI_INSTALLER or STAGE_GUI_UNINSTALL as the first parameter.
	# You may think this script continues execution from
	# the line 'GUI installer stage continues here' below.
	exit 0
fi

# GUI installer stage continues here
test -n "$VENDOR" || abort_execution "VENDOR undefined"
MFP_INSTALL_DIR="/opt/$VENDOR/mfp"
if [ "$1" = "STAGE_GUI_UNINSTALL" ] ; then
	do_uninstall  
	exit 0
fi

# If not 'uninstall and exit' then do installation
do_install
exit 0

Le point important est qu'il n'y a aucun "chown -R" dans ce script.

Puis-je tenter de rétablir la situation par un "chown root:root /etc", idem pour usr et la racine ?


loup maigre (et vieux ...)

Hors ligne

#8 Le 25/07/2018, à 08:52

RolandG

Re : [Résolu]installation LAMP défectueuse

Je précise que, dans l'install de Bionic beaver, AUCUNE base de donnée d'imprimantes standards n'apparait en soutien à une installation d'imprimante.
La liste complète de tous les drivers connus et standard dans ubuntu n'apparait dans mon PC qu'après l'install du driver xerox.


loup maigre (et vieux ...)

Hors ligne

#9 Le 25/07/2018, à 09:13

krodelabestiole

Re : [Résolu]installation LAMP défectueuse

ce script d'install est pas tout frais.

je viens de jeter un oeil sur le site de xerox mais je trouve rien de plus récent.
voici le lien plus général : http://www.support.xerox.com/support/ph … uage=en_GB

Hors ligne

#10 Le 25/07/2018, à 09:17

krodelabestiole

Re : [Résolu]installation LAMP défectueuse

sur cette page il est conseillé d'utiliser le pilote CLX-3160 : https://doc.ubuntu-fr.org/liste_imprimantes_xerox

Hors ligne

#11 Le 25/07/2018, à 09:38

bruno

Re : [Résolu]installation LAMP défectueuse

J'ai marqué la page en question comme vétuste et à supprimer

Hors ligne

#12 Le 25/07/2018, à 14:21

RolandG

Re : [Résolu]installation LAMP défectueuse

Le point important est qu'il n'y a aucun "chown -R" dans ce script.

Puis-je tenter de rétablir la situation par un "chown root:root /etc", idem pour usr et la racine ?


loup maigre (et vieux ...)

Hors ligne

#13 Le 25/07/2018, à 14:25

RolandG

Re : [Résolu]installation LAMP défectueuse

Mon imprimante est une ColorQube 8580 qui fonctionnait parfaitement avec le pilote xérox unifié sur le PC précédent.
Le seul apport du driver CLX 3160 est la prise en compte d'un bouton particulier de l'imprimante (n'existe pas sur la mienne).


loup maigre (et vieux ...)

Hors ligne

#14 Le 25/07/2018, à 15:28

bruno

Re : [Résolu]installation LAMP défectueuse

Tu peux toujours tenter.

Les changements de propriétaire viennent de cette fonction qui est appelée à plusieurs reprises et très probablement avec un mauvais argument $1 :

fix_desktop_file_ownership() {
	DIR_NAME=`dirname $1`
	DIR_LSLDN=`ls -ldn $DIR_NAME`
	OWNERSHIP="`echo $DIR_LSLDN | awk '{print \$3}'`:`echo $DIR_LSLDN | awk '{print \$4}'`"

	if test -n "$OWNERSHIP" ; then
		chown "$OWNERSHIP" $1
	fi
}

Les dégâts provoqués par ce script sont peut-être plus importants que tu ne le crois. En outre il est très ancien : plus de 10 ans ! Et il a généré beaucoup d'erreurs à son lancement en réclamant des versions de gcc et de Qt hors d'âge.
Personnellement je ne me risquerais jamais à installer cela sur une machine. Je n'ai pas analysé ce script qui est beaucoup trop long mais il me semble qu'il contient un paquet de conneries aptes à créer des failles de sécurité importantes sur le système.

EDIT : avec ton modèle d'imprimante, le premier résultat d'une recherche conduit à ce pilote : https://www.xerox-printerdriver.com/p/x … rs-v5.html sous forme de .deb
qui semble bien plus récent.

Ou directement sur le site officiel : http://www.support.xerox.com/support/co … anguage=en

Dernière modification par bruno (Le 25/07/2018, à 15:52)

Hors ligne

#15 Le 25/07/2018, à 16:15

krodelabestiole

Re : [Résolu]installation LAMP défectueuse

(le site officiel c'est mieux)

bonne idée de virer cette doc du coup !

Hors ligne

#16 Le 25/07/2018, à 16:18

bruno

Re : [Résolu]installation LAMP défectueuse

J'ai modifié la doc (pas viré car d'autres doc y font référence).

Dernière modification par bruno (Le 25/07/2018, à 16:18)

Hors ligne

#17 Le 25/07/2018, à 16:30

RolandG

Re : [Résolu]installation LAMP défectueuse

bruno a écrit :

Les dégâts provoqués par ce script sont peut-être plus importants que tu ne le crois. En outre il est très ancien : plus de 10 ans ! Et il a généré beaucoup d'erreurs à son lancement en réclamant des versions de gcc et de Qt hors d'âge.
Personnellement je ne me risquerais jamais à installer cela sur une machine. Je n'ai pas analysé ce script qui est beaucoup trop long mais il me semble qu'il contient un paquet de conneries aptes à créer des failles de sécurité importantes sur le système.

Merci de m'indiquer tout cela, ça me rassure beaucoup.
Est-ce à dire qu'aucun modérateur ne jette un coup d'oeil négligent sur les scripts proposés en tuto ?
Existe-t-il un label "tuto vérifié par des cadors" qui permettrait  d'éviter les autres ...

J'ai repéré les  reps et fichiers suivants qui comportent tous le même propriétaire roland:roland (promis, je ne les ai pas acheté) :

roland@roland-miniPC:/etc/sane.d$ sudo find /usr -user "roland" > ~/fileRoland.txt
roland@roland-miniPC:/etc/sane.d$ sudo find /etc -user "roland" >> ~/fileRoland.txt
roland@roland-miniPC:/etc/sane.d$ cat ~/fileRoland.txt
/usr
/usr/lib64
/usr/lib64/libmfp.so.1.0.1
/usr/lib64/cups
/usr/lib64/cups/filter
/usr/lib64/cups/filter/rastertosamsungpcl
/usr/lib64/cups/filter/rastertosamsungsplc
/usr/lib64/cups/filter/pscms
/usr/lib64/cups/filter/rastertosamsungspl
/usr/lib64/cups/backend
/usr/lib64/sane
/usr/lib64/sane/libsane-smfp.so.1.0.1
/etc
/etc/sane.d
/etc/sane.d/smfp.conf
roland@roland-miniPC:/etc/sane.d$

Je vais ouvrir une session recovery (sudo ne fonctionne plus because /etc modifié) et tenter de les réattribuer à root:root.
Je verrai après le comportement du PC.

Pour xerox, je vais tous les ans à la pêche au nouveautés, mais le driver intégré à Ubuntu (qui est le driver unifié xerox ) m'apportait toute satisfaction. je vais intaller le paquet debian pour voir s'il y a une différence ...


loup maigre (et vieux ...)

Hors ligne

#18 Le 25/07/2018, à 16:45

krodelabestiole

Re : [Résolu]installation LAMP défectueuse

RolandG a écrit :

Est-ce à dire qu'aucun modérateur ne jette un coup d'oeil négligent sur les scripts proposés en tuto ?
Existe-t-il un label "tuto vérifié par des cadors" qui permettrait  d'éviter les autres ...

tu peux jeter un oeil sur les versions indiqués dans les tags de la doc.
si la doc est à jour ces tags correspondent aux dernières LTS (bionic, xenial). si les tags sont trop vieux un message d'avertissement s'affiche. c'était le cas ici :

Selon les tags présents sur cette page, les informations qu'elle contient n'ont pas été vérifiées pour les dernières versions LTS depuis Ubuntu 14.04 LTS.
Apportez votre aide…

si aucun tag n'est renseigné tu peux te faire une idée de la fraîcheur de la page en jetant un œil à la liste des anciennes révisions (l'icône horloge).

si quelqu'un s'aperçoit que la doc n'est plus d'actualité on ajoute un tag "vétuste" qui affiche un message d'alerte encore plus clair, en attendant que quelqu'un décide de rénover ou de supprimer la page.

la doc contient des milliers de pages. chaque utilisateur peut y apporter sa contribution très simplement. c'est à la fois ce qui cause sa richesse et son principal point faible : elle est très compliquée à maintenir.

Hors ligne

#19 Le 27/07/2018, à 09:41

RolandG

Re : [Résolu]installation LAMP défectueuse

Merci beaucoup pour ta réponse claire et complète.
J'en prends acte.
Je viens effectivement de voir que je pouvais moi-même apporter ma pierre à l'édifice (en fait un petit gravillon) sur la page pdftk ...
Je tacherais de penser à documenter en ligne les solutions que je trouverais par ailleurs.


loup maigre (et vieux ...)

Hors ligne

#20 Le 27/07/2018, à 09:43

RolandG

Re : [Résolu]installation LAMP défectueuse

Aussi, je vais faire plus attention aux bandeaux de versions big_smile


loup maigre (et vieux ...)

Hors ligne

#21 Le 27/07/2018, à 10:28

RolandG

Re : [Résolu]installation LAMP défectueuse

et, pour être complet, j'ai changé hier le proprio des répertoires indiqués en root:root et, pour l'instant et après plusieurs redémarrage, je ne vois tjrs pas d'inconvénient.
J'ai préféré cette solution car les répertoires concernés étaient assez groupés  et orienté impression.
Je touche du bois, j'en ai plein sur moi ... big_smile


loup maigre (et vieux ...)

Hors ligne