mardi 26 mai 2015

Possible missing firmware for module tg3

Cette pas n'est pas un scoop, puisqu'il y a plusieurs articles sur internet qui traitent du même sujet.

Dans ce blog, je vais passer par toutes les étapent qui me permettront de comprendre d'où vient problème, ainsi pour arriver à une résolution.

1. Reproduire les différentes étapes qui conduisent au message d'erreur


$ sudo update-initramfs -u

update-initramfs: Generating /boot/initrd.img-3.16.0-4-amd64
W: Possible missing firmware /lib/firmware/tigon/tg3_tso5.bin for module tg3
W: Possible missing firmware /lib/firmware/tigon/tg3_tso.bin for module tg3
W: Possible missing firmware /lib/firmware/tigon/tg3.bin for module tg3

Le message dit clairement qu'il manque un pilote. Mais de quel pilote s'agit-il? Nous le saurons plus loin.

2. Les paquets utiles


Avant d'aller plus loin, je vous propose d'installer le paquet apt-file. Cet outil va nous permettre de retrouver à quel paquet appartient un fichier (ici pour la documentation en français).

Les fichiers concernés sont: tg3_tso5.bin, tg3_tso.bin et tg3.bin.

$ sudo apt-get install apt-file

!----message tronqué---!The following extra packages will be installed:
  libapt-pkg-perl libconfig-file-perl liblist-moreutils-perl
  libregexp-assemble-perl
The following NEW packages will be installed:
  apt-file libapt-pkg-perl libconfig-file-perl liblist-moreutils-perl
  libregexp-assemble-perl
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 252 kB of archives.
After this operation, 698 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
!----message tronqué---!The system-wide cache is empty. You may want to run 'apt-file update'
as root to update the cache. You can also run 'apt-file update' as
normal user to use a cache in the user's home directory.

$ apt-file search tg3

E: The cache is empty. You need to run 'apt-file update' first.

Et oui, on général on se précipite pour aller à l'étape suivante, heureusement qu'il y a un message qui nous indique ce qu'on devrait faire dans un premier temps.

$ apt-file update

apt-file is now using the user's cache directory.
If you want to switch back to the system-wide cache directory,
 run 'apt-file purge'
Downloading complete file http://ftp.ie.debian.org/debian/dists/jessie/main/Contents-amd64.gz
!----message tronqué---!

3. A la recherche du ou des paquets à installer


$ apt-file search tg3

aegis-web: /usr/share/aegis/en/html/proj_hstg3.rpt
allegro4-doc: /usr/share/man/man3/getg32.3alleg4.gz
firmware-linux-nonfree: /lib/firmware/tigon/tg3.bin
firmware-linux-nonfree: /lib/firmware/tigon/tg357766.bin
firmware-linux-nonfree: /lib/firmware/tigon/tg3_tso.bin
firmware-linux-nonfree: /lib/firmware/tigon/tg3_tso5.bin
gitg: /usr/share/gitg/icons/gitg32x32.png
libgivaro-dev: /usr/include/givaro/givmontg32.h
libgivaro-dev: /usr/include/givaro/givmontg32.inl
libgivaro-doc: /usr/share/doc/libgivaro-doc/givmontg32_8h.html
libgivaro-doc: /usr/share/doc/libgivaro-doc/givmontg32_8h__incl.map
libgivaro-doc: /usr/share/doc/libgivaro-doc/givmontg32_8h__incl.md5
libgivaro-doc: /usr/share/doc/libgivaro-doc/givmontg32_8h__incl.png
linux-headers-3.16.0-4-common: /usr/src/linux-headers-3.16.0-4-common/include/linux/iio/gyro/itg3200.h
linux-image-3.16.0-4-amd64: /lib/modules/3.16.0-4-amd64/kernel/drivers/net/ethernet/broadcom/tg3.ko
linux-image-3.16.0-4-amd64-dbg: /usr/lib/debug/lib/modules/3.16.0-4-amd64/kernel/drivers/net/ethernet/broadcom/tg3.ko
noiz2sa-data: /usr/share/games/noiz2sa/sounds/stg3.ogg
tumiki-fighters-data: /usr/share/games/tumiki-fighters/stage/stg3.stg
ugene-data: /usr/share/ugene/data/position_weight_matrix/UniPROBE/GR09/Rtg3.pwm

Le pilote qui nous intéresse est un pilote non libre (non free) et, est contenu dans le paquet firmware_linux_nonfree. Cependant, cette information, bien qu'elle soit suffisante pour installer ce qu'il nous faut, ne nous dit pas à quel matériel s'applique le pilote.

4. Information sur le paquet à installer


Pour avoir plus d'information concernant le contenu du paquet firmware-linux-nonfree,

$ aptitude show firmware-linux-nonfree
Package: firmware-linux-nonfree         
State: not installed

Multi-Arch: foreign
!----message tronqué---!
Description: Binary firmware for various drivers in the Linux kernel
 This package contains the binary firmware for  various drivers in the Linux
 kernel.  This is a collection of firmware blobs which are not individually
 large enough to warrant a standalone package.
 !----message tronqué---!

On a la confirmation que ce paquet n'est pas installé. Dans la description, il est indiqué que ce paquet contient une collection de pilotes. Ces derniers sont trop petit en taille pour avoir un paquet attribué pour chacun d'eux.

En limitant la recherche par rapport à tg3,

$ aptitude show firmware-linux-nonfree | grep tg3

 * Broadcom BCM5703/BCM5704 TSO firmware (tigon/tg3_tso.bin)
 * Broadcom BCM5701A0 firmware (tigon/tg3.bin)
 * Broadcom BCM5705 TSO firmware (tigon/tg3_tso5.bin)
 * Broadcom BCM57766 firmware (tigon/tg357766.bin)

Nous avons finalement l'information qui nous intéresse. Le pilote manquant est celui de la carte ethernet.



Ce qui est tout à fait normal, puisque je n'ai installé que le pilote de la carte Wifi lors de l'installation de Debian.

5. Résolution


De ce fait, pour résoudre ce problème, nous n'allons pas installer le paquet spécifique à la carte ethernet, puisqu'il n'y en a pas. Par contre, on nous propose d'installer le paquet firmware-linux-nonfree.

Pour rappel, ce paquet contient tous les pilotes non libre. En l'installant, nous allons avoir sur notre système, les pilotes qui nous concernent aussi bien que ceux qui ne nous concernent pas. Notez aussi que, "Non free" être présent dans votre sources.list, comme dans l'exemple ci-dessous, pour pouvoir ensuite installer ce paquet.

deb http://site.example.com/debian distribution  main non-free contrib

Maintenant, on peut se lancer dans l'installation de ce fameux paquet dont on n'arrête pas d'en parler depuis le début.

$ sudo apt-get install firmware-linux-nonfree

Pour vérifier que le paquet a bien été installé.

$ sudo aptitude show firmware-linux-nonfree

Package: firmware-linux-nonfree
State: installed
Automatically installed: no
Multi-Arch: foreign
Version: 0.43
Priority: optional
Section: non-free/kernel
Maintainer: Debian Kernel Team
Architecture: all
Uncompressed Size: 5,128 k
Suggests: initramfs-tools


Note:


En général, il y a toutes les chances que vous rencontrerez ce genre de message lorsque vous devriez en mettant à jour le noyaux Linux, et si les bons pilotes n'ont pas été installés.

Un petit plus pour terminer ce blog. Si vous avez plusieurs noyaux installés, pour tous les mettre à jour, il faut taper la commande:

$ sudo update-initramfs -u -k all

dimanche 24 mai 2015

Comment changer la resolution de l'ecran TTY

Si comme moi, vous avez installé les pilotes NVidia au lieu de Nouveau, en vous connectant dans le TTY, vous avez du avoir la surprise de voir que l'écran a changé de résolution, mais en pire.

J'ai navigué sur internet pour trouver une solution, et celle qui me convient le mieux, c'est celle qui est présentée sur http://forums.debian.net. Ci-dessous toutes les étapes que j'ai effectuées.

1. Vérifier les résolutions disponible pour votre écran


$ sudo hwinfo --framebuffer | grep Mode

Model: "NVIDIA GeForce GT 330M"
Mode 0x0300: 640x400 (+640), 8 bits
Mode 0x0301: 640x480 (+640), 8 bits
Mode 0x0303: 800x600 (+800), 8 bits
Mode 0x0305: 1024x768 (+1024), 8 bits
Mode 0x030e: 320x200 (+640), 16 bits
Mode 0x030f: 320x200 (+1280), 24 bits
Mode 0x0311: 640x480 (+1280), 16 bits
Mode 0x0312: 640x480 (+2560), 24 bits
Mode 0x0314: 800x600 (+1600), 16 bits
Mode 0x0315: 800x600 (+3200), 24 bits
Mode 0x0317: 1024x768 (+2048), 16 bits
Mode 0x0318: 1024x768 (+4096), 24 bits
Mode 0x0330: 320x200 (+320), 8 bits
Mode 0x0331: 320x400 (+320), 8 bits
Mode 0x0332: 320x400 (+640), 16 bits
Mode 0x0333: 320x400 (+1280), 24 bits
Mode 0x0334: 320x240 (+320), 8 bits
Mode 0x0335: 320x240 (+640), 16 bits
Mode 0x0336: 320x240 (+1280), 24 bits
Mode 0x033d: 640x400 (+1280), 16 bits
Mode 0x033e: 640x400 (+2560), 24 bits
Mode 0x0360: 1280x800 (+1280), 8 bits
Mode 0x0361: 1280x800 (+5120), 24 bits

Si vous ne l'avez pas installé hwinfo, vous pouvez le faire avec la commande apt-get install hwinfo. Le mode qui m'intéresse ici, c'est celui à 1280x800.

2. Modifier le fichier /etc/default/grub

 En ajoutant la ligne:

GRUB_GFXPAYLOAD_LINUX=1280x800

Puis mettez à jour le grub.

$ sudo update-grub


Voici à quoi ressemble mon fichier (en rouge ce que j'ai du ajouté en plus):

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Set the framebuffer resolution; used on tty/console [text consoles]
GRUB_GFXPAYLOAD_LINUX=1280x800

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Une petite note concernant cet ajout. Sur le site du gnu.org, il est marqué:

Depending on your kernel, your distribution, your graphics card, and the phase of the moon, note that using this option may cause GNU/Linux to suffer from various display problems, particularly during the early part of the boot sequence. If you have problems, set this variable to ‘text’ and GRUB will tell Linux to boot in normal text mode.

En gros, si plus tard vous rencontrerez des problèmes d'affichage à l'écran lors du boot, choisissez l'option 'text' par défaut, ainsi le GRUB va demander au noyau linux de démarrer en mode texte.

3. Modification de la taille de la police dans le TTY


Au niveau de la taille des polices, on a le luxe d'avoir quelques choix et qui ne nécessite pas une redémarrage de l'ordinateur. Et je dis, tant mieux, c'est toujours ça de gagné.

Pour ce faire, lancer la commande 'sudo dpkg-reconfigure console-setup', puis suivez les instructions afichées à l'écran, comme proposé sur la page askubuntu.com.

Pour visualiser les modifications, entrez sur l'un des écrans TTY, connectez vous en tant que root, puis entrez la commande:

# console-setup



jeudi 21 mai 2015

II. Installation d'un Debian GNU/Linux en remplacement du Mac OS X

Je ne vous fait pas dire que l'installation d'un systeme linux sur un Mac dote d'un processeur Intel, est la partie la moins palpitante dans cette histoire. Par contre, ca peut durer une eternite si vous ne savez pas trop ce que vous voulez faire, et surtout si vous ne l'avez jamais fait auparavent.

Durant l'installation, les deux moments ou j'ai eu peur que l'installation ne se deroule pas comme prevue, c'etait dans un premier temps lors de l'installation du GRUB, puis apres au niveau demarrage du serveur graphique pour afficher le bureau. Generalement, le probleme d'installation se passe a ces moments la.

Une fois l'installation terminee, les vraies soucis commencent. Je tiens a noter qu'initialement, j'ai installe a la base, XFCE comme environnement de bureau. Je vous ai propose d'installer Cinnamon pour vous faire gagner du temps, et pour avoir un bureau presque entierement fonctionnel. Cependant, je vous suggere d'installer tous les environements de bureau lors de l'installation de Debian, puis de les essayer un par un, pour trouver ce qu'il vous convient le mieux.

1. Probleme avec le touchpad (ou trackpad)

Bien qu'avec Cinnamon, le touchpad fonctionne comme je l'ai souhaite (une tape avec un doigt pour un click gauche, deux doigts pour un click droit, trois doigts pour un click du milieu, puis defilement des pages avec deux doigts, etc.), je vous propose tout de meme de jetter un coup d'oeil sur les liens ci-dessous qui, non seulement permettent de resoudre les problemes sous XFCE, mais encore il y a des astuces qui permettent d'ameliorer la gestion du trackpad.

Activation du TapTap pour cliquer via le pad (Astuce)
Enable righ-click on Macbook


Le probleme qui se passe ici, c'est que le touchpad est vu par le systeme comme une souris a un seul bouton.

Une solution simple pour activer cette fonctionnalite, c'est d'ajouter dans la liste des programme au demarrage (Menu > Settings > Session and Startup), la commande ci-dessous:

synclient VertEdgeScroll=1 & synclient TapButton1=1 & synclient TapButton2=3 & synclient TapButton3=2 &

2. Probleme avec la gestion de la luminosite de l'ecran avec les touches F1 et F2 du clavier

Je n'ai pas encore verifie si le probleme avec XFCE est resolu en utilisant les pilotes proprietaires de NVIDIA, comme indique au paragraphe 5 de cet article.

Comme le probleme de gestion d'eclairage de l'ecran n'existe pas avec Cinnamon, et que je suis satisfait de mon bureau, je ne vais pas faire de suite des tests supplementaires avec l'environnement XFCE. Par contre, les touches F5, F6, F7-F12 marchent out of the box aussi bien sous XFCE que Cinnamon. (les touches F7-F9 marchent avec Rythmbox et non avec VLC).

3. Ecran blanc pendant 30 secondes lors du reboot

Le probleme ici, c'est que l'EFI met 30 secondes pour se decider avant de passer la main au GRUB. C'est ici qu'on aura besoin du CD original d'installation du Mac OS X.

Je vous propose dans un premier temps, de redemarrer le Mac pour re-initialiser la memoire NVRAM (appuyez sur les touche CMD+ALT+P+R en meme temps juste apres la petite musique de demarrage).

Apres que l'ordinateur aurait redemarre une deuxieme fois, appuyez sur la touche C du clavier, juste apres le son du demarrage, comme si vous souhaitez re-installer Mac OS X.

Suivez les instructions ci-dessous comme precise dans le forum 'Bless doesn't fix white boot screen boot delay for single-boot Xubuntu 14.04 on Macbook 4,1'.

Dans le menu, choisissez Utilitaire > Utilitaire du disque, verifiez vos partitions et noter l'identifiant du disque pour le Boot. Dans mon cas, c'est disk0s1.



Lancer ensuite le terminal a partir du menu Utilitaire > Terminal.


Taper la commande:

# bless --device /dev/disk0s1 --setBoot --legacy --verbose




# reboot

Cette commande va redemarrer l'ordinateur.

Pour gagner un peu plus de temps pour arriver jusqu'a ma session, j'ai modifie le "timeout" du Grub, en modifiant le fichier /etc/default/grub: GRUB_TIMEOUT=0.

# update-grub

Pour valider la modification, puis redemarrer encore une fois l'ordinateur.

4. Problemes de freeze de l'ecran

Il m'arrive parfois d'avoir juste le fond d'ecran qui se met a l'avant de l'ecran, en me bloquant l'access a tout ce qu'il y a derriere. En passant par le mode console en tapant sur le clavier FN+CTRL+ALT+Fx (x=[1-6]; F7, c'est pour revenir au GUI), j'ai note le message:

[33345.312455] nouveau E [    PFB][0000:01:00.0] trapped read at 0x002041c000 at channel 0x0000fb2a [Xorg [1068]] PGRAPH/TEXTURE/00 reason: PAGE_NOT_PRESENT

Dans ce cas, il est conseille d'utiliser les pilotes proprietaires de NVIDIA au lieu de Nouveau, d'autant plus qu'apres avoir installe les pilotes NVIDIA, ca a regle un autre probleme que j'avais rencontre juste apres m'etre connecte dans ma session avec Cinnamon. J'avais un ecran blanc, et meme parfois je me retrouve avec une page toute pixelisee et tres moche. Maintenant, c'est de l'histoire ancienne.

Les discussions ci-dessous m'ont permis d'avoir une solution qui marche.

CentOS - Graphics issues
How to use nvidia drive , blacklist nouveau?

Voice les etapes a suivre, pour ceux qui ont un doute sur comment le faire.

Comme ma carte graphique (GeForce GT 330M), est consideree comme un vieux modele (legacy), j'ai suivi l'installation pour les cartes GeForce 6xxx and 7xxx GPUs.

i. Verifier que votre carte graphique est bien compatible avec les pilotes proposes dans les depots, ainsi ca vous evitera de compiler quoi que ce soit, a la main.

ii.  Verifier bien que vous avez "contrib" et "non-free" dans /etc/apt/sources.list, comme dans l'exemple:

deb http://http.debian.net/debian/ jessie main contrib non-free
 
iii. Installer les paquets ci-dessous

# aptitude update
# aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-legacy-304xx-kernel-dkms

Ensuite,

# aptitude nvidia-xconfig
# nvidia-xconfig

 Redemarrer l'ordinateur, et voyez le resultat.

# init 6

5. Probleme de gestion d'energie

Lorsque je rabats l'ecran, l'ordinateur devrait se mettre en veille d'apres mes configurations.



Mais ce n'etait pas le cas jusqu'au moment ou j'ai installe les pilotes NVIDIAs de la carte graphique.

Et voila, j'espere que j'ai pu aider quelques un d'entre vous, qui ont rencontre les memes problemes.

mercredi 20 mai 2015

I. Installation d'un Debian GNU/Linux en remplacement du Mac OS X

Tout est dit dans le titre. Je vais definitivement supprimer Mac OS X de mon ordinateur, pour le remplacer par un Debian GNU/Linux.

Par contre, on risque de ne pas vous le repeter assez souvent, mais n'oubliez pas de tout sauvegarder de votre ordinateur avant de le formater. 


Si ca peut aider certain, voici une petite liste de fichiers que j'ai du sauvegarder avant de formater l'ordinateur:

- Liste des contacts dans Address Book
- Tous mes calendriers dans iCal
- Tous mes emails, en particulier, ceux que j'ai sauvegarde en local
- Les musiques et les videos (iTunes, etc.)
- Les notes des post-it
- Verifier qu'il ne reste pas de fichiers qui trainent dans l'un des dossiers par defaut


Dans cet article, je vais essayer de donner le maximum d'information concernant la migration et eventuellement des problemes auxquels j'ai du faire face.

Avant d'aller plus plus, ci-dessous une petite liste que j'estime qu'il faut avoir au lieu de se lancer "dans le vide":

- Macbook processeur Intel avec lecteur de CD interne/externe
- CD d'installation de Debian (8.0 aka Jessie)
- CD d'installation original du Mac OS X (10.6 aka Snow Leopard)
- GParted en live CD (optionnel)
- Clef USB contenant le pilote de la carte reseau, bcm43xx (firmware-brcm80211_0.43_all.deb pour la version stable de Debian; ici pour les autres versions)
- Une souris, puisque le trackpad risque de vous poser quelques soucis

/!\ Si jamais l'installation ne se passe pas comme souhaite, ou encore si vous pensez avoir regrette de ne plus avoir votre Mac OS, sachez que vous pouvez a tout moment reinstaller Mac OS X a condition d'avoir le CD original.

Autre chose, avant de supprimer definitivement la partition Mac OS X de votre ordinateur, je vous conseille vivement de verifier la version de l'EFI puis de le mettre a jour si necessaire.

Pour rappel, ci-dessous les caracteristiques de mon ordinateur:

Ordinateur: MacBook Pro (15", Mid 2010)
Identifiant: MacBookPro6,2
EFI: MBP61.0057.B0F (EFI 2.6)
SMC: 1.58f17 (SMC 1.7)

Je pense que tout est dit, maintenant on peut se lancer dans l'aventure. Je ne vais pas detailler le systeme d'installation, mais juste certains points que je pense qu'il est necessaire d'en parler.

Une petite note au passage, pour forcer le boot a partir d'un lecteur CD, il faut appuyer pendant quelques secondes sur la touche C du clavier, juste apres la petite "musique" [appeler le comme vous le voulez, mais ce n'est pas un bip ;)] de demarrage du Mac.

1. Installation en mode Expert




2. Detection de la carte reseau

C'est a ce moment qu'il faut inserer la clef USB contenant le pilote pour cette carte.



Selectionner l'adapteur approprie selon votre choix de vous connecter en wifi ou en filaire. Dans mon cas, je me suis connecte en wifi.


Selectionner votre reseau wifi.




3. Puis vient ensuite le fameux partionnement du disque

J'ai choisi le mode manuel, puis j'ai cree 4 partitions:

*Partition 1: 1MB (BOOT - format: biosgrub, et non pas ext2/3/4)
(Partition vide de 10 MB, au cas ou plus tard, je dois agrandir la partition boot)
*Partition 2: 20 GB (ROOT - format: ext4)
*Partition 3: 8.3 GB (SWAP)
*Partition 4: max (HOME - format: ext4)

Si vous comptez bien, il y a 5 partitions au total, dont un est vide.




*Ma remarque peut sembler bete, mais n'oubliez pas que vous avez toujours votre clef USB branche a l'ordinateur, et que vous n'etes pas cense le formater!! A moins que ...




Une remarque que m'a fait un ami, et que je trouve pertinente, c'est d'installer linux sur une carte SD. Il y a deux facon de le faire. Soit en replacant le lecteur CD directement par un disque SSD, soit en branchant sur le cote une carte SSD de tres bonne qualite, et avec 60 Go d'espace disque au minimum.

4. Installation des differents paquets. 

Si vous ne savez pas encore ce que vous voulez avoir exactement sur votre ordinateur, je vous propose d'accepter tous les paquets sans exception pour vous simplifier la tache. Et surtout qu'il n'y en a pas tant que ca, et que vous pouvez vous debrouiller pour les supprimer plus tard s'il le faut.


Pour les pilotes necessaire a Initrd, je n'ai pas essaye de verifier l'option "targeted",  avec des pilotes bien specifiques au systeme, si le noyau arrive a demarrer ou non. Il ne devrait pas y avoir de probleme, mais je n'ai pas assez de temps pour faire le test.


Ici pareil, d'apres la description, si vous n'avez pas une bonne connection internet, mieux vaut se passer de l'utilisation d'un mirroir pour l'installation.


Moi je ne suis pas un puriste. Il me faut certains logiciels proprietaires sur mon ordinateur. C'est un choix personnel ;).


Et meme parfois, il me faut des logiciels un peu plus a jour, par rapport a ceux installe sur une Debian stable. Pour rappel, la Debian stable vient juste de sortir, mais les logiciels qui y sont installes seront loin d'etre a jour d'ici quelques mois, et pire encore dans quelques annees. Cependant, avoir la derniere version d'un logiciel peut etre a double tranchant pour votre systeme. Mais ca ne devrait pas vous poser de problemes si vous savez ce que vous faites.

Une petite note hors sujet, mais on recontre regulierement cette situation ou un utilisateur ayant utilise un OS derive de Debian (Ubuntu, Mint, etc.), pensent que les deux systemes sont compatibles. Et c'est FAUX.
Les paquets de Debian peuvent etre compatible avec ceux de l'un des systemes filles. Par contre, l'inverse n'est pas vrai du tout.

Debian, Ubuntu, Mint, et autre derive de Debian, sont des systemes d'exploitation independants. Ils ne partagent pas les meme depots.
N'utilisez jamais de paquets d'un autre depot, autre que ceux proposes dans les depots officiels de Debian, si vous ne souhaitez pas avoir des problemes avec votre systeme.



Ici aussi, c'est un choix personnel de vouloir partager a l'equipe des developpeurs, comment j'utilise ce systeme! Si vous aimez les stats, c'est ici qu'ils rassemblent toutes les donnees receuillies.


5. Installation de l'environnement de bureau

On arrive presque au bout du tunnel. J'ai fais le choix d'installer Cinnamon, puisque ce dernier convient le mieux a mes criteres qui sont:

- Environnement de bureau leger
- Minimum de recherche et de bidouillage pour pouvoir utiliser les differentes touches speciales du Mac, et plus particulierement les touches F1 et F2 pour gerer l'eclairage de l'ecran.


En gros, il me faut quelque chose qui est compatible 'out-of-the-box' avec un Macbook.

6. Installation du bootloader (chargeur de demarrage)

Ici on vous demande si vous voulez installer le GRUB dans le MBR.


Comme je l'ai precise plus haut, n'oubliez pas que vous avez toujours la clef USB branche sur votre ordinateur, dans la partition /dev/sdc. Et comme, le bootloader, je dois l'installer sur la premiere partition disponible, je n'ai pas d'autre choix que de prendre /dev/sda.


J'espere que vous avez lu cet article en entier avant de vous lancer comme un bourrin avec le formatage de votre disque, puis ensuite l'installation de linux! Si tel est le cas, vous devriez certaintement vous poser la question de ce que vous devrez faire a ce niveau.

Si je m'arrete un peux a ce point, c'est qu'en general, lorsqu'on vous propose un tutoriel pour installer linux sur votre Mac, ce qu'il revient souvent c'est comment le faire en dual/triple boot. Cela implique qu'il vous faut installer un boot manager comme rEFIt ou rEFInd dans la partition Mac OS.

Cependant, si vous avez ete attentif depuis le debut, je ne vous ai pas parle de cet alternative puisque l'on va supprimer definitivement par partition Mac OS, par contre je vous ai conseille d'avoir le CD d'install original. Je vais vous expliquer un peu plus loin les raisons a cela.



7. Re-demarrage du systeme

C'est le moment fatidique qui vous dira que vous avez bien travaille ou non.




Et voila! On est arrive au bout du tunnel, mais ce n'est pas tout. Dans un prochain article, je vais vous parler de ce qu'on peut ameliorer sur notre machine afin d'avoir quelque chose de beaucoup plus agreable a utiliser.




dimanche 11 mai 2014

II. Ubuntu/Debian: Installation et configuration d'un Server LAMP - Suite et Fin

III. Quelques messages d'erreur


1. Problème d'identification du nom de domaine

 

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message


Ceci n'est pas message d'erreur, mais juste un message d'avertisement qui nous dit qu'Apache ne peut pas identifier le nom de domaine du server.

Pour y remedier, ajouter 'ServerName localhost' en fin de texte dans le fichier de configuration de Apache /etc/apache2/apache2.conf




Notez bien que l'on peut retrouver les messages d'erreur du serveur Apache dans les logs, /var/log/apache2/error.log

Sources:
Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
Recent Apache2 update broke virtual host and New Error on restart or starting

2. Problème de configuration de phpMyAdmin avec Apache

The requested URL /phpmyadmin was not found on this server.



C'est tout a fait normal vu que je n'ai choisi aucun serveur associé à phpmyadmin lors de l'installation de ce dernier. Reconfigurons donc phpmyadmin.

sudo dpkg-reconfigure phpmyadmin





Une autre option, si on ne souhaite pas reconfigurer phpmyadmin, serait d'ajouter 'Include /etc/phpmyadmin/apache.conf' a la fin du fichier /etc/apache2/apache2.conf

Sources:
Localhost or phpMyAdmin not found on server: How to fix?
phpmyadmin is not working after I installed it

3. Accès à phpMyAdmin sans mot de passe

Login without a password is forbidden by configuration




Et oui, je fais mon rebel, puisqu'il le faut de temps en temps pour ne pas s'ennuyer .. ce serveur n'est utilise qu'en local, pour m'entrainer au language php, donc je me suis permis de ne pas mettre de mot de passe pour acceder a phpmyadmin, ce qui est fortement deconseille.

Pour se connecter dans phpmyadmin sans mot de passe, il suffit d'editer le fichier

/etc/phpmyadmin/config.inc.php

Puis de decommenter la ligne '$cfg['Servers'][$i]['AllowNoPassword'] = TRUE;'



Source;
How to login without password in phpMyAdmin


VI. Notes supplementaires

1. Afficher les erreurs php


Ce qui serait intéressant, lorsqu'on commence à programmer en PHP, c'est d'avoir les messages d'erreur qui s'affiche dans le navigateur. Pour ce faire, il faut editer le fichier /etch/php5/apache2, et de modifier la valeur comme suit: 'display_errors = On'.




Encore une fois, ceci est une machine pour faire des tests, et qu'il est recommande de garder l'option en 'display_errors = Off'.

Pour afficher les messages d'erreur avec un server MAMP (dans LAMP, il n'y a aucun message d'erreur qui s'affiche, de ce fait j'ai choisi l'option ci-dessus), il suffit d'ajouter le code ci-dessous sur chacune des pages php:

// Afficher les erreurs à l'écran
ini_set('display_errors', 1);
// Enregistrer les erreurs dans un fichier de log
ini_set('log_errors', 1);
// Nom du fichier qui enregistre les logs (attention aux droits à l'écriture)
ini_set('error_log', dirname(__file__) . '/log_error_php.txt');
// Afficher les erreurs et les avertissements
error_reporting(e_all);





Source:
Afficher les erreurs PHP


2. Edition des éléments d'une table dans MySQL


Voici les deux types de messages que j'ai rencontrés:


Ou encore:



Pour y remedier, il faut editer 'Columns', cliquer sur 'primary' (en general, c'est au niveau du champs qui s'auto-incremente), puis de valider par 'OK'.



Et voila, tout devrait etre bon maintenant.



Source:
Scripting Help>phpMyAdmin
mySQL (phpMyAdmin) error : This table does not contain a unique column
This table does not contain a unique column.

3. MOOC: Massive Open Online Curses

Pour cloturer cette documentation, voici une petite Liste de MOOCs pour suivre des cours de HTML5, CSS, PHP, JavaScript, etc. Il y en a d'autre sur internet en faisant des petites recherches.

Apprenez à créer votre site web avec HTML5 / CSS3
Concevez votre site web avec PHP et MySQL
Introduction à HTML5 - Animations et jeux

I. Ubuntu/Debian: Installation et configuration d'un Server LAMP

Avant de commencer cet article, je tiens a preciser que j'ai installe ce server LAMP dans le but de pouvoir suivre les cours sur le language PHP. Les manipulations ci-dessous sont des manipulations basiques pour Ubuntu 13.10 et 14.04, et non optimise pour un server en production.

I. Preparation du server LAMP


On va commencer par installer tout betement les paquets necessaire au server LAMP (Linux, Apache, MySQL and PHP):

sudo apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql

Puis configurer le répertoire de travail. (Je reprends ici toutes les manipulation proposees dans la documentation de Ubuntu, mais en y rajoutant ma petite touche personne avec mes preferences.)


1. Protection de /var/www/html


sudo vim /etc/apache2/sites-available/000-default.conf
Rajouter en dessous de la ligne DocumentRoot /var/www/html (pour autoriser uniquement les machines avec une adresse IP du type 127.0.0.1 ou 192.168.1.0, à acceder aux dossier dans /var/www/html).

<Directory /var/www/html>
   Options Indexes FollowSymLinks MultiViews
   AllowOverride None
   <RequireAny>
     Require ip 127.0.0.1
     Require ip 192.168.1
   </RequireAny>
 </Directory>



2. Création des répertoires de travail


sudo mkdir -p /media/www-dev/{public,private}


3. Donner les droits utilisateur aux répertoires de travail


sudo chown -R $USER:users /media/www-dev


4. Configuration d'alias dans Apache



Éditez en super utilisateur le fichier : /etc/apache2/sites-available/000-default.conf afin d'y ajouter en dessous de la ligne DocumentRoot /var/www/html

## ZONE PUBLIQUE
Alias /public /media/www-dev/public
<Directory /media/www-dev/public>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
</Directory>

## ZONE PRIVEE
Alias /private /media/www-dev/private
<Directory /media/www-dev/private>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    <RequireAny>
        Require ip 127.0.0.1
        Require ip 192.168.1
        Require host .w3.org
    </RequireAny>
</Directory>
 

5. Ajout de liens symboliques


sudo ln -s /media/www-dev/public /var/www/html/public
sudo ln -s /media/www-dev/private /var/www/html/private
sudo rm /var/www/html/index.html

Note: pour supprimer un lien symbolique,

rm /dossier/nom_symbolique




6. Finalisation


sudo /etc/init.d/apache2 reload

ou sinon,  /etc/init.d/apache2 force-reload


II. Verification et test sur les differents serveurs


Verifions maintenant que tout fonctionne comme il faut:

1. Test du serveur Apache:


http://localhost/




2. Test du serveur PHP


sudo echo "<?php phpinfo(); ?>" >> /var/www/html/testphp.php

Voici ce que nous renvoie la page localhost/test.php


Source:
Wiki debian.org - LAMP, Linux Apache MySQL PHP


3.Test du serveur MySQL:


mysql -u root -p



Si vous n'avez pas mis de mot de passe, c'est le moment de le faire.

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('votre_nouveau_mot_de_passe');

Redemarrer le server Apache:
sudo /etc/init.d/apache2 restart

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.49 sec)

mysql> use test;
Database changed
mysql> show tables;
Empty set (0.00 sec)

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| servers                   |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
24 rows in set (0.00 sec)

mysql> quit
Bye
malagasy@ubuntu:~/Temp$


Source:
Building a LAMP Server
Installing LAMP (Linux, Apache, MySQL and PHP) On Linux Mint
MySQL: Testing a MySQL Installation


4. Installation de l’interface de gestion de MySQL


Je vous propose ensuite l'installation de phpmyadmin, vu que jongler avec les lignes de commande n'est pas tres pratique - en tout cas, pour moi.

sudo apt-get install phpmyadmin





5. Racourci vers le dossier de travail


Une fois que tout est bon, vous pouvez ajouter le dossier /media/www-dev comme dans les marques pages de votre navigateur de dossier.



Et voila, le serveur LAMP est  prêt et est fonctionnel.

Source:
Installing Apache2 With PHP5 And MySQL Support On Ubuntu 13.04 (LAMP)