!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> Les modifications d'Unix.
  1. John Siracusa
    1. Mountain Lion
      1. Introduction
      2. Achat et installation
      3. Changements d'interface (1)
      4. Changements d'interface (2)
      5. Changements d'interface (3)
      6. Applications (1)
      7. Applications (2)
      8. Applications (3)
      9. Applications (4)
      10. Applications (5)
      11. iCloud(1)
      12. iCloud(2)
      13. iCloud(3)
      14. Gatekeeper(1)
      15. Gatekeeper(2)
      16. Retina et HiDPI
      17. Fourre-tout (1)
      18. Fourre-tout (2)
      19. Fourre-tout (3)
      20. Fourre-tout (4)
      21. Fourre-tout (5)
      22. Fourre-tout (6)
      23. Recommandations
      24. Deux pères, un fils
    2. Lion
      1. Introduction
      2. Installation
      3. Revoir les fondamentaux
      4. Redimensionnement des fenêtres
      5. Et voici pour les cinglés
      6. La gestion des fenêtres
      7. Le modèle de document
      8. le modèle des processus
      9. Les éléments internes (1)
      10. Les éléments internes (2)
      11. ARC
      12. Le système de fichiers
      13. Ses modifications dans Lion
      14. Documents, résolution
      15. Le Finder
      16. Mail, Safari
      17. Fourre tout (1)
      18. Fourre tout (2)
      19. Recommendations
    3. Snow Leopard
      1. Introduction
      2. Le ticket d'entrée
      3. L'installation
      4. Nouvel aspect
      5. Détails internes
      6. Quick Time X
      7. Système de fichiers
      8. Faire plus avec plus
      9. LLVM et Clang
      10. Les blocs
      11. Concurrence
      12. Grand Central Dispatch
      13. Asynchronicité
      14. Open CL
      15. La différence...
      16. Quick Time Player
      17. Le Dock
      18. Le Finder
      19. Exchange
      20. Performances
      21. Fourre tout (1)
      22. Fourre tout (2)
      23. Le futur
    4. Leopard
      1. Introduction
      2. L'héritage
      3. Nouvel aspect 1
      4. Nouvel aspect 2
      5. Le noyau
      6. 64 bits
      7. FS Events
      8. Core animation
      9. Quartz GL
      10. Core UI
      11. Détails internes
      12. Le Finder
      13. Le Dock
      14. Time Machine
      15. Performances
      16. Pot pourri
      17. Demain
    5. Tiger
      1. Introduction
      2. Retour sur le passé
      3. Nouvel aspect de Tiger
      4. Mises à jour du noyau
      5. Le lancement
      6. Les méta-données
      7. Attributs étendus
      8. Listes de contrôle d'accès
      9. Spotlight 1
      10. Spotlight 2 : analyse et potentiel
      11. Types de fichiers
      12. Méta-données : la fin
      13. Quartz
      14. Quartz 2D Extreme
      15. Core Image
      16. La vidéo sous Tiger
      17. Dashboard
      18. Le Finder
      19. Les performances
      20. Pot pourri
      21. Conclusion
    6. Panther
      1. Introduction
      2. Les précédents
      3. L'installation
      4. Nouvel aspect
      5. Performances
      6. Changement rapide d'utilisateur
      7. Gestion des fenêtres
      8. Exposé
      9. Le Finder
      10. Performance du Finder
      11. Toujours le même
      12. Safari
      13. XCode
      14. Conclusion
    7. Jaguar
      1. Introduction
      2. Le nom
      3. L'installation
      4. Modifications d'Unix
      5. Dévelopeurs...
      6. Quoi de neuf
      7. Rendezvous
      8. Quartz Extrême
      9. Performance
      10. Compositions
      11. Le Finder
      12. Applications
      13. Sherlock
      14. Le portrait
    8. Puma
      1. Prelude
      2. Introduction
      3. Installation
      4. Réglages système
      5. Performance
      6. Redimensionnement des fenêtres
      7. Utilisation de la mémoire
      8. Diagnostics de mémoire
      9. L'environnement Classique
      10. L'interface Utilisateur
      11. Le Finder
      12. Extensions de fichiers
      13. Divers, conclusion
    9. Cheeta (Mac OS X 10.0)
      1. Qu'est ce que Mac OS X
      2. Installation
      3. Le démarrage
      4. Utilisation de la RAM
      5. Performance
      6. Performance des applications
      7. Stabilité
      8. L'interface utilisateur
      9. Le Finder
      10. Le navigateur du Finder
      11. Le Finder (divers)
      12. L'interface utilisateur
      13. Os X Classique
      14. Système de fichiers
      15. Unix
      16. Applications
      17. Conclusion
    10. Les débuts de MacOsX
      1. 1999 : OSX DP2
      2. 2000 : Quartz et Aqua/a>
      3. Fin de la lune de miel
      4. la première bêta publique
      5. 2001 : Mac OS X 10.0
      6. Un investissement
    11. Finder Spatial
      1. Introduction
      2. Interfaces spatiales
      3. Le Finder spatial
      4. Le concierge
      5. Un nouveau Finder
      6. Le browser
      7. Le browser spatial
      8. Finder et méta-données
      9. Les modèles
      10. Pensées finales

Mac OS X 10.2 : Jaguar (4)




Les modifications d'Unix.

Jaguar comprend (et a sans toute été compilé avec) gcc version 3.1. Il y a des incompatibilités binaires entre gcc3 et gcc2 (utilisé dans 10.0 et 10.1), mais Apple a été assez prudente pour cacher ou éviter ces différences. En particulier, elle s'est assurée que des pilotes compilés avec gcc2 sous Mac OS X 10.1 continuent à fonctionner sous 10.2. J'ai envisagé de reconstruire toute ma base de logiciels Unix installée avec gcc3 pour être tranquille.

Il s'est avéré qu'une partie de ces logiciels s'est plantée quand j'ai fait la mise à jour. Par exemple, les exécutables liés avec la bibliothèque curses (utilisée pour manipuler du texte dans la fenêtre du terminal) se plantent avec des erreurs de résolution des symboles. Apple a déplacé la bibliothèque curses depuis libSystem vers une bibliothèque qui lui est propre (à un endroit où on considère généralement qu'elle aurait dû être dès le début). Les programmes qui utilisent curses doivent maintenant être compilés pour se lier directement avec curses à son nouvel endroit.

Ce genre de chose est rare dans le monde Unix, mais il ne devrait affecter personne qui n'a pas intentionnellement modifié son environnement. Ceux qui l'ont fait (comme moi) sont supposés en connaître assez sur ce qu'ils font pour résoudre les problèmes d'eux-mêmes. La totalité du logiciel Unix fourni par Apple a bien sûr été mise à jour avec tout le reste de 10.2, si bien que les utilisateurs Unix occasionnels ne devraient pas rencontrer ce genre de problèmes.

La partie Unix d'OS X a été considérablement étendue et améliorée dans Jaguar. En plus du nouvel outil gcc3, des technologies auparavant disponibles ont été renforcées et de nouvelles caractéristiques ont été ajoutées. On dispose maintenant d'un ensemble plus étendu d'outils en ligne de commande pour gérer les serveurs de fichiers SMB (Windows). Le support d'IPv6 et de IPSec a été rajouté au noyau. Le Système Commun d'Impression d'Unix ( CUPS) est maintenant fourni, et ouvre un monde nouveau pour les pilotes d'imprimantes aux utilisateurs de Macs (en supposant qu'ils veuillent affronter le processus de configuration). Ces améliorations de l'infrastructure Unix n'ont pas toutes leur correspondant en IUG sous Jaguar, mais même celles qui en sont dépourvues sont au travail derrière le rideau.

Il y a tant d'améliorations fondamentales à la base Unix dans Jaguar, qu'il est difficile de se plaindre de quelques petites omissions. D'un autre point de vue, le fait que le reste de la couche Unix ait été mise à jour de façon aussi importante rend quelques portions délaissées plus visibles. Mon irritation personnelle vient du fait que que Jaguar est livré avec la même version de Perl (5.6.0) que celle de 10.0. Perl 5.6.0 est sorti en Mars 2000 - il y a plus de deux ans. Perl 5.6.1 est sorti en Avril 2001, et Perl 5.8.0 en Juillet 2002.

Je peux comprendre que Jaguar ne dispose pas de Perl 5.8.0, mais en rester à 5.6.0 est un handicap considérable pour l'utilisation de Perl sur le Mac, du fait que la plupart des utilisateurs n'ont pas l'envie ou les capacités de mettre à jour Perl par eux-mêmes. Quiconque distribue du code Perl pour Mac OS X doit supposer que les utilisateurs emploient 5.6.0, avec toutes les bogues et les problèmes que cela entraîne. Notamment, l'installation de modules tiers en Perl à l'aide de CPAN qui devrait être quelque chose de simple, est rendu beaucoup plus difficile pour un débutant Unix du fait des bogues et d'autres comportements inamicaux de l'installation par défaut de Perl 5.6.0.

La commande ncftp bien commode a été supprimée de Jaguar, mais la commande par défaut ftp a maintenant des possibilités beaucoup plus étendues qui comblent (presque) le manque. Il y a aussi d'autres problèmes secondaires, comme le déplacement des fichiers d'initialisation de la coquille par défaut à un autre endroit, ce qui interdit quelques alias commodes pour des utilisateurs qui ne savent pas comment ré-orienter les fichiers.

La mise à jour à Perl 5.8.0 et la recompilation de tout mes logiciels et bibliothèques Unix (apache, mod_ssl, Berkeley dp, mysql, expat, etc...) a permis à Jaguar de briller. Ou peut-être, cela done-t-il une chance de briller à la communauté Unix. Comme avec Linux au début, Mac OS X a commencé sa vie comme le vilain petit canard du monde Unix. Les logiciels Unix qui se compilaient sans problèmes sur les divers BSDs, Solaris, Linux, et même AIX, devaient être manuellement retordus pour une construction sous OS X. Avec le temps, la communauté des développeurs Unix à rajouté le support de Mac OS X à ses scripts de construction et aux systèmes de configuration. Le résultat est une construction beaucoup moins pénible pour les logiciels Unix courants, dont la plupart détectent correctement, et prennent en compte le fait d'être construits sous Mac OS X.

Cela est tout à fait remarquable, compte tenu du mécanisme de liaison quelque peu inhabituel de Mac OS X, et de sa gestion de l' espace de noms des symboles. Parmi les logiciels que j'ai re-compilés, seul l'exécutable mod en perl pour Apache a eu besoin d'un traitement spécial. Peut-être à cause de la popularité de Mac OS X parmi les Alpha Geeks (pour utiliser l'expression de Tim O'Reilly), Mac OS X semble passer à maturité en tant que version Unix bien supportée, encore plus vite que ne l'a fait Linux.

Satisfait d'avoir re-créé mon environnement Unix en logiciel neuf compilé sous gcc3, je me suis tourné vers le côté IUG de l'OS, où quelques autres problèmes de compatibilité m'attendaient.