MacOS : 10.13.3 : Problème sur la mise à jours

55 x served & 13 x viewed

Voici la mise à jours qui ne semble pas bien se faire : 10.13.4 :

Si je regarde dans /var/log/install.log, l’historique :

$ grep "Previous System Version" /var/log/install.log
2017-12-31 14:27:11+01 ... softwareupdated[369]: Previous System Version : (null), Current System Version : 10.13.2 (17C88)
2017-12-31 17:33:02+01 ... softwareupdated[237]: Previous System Version : 10.13.2 (17C88), Current System Version : 10.13.2 (17C88)
...
2018-01-11 16:10:00+01 .... softwareupdated[283]: Previous System Version : 10.13.2 (17C88), Current System Version : 10.13.2 (17C205)
2018-01-11 20:18:10+01 .... softwareupdated[453]: Previous System Version : 10.13.2 (17C205), Current System Version : 10.13.2 (17C205)
...
2018-01-24 08:02:53+01 .... softwareupdated[254]: Previous System Version : 10.13.2 (17C205), Current System Version : 10.13.2 (17C205)
2018-01-24 19:16:34+01 .... softwareupdated[242]: Previous System Version : 10.13.2 (17C205), Current System Version : 10.13.3 (17D47)
...
2018-02-23 09:24:26+01 .... softwareupdated[269]: Previous System Version : 10.13.3 (17D47), Current System Version : 10.13.3 (17D102)
2018-02-23 18:19:42+01 .... softwareupdated[507]: Previous System Version : 10.13.3 (17D102), Current System Version : 10.13.3 (17D102)
...
2018-04-14 14:01:10+02  .... softwareupdated[691]: Previous System Version : 10.13.3 (17D102), Current System Version : 10.13.3 (17D102)

La dernière mise à jour qui a fonctionnait était le 2018-02-23 09:24:26+01.

Pour avoir l’heure de la demande de reboot je regarde aussi dans /var/log/install.log

$ grep "Rebooting system after post-logout install" /var/log/install.log 
2018-01-11 15:27:03+01 ... Software Update[3509]: Rebooting system after post-logout install
2018-01-24 18:28:15+01 ... Software Update[3702]: Rebooting system after post-logout install
2018-02-23 08:40:42+01 ... Software Update[2690]: Rebooting system after post-logout install
2018-03-30 10:27:44+02 ... Software Update[1394]: Rebooting system after post-logout install
2018-03-31 10:00:21+02 ... Software Update[4265]: Rebooting system after post-logout install
2018-04-03 09:39:42+02 ... Software Update[2276]: Rebooting system after post-logout install
2018-04-06 15:33:10+02 ... Software Update[4120]: Rebooting system after post-logout install
2018-04-10 11:16:54+02 ... Software Update[1336]: Rebooting system after post-logout install
2018-04-12 10:24:54+02 ... Software Update[1160]: Rebooting system after post-logout install
2018-04-14 13:57:54+02 ... Software Update[3778]: Rebooting system after post-logout install

Je pense que c’est la troisième fois que j’essaye de faire cette mise à jours.

Au niveau des erreurs, si je regarde les erreurs après 2018-04-14 13:57:54+02  :

Erreur n°1 (en remontant):

  • 2018-04-14 14:01:03+02 … mbfloagent[345]: Photos: findURLToUpgrade /Users/…./Pictures/Bibliothèque Photos.photoslibrary, error: (null), upgradeType: 2

Erreur n°2 :

  • 2018-04-14 13:58:30+02 … diskmanagementd[260]: diskmanagement: [DMToolMountMisc _DAOperation_performsync_ :disk:options:mountpoint:arguments:asEUID:asEGID:timeoutSec:dissenter:dissenterPID:]: [un]mount failed: err=-69842 un0mt1=1 timeout=0 dissenter=1 dissenterpid=0 dissenterstatus=-119930868=0xf8da000c

Erreur n°3 :

  • 2018-04-14 13:57:53+02 … softwareupdated[240]: SoftwareUpdate: error on install of 091-76232: Error Domain=PKInstallErrorDomain Code=112 « Une erreur s‚Äôest produite pendant l‚Äôex√©cution des scripts du paquet ¬´¬†macOSUpd10.13.4.RecoveryHDUpdate.pkg¬†¬ª. » UserInfo={SUErrorUpdateTitle=Mise √† jour de macOS¬†High¬†Sierra¬†10.13.4, NSURL=file:///Library/Updates/091-76232/macOSUpd10.13.4.RecoveryHDUpdate.pkg, PKInstallPackageIdentifier=com.apple.pkg.macOSUpd10.13.4.RecoveryHDUpdate.17E199, NSLocalizedDescription=Une erreur s‚Äôest produite pendant l‚Äôex√©cution des scripts du paquet ¬´¬†macOSUpd10.13.4.RecoveryHDUpdate.pkg¬†¬ª., SUErrorRelatedCode=SUErrorCodeInstallFailure, NSFilePath=replaceRecovery, SUErrorUpdateProductKey=091-76232}. Reporting statistics.

Erreur n°4 :

  • 2018-04-14 13:57:53+02 …  softwareupdated[240]: Changing status (_installProducts) for key 091-76232 from « installing » to « install error »

Erreur n°5 :

  • 2018-04-14 13:57:53+02 …  system_installd[3745]: PackageKit: Install Failed: Error Domain=PKInstallErrorDomain Code=112 « Une erreur s’est produite pendant l’exécution des scripts du paquet « macOSUpd10.13.4.RecoveryHDUpdate.pkg ». » UserInfo={NSFilePath=replaceRecovery, NSURL=file:///Library/Updates/091-76232/macOSUpd10.13.4.RecoveryHDUpdate.pkg, PKInstallPackageIdentifier=com.apple.pkg.macOSUpd10.13.4.RecoveryHDUpdate.17E199, NSLocalizedDescription=Une erreur s’est produite pendant l’exécution des scripts du paquet « macOSUpd10.13.4.RecoveryHDUpdate.pkg ».} {    NSLocalizedDescription = « Une erreur s\U2019est produite pendant l\U2019ex\U00e9cution des scripts du paquet \U00ab\U00a0macOSUpd10.13.4.RecoveryHDUpdate.pkg\U00a0\U00bb. »;

Erreur n°6 : 

  • 2018-04-14 13:57:52+02 …  diskmanagementd[1392]: diskmanagement: [DMToolRecoveryPartition ensureRecoveryPartitionForVolume:]: at exit; err=-69832

Erreur n°7.1[un]mount failed: err=-69842

  • 2018-04-13 14:27:39+02 … softwareupdated[232]: SoftwareUpdate: Added background transaction [0x1] for macOS High Sierra 10.13.4 Update-
  • 2018-04-13 14:27:40+02 … diskmanagementd[2899]: diskmanagement: [DMToolMountMisc _DAOperation_performsync_:disk:options:mountpoint:arguments:asEUID:asEGID:timeoutSec:dissenter:dissenterPID:]: [un]mount failed: err=-69842 un0mt1=1 timeout=0 dissenter=1 dissenterpid=0 dissenterstatus=-119930868=0xf8da000c

Erreur n°7.2[un]mount failed: err=-69842

  • 2018-04-14 13:57:46+02 … softwareupdated[240]: SoftwareUpdate: Added foreground transaction [0x1] for macOS High Sierra 10.13.4 Update-
  • 2018-04-14 13:57:47+02 …  diskmanagementd[1392]: diskmanagement: [DMToolMountMisc _DAOperation_performsync_:disk:options:mountpoint:arguments:asEUID:asEGID:timeoutSec:dissenter:dissenterPID:]: [un]mount failed: err=-69842 un0mt1=1 timeout=0 dissenter=1 dissenterpid=0 dissenterstatus=-119930868=0xf8da000c

Je pense qu’il y a d’autres erreurs mais elles semblent être mineure.

On a l’impression que c’est un problème de disque dur, mais il y a de la place :

Par contre je retrouve de même code d’erreur avec diskutil :

$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.1 TB     disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            1.0 TB     disk0s2
   3:                 Apple_Boot                         650.0 MB   disk0s3

$ diskutil cs list
No CoreStorage logical volume groups found

$ diskutil ap list
No APFS Containers found

$ diskutil verifyDisk disk0
Started partition map verification on disk0
Checking prerequisites
Checking the partition list
Checking the partition map size
Checking for an EFI system partition
Checking the EFI system partition's size
Checking the EFI system partition's file system
Checking the EFI system partition's folder content
Checking all HFS data partition loader spaces
Checking booter partitions
Checking booter partition disk0s3
Verifying file system
Problems were found with the partition map which might prevent booting
Error: -69846: Unrecognized file system

$ diskutil verifyVolume disk0s1
Started file system verification on disk0s1 EFI
Verifying file system
Volume is already unmounted
Performing fsck_msdos -n /dev/rdisk0s1
** /dev/rdisk0s1
** Phase 1 - Preparing FAT
** Phase 2 - Checking Directories
** Phase 3 - Checking for Orphan Clusters
7 files, 186265 KiB free (372530 clusters)
File system check exit code is 0
Restoring the original state found as unmounted
Finished file system verification on disk0s1 EFI

$ diskutil verifyVolume disk0s2
Started file system verification on disk0s2 Macintosh HD
Verifying file system
Volume could not be unmounted
Using live mode
Performing fsck_hfs -fn -l -x /dev/rdisk0s2
Performing live verification
Checking Journaled HFS Plus volume
Checking extents overflow file
Checking catalog file
Checking multi-linked files
Checking catalog hierarchy
Checking extended attributes file
Checking volume bitmap
Checking volume information
The volume Macintosh HD appears to be OK
File system check exit code is 0
Restoring the original state found as mounted
Finished file system verification on disk0s2 Macintosh HD

$ diskutil verifyVolume disk0s3
Error starting file system verification for disk0s3: Unrecognized file system (-69846)

On dirait que c’est la 3ème partition (disk0s3 : Apple_Boot) qui pose problème … pourtant j’ai bien le pc qui boote correctement.

Il est aussi possible de faire toutes les actions en mode fenêtre, mais il n’y a pas d’erreur :

aucune erreur avec les fenêtres, car on est uniquement sur le disque disk0s2.

J’ai trouvé une erreur similaire :

mais pas vraiment de solution.

Misère.

Suppression de Kies.app : 100% de reset et 100% de CPU . Misère.

24 x served & 2 x viewed

J’ai en boucle ce logs, dans /var/log/system.log sur mon mac ( MacOS : 10.13.3 )  :

Apr 14 14:11:26  com.apple.xpc.launchd[1] (com.yourcompany.KiesViaWiFiAgent.3256[837]): Service exited due to signal: Terminated: 15 sent by KiesAgent[745]
Apr 14 14:11:27  KiesAgent[745]: enter launchWiFiAgent!!
Apr 14 14:11:27  KiesAgent[745]: /Applications/Kies.app/Contents/MacOS/KiesViaWiFiAgent.app
Apr 14 14:11:27  KiesAgent[745]: starting KiesViaWiFiAgent
Apr 14 14:11:27  KiesAgent[745]: start KiesAgent!
Apr 14 14:11:27  KiesAgent[745]: Exit wifiAgent!
Apr 14 14:11:27  KiesViaWiFiAgent[838]: objc[838]: Class KMRijndael is implemented in both /Applications/Kies.app/Contents/MacOS/KiesViaWiFiAgent.app/Contents/Frameworks/DeviceCenter.framework/Versions/A/KMBase.framework/Versions/A/KMBase (0x6aba24) and /Applications/Kies.app/Contents/MacOS/KiesViaWiFiAgent.app/Contents/MacOS/KiesViaWiFiAgent (0x31520). One of the two will be used. Which one is undefined.
Apr 14 14:11:27  KiesViaWiFiAgent[838]: objc[838]: Class AESCryption is implemented in both /Applications/Kies.app/Contents/MacOS/KiesViaWiFiAgent.app/Contents/Frameworks/DeviceCenter.framework/Versions/A/KMBase.framework/Versions/A/KMBase (0x6aad94) and /Applications/Kies.app/Contents/MacOS/KiesViaWiFiAgent.app/Contents/MacOS/KiesViaWiFiAgent (0x31550). One of the two will be used. Which one is undefined.
Apr 14 14:11:27  KiesViaWiFiAgent[838]: Folder is not existed - path is (null)/WifiAgent.
Apr 14 14:11:27  KiesViaWiFiAgent[838]: CreateFolder is Failed - path is (null)/WifiAgent. error = Error Domain=NSCocoaErrorDomain Code=513 "Vous n’êtes pas autorisé à enregistrer le fichier « WifiAgent » dans le dossier « (null) »." UserInfo={NSFilePath=(null)/WifiAgent, NSUnderlyingError=0xa081b0 {Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied"}}
Apr 14 14:11:43 com.apple.xpc.launchd[1] (com.yourcompany.KiesViaWiFiAgent.3256[838]): Service exited due to signal: Terminated: 15 sent by KiesAgent[745]

Si je fais des statistiques plus précises :

$ grep "KiesAgent" /var/log/system.log | wc -l
     460
$ wc -l /var/log/system.log
    3931 /var/log/system.log

J’ai 460/3931 lignes qui sont sur ce problème en boucle … donc bye-bye Kies.app (Version 3.1.0.15094_7 )  .

Suite à la suppression je n’ai plus vu de problème …

$ grep "KiesAgent" /var/log/system.log | grep "enter launchWiFiAgent" | awk '{print $1 " " $2 " " $3}' | tail -20
Apr 14 14:20:41
Apr 14 14:20:57
Apr 14 14:21:13
Apr 14 14:21:30
Apr 14 14:21:46
Apr 14 14:22:02
Apr 14 14:22:19
Apr 14 14:22:35
Apr 14 14:22:51
Apr 14 14:23:08
Apr 14 14:23:24
Apr 14 14:23:40
Apr 14 14:23:56
Apr 14 14:24:13
Apr 14 14:24:29
Apr 14 14:24:45
Apr 14 14:25:02
Apr 14 14:25:18
Apr 14 14:25:34
Apr 14 14:25:51

Fin de Twitter sous Mac … et migration vers Tweebot (pour 5,49 Euros)

En passant

84 x served & 3 x viewed

iTunes : Comment avoir un fichier Excel/Numbers des factures iTunes à partir des emails ? ( sous Mac )

49 x served & 12 x viewed

Rien de plus facile ! Pour informations les emails sont stockés sous : ./Library/Mail/ et les factures d’Apple ( iTunes, et non pas Apple Store )  ne sont pas des PDF. Pour rappel, si vous voulez voir la source d’un email il suffit de faire Cmd+Alt+U, ou bien aller dans le menu Présentation > Message > Contenu orginal.

Donc c’est facile l’étape n°1, vous prenez le script suivant que vous copiez à la racine de votre utilisateur c.a.d. /Users/MonLogin/ . Dans un fichier cherche_facture_Apple.bash par exemple …

Voici donc le script :

#!/bin/bash
# ARIAS Frederic
# Version V1
compteur=1
erreur=0
Somme=0
NbLu=0
chercheFichier() {
   Rep="$1"
   for item in $Rep/*
   do [ -f "$item" ] 
ext="${item##*.}"
if [ "$ext" = "emlx" ] ; then
De=`head -50 $item | grep "^X-Envelope-From:" | awk '{print $2 }' | head -1`
Sujet=`head -50 $item | grep "^Subject: " | awk '{print $2 }' | head -1`
NbLu=`expr $NbLu + 1`
#if [ "$De" == "do_not_reply@itunes.com" ]
#then
#echo "Sujet : '$Sujet'"
#echo "Fichier : $item"
#fi 
        if [ "$Sujet" == "Votre" ] || [[ "$Sujet" =~ =\?ISO\-8859\-1\?Q\?Votre_re* ]]  || [[ "$Sujet" =~ =\?ISO\-8859\-1\?Q\?Votre_facture* ]] || [[ "$Sujet" =~ =\?UTF\-8\?Q\?Votre_re* ]]
                                then
#echo "Une nouvelle facture Apple ? " 
if [ ! -n "$De" ] ;
then
De=`head -50 $item | grep "^From: " | awk -v FS="(<|>)" '{print $2}' | head -1`
fi
if [ ! -n "$De" ] ;
then
De=`head -50 $item | grep "^From: " | awk -v FS='("|")' '{print $2}' | head -1`
fi
Business=`head -50 $item | grep "^X-Business-Group:" | awk '{print $2}' | head -1`
if [ ! -n "$Business" ] ;
then
Business=`head -50 $item | grep "^X_BUSINESS_GROUP:" | awk '{print $2}' | head -1`
fi
Date=`head -50 $item | grep "^Date:" | awk '{print $2 " " $3 " " $4 " " $5 " " $6}' | head -1`
Visa=`head -100 $item | grep "^Visa ...." | awk '{print $3}' | head -1`
if [ ! -n "$Visa" ] ;
then
Visa=`head -100 $item | grep "Factur=C3=A9 =C3=A0 :" | awk '{print $6}' | head -1`
fi
Commande=`head -100 $item | grep "^N=C2=B0 DE COMMANDE:" | awk '{print $4}' | head -1`
if [ ! -n "$Commande" ] ;
then
Commande=`head -100 $item | grep "N=C2=B0 de commande :" | awk '{print $5}' | head -1`
fi
if [ ! -n "$Commande" ] ;
                                        then
                                        Commande=`head -100 $item | grep "Num=C3=A9ro de la commande :" | awk '{print $6}' | head -1`
                                fi
Document=`head -100 $item | grep "N=C2=B0 DE DOCUMENT:" | awk '{print $4}' | head -1`
if [ ! -n "$Document" ] ;
then
                         Document=`head -100 $item | grep "N=C2=B0 DU DOCUMENT:" | awk '{print $4}' | head -1`
fi
Sequence=`head -100 $item | grep "^N=C2=B0 DE S=C3=89QUENCE:" | awk '{print $4}' | head -1`
if [ ! -n "$Sequence" ] ;
then
Sequence=`head -100 $item | grep "^S=C3=89QUENCE N=C2=B0:" | awk '{print $3}' | head -1`
fi
                                if [ ! -n "$Sequence" ] ;
                                        then
                                        Sequence=`head -100 $item | grep "Num=C3=A9ro de s=C3=A9quence=C2=A0:" | awk '{print $4}' | head -1`
                                fi
DateDeLaFacture=`head -100 $item | grep "^DATE DE LA FACTURE:" | awk '{print $5 " " $6 " " $7}' | head -1`
if [ ! -n "$DateDeLaFacture" ] ;
then
DateDeLaFacture=`head -100 $item | grep "Date de la facture:" | awk '{print $5 }' | head -1`
fi
if [ ! -n "$DateDeLaFacture" ] ;
                                        then
                                        DateDeLaFacture=`head -100 $item | grep "Date du re=C3=A7u :" | awk '{print $5 }' | head -1`
fi
Total=`head -100 $item | grep "^TOTAL:" | awk '{print $2}' | sed 's/=/ /g' | awk '{print $1}' | sed 's/,/\./g' | head -1`
if [ ! -n "$Total" ] ;
then
Total=`head -100 $item | grep "Total de la commande :" | awk '{print $6}' | sed 's/=/ /g' | awk '{print $1}' | sed 's/,/\./g' | head -1`
fi
if [ -n "$Commande" ] ;
then
Somme=`echo "scale=3; $Somme + $Total " | bc` 
echo "$compteur | $De | $Date | $Business | $Commande | $Document | $Sequence | $Visa | $DateDeLaFacture | $Total | $Somme "
echo "$compteur ; $De ; $Date ; $Business ; $Commande ; $Document ; $Sequence ; $Visa ; $DateDeLaFacture ; $Total ; $Somme " >> facture_apple.csv
compteur=`expr $compteur + 1`
fi
if [ ! -n "$Commande" ] ;
then
#echo "Source : $item "
erreur=`expr $erreur + 1`
fi
fi
fi
      [ -d "$item" ] && chercheFichier "$item"
   done
}

echo "compteur ; De ; Date ; Business ; Commande ; Document ; Sequence ; Carte Visa ; DateDeLaFacture ; Prix ; Cumul " > facture_apple.csv
START=$(date +%s);
[ -d "./Library/Mail/" ] && chercheFichier "./Library/Mail/"
END=$(date +%s);
DIFF=`echo $((END-START)) | awk '{print int($1/60)":"int($1%60)}'`
echo "Fin du script : Lu : $NbLu / Bon : $compteur / Mauvais : $erreur / Temps : $DIFF ."

Désolé mais l’indexation du code a sauté … l’autre point c’est qu’il n’est pas très propre car je l’ai fait très rapidement. Désolé pour les puristes …

Ensuite vous ouvrez un terminal, et vous lancer le bash : ./cherche_facture_Apple.bash. Le résultat est dans la racine : facture_apple.csv. C’est un fichier CSV, le séparateur est un point virgule.

J’ai fait un test et le programme découpe bien les emails de 2012, 2013, 2014, 2015, 2016, 2017, 2018.

Ensuite il faut penser à prendre des kleneex quand on regarde la somme totale … au passable vous avez la possibilité de voir les performances du disque dur avec le nombre d’email lu et le temps total du script.

Frédéric.

P.S.: Si vous utilisez ce programme, j’accepte d’avoir une bière en retour 😉 .

macOS : Pollution dans le fichier /var/log/system.log … merci iMagneto !

38 x served & 2 x viewed

Si vous tapez la commande suivante pour savoir quel est le process qui écrit le plus dans system.log :

cat /var/log/system.log | awk '{print $5}' | grep '\[' | sed 's/\[/ /g' | awk '{print $1}' | sort -n | uniq -c | sort -n | tail 
  86 suhelperd
  88 KiesAgent
 262 loginwindow
 266 syslogd
 277 GoProMediaService
 688 ksfetch
 741 GoogleSoftwareUpdateAgent
 903 GoogleSoftwareUpdateDaemon
1672 imagneto_d
1695 com.apple.xpc.launchd

La pollution vient de imagneto_d ( iMagneto : http://imagneto.sourceforge.net/ ) et de GoogleSoftwareUpdate …. je trouve que passer un certain nombre de ligne c’est de l’abus.

En plus pour imagneto_d il y a deux fichiers de logs dans /var/log/ :

  • imagneto_d.stderr.log
  • imagneto_d.stdout.log

Pourquoi ne pas mettre le polling dans un fichier spécifique ? comme imagneto_d.calendar.log ?

Misère.