Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/07/2012, à 10:24

gguillaume017

Tentative de création d'un script de Post Install d'Ubuntu 12.04

Bonjour tout le monde !

J'essaie de créer un script de post install, le voici (pas fini, j'actualiserais dès que j'en aurais un peu plus !)

Bon, j'ai fini ! Je publie tout ça :
Pour Gnome, avec questions : http://ubuntuone.com/3fdQ0OcFltRHNbHqtIL0je (testé)
Pour Gnome, par défaut : http://ubuntuone.com/6Rbnw4xVgcl7qoDLRFyp9r (testé)
Pour KDE, avec questions : http://ubuntuone.com/6U5yS6GowDQ64PH77EixBC (testé)
Pour KDE, par défaut : http://ubuntuone.com/2274ERxwkmaZMKTzKOdiqJ

Pour les débutants que ça tente : téléchargez le script qui vous convient.
Pour le lancer :

sudo bash /chemin/ou/le/script/est/enregistré/nom_du_script

Les logiciels inclus proviennent des dépôts et contiennent : éditeur vidéo/audio/images/tags ; convertisseur audio/vidéo ; codecs/

J'aimerais savoir si il est possible de poser une question et si oui, comment. Le but est de demander si le personne veut installer Conky ou non, si oui, il y a installation, si non, on passe au suivant. -->> Résolu
Autre question, pour installer le logiciel Skype il faut avoir activé le dépôt partenaire, alors, comment, en ligne de commande, et, intégré au script, je peux faire pour modifier le sources.list (parce qu'en fait, il faut juste supprimer le ' # ' devant le dépôts Partenaire du fichier .. -->> Résolu
edit 2 : Je vais en faire un autre, plus simple avec uniquement un enchaînement de commandes, sans aucune demande de confirmation.
Merci d'avance smile

Dernière modification par gguillaume017 (Le 02/08/2012, à 12:45)

#2 Le 24/07/2012, à 10:40

franckyfoys

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

Bonjour,

pour ce qui est du fichier sources.list, j'aurais choisi de le réecrire en entier,

rm -f /etc/apt/sources.list

et tu réecris le fichier sous cette forme

cat deb http://archive.ubuntu.com/ubuntu [b]precise[/b] main restricted universe multiverse > /etc/apt/sources.list

attention a ta version (ici version 12.04)

pour poser une question dans un script, je laisse la main a d'autre :-)

Hors ligne

#3 Le 24/07/2012, à 10:44

franckyfoys

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

j'ai trouvé cela, ca t'aidera

http://forums.archlinux.fr/topic1740.html

bon courage

Hors ligne

#4 Le 24/07/2012, à 10:52

gguillaume017

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

Ah, merci ! big_smile
Je connais tee pour ajouter du texte à un fichier (me semble que c'est ça !), mais je suis pas fan pour la réécriture du sources.list, je vais essayer quand même !

edit : je teste pour la question. -->> impeccable !

Dernière modification par gguillaume017 (Le 24/07/2012, à 10:59)

#5 Le 24/07/2012, à 11:38

arieugon

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

Bonjour gguillaume017

J'ai eu la même idée et je me suis mis au boulot. Tout d'abord je voulais que le programme (ensemble de scripts) fonctionne avec des fichiers de configuration.
Tout d'abord le fichier postinstall.conf

################################################################
#                      postinstall.conf
################################################################
# Fichier de configuration qui sera utilisé pour les opérations
# de postinstallation. 
# Lors de l'exécution de scripts ce fichier est lu et chaque
# occurence est lu et interpété de la façon suivante:
# variable=valeur (valeur ne peut en contenir qu'une seule). Les
# autres valeurs nécessaires seront saisis lors de l'exécution
# des scripts.
################################################################

################################################################
# Nom de l'utilisateur
################################################################
user=toto


################################################################
# partition où seront stockées les données des utilisateurs
# par exemple datas=/dev/sda7 et pointMontage=/mnt/sda7 en
# fonction du partitionnement réalisé.
################################################################
datas=/dev/sda9
pointMontage=/mnt/sda9

################################################################
# Fichiers de configuration qui contiennent la liste des 
# logiciels supplémentaire à installer
################################################################
filepackageslist=packages.list

################################################################
# Groupe commun à tous les utilsateurs et son ID de groupe
################################################################
usersGroupe=maison
IDusersGroupe=999

################################################################
# fichier de log
################################################################
logFile=/var/log/postinstall.log

Le fichier packages.list qui contient les logiciels à installer

# Si le premier caractere est '#' la ligne sera ignorée
# les lignes blanches sont également ignorées
# Enlever les '#' devant les logiciels que vous voulez
# installer.

#############################################"
# Logiciels
#############################################"
# Pour organiser son temps
korganizer

# Pour graver les CD/DVD et réaliser d'autres opérations
k3b

# Lecteur de musique
amarok

# Lecteur à tout faire
vlc

# Pour scanner à partir de son imprimante
xsane

# pour réaliser des sauvegardes sur disques externes
grsync

# Pour faire fonctionner sa webcam
cheese

# Mise en page et publications
#scribus

# Pour faire du montage Vidéo
#kdenlive
#openshot
#pitivi
#avedimux

# Montage sonore
#audacity

# Retouche photo et images
#mypaint
#gimp

# Dessin images vectoriels
#inkscape

# Logiciel pour imagerie médicale
#amide

# creation images et animation 3D
#blender

# Astronomie
#stellarium

# Outils de virtualisation
virtualbox

# Télécharger des anciennes émission de ARTE
#arte+7recorder-5

# Conjugaison des verbes français
#verbiste

# Cartographie d'idées
#wym
#freemind
#labyrinth

# Editeur de diagramme
#dia

# Etude de le bible
#bibletime

# dictionnaire français-latin
#felix-latin

# interface multimédia plein écran
#xbmc


#############################################
# Library et Outils supplémentaires
#############################################
# pour configurer les fonctions fraphique de Compiz-Fusion
compizconfig-settings-manager

# pour configurer l'interface graphique Unity
myunity

# pour gérer les groupes (en plus des utilisateurs) 
users-admin

# Pour gérer les sources d'installation (lancer software-properties-gtk en console)
software-properties-common

# Pour lire les DVD  (non optionnel)
libdvdcss2
libdvdread4

# Pour effectuer des opérations sur les fichiers son et vidéo  (non optionnel)
ffmpeg

# Pour lire les fichier mp3 (non optionnel)
lame

# Pour avoir les menus de Libre Office dans la barre du haut
lo-menubar

# installateur de paquet
synaptic
gdebi

# Affichages widget (enlever les 2 '#')
#conky-all
#cairo-dock

# outils sytème supplémentaires
indicator-appmenu-tools
gnome-system-tools
gnome-tweak-tool
mesa-utils
dconf-editor

# Editeur de partitions
#gparted

Une librairie de fonctions libScripts qui seront utilisées dans le script principal postinstall

#!/bin/bash

########################################
# Pour tracer les opérations effectuées
########################################
ecrirDansLog() {
	echo "${1} : le `date "+%D à %T"`" >> ${logFile}
		# Affiche aussi l'action à l'écran
	echo "${1}"
}

#######################
# effectuer une saisie
#######################
saisir() {
		read -p "$1" reponse
		ecrirDansLog "INFO : ${message} ${reponse}"
		echo "${reponse}"
}

##########################################
# Installer les logiciels supplémentaires
##########################################
listerPackages() {
	cat packages.list | grep -v ^# | grep -v ^$  | grep -v ' '
}

installerLogiciels() {
	for logiciel in `listerPackages` ; do
			# N'installe le logiciel que s'il n'est pas déjà installé
		if [ -z $(which ${logiciel}) ]; then
			ecrirDansLog "INFO : Installation de ${logiciel} en cours"
			apt-get install -y ${logiciel} > /dev/null
 			retourApt=$?
			if [ ${retourApt} == 0 ] ; then
				ecrirDansLog "OK : Installation de ${logiciel} réalisé"
			else
				ecrirDansLog "ERREUR : Installation de ${logiciel} a échoué"
			fi
		else
			ecrirDansLog "INFO : ${logiciel} est déjà installé"
		fi
	done	
}

######################################################
# Pour ajouter une partition à monter dans /etc/fstab
######################################################
UUIDdevice() {
		# Retourne l'UUID de la partition spécifiée
	echo `blkid $1 | sed -e 's/UUID=\"/?/' | awk -F ? '{print $2}' | awk -F \" '{print $1}'`
}

typeDevice() {
		# Retourne le type de partition spécifiée
	echo `blkid $1 | sed -e 's/TYPE=\"/?/' |  awk -F ? '{print $2}' | awk -F \" '{print $1}'`
}

creerPointDeMontage() {
	if [ -d ${pointMontage} ]; then
		ecrirDansLog "INFO : Point de montage ${pointMontage} existe déjà"
	else
		mkdir ${pointMontage} 
		ecrirDansLog "INFO : Point de montage ${pointMontage} créé"
	fi
}

creerEntreeFstab() {
	creerPointDeMontage	
			# vérifie si l'entrée ne figure pas déjà
	grep ${pointMontage} /etc/fstab > /dev/null
	retourGrep=$?
	if [ "$retourGrep" = "0" ]; then
		ecrirDansLog "INFO : /etc/fstab déjà configuré pour le montage de ${pointMontage}"
	else
		dossier=$(echo ${datas} | awk -F / '{print $3}')

			# traite le type de partition
		tPartition=`typeDevice ${datas}`
		[[ ${tPartition} == ext2 ]] && typePartition=ext2
		[[ ${tPartition} == ext3 ]] && typePartition=ext3
		[[ ${tPartition} == ext4 ]] && typePartition=ext4
		[[ ${tPartition} == ntfs ]] && typePartition=ntfs-3g
		[[ ${tPartition} == vfat ]] && typePartition=vfat
		[[ -e /etc/fstab.last ]] && cp /etc/fstab /etc/fstab.last

		echo "# partition de données ${datas} monté sur ${pointMontage}" >> /etc/fstab
		echo "UUID=`UUIDdevice ${datas}` ${pointMontage} ${typePartition} rw 0 0" >> /etc/fstab
		ecrirDansLog "INFO : Partition de données ${datas} du type ${typePartition} monté sur ${pointMontage}"
	fi
}

##############################################
# Configuration pour qu'un utilisateur puisse 
# partager ses fichers dans /home/partage
##############################################
creerGroupeMaison() {
		# S'il n'existe pas on le créé
	[[ -n `grep ${usersGroupe} '/etc/group'` ]] || echo "${usersGroupe}:x:${IDusersGroupe}:" >> /etc/group \
		|| ecrirDansLog "INFO : groupe ${usersGroupe} créé dans /etc/group " \
		&& ecrirDansLog "INFO : groupe ${usersGroupe} déjà créé dans /etc/group "
}

creerDossierPartage() {
		# création du dossier 'partage' dans la partition de données
	[[ -n `mount | grep ^"${datas} on"` ]] || mount ${datas} ${pointMontage} || chmod 770 ${pointMontage}
	if [ -d ${pointMontage}/partage ]; then
		ecrirDansLog "INFO : ${pointMontage}/partage existe déjà"
	else
		mkdir ${pointMontage}/partage > /dev/null
			# modification des droits pour que tous le monde puisse accéder à 'partage'
		chmod 1770 ${pointMontage}/partage > /dev/null
		ecrirDansLog "INFO : ${pointMontage}/partage créé"
	fi
}

modifierCompteUtilisateur() {
	[[ -n `mount | grep ^"${datas} on"` ]] || mount ${datas} ${pointMontage} || chmod 770 ${pointMontage}
	if [ -d ${pointMontage}/${user} ]; then
		ecrirDansLog "INFO : ${pointMontage}/${user} existe déjà"
	else
		mkdir ${pointMontage}/${user} > /dev/null
		chown ${user}:${usersGroupe} ${pointMontage}/${user}
		numGroupeUtilisateur=`grep ^${user} /etc/group | awk -F : '{print $3}'`
		numUtilisateur=`grep ^${user} '/etc/passwd' | awk -F : '{print $3}'`
			# Si le numéro de groupe est le même que celui de l'utilisateur on le modifie
		if [ $numUtilisateur = $numGroupeUtilisateur ]; then
				# On modifie la ligne dans /etc/passd
			sed "s/${numUtilisateur}/${IDusersGroupe}/2" /etc/passwd >> /etc/passwd.new
			mv /etc/passwd /etc/passwd.last ; mv /etc/passwd.new /etc/passwd
		fi
	fi
}

###########################################################
# Modifier les droits par defauts dans /home/user/.profile
# qui passent de 022 à 077
###########################################################
modifierDroitsParDefaut() {
		# modification du fichier .profile
	if [ -e /home/${user}/.profile ]; then
		mv /home/${user}/.profile /home/${user}/.profile.orig
	fi
	if [ -e /home/${user}/.profile.orig ]; then 
		sed 's/#umask 022/umask 077/g' /home/${user}/.profile.orig >> /home/${user}/.profile
		chown ${user}:${usersGroupe} /home/${user}/.profile
		chown ${user}:${usersGroupe} /home/${user}/.profile.orig
		ecrirDansLog "INFO : Les droits par défaut on été modifié dans /home/${user}/.profile"
	fi
}

##########################################
# remplacement des dossiers du /home/user
# par des liens sur partition de données
##########################################
remplacerDossierParLien() {
	ecrirDansLog "INFO : Le dossier /home/${user}/${dossier} existe "
	cp -R /home/${user}/${dossier}/* ${pointMontage}/${user}/${dossier}/. > /dev/null
	rm -Rf /home/${user}/${dossier}/* > /dev/null
	#rmdir --ignore-fail-on-non-empty /home/${user}/${dossier} > /dev/null
	mv /home/${user}/${dossier} /home/${user}/.${dossier}
	ln -s ${pointMontage}/${user}/${dossier} /home/${user}/${dossier}
	if [ -n `ls -1F | grep @$ | awk -F @ '{print $1}' | grep ${dossier} ` ] ; then 
		ecrirDansLog "OK : Lien /home/${user}/${dossier} sur ${pointMontage}/${user}/${dossier} a bien été créé "
	else
		ecrirDansLog "ERREUR : Lien /home/${user}/${dossier} n'a pas été créer "
	fi
}

creerLiens() {
		# Création de liens à la place des dossiers de /home/user
	[[ -n `mount | grep ^"${datas} on"` ]] || mount ${datas} ${pointMontage} || chmod 770 ${pointMontage}
	[[ -e /home/${user}/examples.desktop ]] && rm /home/${user}/examples.desktop > /dev/null
	[[ -e /home/${user}/Données ]] || ln -s ${pointMontage}/${user} /home/${user}/Données
		# Conversion des dossiers existants en liens sur la partition de données
	for dossier in `ls -1F /home/${user} | grep /$ | awk -F '/' '{print $1}'`; do
		if [ -d ${pointMontage}/${user}/${dossier} ]; then
			ecrirDansLog "INFO : Le dossier ${pointMontage}/${user}/${dossier} existe déjà "
			[[ -d /home/${user}/${dossier} ]] && remplacerDossierParLien
		else
			mkdir ${pointMontage}/${user}/${dossier} > /dev/null
			chown ${user}:${usersGroupe} ${pointMontage}/${user}/${dossier} > /dev/null
			ecrirDansLog "INFO : Création du dossier ${pointMontage}/${user}/${dossier} "
			[[ -d /home/${user}/${dossier} ]] && remplacerDossierParLien
		fi
	done
		# création du lien 'partage'
	creerDossierPartage
	[[ -e /home/${user}/Partage ]] || ln -s ${pointMontage}/partage /home/${user}/Partage > /dev/null || ecrirDansLog "INFO : Création du lien /home/${user}/Partage "
}

 
Le programme principal postinstall

#!/bin/bash
					####################
					#    Préambule     #
					####################

# si le script n'est pas lancé avec le compte 'root' on sort
[[ $USER != root ]] && echo "Le script doit être lancer avec les droit administrateur : $ sudo $0" && exit 1

# fichier librairie qui contient les fonctions utilisées dans ce script
source ./libScripts

# Récupération des informations de 'postinstall.conf' pour mise en place
# de l'environnement (variables globales).
while read line ; do   
	ligneLue=`echo $line | grep -v \# | grep -v ^' ' | grep -v ^$`
	[[ "${ligneLue}" != "" ]] && export `echo "${ligneLue}"`
done < postinstall.conf

# affiche l'utilisateur concerné et demande confirmation
clear
echo         "       ############################"
echo         "             /!\\ ATTENTION        "
echo         "       ############################"
echo ""
if [ "${user}" = "" ]; then
	echo " Il  n'y  pas d'utilisateur  indiqué dans le"
	echo " fichier de configuration 'postinstall.conf'."
	echo ""
	exit 1 
else
	echo " L'utilsateur concerné par l'ensemble des actions"
	echo " que vous allez réaliser est : ${user}."
	echo ""
	read -p " Si c'est OK tapez O pour continuer, sinon tapez N pour quitter : " reponse
	echo ""
	case $reponse in n|N|q|Q) exit 1 ;; esac
fi
					####################
					# Fin de préambule #
					####################

##########################################################
# enlever les '#' des opérations que vous voulez réaliser
##########################################################
#set -x

#----------------------- Concerne tous les utilisateurs----------------------

	##########################################################################
	# Crée le point de montage indiqué dans postinstall.log
	##########################################################################
#creerPointDeMontage

	##########################################################################
	# Crée le point d'entrée dans /etc/fstab
	##########################################################################
#creerEntreeFstab

	##########################################################################
	# Crée tout simplement le groupe commun à tous les utilisateurs
	##########################################################################
#creerGroupeMaison

	##########################################################################
	# Met en place de dossier Partage qui permettra aux utilisateurs 
	# d'échanger des fchiers
	##########################################################################
#creerDossierPartage

	##########################################################################
	# Intalle les logiciels supplémentaires indiquées dans 
	# le fichier 'packages.list'.
	##########################################################################
installerLogiciels

#------------- À utiliser pour chaque utilisateur : Modifier le nom --------------
#-------------- de l'utilisateur dans le fichier postinstall.conf ----------------

	##########################################################################
	# Modifie les droits d'accès de l'utilisateurs pour éviter que chacun
	# puisse aller voir ce que fait l'autre
	##########################################################################
#modifierCompteUtilisateur

	##########################################################################
	# Modifie le fichier .profile pour être en harmonie avec l'action
	# réalisée ci-dessus
	##########################################################################
#modifierDroitsParDefaut 

	##########################################################################
	# Remplace les dossiers par des liens qui pointent sur la partition
	# de données
	##########################################################################
#creerLiens

#set +x

Voilà. C'est encore à mettre au point, mais il y a quelques idées que vous pouvez utiliser. Cette architecture logiciel permet d'avoir un programme principal très lisible et la souplesse d'ajouter de nouveaux logiciels dans un fichier sans avoir à modifier du code. L'ajout de nouveau dépôt n'est pas traité. Amusez vous bien.
Vous pouvez vous inspirer du code pour créer d'autres fonctions. Je ne fais pas de support sur ce que j'ai écrit. Les programmes sont commentés.

Linuxement ;O)


Portable ASUS K73E :  Ubuntu XFCE 20.04 / Ubuntu DDE 20.04 / Debian 10 /Debian 11 (testing) / Devuan 3
Le tout en multi-boot Grub Legacy.

Hors ligne

#6 Le 24/07/2012, à 11:51

gguillaume017

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

@arieugon : Merci de ton aide !
A la base, je voulais juste un truc tout simple pour pouvoir installer plus facilement/faciliter l'installation de distributions Linux chez des amis fraîchement "convertis" au logiciels libres, mais ton travail m'a l'air très intéressant. J'essaie de faire quelque chose de simple pour éviter que j'y passe des heures big_smile

#7 Le 24/07/2012, à 12:16

franckyfoys

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

J'ai pas trouvé une solution parfaite pour juste supprimer le #
voila ou j'en suis:

grep partner /etc/apt/sources.list |sed -e "s/#//" >> /etc/apt/sources.list

ca decoupe bien les lignes correspondantes au depot partner mais ca ne supprime pas les 2 lignes existantes (donc pas super propre)

dans l'attente de mieux ....

Hors ligne

#8 Le 24/07/2012, à 13:03

gguillaume017

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

Bon, ben, après lecture du man, j'ai compris a quoi servait sed ! (trop de commandes à retenir !)
Comment ça, ça ne supprime pas les deux lignes existantes ?

#9 Le 24/07/2012, à 13:10

xavier4811

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

Utilisez l'option "in place" pour remplacer, la tu ajoute les 2 lignes a la fin avec >>

sed -i -e's/motif_ou_regex/remplacement/' file

---------------------
EDIT

sed -i -e'/partner/ s/#//g' /etc/apt/sources.list

Dernière modification par xavier4811 (Le 24/07/2012, à 13:24)

Hors ligne

#10 Le 24/07/2012, à 13:22

franckyfoys

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

a oui pas mal l'option -i

sed -i -e '/partner/ s/#//' /etc/apt/sources.list

Hors ligne

#11 Le 24/07/2012, à 13:33

gguillaume017

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

Yep' smile
ça marche, mais ça m'a laissé un espace dans le sources.list (sur ma Quantal)

 deb http://archive.canonical.com/ubuntu quantal partner
 deb-src http://archive.canonical.com/ubuntu quantal partner

L'update marche bien, j'ajoute au script.

Dernière modification par gguillaume017 (Le 24/07/2012, à 13:35)

#12 Le 24/07/2012, à 13:48

franckyfoys

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

dans ce cas fait le en 2 lignes

sed -i -e '/partner/ s/#//' /etc/apt/sources.list

et

sed -i -e '/partner/ s/# //' /etc/apt/sources.list

(la modif est l'espace apres le #)

Hors ligne

#13 Le 24/07/2012, à 13:54

xavier4811

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

franckyfoys a écrit :

dans ce cas fait le en 2 lignes

sed -i -e '/partner/ s/#//' /etc/apt/sources.list

et

sed -i -e '/partner/ s/# //' /etc/apt/sources.list

(la modif est l'espace apres le #)

Juste la 2ème, pas les 2.
La 1ère vas supprimer le #, donc la 2ème a la suite ne trouvera pas l'expression "# " et ne changera rien.

Hors ligne

#14 Le 24/07/2012, à 14:06

gguillaume017

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

Celle ci a marché chez moi :

sed -i -e '/partner/ s/#//' /etc/apt/sources.list

#15 Le 24/07/2012, à 17:37

nesthib

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

au lieu de s/# // utilise plutôt s/^# *//, pour éviter de casser la ligne si tu as un commentaire après la déclaration du dépôt, et pour gérer l'éventuelle absence d'espace :

deb http://archive.ubuntu.com/ubuntu precise main universe # commentaire X

GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#16 Le 24/07/2012, à 17:40

gguillaume017

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

Merci, je te fais confiance et c'est remplacé, je n'ai pas encore commenté les opérations, je crois que j'ai fini, si ça tente quelqu'un de vérifier l'absence d'erreurs, qu'il se fasse plaisir, je le remercie par avance smile

#17 Le 01/08/2012, à 15:22

gguillaume017

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

Je viens de le tester et la commande sed me renvoie :

Activation du dépôt Partenaires de Canonical
 
sed: -e expression #1, char 11: unknown command: `/'

#18 Le 01/08/2012, à 15:37

xavier4811

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

gguillaume017 a écrit :
 
sed: -e expression #1, char 11: unknown command: `/'

Peut tu poster la commande sed que tu a utilisé ?

Hors ligne

#19 Le 01/08/2012, à 15:44

gguillaume017

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

sed -i -e '/partner/ /^# *//' /etc/apt/sources.list

#20 Le 01/08/2012, à 15:50

xavier4811

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

sed -i -e '/partner/ s/^# *//' /etc/apt/sources.list

Hors ligne

#21 Le 01/08/2012, à 15:57

gguillaume017

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

Aucun retour de message d'erreur, merci à toi smile

#22 Le 01/08/2012, à 16:02

xavier4811

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

Il te manquait le plus important , la commande "s" pour substitute

Hors ligne

#23 Le 01/08/2012, à 16:09

gguillaume017

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

Merci à vous tous de m'avoir aidé et j'espère que ça pourra servir à quelqu'un !

#24 Le 24/10/2012, à 15:11

ek0892

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

oui  ça m' a servi .

j'ai ajouté :

sudo sed -i -e '/partner/ s/^## */###/' /etc/apt/sources.list
sudo sed -i -e '/partner/ s/^# *//' /etc/apt/sources.list

la première ligne ajout un # s'il y a deux ##, ça évite de retirer les ## des ligne de commentaires, surtout si tu lances plusieurs fois ton scripts, sans cela du casse ton fichier

Dernière modification par ek0892 (Le 24/10/2012, à 15:11)

Hors ligne

#25 Le 24/10/2012, à 16:20

nesthib

Re : Tentative de création d'un script de Post Install d'Ubuntu 12.04

Si tu ne veux prendre en compte que les lignes de dépôt il te suffit de faire :

sudo sed -i '/partner/s/^# *deb/deb/' /etc/apt/sources.list

smile


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne