[Linux] Archives – Compression, Decompression
août 6, 2009
Bon parce que ça ne rentre pas je vais poser ça noir sur blanc.
GZ = > gzip
BZ2 => bzip2 (bunzip2)
TAR=> tar
TGZ(TAR.GZ) => tar czf (tar xzf)
TBZ2(TAR.BZ2) => tar cjf (tar xjf)
ZIP => zip ou p7zip
rar => rar/unrar
C’est brut de pingouin et c’est pas grave, voir la source pour plus d’info.
Source : http://www.libordux.org/doc/cmdline/archives.php
VMWare Server 2.0 on Fedora 10
février 23, 2009
Quelques notes à l’attention des futurs usagers :
- Ne pas utiliser le rpm, préférer le tgz.
- Modifier le fichier /etc/pam.d/vmware-authd, changer pam_unix.so en pam_permit.so (voir lien : http://tommi.org/2008/09/vmware-server-20-and-fedora-9-fedora-10/)
- Modifier (ou bien créer) le fichier ~/.vmware/config et ajouter le ligne xkeymap.nokeycodeMap = true (lien : http://nthrbldyblg.blogspot.com/2008/06/vmware-and-fubar-keyboard-effect.html)
<u><b>Il s'agit d'une rustine à ne pas faire sur une machine en production.</b></u><br /><br />

[F10] Petite astuce avec les RPMs
février 3, 2009
Lorsque l’on récupère un RPM exotique souvent on cherche à l’installer comme ça :
[root@localhost toky]# rpm -ivh *.rpm
erreur: Dépendances requises:
libgdk-1.2.so.0 est nécessaire pour coriolis-crlcore-1.0.20080221-1.i386
libgtk-1.2.so.0 est nécessaire pour coriolis-crlcore-1.0.20080221-1.i386
libgdk-1.2.so.0 est nécessaire pour coriolis-cyclop-1.0.20080221-1.i386
libgtk-1.2.so.0 est nécessaire pour coriolis-cyclop-1.0.20080221-1.i386
libgdk-1.2.so.0 est nécessaire pour coriolis-isobar-1.1.20080221-1.i386
libgtk-1.2.so.0 est nécessaire pour coriolis-isobar-1.1.20080221-1.i386
libgdk-1.2.so.0 est nécessaire pour coriolis-mistral-1.1.20080221-1.i386
libgtk-1.2.so.0 est nécessaire pour coriolis-mistral-1.1.20080221-1.i386
libgdk-1.2.so.0 est nécessaire pour coriolis-nimbus-1.1.20080221-1.i386
libgtk-1.2.so.0 est nécessaire pour coriolis-nimbus-1.1.20080221-1.i386
Et là on passe un certain temps à installer les dépendances lorsqu’il y en a beaucoup.
Mais il y a mieux !!
[root@localhost toky]# yum localinstall *.rpm
***********
***********
***********
–> Résolution des dépendances terminée
***********
***********
Le paquetage coriolis-nimbus-debuginfo-1.1.20080221-1.i386.rpm n’est pas signé
Presque bon …
[root@localhost toky]# yum –nogpgcheck localinstall *.rpm
Tada !!
Streaming Video avec PHP
novembre 10, 2008
Je dispose d’un serveur Apache tout ce qu’il y a de plus classique. Loin de chez moi, il m’arrive de l’utiliser pour visionner certaines de mes vidéos.
À cause d’un faible débit, il est souvent nécessaire de télécharger toute la vidéo pour espérer la voir sans blocage.
Pour résoudre le problème, je viens de mettre au point un petit fichier php qui va pouvoir convertir à la volet les fichiers vidéo.
Comme toujours, je ne ponds pas de code sécurisé, mais du code utilitaire, vous allez voir, c’est du gruyère
Code source :
<?php
$FPS = 15;
$SCALE = “640:480″;$FICHIER = $_GET['fichier'];
$COMMANDE= “mencoder \”$FICHIER\” -ofps $FPS -ovc lavc -lavcopts vcodec=flv:acodec=mp3 -vf scale=$SCALE -ffourcc FLV1 -oac mp3lame -o /dev/stdout -really-quiet -noskiplimit”;
if (!($p=popen(“$COMMANDE”,”r”)))
{
return 126;
} else
{
header(“Expires: Mon, 26 Jul 1997 05:00:00 GMT”);
header(“Last-Modified: ” . gmdate(“D, d M Y H:i:s”) . ” GMT”);
header(“Cache-Control: no-store, no-cache, must-revalidate”);
header(“Cache-Control: post-check=0, pre-check=0″, false);
header(“Pragma: no-cache”);
header(“Content-Type: video/x-flv”);while (!feof($p)) {
$l=fgets($p,1024);
print $l;
}
pclose($p);
}?>
Vous l’aurez compris, pour fonctionner ce programme nécessite la présence de mplayer et des codecs qui vont bien.
Cette page s’utilise ensuite avec comme paramètre fichier=”emplacement de la vidéo”.
Quelques problèmes persistent :
- Usage CPU important (plus que necessaire je pense)
- Persistance des commandes mencoder (mais heureusement en usage CPU nul)
- Je n’ai pas réussi à intégrer ces pseudo-flv dans un lecteur flv flash (je les lis en streaming avec mplayer)
Warcraft III : Battle.Net sous Linux Ou comment patcher WIne
novembre 4, 2008
Autrefois j’étais joueur linuxien sur Cedega, je n’avais jamais eu de problème avec Warcraft III. Le projet Cedega tombant dans l’oubli j’ai décidé de passer vers Wine.
Tout s’est très bien passé (Installation / Patch et mise à jour). Tout sauf le jeu sous Battle.Net (chat en ligne impossible et impossible d’héberger une partie).
Je me rends donc sur http://www.winehq.org/ et sur la page dédiée à mon jeu favori (http://appdb.winehq.org/objectManager.php?sClass=version&iId=3126) j’apprends la nécessité d’avoir un patch non validé par la team Wine.
Comment patcher Wine proprement sous Fedora
Etape 1 : Récolte des fichiers
(Si vous ne disposez pas de yumdownloader)
yum install yum-util
(puis pour récupérer le src.rpm de wine)
yumdownloader –source wine
Concernant le patch, je vous conseille de vous armer de patience et de savoir parler anglais. Une fois le bon patch récupéré (pour la bonne version) exposez le fièrement :
— a/dlls/kernel32/sync.c
+++ b/dlls/kernel32/sync.c
@@ -1826,12 +1826,12 @@ HANDLE WINAPI CreateIoCompletionPort(HANDLE hFileHandle, HANDLE hExistingComplet
TRACE(“(%p, %p, %08lx, %08x)\n”,
hFileHandle, hExistingCompletionPort, CompletionKey, dwNumberOfConcurrentThreads);- if (hExistingCompletionPort && hFileHandle == INVALID_HANDLE_VALUE)
+/* if (hExistingCompletionPort && hFileHandle == INVALID_HANDLE_VALUE)*/
{
SetLastError( ERROR_INVALID_PARAMETER);
return NULL;
}
-
+#if 0
if (hExistingCompletionPort)
ret = hExistingCompletionPort;
else
@@ -1858,6 +1858,7 @@ fail:
CloseHandle( ret );
SetLastError( RtlNtStatusToDosError(status) );
return 0;
+#endif
}/******************************************************************************
À SAVOIR : les zones en gras seront à supprimer, elles ne correspondent pas à la structure réelle utilisée pendant la construction du rpm.
Étape 2 : Préparation des fichiers
(installation des sources dans les dossiers /usr/src/redhat/)
rpm -i wine-1.1.5-1.fc9.src.rpm
copiez aussi votre patch dans le dossier /usr/src/redhat/SOURCES/
Étape 3 : Modification du fichier SPEC
Dans le fichier /usr/src/redhat/SPECS/wine.spec il faut :
- Augmenter le numéro de release d’un(+1) pour éviter un conflit avec la version existant.
- Indiquer la présence d’un nouveau patch
- Indiquer l’exécution du patch
- Remplir le changelog si vous souhaitiez partager ce rpm
Name: wine
Version: 1.1.5
Release: 2%{?dist}…
Source300: wine-mime-msi.desktop
# enhancements
Source400: wineshelllink-fedora
Patch400: wine-wineshelllink.patch# explain how to use wine with pulseaudio
Source402: README-FEDORA-PULSEAUDIOPatch1: wine-rpath.patch
# fix #448338
Patch2: wine-desktop-mime.patch# fix: I/O completion
Patch3: wine-completion-disable.patchBuildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
…
etup -q -n %{name}-%{version}-fe
%patch1
%patch2
%patch3
%patch400%build
…%changelog
* Sat Nov 02 2008 Bodman
- 1.1.5-2
- I/O fix…
Etape 4 – Compilation du RPM
Wine n’est compilable qu’en version i386. Mais ne vous inquiétez pas que vous soyez sur i386 ou x64, cela ne change rien.
Il y a un certain nombre de dépendances pour wine ….
yum install alsa-lib-devel.i386 alsa-lib-devel audiofile-devel.i386 audiofile-devel cups-devel.i386 cups-devel dbus-devel.i386 dbus-devel esound-devel.i386 esound-devel fontconfig-devel.i386 fontconfig-devel freetype-devel.i386 freetype-devel giflib-devel.i386 giflib-devel hal-devel.i386 hal-devel lcms-devel.i386 lcms-devel libICE-devel.i386 libICE-devel libjpeg-devel.i386 libjpeg-devel libpng-devel.i386 libpng-devel libSM-devel.i386 libSM-devel libusb-devel.i386 libusb-devel libX11-devel.i386 libX11-devel libXau-devel.i386 libXau-devel libXcomposite-devel.i386 libXcomposite-devel libXcursor-devel.i386 libXcursor-devel libXext-devel.i386 libXext-devel libXi-devel.i386 libXi-devel libXinerama-devel.i386 libXinerama-devel libxml2-devel.i386 libxml2-devel libXrandr-devel.i386 libXrandr-devel libXrender-devel.i386 libXrender-devel libxslt-devel.i386 libxslt-devel libXt-devel.i386 libXt-devel libXv-devel.i386 libXv-devel libXxf86vm-devel.i386 libXxf86vm-devel mesa-libGL-devel.i386 mesa-libGL-devel mesa-libGLU-devel.i386 mesa-libGLU-devel ncurses-devel.i386 ncurses-devel openldap-devel.i386 openldap-devel openssl-devel.i386 openssl-devel zlib-devel.i386 pkgconfig sane-backends-devel.i386 sane-backends-devel xorg-x11-proto-devel.i386 xorg-x11-proto-devel glibc-devel.i386 prelink fontforge flex bison
Pour ma part les paquets alsa-lib-devel giflib-devel et libusb-devel en version i386 entre en conflit avec mes paquets x64 :
yum remove alsa-lib-devel* giflib-devel* libusb-devel*
yum install alsa-lib-devel.i386 giflib-devel.i386 libusb-devel.i386 esound-devel.i386 gphoto2-devel.i386 sane-backends-devel.i386
(Compilation des RPMs)
cd /usr/src/redhat/SPECS/
rpmbuild -ba wine.spec –target i386
(Installation de Wine patché)
cd /usr/src/redhat/RPM/
rpm -Uvh wine-*1.1.5-2.fc9.i386.rpm
bien sûr en cas de mise à jour de wine plusieurs solutions s’offrent à vous :
- Patcher la nouvelle version.
- Bloquer les mises à jour automatiques de wine
- proposer votre patch à la personne responsable du paquet wine de votre distribution favorite.
Sources :
Patch : http://bugs.winehq.org/attachment.cgi?id=8368
compilation wine sur x64 : http://wiki.winehq.org/WineOn64bit
Script Bash pour chargement FTP
octobre 22, 2008
Je ne suis pas au mieux de ma forme mais voici un petit script pondu pour mettre à jour la racine d’un site web sans passer par gftp (ou tout autre programme d’ailleurs).
#!/bin/bash
echo “===============================================”
echo “= UPLOAD =”
echo “= TO =”
echo “= SERVER =”
echo “===============================================”
echo “”
#Variables utilisées
FTP_SERVER=”perso-ftp.orange.fr” ;
FTP_USER=”my_username” ;
FTP_PASSWORD=”" ;
FTP_FOLDER=”/blabla/root_web/“;
# On référence les fichiers à copier
FTP_FILES=`ls $FTP_FOLDER/*`
echo “Les fichiers suivants vont êtres copiés !!”
echo “——————————————”
for F in $FTP_FILES
do echo $F
done
echo “——————————————”
# Résumé des données
cd $FTP_FOLDER
echo “Serveur : $FTP_SERVER”
echo “User : $FTP_USER”
# Demande du mot de passe
echo -n “Password: “
stty -echo
read FTP_PASSWORD ;
stty echo
# Lancement de la copie
echo “GO”
echo “Chargement du site en cours…” ;
ftp -vin $FTP_SERVER <<EOF
user $FTP_USER $FTP_PASSWORD
binary
mput *
bye
EOF
echo “Fin du chargement.”
Ce n’est pas grand chose, mais c’est bien pratique
EGroupWare sous Fedora 9
septembre 19, 2008
Depuis toujours, je suis à la recherche d’un logiciel combinant Mail/Agenda/IM. Ce logiciel n’existe pas, je m’y suis résolu. J’ai essayé pas mal de logiciels pour compenser mon manque. Les plus connus y sont passés.
Mon dernier choix était Evolution / Pidgin. Parfaitement intégrés à gnome, avec un possible agenda commun c’était le duo idéal. Mais voila evolution n’est pas stable lorsqu’il s’agit d’un usage intensif …
J’ai donc décidé d’innover et de passer à une interface WEB, un bureau virtuel. La transition risque d’être longue et difficile, mais j’espère un resultat optimal. Dans mes rêves les plus fous, ce serait encore mieux qu’un client lourd, car disponible depuis n’importe ou.
Plan de migration
- Cette transition va commencer par l’agenda
- Exportation des anciens rendez-vous
- Exportation des anciennes taches
- Usage progressif du nouvel agenda
- Ensuite va suivre le carnet d’adresses.
- Pour finir, d’ici plusieurs mois, je vais faire une tentative de serveur imap centralisant tout mes mails et disponible par cette interface Web.
Installation
Pourquoi le choix de EgroupWare ? Parce qu’il me semble assez complet et qu’il dispose d’un depot Fedora!
Ce depot est disponible ici :
http://download.opensuse.org/repositories/server:/eGroupWare/Fedora_8/
Il suffit alors de récupérer le fichier repos et de le copier dans le dossier /etc/yum.repos.d :
http://download.opensuse.org/repositories/server:/eGroupWare/Fedora_8/server:eGroupWare.repo
Ensuite un petit yum install s’impose :
[root@localhost yum.repos.d]# yum install eGroupWare Configuration du processus d'installation Traitement des options d'installation des paquetages Résolution des dépendances --> Lancement de la transaction de test ---> Paquetage eGroupWare.noarch 0:1.4.004-15.1 marqué pour être mis à jour --> Traitement de la dépendance : eGroupWare-egw-pear = 1.4.004 pour le paquetage : eGroupWare --> Traitement de la dépendance : php-gd pour le paquetage : eGroupWare --> Traitement de la dépendance : php-mbstring pour le paquetage : eGroupWare --> Traitement de la dépendance : php-imap pour le paquetage : eGroupWare --> Lancement de la transaction de test ---> Paquetage eGroupWare-egw-pear.noarch 0:1.4.004-15.1 marqué pour être mis à jour ---> Paquetage php-gd.x86_64 0:5.2.6-2.fc9 marqué pour être mis à jour ---> Paquetage php-mbstring.x86_64 0:5.2.6-2.fc9 marqué pour être mis à jour ---> Paquetage php-imap.x86_64 0:5.2.6-2.fc9 marqué pour être mis à jour --> Traitement de la dépendance : libc-client.so.2007()(64bit) pour le paquetage : php-imap --> Lancement de la transaction de test ---> Paquetage libc-client.x86_64 0:2007b-1.fc9 marqué pour être mis à jour --> Résolution des dépendances terminée
Dépendances résolues
================================================================================ Paquetage Architecture Version Dépôt Taille ================================================================================ Installation: eGroupWare noarch 1.4.004-15.1 server_eGroupWare 11 M Installation pour dépendance: eGroupWare-egw-pear noarch 1.4.004-15.1 server_eGroupWare 85 k libc-client x86_64 2007b-1.fc9 updates-newkey 669 k php-gd x86_64 5.2.6-2.fc9 updates-newkey 113 k php-imap x86_64 5.2.6-2.fc9 updates-newkey 49 k php-mbstring x86_64 5.2.6-2.fc9 updates-newkey 1.1 M
Transaction Summary ================================================================================ Install 6 Package(s) Update 0 Package(s) Remove 0 Package(s)
Taille totale des téléchargement : 13 M
Est-ce correct [o/N] : o Téléchargement des paquetages : (1/6): php-imap-5.2.6-2.fc9.x86_64.rpm | 49 kB 00:00 (2/6): eGroupWare-egw-pear-1.4.004-15.1.noarch.rpm | 85 kB 00:00 (3/6): php-gd-5.2.6-2.fc9.x86_64.rpm | 113 kB 00:00 (4/6): libc-client-2007b-1.fc9.x86_64.rpm | 669 kB 00:01 (5/6): php-mbstring-5.2.6-2.fc9.x86_64.rpm | 1.1 MB 00:02 (6/6): eGroupWare-1.4.004-15.1.noarch.rpm | 11 MB 00:30 ---------------------------------------------------------------------------------- Total 357 kB/s | 13 MB 00:38 attention: rpmts_HdrFromFdno: Entête V3 DSA signature: NOKEY, key ID b93e789f Import de la clé GPG 0xB93E789F « server:eGroupWare OBS Project <server:eGroupWare@build.opensuse.org> » depuis http://download.opensuse.org/repositories/server:/eGroupWare/Fedora_8/repodata/repomd.xml.key Est-ce correct [o/N] : o Lancement de rpm_check_debug Lancement de la transaction de test Transaction de test terminée Transaction de test réussie Lancement de la transaction Installation : php-mbstring [1/6] Installation : php-gd [2/6] Installation : libc-client [3/6] Installation : php-imap [4/6] Installation : eGroupWare [5/6] Pour en savoir davantage, faites: « chcon --help ». error: %post(eGroupWare-1.4.004-15.1.noarch) scriptlet failed, exit status 1 Installation : eGroupWare-egw-pear [6/6]
Installé: eGroupWare.noarch 0:1.4.004-15.1 Dépendance installée: eGroupWare-egw-pear.noarch 0:1.4.004-15.1 libc-client.x86_64 0:2007b-1.fc9 php-gd.x86_64 0:5.2.6-2.fc9 php-imap.x86_64 0:5.2.6-2.fc9 php-mbstring.x86_64 0:5.2.6-2.fc9 Terminé !
La suite plus tard …
Ouverture de session automatique sous Fedora
septembre 17, 2008
Habitué à faire cette manœuvre avec l’interface graphique, j’ai quelque peu cherché pour le configurer en ligne de commande.
Dans le fichier /etc/gdm/custom.conf, il faut ajouter ces quelques lignes :
[daemon] TimedLoginEnable=true TimedLogin=Pseudo_a_charger TimedLoginDelay=5 Après 5 secondes, la session s'ouvrira automatiquement. Plus d'informations concernant ce fichier sur le site officiel : http://live.gnome.org/GDM/2.22/Configuration
Ralentissement graphique inexplicable avec Xorg ?
juin 10, 2008
Et bien moi j’ai l’explication .. enfin je pense la tenir, la carte graphique :

Depuis plusieurs jours j’avais d’horribles problèmes :
- moins de 10 fps dans les jeux
- Videos youtube invisionnables
- la machine s’arrêtait ou lieu du reboot à chaque fois
- Un CPU usage plus important que la moyenne
Pourtant tous ces symptômes étaient absents à l’allumage de la machine, puis venaient progressivement …
Et bien voilà, j’ai trouvé ça venait du refroidissement de la Carte Graphique …. génial non ?
Appareil photo Kodak et Linux
juin 5, 2008
Le problème avec les Kodak c’est qu’ils ne se comportent pas comme une clef USB. Pour récupérer les photos sous Fedora il faut donc utiliser une GUI d’importation.
Seulement voila, lorsqu’il y a des vidéos dans l’appareil, allez savoir pourquoi, l’importation ne fonctionne plus (quelque soit le fichier).
Pour palier à ce problème j’ai trouvé la ruse ultime! Il suffit d’utiliser gphoto2 en ligne de commande.
Premièrement détecter l’appareil photo : gphoto2 –auto-detect
Il est ensuite possible de vérifier les fonctionnalités disponibles : gphoto2 -a
Pour importer les photos dans le dossier courant il ne reste plus qu’à faire : gphoto2 -P
A savoir , il est possible d’importer les prévisualisations (thumbs), seulement il semblerait que, dans mon cas, ce soit cette étape qui dérange la GUI habituelle :
gphoto2 –get-all-thumbnails
Voici mon erreur :
Téléchargement de ‘100_0121.JPG’ du dossier ‘/store_00010001/DCIM/100KM883′…
Enregistrement du fichier sous thumb_100_0121.jpg
Téléchargement de ‘100_0122.JPG’ du dossier ‘/store_00010001/DCIM/100KM883′…
Enregistrement du fichier sous thumb_100_0122.jpg
Téléchargement de ‘100_0123.MOV‘ du dossier ‘/store_00010001/DCIM/100KM883′…*** Erreur ***
PTP erreur d’entrée sortie
*** Erreur (-1 : « Erreur indéfinie ») ***Pour obtenir les messages de débogage, veuillez utiliser l’option –debug.
Ces messages peuvent aider à trouver une solution à votre problème. Si vous
avez l’intention d’envoyer un message d’erreur ou de débogage à la liste de
distribution des développeurs gPhoto ,
ce message devant être rédigé en anglais, veuillez lancer gphoto2
comme suit :env LANG=C gphoto2 –debug –debug-logfile=my-logfile.txt –get-all-thumbnails
Please make sure there is sufficient quoting around the arguments.
Source : http://www.linuxdevcenter.com/pub/a/linux/2005/01/06/digicam.html