Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 23-08-2020 20:21:45

Mca
Membre
Lieu : essonne
Distrib. : Debian Buster
Noyau : 4.19-amd64
(G)UI : Gnome
Inscription : 20-09-2019

[Résolu] Sed problème scripts

Bonjour a tous smile

Je créer un scripts de paramétrage de Debian lors de réinstallation, mais j'ai un petit problème avec Sed, le but est modifier mon sources.list pour ajouter les backports, dans mon scripts de test  je mais ceci :

sed "16i\ \n\a# buster-backports\n\adeb http://deb.debian.org/debian buster-backports main contrib non-free\n\a#deb http://deb.debian.org/debian buster-backports-sloppy main contrib non-free # available after bullseye release" /etc/apt/sources.list



Voici mon sources.list  avant la modification:

#

# deb cdrom:[Debian GNU/Linux 10.4.0 _Buster_ - Official amd64 NETINST 20200509-10:25]/ buster main

#deb cdrom:[Debian GNU/Linux 10.4.0 _Buster_ - Official amd64 NETINST 20200509-10:25]/ buster main

deb http://deb.debian.org/debian/ buster main contrib non-free
deb-src http://deb.debian.org/debian/ buster main contrib non-free

deb http://security.debian.org/debian-security buster/updates main contrib non-free
deb-src http://security.debian.org/debian-security buster/updates main contrib non-free

# buster-updates, previously known as 'volatile'
deb http://deb.debian.org/debian/ buster-updates main contrib non-free
deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free

# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.
 



Une fois que je lance mon scripts en test le terminal me renvois :

#

# deb cdrom:[Debian GNU/Linux 10.4.0 _Buster_ - Official amd64 NETINST 20200509-10:25]/ buster main

#deb cdrom:[Debian GNU/Linux 10.4.0 _Buster_ - Official amd64 NETINST 20200509-10:25]/ buster main

deb http://deb.debian.org/debian/ buster main contrib non-free
deb-src http://deb.debian.org/debian/ buster main contrib non-free

deb http://security.debian.org/debian-security buster/updates main contrib non-free
deb-src http://security.debian.org/debian-security buster/updates main contrib non-free

# buster-updates, previously known as 'volatile'
deb http://deb.debian.org/debian/ buster-updates main contrib non-free
deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free
 
# buster-backports
deb http://deb.debian.org/debian buster-backports main contrib non-free
#deb http://deb.debian.org/debian buster-backports-sloppy main contrib non-free # available after bullseye release
 
# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.
 



Donc sur le coup tout me parait nickel donc je rajoute un -i  après sed pour l'appliquer directement au fichier :

sed -i "16i\ \n\a# buster-backports\n\adeb http://deb.debian.org/debian buster-backports main contrib non-free\n\a#deb http://deb.debian.org/debian buster-backports-sloppy main contrib non-free # available after bullseye release" /etc/apt/sources.list



Une fois le script exécuter, le résultat n'est pas exactement a quoi je m'attendait : 

#

# deb cdrom:[Debian GNU/Linux 10.4.0 _Buster_ - Official amd64 NETINST 20200509-10:25]/ buster main

#deb cdrom:[Debian GNU/Linux 10.4.0 _Buster_ - Official amd64 NETINST 20200509-10:25]/ buster main

deb http://deb.debian.org/debian/ buster main contrib non-free
deb-src http://deb.debian.org/debian/ buster main contrib non-free

deb http://security.debian.org/debian-security buster/updates main contrib non-free
deb-src http://security.debian.org/debian-security buster/updates main contrib non-free

^G# buster-updates, previously known as 'volatile'
^Gdeb http://deb.debian.org/debian/ buster-updates main contrib non-free
^Gdeb-src http://deb.debian.org/debian/ buster-updates main contrib non-free

# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.
 



Que vienne faire les " ^G " sur le début des ligne modifier par Sed scratchhead.gif

merci.gif

Dernière modification par Mca (24-08-2020 02:39:46)

Hors ligne

#2 23-08-2020 21:40:05

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : [Résolu] Sed problème scripts

... Si tu veux juste ajouter du texte pourquoi tu fais pas juste

echo '# buster-backports
deb http://deb.debian.org/debian buster-backports main contrib non-free
#deb http://deb.debian.org/debian buster-backports-sloppy main contrib non-free # available after bullseye release'
>> /etc/apt/sources.list



Enfin je dis ça parce que je comprends pas l'intêret d'utiliser sed, là.
Je suppose que les "^G" sont généré par "\a" (quoi d'autre ? °w°). La question : pourquoi tu fais des "\a".

Dernière modification par otyugh (23-08-2020 21:42:26)


datalove-datalove-s1-2.png agendadulibre-lagendadulibre.png arzinfo-arzinfo.png

En ligne

#3 24-08-2020 02:38:40

Mca
Membre
Lieu : essonne
Distrib. : Debian Buster
Noyau : 4.19-amd64
(G)UI : Gnome
Inscription : 20-09-2019

Re : [Résolu] Sed problème scripts

otyugh a écrit :

... Si tu veux juste ajouter du texte pourquoi tu fais pas juste

echo '# buster-backports
deb http://deb.debian.org/debian buster-backports main contrib non-free
#deb http://deb.debian.org/debian buster-backports-sloppy main contrib non-free # available after bullseye release'
>> /etc/apt/sources.list



Enfin je dis ça parce que je comprends pas l’intérêt d'utiliser Sed, là.



Car je suis un peux tatillon en gros sa ce place mieux dans le fichier config que l'on ne regarde presque jamais d’ailleurs et que dans mon script j'utilise déjà Sed pour modifier mon source.list :

# Modification /etc/apt/sources.list pour rajouter les contributions non-libre et backports

  # /^deb/                   = recherche toutes les lignes commençants par un deb
  # s/.*/& contrib non-free/ = On substitue alors toute la ligne ( .* ) par elle même ( & ) suivie d'un ( contrib non-free)

sed -i '/^deb/ s/.*/& contrib non-free/' /etc/apt/sources.list

sed -i "16i\ \n# buster-backports\ndeb http://deb.debian.org/debian buster-backports main contrib non-free\n#deb http://deb.debian.org/debian buster-backports-sloppy main contrib non-free # available after bullseye release" /etc/apt/sources.list



Donc en vrai aucun intérêt a par satisfaction mrgreen.gif

otyugh a écrit :

Je suppose que les "^G" sont généré par "\a" (quoi d'autre ? °w°). La question : pourquoi tu fais des "\a".



Je me le demande moi aussi sur le coup aussi maintenant merci a toi  wink

j'ai survoler le wiki df sur Sed et j avais intégrer le fait que \a était égale a paragraphe ce qui est totalement faux en effet et que le problème  des "^G" c était bien les \a en gros sa dit sa dans un des tableaux :

a\<texte>   Écrit le <texte> après la ligne



J'ai légèrement schmilblicker le truc, pour ma défense j'écoutais sa en même temps https://www.youtube.com/watch?v=Dboi1bja6M8

out.gif

Hors ligne

Pied de page des forums