Kit Unix ======== Installation d'une partition Unix (garnie) sur Atari: ===================================================== Installation d'un environnement Unix "clef en main" sur falcon en 4 disks! A vous les plaisirs du C++, tcsh, man, tar, compress, grep, ls -R, cd etc... Sans vous prendre la tete avec une installation compliquee!!! (J'ai realise ce kit, car les kits disponibles sont tres durs a regler et a installer... Celui la est garanti! Vous installez et vous utilisez!) Origine: reseau internet Contenu: MDK (Mint distribution kit), INIT.ZOO, MG++258b, MGCC258b, GDB36P4, FMINCL44, FMLIBS44, AES 4.1, TCSH603, MAN4, etc... (versions les plus avancees jusqu'au mois de mars 94) Encombrement dans la partition C: 900 Ko Encombrement dans la partition Unix: 12.5 Mo I) Installation du noyau Unix -------------------------- D'abord il faut installer un noyau Mint, et ce qui va avec, afin de pouvoir profiter du driver MINIX.XFS qui permet d'acceder a une partition Unix. (MiNT peut s'utiliser sans partition Unix, mais ce serait dommage de ne pas faire de vraies sessions Unix) N'hesitez pas a virer votre version de Multitos (moi je ne sent pas de difference entre MiNT et Multitos, a mon sens Multitos=Mint+AES) Neanmoins, vous devez savoir que ce noyau (1.08) a un petit defaut, il refuse de prendre en compte CDROM.XFS! Si vous avez un CDROM, je vous conseille de garder le noyau 1.04 (livre d'origine avec Multitos) a portee de la main (meme le noyau 1.10 a ce defaut!). De meme, si vous n'avez pas de 68030, utilisez votre noyau 1.04. En decompressant le fichier mint030.zip sur le drive C:, vous aurez tout ce qu'il faut, et quelques petits trucs en plus... Des lors, il est possible de fonctionner dans plusieurs modes: Dans le dossier C:\AUTO, le noyau MiNT 1.08 (optimis‚ pour 68030) peut prendre 2 noms differents: - MINTNP.PRG MiNT actif en mode memoire non protegee - MINT.PRG MiNT actif en mode memoire protegee (Je ne compte pas les noms avec extension .PRX signifiant l'inactivite) L'accessoire MULTITOS.CPX permet de modifier ces noms tres facilement. Attention: Dans un premier temps NE PAS UTILISER LE MODE MEMOIRE PROTEGE Certains programmes violent les limites de la memoire qui leur est normalement attribuee, par exemple un player de .MOD comme UTRACK... Le programme PRGFLAGS.PRG sert a modifier la nature de la memoire liee au processus. On peut autoriser des acces, normalement interdits, a cette memoire. Lire la documentation PRGFLAGS.DOC pour en savoir plus. Si un programme ne marche pas en mode protege, evaluez vous meme s'il a le droit d'avoir une memoire non protegee, ou si un autre processus doit avoir sa memoire non protegee pour autoriser l'acces au process qui plante. Mais dans un premier temps, n'utilisez pas le mode memoire protegee car vous ne feriez plus la difference entre un vrai bug et un petit probleme de violation memoire, voulu ou non voulue. Dans ce mode ALERT.ACC est utile pour avoir un signalement d'erreur dans une fenetre. Remarque: Le GEM en ROM peut provoquer des erreurs de violation memoire. Dans le dossier C:\MULTITOS, le fichier de configuration MINT.CNF peut etre utilise pour utiliser Mint: - sous TOS, que du texte quoi... (moi je ne m'en sert pas, j'aime GEM!) Neanmoins, les commandes "gem" ou "bootgem" provoquent le demarrage du GEM en ROM (voir mode ci-dessous). (renommer le fichier SANSGEM.CNF en MINT.CNF pour utiliser ce mode) - sous GEM AES 4.1 (fichiers GEM.SYS et AVECGEM.CNF fournis) avantages: GEM multitache rapide Fenetres iconifiables Accepte les resolutions Falcon les plus farfelues Marche ne mode memoire protegee inconvenients: Bouffe 500ko de RAM! Les noms de fichiers contenu dans les fenetres doivent souvent etre mises a jour manuellement avec Escape lorsque l'on modifie les fichiers sans passer par GEM. (renommer le fichier AVECGEM.CNF en MINT.CNF pour utiliser ce mode) - sous GEM en ROM (fichiers OLDGEM.PRG et OLDGEM.CNF fournis) avantages: Ne prend pas de place! 3.8 Mo de RAM libre!!! (Utile pour certaines compilations C++ gourmandes en memoire) Ultra-rapide inconvenients: Pas multi-tache... ALERT.ACC ne doit pas etre utilise, sinon ca plante... Ne peut pas etre utilise en mode memoire protegee. (renommer le fichier OLDGEM.CNF en MINT.CNF pour utiliser ce mode) Une des raisons pour garder GEM, est la manipulation des fichiers qui se trouvent sur la partition Unix (Il faut que MiNT soit actif, sinon la partition semblera vide et une protection speciale empechera le bureau GEM d'ecrire dedans -vital- ). En effet, bien que les fichiers apparaissent sous une forme tronquee (8+3), en realite ils ne le sont pas, donc vous pouvez, lire (avec GEM AES 4.1, par l'intermediaire de VIEWER.APP, un double clic pour lire un fichier permet d'avoir le fichier dans une fenetre multi-tache et independante, permettant par exemple de comparer 2 fichiers cote … cote), supprimer, copier (pour des copies avec respect des noms de fichier, neanmoins, vous devrez utiliser une commande unix du genre "cp -r tree1 tree2") pour faire des copies fidŠles, et un appel sous unix pour ex‚cuter un fichier. II) Installation de la partition Unix --------------------------------- Bon lancez le noyau en mode non protege, avec l'AES 4.1 en marche. (si vous venez d'installer les fichiers, et que vous n'avez rien touche, vous etes dans cette situation: mintnp.prg dans c:\auto, et c:\multitos\mint.cnf = avecgem.cnf) Utiliser la resolution falcon qui vous plait le plus (meme les plus colorees et les plus farfelues, ne vous genez pas!). Si l'AES 4.1 a fonctionne les fenetres seront iconifiables (triangle en haut a droite). En cas d'echec, neutralisez les accessoires .ACC et les programmes du dossier AUTO. Il est recommand‚ de copier MINTNP.PRG en premier dans le repertoire AUTO, pour qu'il soit ex‚cut‚ en premier. Cr‚ation de la partition Unix: ----------------------------- Il faut isoler une partition TOS qui deviendra une partition Unix. Pr‚voir au minimum 20 Mo. Occupation reelle:12,5 Mo. Personnellement j'ai une partition Unix de 25 Mo sur le drive E:. Dezippez TAR.ZIP et MINIT.ZIP qui contiennent les programmes TTP utiles. lancez n'importe ou le programme MINIT.TTP avec les parametres suivants: "-V -P -n 2 e:" V et P en majuscule, et dans cet ordre!!! (remplacer e: par votre drive) -V pour beneficier de la derniere version -P pour empecher le GEM d'ecrire dans la partition en croyant ecrire dans une partition TOS (mais certains programmes pourront toujours ecrire de force dedans, donc attention et faires souvent des sauvegardes) lorsque mint est inactif. Conseil: ne montrer par la partition sur le bureau. Utilisez plutot le peripherique U: sur le bureau pour y acceder, ca reduira les risques... -n 2 pour avoir des noms de 30 caracteres de long maximum (suffisant!) Faites un reset de la machine. Maintenant vous pouvez ecrire ce que vous voulez dans la partition Unix (Mint doit etre actif). MFSCONF.TTP permet de regler quelques parametres pour l'interaction programmes TOS<->partition Unix exemple: mfsconf e: -l n -s n (alias 'mu') pour unzoo respectant majuscules et minuscules mfsconf e: -l t -s t (alias 'mn') pour acces autorise depuis GEM sous Mint, avec respect des majuscules/minuscules (mais toujours tronquage a l'affichage) c'est le mode que je prefere: tout marche bien (Vous faites pas de bile, lors d'une session Unix sous tcsh mon fichier cshrc.csh, script de demarrage, fera ce qu'il faut... Les programmes minit,mfsconf,tar et fsck seront presents dans les commandes Unix installes dans la partition Unix, vous pourrez effacer MINIT.TTP, MFSCONF.TTP, FSCK.TTP et TAR.TTP apres usage) FSCK.TTP permet de verifier si la partition Unix est dans un etat coherent (depuis que j'utilise une partition Unix, je n'ai jamais releve d'incoherences, le driver minix.xfs fourni semble etre tres sur...). Utilisation: fsck e: Cela ne veut pas dire que la partition est sure! Si vous n'activez pas Mint et que vous lancez un programme folklorique qui veux absolument ecrire dans la partition Unix (croyant que c'est une partition TOS), vous perdrez tout. Exemple: dezipper une archive sur la partition Unix lorsque Mint est inactif... Donc soyez prudents... Si vous le pouvez, laissez toujours Mint actif. Remplissage de la partition Unix: -------------------------------- TAR.TTP permet de "detarer" des fichiers .TAR, un format celebre sous Unix qui contient toute une arborescence Unix, avec des noms de fichiers qui peuvent etre parfaitement farfelus (finie la contrainte 8+3!!!)... Copiez TAR.TTP sur la racine de votre partition Unix. Il vaut mieux acceder a cette partition par le drive U: (le driver controle mieux ce qui se passe, et fait les traductions qu'il faut \->/ etc...). De-zippez ROOT.ZIP pour obtenir ROOT.TAR et placez ce fichier au meme niveau que TAR.TTP a la racine de la partition Unix. Lancez TAR.TTP avec comme parametres "-xf root.tar" (de-tarage) (le tarage, ou concatenation se realise avec "tar -cf f.tar repertoire") Remarque: Cette version de TAR est la seule que je connaisse qui respecte les majuscules et les minuscules, ainsi que les droits d'accŠs aux fichiers. N‚anmoins, un petit bug provoque l'affichage de messages d'erreurs sans importances … propos des r‚pertoires... (impossible de modifier la date et l'heure pour les r‚pertoires) Ignorez ces messages et surtout ne perdez pas cette version! lha et zoo (alias unzoo), permettent de decompresser des fichiez .lha,.lzh ou .zoo en respectant les majuscules, minuscules, et les noms de fichier etendus. Toutefois ils ne permettent pas de compresser. Pour compresser et archiver tar reste la seule solution. Un fichier .tar n'est pas compresse, donc ensuite il faut zipper le fichier ou plus simplement utiliser la commande Unix "compress f.tar" qui donnera un fichier compresse "f.tar.Z". L'inconvenient de ce format est que ce nom de fichier comporte deux points et donc il faut le "deguiser" en .tz par exemple pour qu'il puisse passer sur des disks au format MSDOS. Faites descendre TAR.TTP d'un niveau et placez le dans le dossier USR. Effacez root.tar. Placez, de-zippez et de-tarez, un a un les fichiers USR0.TAR a USR7.TAR dans le repertoire USR (j'ai bien dit DANS LE REPERTOIRE USR!!!). Effacez les .TAR et les .ZIP au fur et a mesure sous peine de saturer la partition! C'est fini, pret a l'emploi... III) Utilisation ----------- Allez, encore un petit reset... Placez TOSWIN_W.PRG du repertoire MULTITOS, sur le bureau pour avoir acces au programme facilement (vous pouvez meme rendre son lancement automatique: dans "installer une application" -> lancement automatique). Normalement en le lancant, vous devriez obtenir un tcsh pret a l'emploi dans le repertoire /usr/users/gl. Si le shell tcsh ne trouve pas le fichier "cshrc.csh", c'est parceque le repertoire courant de depart n'est pas /usr/users/gl. Dans ce cas, il suffit de taper la commande "source /usr/users/gl/cshrc.csh". Si rien ne se passe (configuration de TOSWIN_W perdue), allez dans le menu, et clickez OPEN STD WINDOW, et allez chercher /bin/tcsh dans la partition Unix. Dans MINT.CNF la variable d'environnement HOME pointe sur /usr/users/gl ou se trouve cshrc.csh. Vous pourrez sauvez la configuration de TOSWIN_W pour qu'il lance tout seul le tcsh au demarrage. Si tout marche au poil, parcourez les fichiers MINT.CNF, GEM.CNF du repertoire MULTITOS, le fichier cshrc.csh, afin de personnaliser vos propres sessions unix, creer votre propre compte... Pouquoi tcsh? Ce shell permet de rappeler et d'editer les precedentes commandes en pressant la touche flechee qui monte. Il permet aussi et surtout, de faire completer automatiquement les chemins d'acces que vous ecrivez en pressant la touche TAB (ex: vous tapez /usr/us et pressez la touche TAB, la suite s'inscrit d'elle-meme!: /usr/users/ ) Voyez le fichier cshrc.csh pour les autres avantages... (Doc en /usr/doc) Pourquoi TOSWIN_W ? On peut parametrer plein de chose, faire des pseudo raccourcis clavier avec les fichiers textes *.MNU, et faire du copier- coller sur le modele des stations de travail: selection de texte avec le bouton gauche et recopie du texte sur la position du curseur avec le bouton droit! (Doc en /usr/doc) Bon, a vous de jouer! Comme premiere commande Unix, essayez "man man" Pour compiler le petit programme C++ du r‚pertoire exemple essayez "make" (Il faut beaucoup de m‚moire: evitez de charger des accessoires gourmands et au besoin utilisez le GEM en ROM pour atteindre 3.8Mo de Ram libre. Le manque de m‚moire peut provoquer des erreurs pendant la compilation) IV) Environnement multi-utilisateur ------------------------------- On peut aller plus loin, et installer des fichiers supplementaires pour permettre des sessions protegees par un nom d'utilisateur et un mot de passe. Plus tard il sera meme possible d'accepter des session dues a des connexions depuis l'exterieur (modem, minitel, etc...) Pour faire de l'Unix multi-utilisateur vous devez ajouter et installer les fichiers qui se trouvent dans MULTIUSR.ZIP (contient un .tar a detarer a la racine ou dans un compte temporaire si vous voulez d'abord examiner les changements qui seront apportes). Notez que pour utiliser tous les avantages du multi-utilisateur il va falloir faire l'effort de fonctionner en mode memoire protegee! Une fois les fichiers installes, changez le mode de fonctionnement de MiNT en renommant le fichier MULTIUSR.CNF en MINT.CNF (au total ca fait 4 modes possibles!). Puis faites reset! (mais AVANT assurez vous que vous avez la disquette Langage de votre falcon pour pouvoir booter a partir d'une disquette si vous etes coince au moment du boot !!!). Ce 4eme mode ressemble au premier: pas d'interface graphique, on reste au niveau du TOS, donc que du texte. Si les droits d'acces le permettent les commandes "gem" ou "bootgem" pourront lancer le GEM en ROM. Mais si cela arrive, on perd la main dans la session (a interdire avec un "chmod 700 gem.prg bootgem.prg" !). Mais en fait il doit y avoir d'autres failles, cherchez les, par exemple, en essayant de detruire les fichiers du repertoire gl lorsque vous vous logguez sous un autre nom (pas root!). Remarque importante: les commandes unix tiennent compte des droits d'acces des fichiers, sauf 'rm' et 'rmdir' qui ne tiennent compte que des droits d'acces du rerpertoire contenant les fichiers ou les repertoires a effacer... Si les droits du repertoire autorisent l'ecriture, un utilisateur peut effacer tous les repertoires et les fichiers a ce niveau, meme si les droits de ceux-ci lui interdise de le faire!!! (Faites donc attention aux droits des repertoires!!!). 1ere faille: le pertoire e: lui meme a une protection nulle 'drwxrwxrwx' ce qui autorise n'importe quel utilisateur a ecrire des fichiers a la racine. Surtout ne pas modifier ces droits, cela provoquerait des problemes lors de l'ecriture dans /tmp. De plus, malheureusement, un utilisateur peut faire "cd U:","rm -r e",ce qui aura pour effet une tentative recursive d'effacement, et tout repertoire non protege se verra vide de tous ses fichiers et de tous ses repertoires vides!!! C'est pour cela que cshrc.csh contient la ligne "umask022" qui permet d'indiquer, que par defaut, tout repertoire ou fichier cree aura les droits "drwxr-xr-x" ou "-rw-r--r--". De plus, j'ai fait attention, tous les repertoires installes dans ce kit sont proteges... Une autre faille consiste a lancer un programme qui porte le bit 'set user id' (droits '-rwsr-xr-x') et a prendre la main a l'interieur. En lancant un debugguer par exemple sur un programme de ce genre appartenant a root, lors d'une erreur, on peut prendre alors la main dans le debugguer et avoir les droits de root... Une passoire cet Unix!!! Derniere faille, si on se trouve en mode memoire non protege, un utilisateur peut faire planter tout le monde. Malheureusement bcp de programmes plantent en mode memoire protegee, et je n'ai pas reussi a faire du multi- utilisateur en mode memoire protegee! (plantage le plus simple: lancement d'une application GEM! J'ai fait chmod 700 sur tous ces fichiers). Il faut utiliser PRGFLAGS sur les bons ex‚cutables... Je ne connais pas assez leur fonctionnement pour les rep‚rer... (PRGFLAGS marche mal sur une partition Unix, mais vous pouvez le bluffez en deplacant temporairement les programmes a modifier dans le domaine TOS) (Si vous rep‚rer les ex‚cutables … modifier, pr‚venez moi! Il est possible que /etc/getty comporte un gros bug... affaire a suivre) Pour les details voyez la documentation /usr/doc/multimnt.txt. Le fichier /etc/passwd contient la liste des utilisateurs. Il y a un champ pour le mot de passe (cree avec la commande "passwd"). Au depart le compte 'root' n'aura pas de mot de passe, vous devrez le creer. Il y a un champ pour indiquer le chemin d'acces vers le compte de l'utilisateur et un dernier pour indiquer le shell qui sera lance lors du login (prevoir un fichier du genre 'cshrc.csh' dans le compte de l'utilisateur). Remarque: il est possible que vous soyez bloque. En effet, des que le falcon boote, il faut le mot de passe, ou alors on ne peut rien faire si ce n'est booter a partir de la disquette langage fournie avec le falcon et lancer AHDI.PRG pour avoir acces a la partition C... Pour quitter ce 4eme mode multi-utilisateur, il faut changer le fichier MINT.CNF pour passer dans un autre mode, ou alors renommer MINTNP.PRG en MINTNP.PRX (ou MINT.PRG en MINT.PRX en mode protege). Pour cela n'hesitez pas lancer le GEM en ROM avec les commandes "gem" ou "bootgem". Les fichiers rc, rc.boo, rc.loc, rc.sin du repertoire /etc permettent de lancer les process que vous voulez pendant l'initialisation, le fichier MINT.CNF permet de donner un nom a la machine (setenv HOSTNAME) pour personnaliser le boot (mettre un nom sympa de machine, a la place de "MonFalcon"). Le fichier motd contient le message de bienvenue. A vous les plaisirs de 'who', 'write', etc... Possibilite de connexion depuis l'exterieur: ------------------------------------------- Les fichiers NET-022.TZ, NET-UTIL.TZ, TERM-108.TZ semblent contenir ce qu'il faut pour realiser ces connexions. Je vais les examiner de plus pret... Je pourrais peut etre faire un disk supplementaire pour permettre l'installation de la gestion de reseau clef en main!!! (Mais pour ca, il faudra que je m'equipe en materiel...) Avec cet environnement de base vous pourrez exploiter le nombre important de fichiers qui arrivent chaque jour sur internet, en DP, et qui font evoluer progressivement Mint vers Unix... Voila c'est tout, amusez vous bien. Guillaume LAMONOCA 7 allee lucien mazan 13500 MARTIGUES Bal GL sur rtel,stmag ou joystick