Convertir une vidéo ogv en flv : est-ce correct de faire ainsi ?
23 réponses
Francois
Bonjour à tous,
J'ai une vidéo au format ogv qui dure 5mn30 et qui fait 5,7 Mo. Je
souhaite la convertir au format flv pour la mettre sur un site web.
Voici la commande que je tape :
En fait, même avec les pages man, les options sont un peu floues pour
moi et je dois reconnaître que j'ai honteusement copié cette commande
quelque part sur le net.
Est-ce correct de s'y prendre ainsi ? Je pose la question car je suis
étonné du changement de taille en octet entre MaVideo.ogv et
MaVideo.flv. Jugez plutôt :
MaVideo.ogv = 5.7 Mo
MaVideo.flv = 15.4 Mo
Donc la vidéo flv 3 fois plus grosse que celle en ogv. Je m'y prends mal
dans ma conversion ? C'est normal ? Je croyais que les vidéos au format
flv étaient censées être assez légères, non ? Pouvez vous éclairer ma
lanterne ?
Merci beaucoup ! c'est très sympa, mais je n'ai jamais compilé moi-même un package et pour celui-là, même avec ton aide, j'ai peur de ne pas y arriver (ça a l'air compliqué).
Bah non, c'est pas vraiment compliqué. Pour chacun, tu télécharges la source, ça te donne un ploum.tar.gz ou ploum.tar.bz2, tu l'extraies (tar xzf ploum.tar.gz ou tar xjf ploum.tar.bz2). Tu vas dedans, tu tapes
./configure --prefix=/usr/local
(ou les autres options si j'en ai spécifiées), puis
make&&make install
Bon, il y a le problème que tu n'as pas les droits d'écriture dans /usr/local. Pour s'en sortir, je dirais de faire un :
sudo chown -R $USER /usr/local
avant, puis un
sudo chown -R root.root /usr/local
après. Il y a des méthodes plus propres, mais ça devient prise de tête, je ne voudrais pas que ça te décourage. En tout cas, il vaut mieux éviter les make en tant que root.
Par exemple avec ce fichier http://maths.attack.free.fr/toto.ogv qui fait 3.3 Mio, lorsque que j'utilise la conversion via le procédé que j'ai indiqué dans un message précédent (celui qui utilise un script qui s'appelle "Ogv to Flv Converter v1.1", pas celui de mon tout premier message), j'obtiens le fichier http://maths.attack.free.fr/toto.flv qui fait 1.1 Mio.
Je peux descendre à 500ko, avec la ligne de commande suivante :
. Là, j'ai baissé la qualité audio par rapport à la commande que je t'avais donnée, sinon, ça monte à quasiment 1Mo. J'avais aussi oublié le paramètre -crf qui règle la qualité. Pour une vraie vidéo, 20 est une valeur raisonnable, mais là je l'ai monté au maximum ce qui ne fait pas perdre de qualité sur cette vidéo.
Francois :
Merci beaucoup ! c'est très sympa, mais je n'ai jamais compilé moi-même
un package et pour celui-là, même avec ton aide, j'ai peur de ne pas y
arriver (ça a l'air compliqué).
Bah non, c'est pas vraiment compliqué. Pour chacun, tu télécharges la
source, ça te donne un ploum.tar.gz ou ploum.tar.bz2, tu l'extraies (tar xzf
ploum.tar.gz ou tar xjf ploum.tar.bz2). Tu vas dedans, tu tapes
./configure --prefix=/usr/local
(ou les autres options si j'en ai spécifiées), puis
make&&make install
Bon, il y a le problème que tu n'as pas les droits d'écriture dans
/usr/local. Pour s'en sortir, je dirais de faire un :
sudo chown -R $USER /usr/local
avant, puis un
sudo chown -R root.root /usr/local
après. Il y a des méthodes plus propres, mais ça devient prise de tête, je
ne voudrais pas que ça te décourage. En tout cas, il vaut mieux éviter les
make en tant que root.
Par exemple avec ce fichier http://maths.attack.free.fr/toto.ogv qui
fait 3.3 Mio, lorsque que j'utilise la conversion via le procédé que
j'ai indiqué dans un message précédent (celui qui utilise un script qui
s'appelle "Ogv to Flv Converter v1.1", pas celui de mon tout premier
message), j'obtiens le fichier http://maths.attack.free.fr/toto.flv qui
fait 1.1 Mio.
Je peux descendre à 500ko, avec la ligne de commande suivante :
. Là, j'ai baissé la qualité audio par rapport à la commande que je t'avais
donnée, sinon, ça monte à quasiment 1Mo. J'avais aussi oublié le paramètre
-crf qui règle la qualité. Pour une vraie vidéo, 20 est une valeur
raisonnable, mais là je l'ai monté au maximum ce qui ne fait pas perdre de
qualité sur cette vidéo.
Merci beaucoup ! c'est très sympa, mais je n'ai jamais compilé moi-même un package et pour celui-là, même avec ton aide, j'ai peur de ne pas y arriver (ça a l'air compliqué).
Bah non, c'est pas vraiment compliqué. Pour chacun, tu télécharges la source, ça te donne un ploum.tar.gz ou ploum.tar.bz2, tu l'extraies (tar xzf ploum.tar.gz ou tar xjf ploum.tar.bz2). Tu vas dedans, tu tapes
./configure --prefix=/usr/local
(ou les autres options si j'en ai spécifiées), puis
make&&make install
Bon, il y a le problème que tu n'as pas les droits d'écriture dans /usr/local. Pour s'en sortir, je dirais de faire un :
sudo chown -R $USER /usr/local
avant, puis un
sudo chown -R root.root /usr/local
après. Il y a des méthodes plus propres, mais ça devient prise de tête, je ne voudrais pas que ça te décourage. En tout cas, il vaut mieux éviter les make en tant que root.
Par exemple avec ce fichier http://maths.attack.free.fr/toto.ogv qui fait 3.3 Mio, lorsque que j'utilise la conversion via le procédé que j'ai indiqué dans un message précédent (celui qui utilise un script qui s'appelle "Ogv to Flv Converter v1.1", pas celui de mon tout premier message), j'obtiens le fichier http://maths.attack.free.fr/toto.flv qui fait 1.1 Mio.
Je peux descendre à 500ko, avec la ligne de commande suivante :
. Là, j'ai baissé la qualité audio par rapport à la commande que je t'avais donnée, sinon, ça monte à quasiment 1Mo. J'avais aussi oublié le paramètre -crf qui règle la qualité. Pour une vraie vidéo, 20 est une valeur raisonnable, mais là je l'ai monté au maximum ce qui ne fait pas perdre de qualité sur cette vidéo.
Fabien LE LEZ
On Wed, 14 Jan 2009 11:25:06 +0000 (UTC), Luc Habert :
Installer le tout dans /usr/local
Y'a un truc qui me fait toujours grincer des dents : pourquoi mettre dans un répertoire global du système, des fichiers plus ou moins temporaires servant uniquement à la compilation d'un logiciel ?
On Wed, 14 Jan 2009 11:25:06 +0000 (UTC), Luc Habert :
Installer le tout dans /usr/local
Y'a un truc qui me fait toujours grincer des dents : pourquoi mettre
dans un répertoire global du système, des fichiers plus ou moins
temporaires servant uniquement à la compilation d'un logiciel ?
On Wed, 14 Jan 2009 11:25:06 +0000 (UTC), Luc Habert :
Installer le tout dans /usr/local
Y'a un truc qui me fait toujours grincer des dents : pourquoi mettre dans un répertoire global du système, des fichiers plus ou moins temporaires servant uniquement à la compilation d'un logiciel ?
Luc.Habert.00__arjf
Fabien LE LEZ :
Y'a un truc qui me fait toujours grincer des dents : pourquoi mettre dans un répertoire global du système, des fichiers plus ou moins temporaires servant uniquement à la compilation d'un logiciel ?
À moins de compiler en statique, ça ne sert pas seulement à la compilation. Et parmi ces libs, il y en a qui n'évoluent pas très vite (genre lame, xvidcore), qu'on n'a pas besoin de mettre à jour très souvent.
Fabien LE LEZ :
Y'a un truc qui me fait toujours grincer des dents : pourquoi mettre
dans un répertoire global du système, des fichiers plus ou moins
temporaires servant uniquement à la compilation d'un logiciel ?
À moins de compiler en statique, ça ne sert pas seulement à la compilation.
Et parmi ces libs, il y en a qui n'évoluent pas très vite (genre lame,
xvidcore), qu'on n'a pas besoin de mettre à jour très souvent.
Y'a un truc qui me fait toujours grincer des dents : pourquoi mettre dans un répertoire global du système, des fichiers plus ou moins temporaires servant uniquement à la compilation d'un logiciel ?
À moins de compiler en statique, ça ne sert pas seulement à la compilation. Et parmi ces libs, il y en a qui n'évoluent pas très vite (genre lame, xvidcore), qu'on n'a pas besoin de mettre à jour très souvent.
Pour une vidéo comme celle-ci, il faudrait voir ce que donne le codec flashsv (Flash Screen Video), il est peut-être plus efficace.
Francois
Luc Habert a écrit :
Merci beaucoup ! c'est très sympa, mais je n'ai jamais compilé moi-même un package et pour celui-là, même avec ton aide, j'ai peur de ne pas y arriver (ça a l'air compliqué).
Bah non, c'est pas vraiment compliqué. [couic]
Merci de m'aider à démystifier la bête. Mais j'ai plein de questions du coup.
A) En gros, si j'ai bien compris, pour un package donné, appelons le "pkg", si on veut l'installer dans /usr/local/, il faut (en gros) :
1) télécharger les sources pkg.tar.gz sur son bureau 2) taper : tar xvzf pkg.tar.gz 3) taper : cd ~/Bureau/pkg 4) taper : ./configure --prefix=/usr/local 5) taper : make 6) taper : make install
Est-ce juste ?
B) Quand on procède comme dans A, linux met-il des fichiers uniquement dans /usr/local/pkg ou il met d'autres fichier un peu ailleurs dans l'arborescence ? (genre windows qui fait des trucs ici ou là en douce).
Comme on est pas passé par apt-get, est-ce que l'OS sait quand même qu'on a installé le package avec telle version ? Par exemple si je n'ai jamais installé ffmpeg avant (via apt-get) et que je fais la compilation/installation de ffmpeg que tu m'as expliquées, est-ce que apt-get saura que ffmpeg est installé ou il n'en saura rien si bien que le ffmpeg ne sera pris en compte pour les mises à jour ?
En fait, bien sûr ffmpeg est déjà installé sur mon PC, donc j'aurais deux ffmpeg finalement, l'ancien et le nouveau fraîchement compilé dans /usr/local. Et pour les mises à jour ? Qui sera mis à jour ? D'ailleurs quand je taperai ffmpeg, c'est l'ancien qui va être lancé, non ?
C) Il y a un truc que je n'ai pas compris dans ce que tu as dis. Je te cites :
Installer le tout dans /usr/local (passer --prefix=/usr/local en argument aux configures si besoin). Ajouter /usr/local/lib dans /etc/ld.so.conf si il n'y est pas déjà. »
Là vu que tu me parles de bibliothèque (lib*), ce n'est pas plutôt --prefix=/usr/local/lib qu'il faut passer en argument ? Si on met --prefix=/usr/local pourquoi aurait-on besoin de /usr/local/lib ?
Et à quoi correspond ce fichier /etc/ld.so.conf ?
D) Pourquoi est-ce que les packages qu'on installe "à la main" (par compilation), on les met dans /usr/local. Par exemple, chez moi, j'ai un répertoire ~/bin que j'ai mis dans le PATH pour mon compte seulement. Il contient des pauvres petits scripts bash qui me servent quand je fais du LaTeX. Serait-ce envisageable d'y installer un package (comme ffmpeg par exemple) plutôt que dans /usr/local ? Quitte à mettre de la pagaille, je préfère que ce soit dans mon HOME, non ?
-- François
Luc Habert a écrit :
Merci beaucoup ! c'est très sympa, mais je n'ai jamais compilé moi-même
un package et pour celui-là, même avec ton aide, j'ai peur de ne pas y
arriver (ça a l'air compliqué).
Bah non, c'est pas vraiment compliqué. [couic]
Merci de m'aider à démystifier la bête. Mais j'ai plein de questions du
coup.
A)
En gros, si j'ai bien compris, pour un package donné, appelons le "pkg",
si on veut l'installer dans /usr/local/, il faut (en gros) :
1) télécharger les sources pkg.tar.gz sur son bureau
2) taper : tar xvzf pkg.tar.gz
3) taper : cd ~/Bureau/pkg
4) taper : ./configure --prefix=/usr/local
5) taper : make
6) taper : make install
Est-ce juste ?
B)
Quand on procède comme dans A, linux met-il des fichiers uniquement dans
/usr/local/pkg ou il met d'autres fichier un peu ailleurs dans
l'arborescence ? (genre windows qui fait des trucs ici ou là en douce).
Comme on est pas passé par apt-get, est-ce que l'OS sait quand même
qu'on a installé le package avec telle version ? Par exemple si je n'ai
jamais installé ffmpeg avant (via apt-get) et que je fais la
compilation/installation de ffmpeg que tu m'as expliquées, est-ce que
apt-get saura que ffmpeg est installé ou il n'en saura rien si bien que
le ffmpeg ne sera pris en compte pour les mises à jour ?
En fait, bien sûr ffmpeg est déjà installé sur mon PC, donc j'aurais
deux ffmpeg finalement, l'ancien et le nouveau fraîchement compilé dans
/usr/local. Et pour les mises à jour ? Qui sera mis à jour ? D'ailleurs
quand je taperai ffmpeg, c'est l'ancien qui va être lancé, non ?
C)
Il y a un truc que je n'ai pas compris dans ce que tu as dis. Je te cites :
Installer le tout dans /usr/local (passer --prefix=/usr/local en
argument aux configures si besoin). Ajouter /usr/local/lib dans
/etc/ld.so.conf si il n'y est pas déjà. »
Là vu que tu me parles de bibliothèque (lib*), ce n'est pas plutôt
--prefix=/usr/local/lib qu'il faut passer en argument ? Si on met
--prefix=/usr/local pourquoi aurait-on besoin de /usr/local/lib ?
Et à quoi correspond ce fichier /etc/ld.so.conf ?
D)
Pourquoi est-ce que les packages qu'on installe "à la main" (par
compilation), on les met dans /usr/local. Par exemple, chez moi, j'ai un
répertoire ~/bin que j'ai mis dans le PATH pour mon compte seulement. Il
contient des pauvres petits scripts bash qui me servent quand je fais du
LaTeX. Serait-ce envisageable d'y installer un package (comme ffmpeg par
exemple) plutôt que dans /usr/local ? Quitte à mettre de la pagaille, je
préfère que ce soit dans mon HOME, non ?
Merci beaucoup ! c'est très sympa, mais je n'ai jamais compilé moi-même un package et pour celui-là, même avec ton aide, j'ai peur de ne pas y arriver (ça a l'air compliqué).
Bah non, c'est pas vraiment compliqué. [couic]
Merci de m'aider à démystifier la bête. Mais j'ai plein de questions du coup.
A) En gros, si j'ai bien compris, pour un package donné, appelons le "pkg", si on veut l'installer dans /usr/local/, il faut (en gros) :
1) télécharger les sources pkg.tar.gz sur son bureau 2) taper : tar xvzf pkg.tar.gz 3) taper : cd ~/Bureau/pkg 4) taper : ./configure --prefix=/usr/local 5) taper : make 6) taper : make install
Est-ce juste ?
B) Quand on procède comme dans A, linux met-il des fichiers uniquement dans /usr/local/pkg ou il met d'autres fichier un peu ailleurs dans l'arborescence ? (genre windows qui fait des trucs ici ou là en douce).
Comme on est pas passé par apt-get, est-ce que l'OS sait quand même qu'on a installé le package avec telle version ? Par exemple si je n'ai jamais installé ffmpeg avant (via apt-get) et que je fais la compilation/installation de ffmpeg que tu m'as expliquées, est-ce que apt-get saura que ffmpeg est installé ou il n'en saura rien si bien que le ffmpeg ne sera pris en compte pour les mises à jour ?
En fait, bien sûr ffmpeg est déjà installé sur mon PC, donc j'aurais deux ffmpeg finalement, l'ancien et le nouveau fraîchement compilé dans /usr/local. Et pour les mises à jour ? Qui sera mis à jour ? D'ailleurs quand je taperai ffmpeg, c'est l'ancien qui va être lancé, non ?
C) Il y a un truc que je n'ai pas compris dans ce que tu as dis. Je te cites :
Installer le tout dans /usr/local (passer --prefix=/usr/local en argument aux configures si besoin). Ajouter /usr/local/lib dans /etc/ld.so.conf si il n'y est pas déjà. »
Là vu que tu me parles de bibliothèque (lib*), ce n'est pas plutôt --prefix=/usr/local/lib qu'il faut passer en argument ? Si on met --prefix=/usr/local pourquoi aurait-on besoin de /usr/local/lib ?
Et à quoi correspond ce fichier /etc/ld.so.conf ?
D) Pourquoi est-ce que les packages qu'on installe "à la main" (par compilation), on les met dans /usr/local. Par exemple, chez moi, j'ai un répertoire ~/bin que j'ai mis dans le PATH pour mon compte seulement. Il contient des pauvres petits scripts bash qui me servent quand je fais du LaTeX. Serait-ce envisageable d'y installer un package (comme ffmpeg par exemple) plutôt que dans /usr/local ? Quitte à mettre de la pagaille, je préfère que ce soit dans mon HOME, non ?
-- François
Fabien LE LEZ
On Sat, 17 Jan 2009 01:30:25 +0100, Francois :
1) télécharger les sources pkg.tar.gz sur son bureau
Pourquoi sur le bureau ? Drôle d'idée...
4) taper : ./configure --prefix=/usr/local 5) taper : make
Je conseille plutôt ./configure --prefix=/usr/local && make && echo OK
Sinon c'est pas toujours facile de savoir si ça a fonctionné.
On Sat, 17 Jan 2009 01:30:25 +0100, Francois <francois@noSpam.fr>:
1) télécharger les sources pkg.tar.gz sur son bureau
Pourquoi sur le bureau ? Drôle d'idée...
4) taper : ./configure --prefix=/usr/local
5) taper : make
Je conseille plutôt
./configure --prefix=/usr/local && make && echo OK
Sinon c'est pas toujours facile de savoir si ça a fonctionné.
1) télécharger les sources pkg.tar.gz sur son bureau
Pourquoi sur le bureau ? Drôle d'idée...
4) taper : ./configure --prefix=/usr/local 5) taper : make
Je conseille plutôt ./configure --prefix=/usr/local && make && echo OK
Sinon c'est pas toujours facile de savoir si ça a fonctionné.
YBM
Francois a écrit :
A) En gros, si j'ai bien compris, pour un package donné, appelons le "pkg", si on veut l'installer dans /usr/local/, il faut (en gros) :
1) télécharger les sources pkg.tar.gz sur son bureau 2) taper : tar xvzf pkg.tar.gz 3) taper : cd ~/Bureau/pkg 4) taper : ./configure --prefix=/usr/local 5) taper : make 6) taper : make install
Est-ce juste ?
oui.
B) Quand on procède comme dans A, linux met-il des fichiers uniquement dans /usr/local/pkg ou il met d'autres fichier un peu ailleurs dans l'arborescence ? (genre windows qui fait des trucs ici ou là en douce).
dans /usr/local uniquement (/usr/local/bin, /usr/local/lib, etc.)
Comme on est pas passé par apt-get, est-ce que l'OS sait quand même qu'on a installé le package avec telle version ?
L'OS n'est pas la question, mais effectivement le système de gestion de paquets n'est en rien au courant de l'installation qui vient d'être faite.
Par exemple si je n'ai jamais installé ffmpeg avant (via apt-get) et que je fais la compilation/installation de ffmpeg que tu m'as expliquées, est-ce que apt-get saura que ffmpeg est installé ou il n'en saura rien si bien que le ffmpeg ne sera pris en compte pour les mises à jour ?
En fait, bien sûr ffmpeg est déjà installé sur mon PC, donc j'aurais deux ffmpeg finalement, l'ancien et le nouveau fraîchement compilé dans /usr/local. Et pour les mises à jour ? Qui sera mis à jour ?
Celui qui est dans /usr/{bin,lib,share,etc.}
D'ailleurs quand je taperai ffmpeg, c'est l'ancien qui va être lancé, non ?
Ça dépend de la valeur de PATH, à vérifier en faisant type ffmpeg
...
Installer le tout dans /usr/local (passer --prefix=/usr/local en argument aux configures si besoin). Ajouter /usr/local/lib dans /etc/ld.so.conf si il n'y est pas déjà. »
Là vu que tu me parles de bibliothèque (lib*), ce n'est pas plutôt --prefix=/usr/local/lib qu'il faut passer en argument ? Si on met --prefix=/usr/local pourquoi aurait-on besoin de /usr/local/lib ?
Non, --prefix=/usr/local, en tout cas pour un configure habituel issu de GNU autoconf, ça fait installer les bibliothèques dans /usr/local/lib, les exécutables dans /usr/local/bin, etc. C'est bien pour ça que l'option est "prefix" et non un truc comme "install_dir".
Et à quoi correspond ce fichier /etc/ld.so.conf ?
La liste des endroits ou le chargeur de binaires dynamique (ld.so) va chercher les bibliothèques dynamiques. Modifier ce fichier va marcher à court terme, à long terme si tu installes beaucoup de bibliothèques dans /usr/local sans trop contrôler ce que tu faits est une source d'ennuis sans fin : tôt ou tard un binaire de /usr/bin (donc issu d'un paquet de ta distribution) va se mettre à utiliser une dll de /usr/local/lib au lieu de celle que le système de paquet a mis dans /usr/bin.
D) Pourquoi est-ce que les packages qu'on installe "à la main" (par compilation), on les met dans /usr/local. Par exemple, chez moi, j'ai un répertoire ~/bin que j'ai mis dans le PATH pour mon compte seulement.
Tu pourrais parfaitement installer des logiciels dans ton répertoire personnels (--prefix=/home/local par exemple), quite à modifier ton PATH perso ainsi que ton LD_LIBRARY_PATH. Tout compte fait ce serait moins casse gueule que de jouer avec ld.so.conf.
Il contient des pauvres petits scripts bash qui me servent quand je fais du LaTeX. Serait-ce envisageable d'y installer un package (comme ffmpeg par exemple) plutôt que dans /usr/local ? Quitte à mettre de la pagaille, je préfère que ce soit dans mon HOME, non ?
Plutôt d'accord.
Francois a écrit :
A)
En gros, si j'ai bien compris, pour un package donné, appelons le "pkg",
si on veut l'installer dans /usr/local/, il faut (en gros) :
1) télécharger les sources pkg.tar.gz sur son bureau
2) taper : tar xvzf pkg.tar.gz
3) taper : cd ~/Bureau/pkg
4) taper : ./configure --prefix=/usr/local
5) taper : make
6) taper : make install
Est-ce juste ?
oui.
B)
Quand on procède comme dans A, linux met-il des fichiers uniquement dans
/usr/local/pkg ou il met d'autres fichier un peu ailleurs dans
l'arborescence ? (genre windows qui fait des trucs ici ou là en douce).
dans /usr/local uniquement (/usr/local/bin, /usr/local/lib, etc.)
Comme on est pas passé par apt-get, est-ce que l'OS sait quand même
qu'on a installé le package avec telle version ?
L'OS n'est pas la question, mais effectivement le système de gestion
de paquets n'est en rien au courant de l'installation qui vient d'être
faite.
Par exemple si je n'ai
jamais installé ffmpeg avant (via apt-get) et que je fais la
compilation/installation de ffmpeg que tu m'as expliquées, est-ce que
apt-get saura que ffmpeg est installé ou il n'en saura rien si bien que
le ffmpeg ne sera pris en compte pour les mises à jour ?
En fait, bien sûr ffmpeg est déjà installé sur mon PC, donc j'aurais
deux ffmpeg finalement, l'ancien et le nouveau fraîchement compilé dans
/usr/local. Et pour les mises à jour ? Qui sera mis à jour ?
Celui qui est dans /usr/{bin,lib,share,etc.}
D'ailleurs
quand je taperai ffmpeg, c'est l'ancien qui va être lancé, non ?
Ça dépend de la valeur de PATH, à vérifier en faisant type ffmpeg
...
Installer le tout dans /usr/local (passer --prefix=/usr/local en
argument aux configures si besoin). Ajouter /usr/local/lib dans
/etc/ld.so.conf si il n'y est pas déjà. »
Là vu que tu me parles de bibliothèque (lib*), ce n'est pas plutôt
--prefix=/usr/local/lib qu'il faut passer en argument ? Si on met
--prefix=/usr/local pourquoi aurait-on besoin de /usr/local/lib ?
Non, --prefix=/usr/local, en tout cas pour un configure habituel
issu de GNU autoconf, ça fait installer les bibliothèques dans
/usr/local/lib, les exécutables dans /usr/local/bin, etc. C'est
bien pour ça que l'option est "prefix" et non un truc comme
"install_dir".
Et à quoi correspond ce fichier /etc/ld.so.conf ?
La liste des endroits ou le chargeur de binaires dynamique
(ld.so) va chercher les bibliothèques dynamiques. Modifier
ce fichier va marcher à court terme, à long terme si tu
installes beaucoup de bibliothèques dans /usr/local sans
trop contrôler ce que tu faits est une source d'ennuis
sans fin : tôt ou tard un binaire de /usr/bin (donc issu
d'un paquet de ta distribution) va se mettre à utiliser
une dll de /usr/local/lib au lieu de celle que le système
de paquet a mis dans /usr/bin.
D)
Pourquoi est-ce que les packages qu'on installe "à la main" (par
compilation), on les met dans /usr/local. Par exemple, chez moi, j'ai un
répertoire ~/bin que j'ai mis dans le PATH pour mon compte seulement.
Tu pourrais parfaitement installer des logiciels dans ton répertoire
personnels (--prefix=/home/local par exemple), quite à modifier ton
PATH perso ainsi que ton LD_LIBRARY_PATH. Tout compte fait ce serait
moins casse gueule que de jouer avec ld.so.conf.
Il
contient des pauvres petits scripts bash qui me servent quand je fais du
LaTeX. Serait-ce envisageable d'y installer un package (comme ffmpeg par
exemple) plutôt que dans /usr/local ? Quitte à mettre de la pagaille, je
préfère que ce soit dans mon HOME, non ?
A) En gros, si j'ai bien compris, pour un package donné, appelons le "pkg", si on veut l'installer dans /usr/local/, il faut (en gros) :
1) télécharger les sources pkg.tar.gz sur son bureau 2) taper : tar xvzf pkg.tar.gz 3) taper : cd ~/Bureau/pkg 4) taper : ./configure --prefix=/usr/local 5) taper : make 6) taper : make install
Est-ce juste ?
oui.
B) Quand on procède comme dans A, linux met-il des fichiers uniquement dans /usr/local/pkg ou il met d'autres fichier un peu ailleurs dans l'arborescence ? (genre windows qui fait des trucs ici ou là en douce).
dans /usr/local uniquement (/usr/local/bin, /usr/local/lib, etc.)
Comme on est pas passé par apt-get, est-ce que l'OS sait quand même qu'on a installé le package avec telle version ?
L'OS n'est pas la question, mais effectivement le système de gestion de paquets n'est en rien au courant de l'installation qui vient d'être faite.
Par exemple si je n'ai jamais installé ffmpeg avant (via apt-get) et que je fais la compilation/installation de ffmpeg que tu m'as expliquées, est-ce que apt-get saura que ffmpeg est installé ou il n'en saura rien si bien que le ffmpeg ne sera pris en compte pour les mises à jour ?
En fait, bien sûr ffmpeg est déjà installé sur mon PC, donc j'aurais deux ffmpeg finalement, l'ancien et le nouveau fraîchement compilé dans /usr/local. Et pour les mises à jour ? Qui sera mis à jour ?
Celui qui est dans /usr/{bin,lib,share,etc.}
D'ailleurs quand je taperai ffmpeg, c'est l'ancien qui va être lancé, non ?
Ça dépend de la valeur de PATH, à vérifier en faisant type ffmpeg
...
Installer le tout dans /usr/local (passer --prefix=/usr/local en argument aux configures si besoin). Ajouter /usr/local/lib dans /etc/ld.so.conf si il n'y est pas déjà. »
Là vu que tu me parles de bibliothèque (lib*), ce n'est pas plutôt --prefix=/usr/local/lib qu'il faut passer en argument ? Si on met --prefix=/usr/local pourquoi aurait-on besoin de /usr/local/lib ?
Non, --prefix=/usr/local, en tout cas pour un configure habituel issu de GNU autoconf, ça fait installer les bibliothèques dans /usr/local/lib, les exécutables dans /usr/local/bin, etc. C'est bien pour ça que l'option est "prefix" et non un truc comme "install_dir".
Et à quoi correspond ce fichier /etc/ld.so.conf ?
La liste des endroits ou le chargeur de binaires dynamique (ld.so) va chercher les bibliothèques dynamiques. Modifier ce fichier va marcher à court terme, à long terme si tu installes beaucoup de bibliothèques dans /usr/local sans trop contrôler ce que tu faits est une source d'ennuis sans fin : tôt ou tard un binaire de /usr/bin (donc issu d'un paquet de ta distribution) va se mettre à utiliser une dll de /usr/local/lib au lieu de celle que le système de paquet a mis dans /usr/bin.
D) Pourquoi est-ce que les packages qu'on installe "à la main" (par compilation), on les met dans /usr/local. Par exemple, chez moi, j'ai un répertoire ~/bin que j'ai mis dans le PATH pour mon compte seulement.
Tu pourrais parfaitement installer des logiciels dans ton répertoire personnels (--prefix=/home/local par exemple), quite à modifier ton PATH perso ainsi que ton LD_LIBRARY_PATH. Tout compte fait ce serait moins casse gueule que de jouer avec ld.so.conf.
Il contient des pauvres petits scripts bash qui me servent quand je fais du LaTeX. Serait-ce envisageable d'y installer un package (comme ffmpeg par exemple) plutôt que dans /usr/local ? Quitte à mettre de la pagaille, je préfère que ce soit dans mon HOME, non ?
Plutôt d'accord.
GuiGui
YBM a écrit :
Comme on est pas passé par apt-get, est-ce que l'OS sait quand même qu'on a installé le package avec telle version ?
L'OS n'est pas la question, mais effectivement le système de gestion de paquets n'est en rien au courant de l'installation qui vient d'être faite.
En fait, il suffit d'installer checkinstall et de l'utiliser à la place de "make install". L'utilitaire checkinstall va créer un .deb à la volée, et si le nom que tu choisis pour le paquet correspond au paquet officiel le conflit sera signalé et géré par le gestionnaire de paquets lorsque tu voudra installer le même soft via le gestionnaire. Il faut évidemment utiliser en premier lieu le gestionnaire de paquets pour retirer du système la version officielle du logiciel que tu va recompiler.
YBM a écrit :
Comme on est pas passé par apt-get, est-ce que l'OS sait quand même
qu'on a installé le package avec telle version ?
L'OS n'est pas la question, mais effectivement le système de gestion
de paquets n'est en rien au courant de l'installation qui vient d'être
faite.
En fait, il suffit d'installer checkinstall et de l'utiliser à la place
de "make install". L'utilitaire checkinstall va créer un .deb à la
volée, et si le nom que tu choisis pour le paquet correspond au paquet
officiel le conflit sera signalé et géré par le gestionnaire de paquets
lorsque tu voudra installer le même soft via le gestionnaire.
Il faut évidemment utiliser en premier lieu le gestionnaire de paquets
pour retirer du système la version officielle du logiciel que tu va
recompiler.
Comme on est pas passé par apt-get, est-ce que l'OS sait quand même qu'on a installé le package avec telle version ?
L'OS n'est pas la question, mais effectivement le système de gestion de paquets n'est en rien au courant de l'installation qui vient d'être faite.
En fait, il suffit d'installer checkinstall et de l'utiliser à la place de "make install". L'utilitaire checkinstall va créer un .deb à la volée, et si le nom que tu choisis pour le paquet correspond au paquet officiel le conflit sera signalé et géré par le gestionnaire de paquets lorsque tu voudra installer le même soft via le gestionnaire. Il faut évidemment utiliser en premier lieu le gestionnaire de paquets pour retirer du système la version officielle du logiciel que tu va recompiler.
yamo'
Salut,
Francois a tapoté, le 18.01.2009 10:59:
Pourquoi ? Une fois le package compilé et installé, on ne se débarrasse pas des sources après ? Il y a un emplacement ad hoc pour les sources ?
Quand je ne veux pas garder quelque chose je le met dans /tmp*, sinon je le met dans ~/bin.
* au taf centos 4.7 ne vide jamais /tmp mais je garde quand même cette logique quand je manque de place je m'attaque à temp en premier.
Stéphane -- <http://pasdenom.info/fortune> -- Le vote de l'AAV, c'est la signature en bas d'un contrat de mariage. On ne vote pas Oui pour se marier avec un boudin que d'autres vous ont poussé dans les bras sous prétexte que c'est ca ou rien. -+- FS in: Guide du Cabaliste Usenet - Les AAV -+-
Salut,
Francois a tapoté, le 18.01.2009 10:59:
Pourquoi ? Une fois le package compilé et installé, on ne se débarrasse
pas des sources après ? Il y a un emplacement ad hoc pour les sources ?
Quand je ne veux pas garder quelque chose je le met dans /tmp*, sinon je
le met dans ~/bin.
* au taf centos 4.7 ne vide jamais /tmp mais je garde quand même cette
logique quand je manque de place je m'attaque à temp en premier.
Stéphane
--
<http://pasdenom.info/fortune>
--
Le vote de l'AAV, c'est la signature en bas d'un contrat de mariage.
On ne vote pas Oui pour se marier avec un boudin que d'autres vous ont
poussé dans les bras sous prétexte que c'est ca ou rien.
-+- FS in: Guide du Cabaliste Usenet - Les AAV -+-
Pourquoi ? Une fois le package compilé et installé, on ne se débarrasse pas des sources après ? Il y a un emplacement ad hoc pour les sources ?
Quand je ne veux pas garder quelque chose je le met dans /tmp*, sinon je le met dans ~/bin.
* au taf centos 4.7 ne vide jamais /tmp mais je garde quand même cette logique quand je manque de place je m'attaque à temp en premier.
Stéphane -- <http://pasdenom.info/fortune> -- Le vote de l'AAV, c'est la signature en bas d'un contrat de mariage. On ne vote pas Oui pour se marier avec un boudin que d'autres vous ont poussé dans les bras sous prétexte que c'est ca ou rien. -+- FS in: Guide du Cabaliste Usenet - Les AAV -+-
Francois
Fabien LE LEZ a écrit :
On Sat, 17 Jan 2009 01:30:25 +0100, Francois :
1) télécharger les sources pkg.tar.gz sur son bureau
Pourquoi sur le bureau ? Drôle d'idée...
Pourquoi ? Une fois le package compilé et installé, on ne se débarrasse pas des sources après ? Il y a un emplacement ad hoc pour les sources ?
-- François
Fabien LE LEZ a écrit :
On Sat, 17 Jan 2009 01:30:25 +0100, Francois <francois@noSpam.fr>:
1) télécharger les sources pkg.tar.gz sur son bureau
Pourquoi sur le bureau ? Drôle d'idée...
Pourquoi ? Une fois le package compilé et installé, on ne se débarrasse
pas des sources après ? Il y a un emplacement ad hoc pour les sources ?