Pages : 1
#1 Le 22/02/2006, à 14:15
- Muad'Dib
créer une commande
Bonjour,
j'aimerais ajouter une commande dans /bin par exemple mais comment le faire?
En sachant que je tourne sur un noyau linux très basique (ipcop), que la commande urpmi ou apt-get n'existent pas?
Mon but serait d'ajouter la commande man, urpmi ou apt-get.
Comment faire aussi pour lire le script d'un commande (une commande dans le répertoire /bin par exemple)?
Merci,
Muad'Dib
Hors ligne
#2 Le 23/02/2006, à 01:04
- kikdijon
Re : créer une commande
Bonjour,
Les 'commandes' sont en fait des raccoucis vers les repertoires contenus dans la variable d'environnement $PATH. Pour la voir, fait simplement:
echo $PATH
Les différents chemins sont séparés par un ':'. Tu peux ensuite lancer n'importe quel fichier exécutable qui se trouve dans l'un de ces répertoires depuis un terminal. Si tu fais toi-même un script, assure-toi justequ'il soit executable (chmod +x ton_fichier).
Si tu veux rajouter des chemins dans ta variable $PATH, c'est possible depuis les fichiers de configuration bash: ~/.bashrc est propre à chaque utilisateur, sinon il y a une fichier bashrc, qui ne se trouve pas au même endroit sur les différentes distribution. Ca peut être /etc/bash/bashrc, /etc/bashrc.bashrc, /etc/bashrc ... Ce fichier-là concerne tous les utilisateurs.
Fait attention à ne pas écraser la variable $PATH habituelle, plutot que PATH="/home/quelqu_un/mes_scripts", fait:
PATH="$PATH:/home/quelqu_un/mes_scripts"
Par contre, je n'ai pas bien compris ce que tu veux dire par:
Mon but serait d'ajouter la commande man, urpmi ou apt-get
Il va te falloir plus qu'un script pour faire ça
blog : http://blog.olivier-elmekki.com
site professionnel : http://olivier-elmekki.com
Hors ligne
#3 Le 23/02/2006, à 10:47
- Muad'Dib
Re : créer une commande
bonjour,
merci à toi kikdijon pour tes infos mais ce que je voudrais pouvoir faire c'est ajouter une commande linux qui n'existe pas actuellement dans mon système car noyau très basique, pour l'instant je ne peux pas lancer de man, apt-get ou urpmi, find, locate.... et pas d'existence de mon fichier .bahsrc ou quoi que ce soit...
Donc j'aimerais installer une commande. Comment m'y prendre??
Et aussi, est-il possible de voir le code d'une commande? Par exemple voir le code de la commande "ls"?
Merci,
Muad'Dib
Hors ligne
#4 Le 23/02/2006, à 13:42
- kikdijon
Re : créer une commande
hum, don en fait, tu n'as pas de gestionnaire de paquet...
Tout d'abord, je dois te dire que le plus logique serait de passer à une distribution qui en comporte un (je ne savais meme pas que ça existait une distrib sans gestionnaire de paquet). Ceci dit, tu peux avoir un besoin inconditionnel de cette distrib là (mais si c'est juste pour faire firewall, sache que toutes les distrib's contiennent un pare-feu).
Des commandes comme apt-get, emerge, urpmi sont en fait des outils propres au distributions (dérivant dans l'ordre de debian, gentoo et red hat). Elles proposent d'accéder à une base de programmes binaires (dans le cas de urpmi et de apt-get), c'est à dire des programmes déjà compilé.
Si tu n'as pas de gestionnaire de paquet, tu dois compiler les programmes toi meme, en récupérant leurs sources (code) sur la page de leur auteur. Tu dois donc également récupérer ce code si tu veux le visionner, parce qu'un binaire (éxecutable) n'est plus du code C ou autre, mais à été converti en langage machine. Pour info, 'ls' fait partie du projet core-utils.
Il y a un hint LFS qui propose d'installer apt-get sur une autre distribution que debian et ses dérivés. Il se trouve ici: http://www.linuxfromscratch.org/hints/d … es/apt.txt
Je ne l'ai pas essayé personnellement, mais ça m'a l'air abordable, pourvu que tu le lises attentivement.
Bon courage
p.s.: j'insiste sur le fait que le plus simple serait d'installer une debian, ubuntu, fedora, etc...
blog : http://blog.olivier-elmekki.com
site professionnel : http://olivier-elmekki.com
Hors ligne
#5 Le 23/02/2006, à 16:35
- Muad'Dib
Re : créer une commande
Merci à toi,
oui j'ai absolument besoin de cette distrib là car je dois la faire tourner comme pare-feu pour une entreprise. Et oui il existe des distribs de ce genre! Si ca t'intéresse, tu peux aller sur le site : www.ipcop.org, il fait tout : serveur DNS, dhcp, proxy, détection d'intrusion et j'en passe... Donc très complet et ne prend que 40 mega sur ton hd.
J'aimerais par exemple activer certains services comme snmp mais n'étant pas là d'origine, je dois l'installer et n'ayant pas la possibilité d'installer via certaines commandes...
Mais ton info sur les binaires m'a bien eclairé, je n'en avais plus le souvenir.
J'ai jeté un oeil au site que tu m'as passé, ca à l'air faisable en effet mais je vais encore chercher une autre alternative... comme l'installer via son interface web, encore faut-il que ca soit possible, si oui, s'est qu'il doit y avoir un moyen d'installer des paquets.
Muad'Dib
Dernière modification par Muad'Dib (Le 23/02/2006, à 16:41)
Hors ligne
#6 Le 23/02/2006, à 22:08
- kikdijon
Re : créer une commande
Si tu ne veux installer que quelques applications, le plus simple est de les compiler.
Les dépendences requises par une application sont souvent mentionné sur sa homepage. Ensuite, tu télécharges les sources et les décompresse, tu fais un premier ./configure --help pour visualiser les options disponibles, puis tu lances le configure avec les options choisies.
La plus importante option est --prefix qui permet de determiner depuis quelle racine l'application sera installé. Par défaut, c'est généralement /usr/local. Un bon choix est de mettre --prefix=/usr, si tu veux que ce soit bien intégré à ton environnement, ou --prefix=/opt, si tu veux l'installer à part (mais il faut alors faire attention aux différentes variables d'environnement). Puis tu fais ton make et ton make install.
Pour pouvoir supprimer une application sans devoir conserver tous les répertoires de compilation (pour utiliser make uninstall, qui n'existe d'ailleurs pas toujours), je pipe le make install avec un tee:
mkdir -p /var/log/make
make install | tee /var/log/make/L'APPLICATION
Ainsi, tu peux supprimer facilement ce que tu as installé en parsant le fichier de log:
#!/bin/bash
rm -v $(cat $1 | grep -e '\(^../usr/bin/install\)\|\(../bin/install\)' | awk '{print $NF}' | sed -e "s/'//g")
rmdir -v $(cat $1 | grep 'mkdir' | awk '{print $NF}' | sed -e 's/"//g')
(je mets ceci dans un script que j'appelle rm_install et que je lance en faisant:
rm_install /var/log/make/LE_LOG)
Si tu n'as pas une idée exacte du nom de l'application qu'il te faut, tu peux faire une recherche sur freshmeat: http://freshmeat.net/
blog : http://blog.olivier-elmekki.com
site professionnel : http://olivier-elmekki.com
Hors ligne
Pages : 1