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 23/11/2020, à 04:28

nany

Régénérer sources.list en une ligne de commandes (+ script recommandé)

Bonjour,

[edit]Si vous avez la flemme de lire ce post, allez directement au deuxième.[/edit]
[edit2]Des changements vont être effectués dans ce message, prière de se référer pour le moment aux messages #10 à #13.[/edit2]
[edit3]
Bon, flemme de faire des changements sur ce message car je me suis rendu compte que la ligne n’est valable que pour une LTS.
Du coup j’ai fait un script qui tient la route et qu’il vaut mieux utiliser.
[/edit3]
[edit4]
Modifications finalement effectuées. Et ça doit marcher pour une non LTS.
[/edit4]
[edit5]
J’ai fait pareil pour Debian.
[/edit5]
[edit6]
Modifications majeures (je ne donne pas les détails) pour prise en compte du format deb822 dans 24.04 d’après ce modèle.
Le script a également été modifié en conséquence.
[edit6]


Il arrive fréquemment que le sources.list soit dans un état incohérent qu’il vaut mieux le recréer de toute pièce plutôt que de réparer ligne après ligne.
Je ne ferai pas de commentaire sur le fait de comment le sources.list est devenu incohérent si ce n’est sans doute que son propriétaire a probablement suivi un ou des tutos sur le net devenus obsolètes.


J’ai donc cherché une source officielle qui, j’espère, ne changera pas de place au fil du temps : https://github.com/canonical/cloud-init … buntu.tmpl.



En préambule, je conseille de faire une sauvegarde du sources.list existant. En effet, celui-ci peut contenir des dépôts tiers (dus à des pratiques ancestrales qui ajoutent le dépôt dans ce fichier plutôt que de créer un fichier spécifique dans le répertoire prévu à cet effet depuis maintenant quelques années, mais là n’est pas le propos et je ne vais pas partir en guerre contre les tutos mal fichus sur le net tel Don Quichotte se battant contre les moulins à vent).
Bref, sauvegardez votre sources.list car il peut contenir des éléments qui seront effacés par la ligne de commande que je présente ci-dessous.



Alors voilà, je vais essayer de détailler du mieux que je peux :

  1. on télécharge le fichier modèle ;

    wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/master/templates/sources.list.ubuntu.tmpl

    on obtient donc ceci ;

    ┏[ lundi 23 novembre 2020 ]
    ┣ nany@stupidcomputer :
    ┗▶ ~$ wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/master/templates/sources.list.ubuntu.tmpl
    ## template:jinja
    ## Note, this file is written by cloud-init on first boot of an instance
    ## modifications made here will not survive a re-bundle.
    ## if you wish to make changes you can:
    ## a.) add 'apt_preserve_sources_list: true' to /etc/cloud/cloud.cfg
    ##     or do the same in user-data
    ## b.) add sources in /etc/apt/sources.list.d
    ## c.) make changes to template file /etc/cloud/templates/sources.list.tmpl
    
    # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
    # newer versions of the distribution.
    deb {{mirror}} {{codename}} main restricted
    # deb-src {{mirror}} {{codename}} main restricted
    
    ## Major bug fix updates produced after the final release of the
    ## distribution.
    deb {{mirror}} {{codename}}-updates main restricted
    # deb-src {{mirror}} {{codename}}-updates main restricted
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
    ## team. Also, please note that software in universe WILL NOT receive any
    ## review or updates from the Ubuntu security team.
    deb {{mirror}} {{codename}} universe
    # deb-src {{mirror}} {{codename}} universe
    deb {{mirror}} {{codename}}-updates universe
    # deb-src {{mirror}} {{codename}}-updates universe
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
    ## team, and may not be under a free licence. Please satisfy yourself as to
    ## your rights to use the software. Also, please note that software in
    ## multiverse WILL NOT receive any review or updates from the Ubuntu
    ## security team.
    deb {{mirror}} {{codename}} multiverse
    # deb-src {{mirror}} {{codename}} multiverse
    deb {{mirror}} {{codename}}-updates multiverse
    # deb-src {{mirror}} {{codename}}-updates multiverse
    
    ## N.B. software from this repository may not have been tested as
    ## extensively as that contained in the main release, although it includes
    ## newer versions of some applications which may provide useful features.
    ## Also, please note that software in backports WILL NOT receive any review
    ## or updates from the Ubuntu security team.
    deb {{mirror}} {{codename}}-backports main restricted universe multiverse
    # deb-src {{mirror}} {{codename}}-backports main restricted universe multiverse
    
    ## Uncomment the following two lines to add software from Canonical's
    ## 'partner' repository.
    ## This software is not part of Ubuntu, but is offered by Canonical and the
    ## respective vendors as a service to Ubuntu users.
    # deb http://archive.canonical.com/ubuntu {{codename}} partner
    # deb-src http://archive.canonical.com/ubuntu {{codename}} partner
    
    deb {{security}} {{codename}}-security main restricted
    # deb-src {{security}} {{codename}}-security main restricted
    deb {{security}} {{codename}}-security universe
    # deb-src {{security}} {{codename}}-security universe
    deb {{security}} {{codename}}-security multiverse
    # deb-src {{security}} {{codename}}-security multiverse
    
    ┏[ lundi 23 novembre 2020 ]
    ┣ nany@stupidcomputer :
    ┗▶ ~$ 
  2. on supprime les huit premières lignes de ce modèle qui sont des commentaires sur l’utilisation de celui-ci à l’aide de la commande

    sed "1,8d"

    que l’on ajoute avec un pipe (|) à la commande précédente ;

    wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/master/templates/sources.list.ubuntu.tmpl | sed "1,8d"

    on obtient alors ;

    ┏[ lundi 23 novembre 2020 ]
    ┣ nany@stupidcomputer :
    ┗▶ ~$ wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/master/templates/sources.list.ubuntu.tmpl | sed "1,8d"
    
    # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
    # newer versions of the distribution.
    deb {{mirror}} {{codename}} main restricted
    # deb-src {{mirror}} {{codename}} main restricted
    
    ## Major bug fix updates produced after the final release of the
    ## distribution.
    deb {{mirror}} {{codename}}-updates main restricted
    # deb-src {{mirror}} {{codename}}-updates main restricted
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
    ## team. Also, please note that software in universe WILL NOT receive any
    ## review or updates from the Ubuntu security team.
    deb {{mirror}} {{codename}} universe
    # deb-src {{mirror}} {{codename}} universe
    deb {{mirror}} {{codename}}-updates universe
    # deb-src {{mirror}} {{codename}}-updates universe
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
    ## team, and may not be under a free licence. Please satisfy yourself as to
    ## your rights to use the software. Also, please note that software in
    ## multiverse WILL NOT receive any review or updates from the Ubuntu
    ## security team.
    deb {{mirror}} {{codename}} multiverse
    # deb-src {{mirror}} {{codename}} multiverse
    deb {{mirror}} {{codename}}-updates multiverse
    # deb-src {{mirror}} {{codename}}-updates multiverse
    
    ## N.B. software from this repository may not have been tested as
    ## extensively as that contained in the main release, although it includes
    ## newer versions of some applications which may provide useful features.
    ## Also, please note that software in backports WILL NOT receive any review
    ## or updates from the Ubuntu security team.
    deb {{mirror}} {{codename}}-backports main restricted universe multiverse
    # deb-src {{mirror}} {{codename}}-backports main restricted universe multiverse
    
    ## Uncomment the following two lines to add software from Canonical's
    ## 'partner' repository.
    ## This software is not part of Ubuntu, but is offered by Canonical and the
    ## respective vendors as a service to Ubuntu users.
    # deb http://archive.canonical.com/ubuntu {{codename}} partner
    # deb-src http://archive.canonical.com/ubuntu {{codename}} partner
    
    deb {{security}} {{codename}}-security main restricted
    # deb-src {{security}} {{codename}}-security main restricted
    deb {{security}} {{codename}}-security universe
    # deb-src {{security}} {{codename}}-security universe
    deb {{security}} {{codename}}-security multiverse
    # deb-src {{security}} {{codename}}-security multiverse
    
    ┏[ lundi 23 novembre 2020 ]
    ┣ nany@stupidcomputer :
    ┗▶ ~$ 
  3. on va ensuite remplacer les occurences entre doubles-accolades à l’aide de la commande sed ;

    sed "commandes_de_remplacements_détaillées_ci-dessous"

    notons la présence des guillemets doubles car on va utiliser des commandes externes qui ne serait pas interprétées avec des guillemets simples ;

    1. commençons par remplacer {{mirror}} par l’adresse du serveur (j’utilise ici le serveur pour France qu’il faudra donc adapter selon votre situation géographique) ;

      s#{{mirror}}#http://fr.archive.ubuntu.com/ubuntu/#
    2. remplaçons ensuite {{codename}} par le code de la version en cours ;

      s#{{codename}}#$(lsb_release -sc)#
    3. enfin remplaçons {{security}} par l’adresse du dépôt security ;

      s#{{security}}#http://security.ubuntu.com/ubuntu/#

    on sépare les commandes de sed par des points-virgules et on ajoute le tout aux commandes précédentes avec un pipe ;

    wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/master/templates/sources.list.ubuntu.tmpl | sed "1,8d;s#{{mirror}}#http://fr.archive.ubuntu.com/ubuntu/#;s#{{codename}}#$(lsb_release -sc)#;s#{{security}}#http://security.ubuntu.com/ubuntu#"

    on obtient ;

    ┏[ lundi 23 novembre 2020 ]
    ┣ nany@stupidcomputer :
    ┗▶ ~$ wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/master/templates/sources.list.ubuntu.tmpl | sed "1,8d;s#{{mirror}}#http://fr.archive.ubuntu.com/ubuntu/#;s#{{codename}}#$(lsb_release -sc)#;s#{{security}}#http://security.ubuntu.com/ubuntu#"
    
    # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
    # newer versions of the distribution.
    deb http://fr.archive.ubuntu.com/ubuntu/ focal main restricted
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal main restricted
    
    ## Major bug fix updates produced after the final release of the
    ## distribution.
    deb http://fr.archive.ubuntu.com/ubuntu/ focal-updates main restricted
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal-updates main restricted
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
    ## team. Also, please note that software in universe WILL NOT receive any
    ## review or updates from the Ubuntu security team.
    deb http://fr.archive.ubuntu.com/ubuntu/ focal universe
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal universe
    deb http://fr.archive.ubuntu.com/ubuntu/ focal-updates universe
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal-updates universe
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
    ## team, and may not be under a free licence. Please satisfy yourself as to
    ## your rights to use the software. Also, please note that software in
    ## multiverse WILL NOT receive any review or updates from the Ubuntu
    ## security team.
    deb http://fr.archive.ubuntu.com/ubuntu/ focal multiverse
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal multiverse
    deb http://fr.archive.ubuntu.com/ubuntu/ focal-updates multiverse
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal-updates multiverse
    
    ## N.B. software from this repository may not have been tested as
    ## extensively as that contained in the main release, although it includes
    ## newer versions of some applications which may provide useful features.
    ## Also, please note that software in backports WILL NOT receive any review
    ## or updates from the Ubuntu security team.
    deb http://fr.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
    
    ## Uncomment the following two lines to add software from Canonical's
    ## 'partner' repository.
    ## This software is not part of Ubuntu, but is offered by Canonical and the
    ## respective vendors as a service to Ubuntu users.
    # deb http://archive.canonical.com/ubuntu focal partner
    # deb-src http://archive.canonical.com/ubuntu focal partner
    
    deb http://security.ubuntu.com/ubuntu/ focal-security main restricted
    # deb-src http://security.ubuntu.com/ubuntu/ focal-security main restricted
    deb http://security.ubuntu.com/ubuntu/ focal-security universe
    # deb-src http://security.ubuntu.com/ubuntu/ focal-security universe
    deb http://security.ubuntu.com/ubuntu/ focal-security multiverse
    # deb-src http://security.ubuntu.com/ubuntu/ focal-security multiverse
    
    ┏[ lundi 23 novembre 2020 ]
    ┣ nany@stupidcomputer :
    ┗▶ ~$ 

    on peut se rendre compte ici que je suis sous focal pour mon exemple ;

  4. optionnel mais je l’ajoute car ça peut aporter des infos sur l’historique d’installation, les infos du CD ;
    j’ajoute donc une commande d’insertion en première ligne à sed, commande un peu complexe que je ne vais pas détailler ici mais je dirai simplement qu’elle va lire les infos dans /var/log/installer/media-info et les mettre en forme pour le sources.list ;

    9i\\$(test -s /var/log/installer/media-info && awk -F'[ "]' '{if ( $3 ) {cn = $5} else {cn = $4};gsub("\"","_",$0);print "# deb cdrom:["$0"]/ "tolower(cn)" main restricted"}' /var/log/installer/media-info)"

    on ajoute cette commande dans le sed en mettant un point-virgule avant pour obtenir ;

    wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/master/templates/sources.list.ubuntu.tmpl | sed "1,8d;s#{{mirror}}#http://fr.archive.ubuntu.com/ubuntu/#;s#{{codename}}#$(lsb_release -sc)#;s#{{security}}#http://security.ubuntu.com/ubuntu#;9i\\$(test -s /var/log/installer/media-info && awk -F'[ "]' '{if ( $3 ) {cn = $5} else {cn = $4};gsub("\"","_",$0);print "# deb cdrom:["$0"]/ "tolower(cn)" main restricted"}' /var/log/installer/media-info)"

    qui donne ;

    ┏[ lundi 23 novembre 2020 ]
    ┣ nany@stupidcomputer :
    ┗▶ ~$ wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/master/templates/sources.list.ubuntu.tmpl | sed "1,8d;s#{{mirror}}#http://fr.archive.ubuntu.com/ubuntu/#;s#{{codename}}#$(lsb_release -sc)#;s#{{security}}#http://security.ubuntu.com/ubuntu#;9i\\$(test -s /var/log/installer/media-info && awk -F'[ "]' '{if ( $3 ) {cn = $5} else {cn = $4};gsub("\"","_",$0);print "# deb cdrom:["$0"]/ "tolower(cn)" main restricted"}' /var/log/installer/media-info)"
    # deb cdrom:[Ubuntu 20.04 LTS _Focal Fossa_ - Release amd64 (20200423)]/ focal main restricted
    
    # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
    # newer versions of the distribution.
    deb http://fr.archive.ubuntu.com/ubuntu/ focal main restricted
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal main restricted
    
    ## Major bug fix updates produced after the final release of the
    ## distribution.
    deb http://fr.archive.ubuntu.com/ubuntu/ focal-updates main restricted
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal-updates main restricted
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
    ## team. Also, please note that software in universe WILL NOT receive any
    ## review or updates from the Ubuntu security team.
    deb http://fr.archive.ubuntu.com/ubuntu/ focal universe
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal universe
    deb http://fr.archive.ubuntu.com/ubuntu/ focal-updates universe
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal-updates universe
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
    ## team, and may not be under a free licence. Please satisfy yourself as to
    ## your rights to use the software. Also, please note that software in
    ## multiverse WILL NOT receive any review or updates from the Ubuntu
    ## security team.
    deb http://fr.archive.ubuntu.com/ubuntu/ focal multiverse
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal multiverse
    deb http://fr.archive.ubuntu.com/ubuntu/ focal-updates multiverse
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal-updates multiverse
    
    ## N.B. software from this repository may not have been tested as
    ## extensively as that contained in the main release, although it includes
    ## newer versions of some applications which may provide useful features.
    ## Also, please note that software in backports WILL NOT receive any review
    ## or updates from the Ubuntu security team.
    deb http://fr.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
    
    ## Uncomment the following two lines to add software from Canonical's
    ## 'partner' repository.
    ## This software is not part of Ubuntu, but is offered by Canonical and the
    ## respective vendors as a service to Ubuntu users.
    # deb http://archive.canonical.com/ubuntu focal partner
    # deb-src http://archive.canonical.com/ubuntu focal partner
    
    deb http://security.ubuntu.com/ubuntu/ focal-security main restricted
    # deb-src http://security.ubuntu.com/ubuntu/ focal-security main restricted
    deb http://security.ubuntu.com/ubuntu/ focal-security universe
    # deb-src http://security.ubuntu.com/ubuntu/ focal-security universe
    deb http://security.ubuntu.com/ubuntu/ focal-security multiverse
    # deb-src http://security.ubuntu.com/ubuntu/ focal-security multiverse
    
    ┏[ lundi 23 novembre 2020 ]
    ┣ nany@stupidcomputer :
    ┗▶ ~$

    on se rend compte dans mon exemple que j’ai fait une installation de focal sans être passé par une mise à niveau ;

  5. terminons par écrire ce que ces commandes retournent dans le fichier sources.list en tant qu’administrateur à l’aide de la commande tee ;

    sudo tee /etc/apt/sources.list

    que l’on ajoute avec un pipe pour avoir ;

    wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/master/templates/sources.list.ubuntu.tmpl | sed "1,8d;s#{{mirror}}#http://fr.archive.ubuntu.com/ubuntu/#;s#{{codename}}#$(lsb_release -sc)#;s#{{security}}#http://security.ubuntu.com/ubuntu#;9i\\$(test -s /var/log/installer/media-info && awk -F'[ "]' '{if ( $3 ) {cn = $5} else {cn = $4};gsub("\"","_",$0);print "# deb cdrom:["$0"]/ "tolower(cn)" main restricted"}' /var/log/installer/media-info)" | sudo tee /etc/apt/sources.list

    et obtenir ;

    ┏[ lundi 23 novembre 2020 ]
    ┣ nany@stupidcomputer :
    ┗▶ ~$ wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/master/templates/sources.list.ubuntu.tmpl | sed "1,8d;s#{{mirror}}#http://fr.archive.ubuntu.com/ubuntu/#;s#{{codename}}#$(lsb_release -sc)#;s#{{security}}#http://security.ubuntu.com/ubuntu#;9i\\$(test -s /var/log/installer/media-info && awk -F'[ "]' '{if ( $3 ) {cn = $5} else {cn = $4};gsub("\"","_",$0);print "# deb cdrom:["$0"]/ "tolower(cn)" main restricted"}' /var/log/installer/media-info)" | sudo tee /etc/apt/sources.list
    # deb cdrom:[Ubuntu 20.04 LTS _Focal Fossa_ - Release amd64 (20200423)]/ focal main restricted
    
    # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
    # newer versions of the distribution.
    deb http://fr.archive.ubuntu.com/ubuntu/ focal main restricted
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal main restricted
    
    ## Major bug fix updates produced after the final release of the
    ## distribution.
    deb http://fr.archive.ubuntu.com/ubuntu/ focal-updates main restricted
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal-updates main restricted
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
    ## team. Also, please note that software in universe WILL NOT receive any
    ## review or updates from the Ubuntu security team.
    deb http://fr.archive.ubuntu.com/ubuntu/ focal universe
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal universe
    deb http://fr.archive.ubuntu.com/ubuntu/ focal-updates universe
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal-updates universe
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
    ## team, and may not be under a free licence. Please satisfy yourself as to
    ## your rights to use the software. Also, please note that software in
    ## multiverse WILL NOT receive any review or updates from the Ubuntu
    ## security team.
    deb http://fr.archive.ubuntu.com/ubuntu/ focal multiverse
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal multiverse
    deb http://fr.archive.ubuntu.com/ubuntu/ focal-updates multiverse
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal-updates multiverse
    
    ## N.B. software from this repository may not have been tested as
    ## extensively as that contained in the main release, although it includes
    ## newer versions of some applications which may provide useful features.
    ## Also, please note that software in backports WILL NOT receive any review
    ## or updates from the Ubuntu security team.
    deb http://fr.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
    # deb-src http://fr.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
    
    ## Uncomment the following two lines to add software from Canonical's
    ## 'partner' repository.
    ## This software is not part of Ubuntu, but is offered by Canonical and the
    ## respective vendors as a service to Ubuntu users.
    # deb http://archive.canonical.com/ubuntu focal partner
    # deb-src http://archive.canonical.com/ubuntu focal partner
    
    deb http://security.ubuntu.com/ubuntu/ focal-security main restricted
    # deb-src http://security.ubuntu.com/ubuntu/ focal-security main restricted
    deb http://security.ubuntu.com/ubuntu/ focal-security universe
    # deb-src http://security.ubuntu.com/ubuntu/ focal-security universe
    deb http://security.ubuntu.com/ubuntu/ focal-security multiverse
    # deb-src http://security.ubuntu.com/ubuntu/ focal-security multiverse
    
    ┏[ lundi 23 novembre 2020 ]
    ┣ nany@stupidcomputer :
    ┗▶ ~$

En espérant que ces explications sont suffisamment claires…


Nouvelle ligne de commandes pour serveur France (voir l’edit6) :

test $(lsb_release -sr 2>/dev/null | cut -d. -f1) -lt 24 && wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/master/templates/sources.list.ubuntu.tmpl | sed -e "1,8d;s@{{mirror}}@http://fr.archive.ubuntu.com/ubuntu/@;s@{{codename}}@$(lsb_release -sc)@;s@{{security}}@http://security.ubuntu.com/ubuntu@;9i\\$(test -s /var/log/installer/media-info && awk -F'[ "]' '{if ( $3 ) {cn = $5} else {cn = $4};gsub("\"","_",$0);print "# deb cdrom:["$0"]/ "tolower(cn)" main restricted"}' /var/log/installer/media-info)" -e '$a\\n# This system was installed using small removable media\n# (e.g. netinst, live or single CD). The matching \"deb cdrom\"\n# entries were disabled at the end of the installation process.\n# For information about how to configure apt package sources,\n# see the sources.list(5) manual.' | sudo tee /etc/apt/sources.list || wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/main/templates/sources.list.ubuntu.deb822.tmpl | sed "1,12d;s@{{mirror}}@http://fr.archive.ubuntu.com/ubuntu/@;s@{{codename}}@$(lsb_release -sc)@g;s@{{security}}@http://security.ubuntu.com/ubuntu/@" | sudo tee /etc/apt/sources.list.d/ubuntu.sources.curtin.orig ; test -s /etc/apt/sources.list.d/ubuntu.sources.curtin.orig && grep -v "^#" /etc/apt/sources.list.d/ubuntu.sources.curtin.orig | sed '1d' | sudo tee /etc/apt/sources.list.d/ubuntu.sources ; test -s /etc/apt/sources.list.d/ubuntu.sources && echo "# Ubuntu sources have moved to /etc/apt/sources.list.d/ubuntu.sources" | sudo tee /etc/apt/sources.list

Dernière modification par nany (Le 30/08/2024, à 15:13)

Hors ligne

#2 Le 23/11/2020, à 04:33

nany

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

Tl;dr :
[edit]
Pour ceux qui auraient vu l’edit3 du premier message : j’ai modifié la ligne ci-dessous pour que ça passe en non LTS.
Vous l’utiliserez donc à vos risques et périls. Mieux vaut utiliser le script que j’ai créé suite à la petite conversation avec Watael et qui de surcroît permet de choisir son serveur.
[/edit]

test $(lsb_release -sr 2>/dev/null | cut -d. -f1) -lt 24 && wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/master/templates/sources.list.ubuntu.tmpl | sed -e "1,8d;s@{{mirror}}@http://fr.archive.ubuntu.com/ubuntu/@;s@{{codename}}@$(lsb_release -sc)@;s@{{security}}@http://security.ubuntu.com/ubuntu@;9i\\$(test -s /var/log/installer/media-info && awk -F'[ "]' '{if ( $3 ) {cn = $5} else {cn = $4};gsub("\"","_",$0);print "# deb cdrom:["$0"]/ "tolower(cn)" main restricted"}' /var/log/installer/media-info)" -e '$a\\n# This system was installed using small removable media\n# (e.g. netinst, live or single CD). The matching \"deb cdrom\"\n# entries were disabled at the end of the installation process.\n# For information about how to configure apt package sources,\n# see the sources.list(5) manual.' | sudo tee /etc/apt/sources.list || wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/main/templates/sources.list.ubuntu.deb822.tmpl | sed "1,12d;s@{{mirror}}@http://fr.archive.ubuntu.com/ubuntu/@;s@{{codename}}@$(lsb_release -sc)@g;s@{{security}}@http://security.ubuntu.com/ubuntu/@" | sudo tee /etc/apt/sources.list.d/ubuntu.sources.curtin.orig ; test -s /etc/apt/sources.list.d/ubuntu.sources.curtin.orig && grep -v "^#" /etc/apt/sources.list.d/ubuntu.sources.curtin.orig | sed '1d' | sudo tee /etc/apt/sources.list.d/ubuntu.sources ; test -s /etc/apt/sources.list.d/ubuntu.sources && echo "# Ubuntu sources have moved to /etc/apt/sources.list.d/ubuntu.sources" | sudo tee /etc/apt/sources.list

[edit2]
La même chose pour Debian.
[/edit2]
[edit3]
Ligne de commandes modifiée (cf. l’edit6 du message #1).
[/edit3]

[edit4]
La remarque suivante ne concerne que les versions antérieures à 24.04.
[/edit4]
À noter qu’après une mise à niveau les lignes commentées (en général pour les sources) gardent le nom de l’ancienne version ; plutôt que d’utiliser la commande ci-dessus, j’utilise la suivante pour remplacer les occurrences incorrectes :

sudo sed -ri "/cdrom/! s/(ubuntu\/* ) *[a-z]*/\1$(lsb_release -sc)/" /etc/apt/sources.list

Dernière modification par nany (Le 08/09/2024, à 04:03)

Hors ligne

#3 Le 23/11/2020, à 07:04

xubu1957

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

Bonjour,

C'est de la belle ouvrage. smile

# deb http://archive.canonical.com/ubuntu focal partner

Et pour dé-commenter, pour libérer les dépôts partenaires ?

Et les PPA, il faudra les réactiver à la main ?


Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Réso|u] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.                   Membre de Linux-Azur

Hors ligne

#4 Le 23/11/2020, à 07:14

nany

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

xubu1957 a écrit :

Et pour dé-commenter, pour libérer les dépôts partenaires ?

sudo sed -ri '/partner/{s/^# (deb http)/\1/}' /etc/apt/sources.list
xubu1957 a écrit :

Et les PPA, il faudra les réactiver à la main ?

Oui.

Dernière modification par nany (Le 24/09/2021, à 23:52)

Hors ligne

#5 Le 23/11/2020, à 07:21

xubu1957

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

Comme certains empilent les PPA, avec empressement !

Merci. wink


Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Réso|u] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.                   Membre de Linux-Azur

Hors ligne

#6 Le 23/11/2020, à 07:30

nany

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

Pour les PPAs, ils sont normalement ajoutés dans /etc/apt/sources.list.d, donc ma commande n’y touche pas.
Seulement il y a toujours quelques dépôts tiers (comme par exemple winehq) qui sont ajoutés dans le sources.list.

nany a écrit :

En effet, celui-ci peut contenir des dépôts tiers (dus à des pratiques ancestrales qui ajoutent le dépôt dans ce fichier plutôt que de créer un fichier spécifique dans le répertoire prévu à cet effet depuis maintenant quelques années, mais là n’est pas le propos et je ne vais pas partir en guerre contre les tutos mal fichus sur le net tel Don Quichotte se battant contre les moulins à vent).

Hors ligne

#7 Le 23/11/2020, à 16:16

geole

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

nany a écrit :

Tl;dr :
la commande pour reconstruire un sources.list en bonne et due forme est

wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/master/templates/sources.list.ubuntu.tmpl | tail +9 | sed "s#{{mirror}}#http://fr.archive.ubuntu.com/ubuntu/#;s#{{codename}}#$(lsb_release -sc)#;s#{{security}}#http://security.ubuntu.com/ubuntu/#;1i\# deb cdrom:$(sed 's/^/\[/;s/\"/_/g;s/$/\]/' /var/log/installer/media-info)/ $(awk -F'"' '{sub(" .*","",$2); print tolower($2)}' /var/log/installer/media-info) main restricted" | sudo tee /etc/apt/sources.list

Bonjour
Bonne recherche
Cela fait quand même un affichage de 53 lignes dont 43 me semblent inutiles
La fin pourrait-elle devenir ?

grep ^deb | sudo tee /etc/apt/sources.list

Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#8 Le 23/11/2020, à 18:48

nany

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

geole a écrit :

La fin pourrait-elle devenir ?

grep ^deb | sudo tee /etc/apt/sources.list

Plutôt remplacer

tail +9

par

grep -E "^deb|^# deb|^$"

Mais je préfère m’en tenir à un sources.list semblable à celui d’une fraîche install.

Hors ligne

#9 Le 27/11/2020, à 15:02

enebre

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

Superbe nany, c'est justement ce qu'il me semblait avoir à rechercher pour rafraichir mon bureau.
Jusqu'à présent, je changeais tout ça ligne par ligne, je crois que ça va aller plus vite avec ton oeuvre de bien vaillance.
Merci

Hors ligne

#10 Le 27/11/2020, à 15:39

Watael

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

on se débarasse du tail :

wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/master/templates/sources.list.ubuntu.tmpl | sed "1,9d; s#..." | sudo ...

est-il bien nécessaire de faire répéter les extractions de /var/log/installer/media-info à chaque ligne traitée pas sed ? est-ce que les données ne pourraient pas être assignées à des variables, puis ces dernières utilisées dans sed ?
traitant le même fichier, ces données ne peuvent-elles pas être récupérées en une seule fois (soit par sed, soit par awk) dans un tableau bash ? ça complique un peu les choses pour un béotien. sad

Dernière modification par Watael (Le 27/11/2020, à 15:39)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#11 Le 27/11/2020, à 18:44

nany

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

Watael a écrit :

on se débarasse du tail :

Bien vu !
Bon maintenant ça m’oblige à revoir le post #1 pour modifier ça. hmm

Watael a écrit :

est-il bien nécessaire de faire répéter les extractions de /var/log/installer/media-info à chaque ligne traitée pas sed ?

Si j’interprète bien le man de sed, la commande pour la ligne désignée par son numéro n’est exécutée que pour cette ligne (donc une seule fois).

Watael a écrit :

est-ce que les données ne pourraient pas être assignées à des variables, puis ces dernières utilisées dans sed ?
traitant le même fichier, ces données ne peuvent-elles pas être récupérées en une seule fois (soit par sed, soit par awk) dans un tableau bash ? ça complique un peu les choses pour un béotien. sad

Ça semble en effet compliquer les choses donc je crois que je vais en rester là :

wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/master/templates/sources.list.ubuntu.tmpl | sed "1,8d;s#{{mirror}}#http://fr.archive.ubuntu.com/ubuntu/#;s#{{codename}}#$(lsb_release -sc)#;s#{{security}}#http://security.ubuntu.com/ubuntu/#;9i\# deb cdrom:$(sed 's/^/\[/;s/\"/_/g;s/$/\]/' /var/log/installer/media-info)/ $(awk -F'[ "]' '{print tolower($5)}' /var/log/installer/media-info) main restricted" | sudo tee /etc/apt/sources.list

 

Me reste plus qu’ revoir le post #1 (à tête reposée).

Hors ligne

#12 Le 27/11/2020, à 19:14

Watael

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

je ne trouve pas de fichier media-info sous /var/log/installer/ sur mon container lxc, tu peux m'envoyer le tien en MP* ? que je vois si je peux optimiser.
parce que je trouve étrange de parser un même fichier avec plusieurs commandes (un seul awk devrait être possible), de surcroît pour une seule ligne à modifier...

--
* ou nous l'afficher, s'il n'est pas immense, ET que rien de personnel n'y apparaît.

Dernière modification par Watael (Le 27/11/2020, à 19:15)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#13 Le 27/11/2020, à 21:07

nany

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

Watael a écrit :

* ou nous l'afficher, s'il n'est pas immense, ET que rien de personnel n'y apparaît.

Panipwoblem’ :

~$ cat /var/log/installer/media-info
Ubuntu 20.04 LTS "Focal Fossa" - Release amd64 (20200423)
~$

Et on doit insérer cette ligne :

# deb-cdrom:[Ubuntu 20.04 LTS _Focal Fossa_ - Release amd64 (20200423)]/ focal main restricted

 

Watael a écrit :

(un seul awk devrait être possible)

Je suis bien d’accord. Du coup j’ai écrit ça :

awk -F'[ "]' '{codename = tolower($5);gsub("\"","_",$0);print "# deb-cdrom:["$0"]/ "codename" main restricted"}' /var/log/installer/media-info

Qui donne comme commande finale :

wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/master/templates/sources.list.ubuntu.tmpl | sed "1,8d;s#{{mirror}}#http://fr.archive.ubuntu.com/ubuntu/#;s#{{codename}}#$(lsb_release -sc)#;s#{{security}}#http://security.ubuntu.com/ubuntu/#;9i\\$(awk -F'[ "]' '{codename = tolower($5);gsub("\"","_",$0);print "# deb-cdrom:["$0"]/ "codename" main restricted"}' /var/log/installer/media-info)" | sudo tee /etc/apt/sources.list

Si tu trouves plus concis et plus clair, merci à toi. wink

Hors ligne

#14 Le 27/11/2020, à 22:16

Watael

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

on perd en one liner, mais on gagne en lisibilité* :

mirror='http://fr.archive.ubuntu.com/ubuntu/'
codename=$(lsb_release -sc)
security='http://security.ubuntu.com/ubuntu/'
mediaInfo=$(awk -F'[ "]' '{ codename=tolower($5); gsub("\"","_",$0); print "# deb-cdrom:["$0"]/ "codename" main restricted"; }' /var/log/installer/media-info)

wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/master/templates/sources.list.ubuntu.tmpl \
    | sed  "1,8d;
            s#{{mirror}}#$mirror#;
            s#{{codename}}#$codename#;
            s#{{security}}#$security#;
            9i\# $mediaInfo" \
    | sudo tee /etc/apt/sources.list

perso., je ferais la manip. en root, pour me débarrasser aussi du tee.
et vu qu'il s'agit d'un tâche d'administration système, je l'exécuterais totalement en root.

--
* il me semble essentiel, pour un tuto, de distinguer clairement les éléments de la commande.

Dernière modification par Watael (Le 28/11/2020, à 18:00)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#15 Le 05/12/2020, à 12:43

nany

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

Watael a écrit :

* il me semble essentiel, pour un tuto, de distinguer clairement les éléments de la commande.

Tu as raison, ce n’est pas vraiment un tuto mais une tentative d’explication d’une ligne de commandes. J’ai modifié le titre.


Watael a écrit :

on perd en one liner, mais on gagne en lisibilité* :

C’est vrai que c’est largement plus lisible. Du coup, j’ai fait un script.

En revanche j’ai dû bidouiller les fichiers txt en y insérant des espaces insécables pour avoir les colonnes correctement affichées dans la liste zenity.
Il y a sûrement moyen d’échapper les espaces (ordinaires) que l’on souhaite mais je n’ai pas trouvé. sad

Hors ligne

#16 Le 04/04/2021, à 07:11

nany

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

Modification du script : test de l’existence de /var/log/installer/media-info.

Hors ligne

#17 Le 15/04/2021, à 14:44

nany

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

nany a écrit :

En revanche j’ai dû bidouiller les fichiers txt en y insérant des espaces insécables pour avoir les colonnes correctement affichées dans la liste zenity.
Il y a sûrement moyen d’échapper les espaces (ordinaires) que l’on souhaite mais je n’ai pas trouvé. sad

J’ai trouvé, il faut modifier l’IFS.

Script modifié et à jour sur github (v1.4).

Hors ligne

#18 Le 02/01/2022, à 13:39

nany

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

Bonne année,



Comme il arrive parfois des demandes pour Debian sur ce forum et qu’il existe aussi un modèle pour celui-ci, j’ai adapté la ligne :

test $(lsb_release -sc) == 'buster' -o $(lsb_release -sc) == 'stretch' && sec='/updates' || sec='-security' ; wget -qO- https://raw.githubusercontent.com/canonical/cloud-init/main/templates/sources.list.debian.tmpl | sed "1,9d;s#{{mirror}}#http://deb.debian.org/debian/#;s#{{codename}}#$(lsb_release -sc)#;s#{{security}}#http://security.debian.org/#;s#{% if.*endif %}#$sec#;s#main#main contrib non-free#;s#deb-src#\# deb-src#;10i\\$(test -s /media/cdrom/.disk/info && awk -F'[ "]' '{if ( $3 ) {cn = $5} else {cn = $4};gsub("\"","_",$0);print "# deb-cdrom:["$0"]/ "tolower(cn)" main contrib"}' /media/cdrom/.disk/info)" | sudo tee /etc/apt/sources.list

Je verrai plus tard pour soit faire un script pour Debian soit adapter le script existant.

Hors ligne

#19 Le 04/01/2022, à 05:42

nany

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

nany a écrit :

Je verrai plus tard pour soit faire un script pour Debian soit adapter le script existant.

Comme c’est plus simple de gérer les deux scripts indépendamment, j’ai créé un nouveau dépôt pour le script Debian.

Hors ligne

#20 Le 05/02/2022, à 19:06

EmilioFr

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

Bonjour, Salut "Super" Nany... big_smile

Une question à propos de cela, stp :

Nany a écrit :

Bref, "Sauvegarder(z)" votre sources.list

(* Désolé, mais je ne connais pas & ne trouve pas la "Commande" permettant de faire cela, simplement & efficacement... hmm  sad ) )

Depuis leur découverte, je suis assez régulièrement tes "Tutos" qui sont vraiment Clairs & précis, mêmes pour des non spécialistes du "CLI", de la "Console" & de la "Ligne de Commande",
et je les applique avec réussite le plus souvent...

Dans cette série de Tutos sur "Comment Nettoyer les anciens Noyaux / Kernels" d'Ubuntu/Linux, étant sous Kubuntu 20.04.3 (A jour...),
et donc, sur cette autre tuto sur comment "Régénérer sources.list en une ligne de commandes (+ script recommandé)" qui est vraiment Top, car à mon sens il complète vraiment bien ces opérations de "Nettoyages"
& les Risques inhérents aux diverses installations d'applications diverses, & cela m'est arrivé une fois d'avoir des problèmes avec ces fameuses "Sources Listes", & donc, pour retrouver les bons Dépôts, dont les "Officiels", etc...

A l'époque, ayant peut être mal recherché les Infos & Solutions, & donc, n'ayant pas trouvé la/les bonnes réponses, je m'étais résolu a Réinstaller Tout le Système, etc...
Donc, là, avec tes explications & ton Script (v. sources-list-gen 1.7) maintenu à jour, ça va simplifier vraiment les choses pour Nous & cela grâce à toi & à ceux qui t'épaules & t'aides, etc...

Donc, toujours dans l'esprit de vouloir progresser dans l'utilisation & la manipulation de Linux, & Voulant mettre en pratique ce dernier Tuto sur "Régénérer sources.list en une ligne de commandes (+ script recommandé)"
avant toute chose, comme tu le conseille à juste titre, je souhaite "Sauvegarder" la "Source.list" originale sur mon Laptop Msi GS73VR-7RF, où, après avoir supprimé Windows, j'installe moi même mes Linux au fil des envies),
& donc, ou j'ai installé divers dépôts (PPA) de certaines applications, pour avoir des Mises à Jour plus récentes pour certains logiciels tiers...
Hors malgré ma bonne volonté, je ne sais pas encore "Comment Sauvegarder cette/ces Fameuse-s "Sources.list"...

* Alors la seule & simple question de base valable qui nous vient dans ce cas, surtout pour des "Non Geeks", est :
** - As tu & peux tu nous indiquer la Ze "Commande" Magique, ou autre manip simple, pour réaliser facilement cette sauvegarde là, Stp ?... roll big_smile cool

D'autre part, suite à tes infos, mais sur ma version de Kubuntu, j'ai eu du mal a installer "Kclean", car on ne le trouve pas ou plus sur les dépôts,
& même avec le "Paquets .deb" que tu donne, aucune des applications d'Installation d'Applis ou Paquets ne veut l'installer,
avec le message que ce dépôt là n'est pas "Signé" & donc, ne peut pas être installé, car il y a un problème de"Sécurité"...
J'ai tout de même réussi à le faire en trouvant un lien pour lui & à priori sa dernière version ( 4.2, mise en ligne le 02/05/2019)  : Un 1er là : https://framapiaf.org/@hoper/102027106287882795
qui renvoi ici : https://hoper.dnsalias.net/atdc/index.php/kclean/
(* sur ce dernier lien il y a aussi le Paquet en question, & aussi le "Script" seul à part, et avec le "Hash Md5" du paquet & du script, etc...)
& j'ai quand même réussi à l'installer grâce à l'Installateur Gdebi"
(Choisi dans la liste pour le choix des "Logiciels d'installations", car ça ne marchait pas avec "Software Instal", ni avec "Discover" le gestionnaire de Logiciels sur Kubuntu...)

* Ensuite j'ai appliqué la Commande 

sudo sed -i 's/--gui/-gk/' /usr/share/applications/kclean.desktop

  que tu donnes pour modifier :

Nany a écrit :

la ligne qui commence par Exec pour y ajouter l’option -k ou --keep-prev.

Hors, après la réussite de l'instal de "Kclean" & avoir passer cette commande là,
(* j'avais déjà suivi les diverses instructions & fait le "Grand Nettoyage" des Noyaux, Résidus (Poussières), etc, en ayant garder comme prévu les 2 derniers Noyaux, l'avant dernier & bien sûr, celui qui est à jour & actif...),
mais voulant malgré tout tester Kclean, et malgré ta commande "Cerise sur le Gâteau", il me proposai de Supprimer quand même l'avant dernière version du Noyau & Kernel...
J'ai donc dû ouvrir & aller modifier le Fichier de Kclean, (là avec Sublime Text), à : /usr/share/applications/kclean
& y ajouter à la suite, à la Fin de la Ligne : * Exec=pkexec kclean -g =>> l'option que tu donne = " --keep-prev "
* - Ce qui fait que là, l'avant dernier noyau est bien conservé, & avec la version "Graphique" de Kclean, cela donne ça :

Le noyau actuellement utilisé a pour version : 5.4.0-97.
 Le noyau précédent a pour version : 5.4.0-96.
 Aucun paquet faisant référence à un noyau plus ancien n'a été trouvé sur le système...

Appuyez sur VALIDER pour quitter le programme.

* Et pour finir, on trouve aussi beaucoup d'infos et commandes données par " xubu1957 " qui est très actif, & qui m'ont été aussi très Utiles...
Ça fait vraiment plaisir tout ce que vous faites Toutes & Tous !...
Par contre, je voulais savoir, Stp, si tu peux indiquer ou Confirmer la Commande permettant de Vérifier & de Réparer les Paquets et Dépendances "Cassés-ées" du système ?
* " xubu1957 " sur un post d'Aide, donne cette commande là dans un commentaire :

dpkg -l | grep -v ^ii

,
et donc, * est ce bien cela qui exécute cette fonction de Vérification & de "Réparation" des Paquets & Dépendances Cassés ?...
[ * en plus des vérifications possibles dans "Muon", mais peut être que c'est plus Puissant, plus Efficace, & plus Rapide en ligne de commande ?... ]
Merci d'avance, car cela m'aidera grandement au cas où, & pas mal de gens aussi, en cas de problèmes sur leurs systèmes...

* En tous cas, Bonne Continuation, Bonne Journée, & vraiment "Bravo" & "Chapeau Bas" pour tout le Travail exceptionnel de Vulgarisation & d'Explications que tu réalises,
& donc aussi pour toute l'Aide & toutes les Solutions données, faciles à comprendre et à appliquer dans l'ensemble,
notamment grâce à Toutes les "Commandes" & au "Copier/Coller" (ou Triple Clics Gauche & Clic Mollette),
ainsi que pour tous les "Super Conseils" que vous prodiguez Toutes & Tous à longueurs de pages & aussi aimablement !...
EmilioFr


Os Syst - 64 bits : Kubuntu 20.04.3 LTS (* à jour) - Kernel : Linux 5.4.0-99-generic (x86_64)
KDE Plasma 5.18.7 - KDE Frameworks 5.68.0 - Qt : 5.12.8.
Laptop Msi GS73VR-7RF-Stealth-Pro : i7-7700HQ CPU @ 2.80GHz - 32 Gb RAM DDR4 2400 Mhz.
Graphics : Intel HD Graphic 630 + Nvidia GTX1060. Driver Nvidia 470 Non Free.

Hors ligne

#21 Le 05/02/2022, à 19:12

xubu1957

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

Bonjour,

J'indique des précisions de nany, pour la commande de nettoyage

==============

Dans le fil d'Hoper, j'avais apporté cette remarque de nany

Dernière modification par xubu1957 (Le 05/02/2022, à 19:28)


Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Réso|u] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.                   Membre de Linux-Azur

Hors ligne

#22 Le 05/02/2022, à 19:53

EmilioFr

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

xubu1957 a écrit :

Bonjour,

J'indique des précisions de nany, pour la commande de nettoyage

==============

Dans le fil d'Hoper, j'avais apporté cette remarque de nany


* Bonjour "xubu1957"...

J'avais pas vu cette dernière Commande "Modifiée", vu que tu viens juste d'en rappeler le Lien dans ton dernier commentaire ici, & ce, en cas de "Base de Données" Listée-ées dans les "rc" :

En présence d'un paquet rc  mysql-server (ou d'un serveur), la variante obligatoire pour éviter de perdre les bases de données SQL locales :
Le 22/07/2020, nany a écrit :

    dpkg -l | awk '/^rc/ && !/sql/{print $2}' | xargs -r sudo dpkg -P

& j'avais appliqué une autre de vos commandes, qui je pense n'avait pas cette Modif, & donc, ne sachant pas cela & n'ayant pas vérifié,
j'espère que je n'ai pas supprimé des bases de données, notamment celles d'autres applications....
Certaines,comme celle pour "Digikam" se trouve sur une autre Partition, donc, j'espère que cela n'aura aucun effet sur ces Basses de Données installées sur d'autres partitions,
mais je m'inquiète sur le fait que je ne sais pas s'il y en avait dans "/Racine" ou "/Home" & qui auraient été installé, sans que je le sache vraiment, par certaines applications...

Enfin, c'est bon à savoir, mais vu la Dispersion des différentes Infos & Commandes sur les Différents sujets du Forum, cela peut amener à de sérieux problèmes...

Bon, je n'ai pas encore Redémarré mon pc, après avoir exécuté toutes ces Commandes de Nettoyages des Noyaux, "Poussières", etc
alors j'espère vraiment que ça va aller & que mon système va bien Redémarrer & ne sera pas "Cassé"...

D'autre part, j'attends une réponse de "Nany" suite à certaines de mes questions, & notamment pour "Sauvegarder" la/les "Sources.list",
avant d'installer le "Script auto" qu'elle propose pour faire ces Nettoyages Régulièrement...

Merci quand même pour cette info précieuse, & pour tous les autres Conseils que vus nous apportez Tous & Toutes...


Os Syst - 64 bits : Kubuntu 20.04.3 LTS (* à jour) - Kernel : Linux 5.4.0-99-generic (x86_64)
KDE Plasma 5.18.7 - KDE Frameworks 5.68.0 - Qt : 5.12.8.
Laptop Msi GS73VR-7RF-Stealth-Pro : i7-7700HQ CPU @ 2.80GHz - 32 Gb RAM DDR4 2400 Mhz.
Graphics : Intel HD Graphic 630 + Nvidia GTX1060. Driver Nvidia 470 Non Free.

Hors ligne

#23 Le 07/02/2022, à 23:56

nany

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

EmilioFr a écrit :

Bonjour, Salut "Super" Nany... big_smile

Une question à propos de cela, stp :

Nany a écrit :

Bref, "Sauvegarder(z)" votre sources.list

(* Désolé, mais je ne connais pas & ne trouve pas la "Commande" permettant de faire cela, simplement & efficacement... hmm  sad ) )

Depuis leur découverte, je suis assez régulièrement tes "Tutos" qui sont vraiment Clairs & précis, mêmes pour des non spécialistes du "CLI", de la "Console" & de la "Ligne de Commande",
et je les applique avec réussite le plus souvent...

Dans cette série de Tutos sur "Comment Nettoyer les anciens Noyaux / Kernels" d'Ubuntu/Linux, étant sous Kubuntu 20.04.3 (A jour...),
et donc, sur cette autre tuto sur comment "Régénérer sources.list en une ligne de commandes (+ script recommandé)" qui est vraiment Top, car à mon sens il complète vraiment bien ces opérations de "Nettoyages"
& les Risques inhérents aux diverses installations d'applications diverses, & cela m'est arrivé une fois d'avoir des problèmes avec ces fameuses "Sources Listes", & donc, pour retrouver les bons Dépôts, dont les "Officiels", etc...

A l'époque, ayant peut être mal recherché les Infos & Solutions, & donc, n'ayant pas trouvé la/les bonnes réponses, je m'étais résolu a Réinstaller Tout le Système, etc...
Donc, là, avec tes explications & ton Script (v. sources-list-gen 1.7) maintenu à jour, ça va simplifier vraiment les choses pour Nous & cela grâce à toi & à ceux qui t'épaules & t'aides, etc...

Donc, toujours dans l'esprit de vouloir progresser dans l'utilisation & la manipulation de Linux, & Voulant mettre en pratique ce dernier Tuto sur "Régénérer sources.list en une ligne de commandes (+ script recommandé)"
avant toute chose, comme tu le conseille à juste titre, je souhaite "Sauvegarder" la "Source.list" originale sur mon Laptop Msi GS73VR-7RF, où, après avoir supprimé Windows, j'installe moi même mes Linux au fil des envies),
& donc, ou j'ai installé divers dépôts (PPA) de certaines applications, pour avoir des Mises à Jour plus récentes pour certains logiciels tiers...
Hors malgré ma bonne volonté, je ne sais pas encore "Comment Sauvegarder cette/ces Fameuse-s "Sources.list"...

* Alors la seule & simple question de base valable qui nous vient dans ce cas, surtout pour des "Non Geeks", est :
** - As tu & peux tu nous indiquer la Ze "Commande" Magique, ou autre manip simple, pour réaliser facilement cette sauvegarde là, Stp ?... roll big_smile cool

Bonjour EmilioFr et merci d’avoir relevé une coquille (on ne se relit jamais assez) wink


Alors quand je dis de sauvegarder le sources.list ça veut simplement dire d’en faire une copie quelque part où il restera lisible.
Par exemple dans le dossier personnel, ce qui pourrait donner en ligne de commandes, ceci :

cp -Tv /etc/apt/sources.list ~/sources.list.copy

À noter que je le renomme sources.list.copy pour ne pas que le script (qui crée un fichier sources.list dans le dossier personnel) ne l’écrase.

Pour éviter le hors sujet, j’ai répondu aux autres questions ici et .

Hors ligne

#24 Le 08/02/2022, à 15:21

EmilioFr

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

Merci Nany pour Toutes Tes réponses, & grâce à ça, j'ai pu faire cette Sauvegarde du "sources.list"...

nany a écrit :

Alors quand je dis de sauvegarder le sources.list ça veut simplement dire d’en faire une copie quelque part où il restera lisible.
Par exemple dans le dossier personnel, ce qui pourrait donner en ligne de commandes, ceci :

cp -Tv /etc/apt/sources.list ~/sources.list.copy

À noter que je le renomme sources.list.copy pour ne pas que le script (qui crée un fichier sources.list dans le dossier personnel) ne l’écrase.

Et Stp, vu qu'il y a aussi une "sources.list/d", est ce qu'il y a une autre commande similaire pour Sauvegarder cette liste là aussi,
pour pouvoir garder & retrouver la liste des Paquets et Dépôts Externes qu'on a ajouté pour avoir certaines applications ?
J'ai essayé de rajouter le "d" à "sources.list" dans ta commande, mais bien sûr, ça ne fonctionne pas...  big_smile

Merci d'avance...


Os Syst - 64 bits : Kubuntu 20.04.3 LTS (* à jour) - Kernel : Linux 5.4.0-99-generic (x86_64)
KDE Plasma 5.18.7 - KDE Frameworks 5.68.0 - Qt : 5.12.8.
Laptop Msi GS73VR-7RF-Stealth-Pro : i7-7700HQ CPU @ 2.80GHz - 32 Gb RAM DDR4 2400 Mhz.
Graphics : Intel HD Graphic 630 + Nvidia GTX1060. Driver Nvidia 470 Non Free.

Hors ligne

#25 Le 10/02/2022, à 02:45

nany

Re : Régénérer sources.list en une ligne de commandes (+ script recommandé)

EmilioFr a écrit :

Et Stp, vu qu'il y a aussi une "sources.list/d", est ce qu'il y a une autre commande similaire pour Sauvegarder cette liste là aussi,
pour pouvoir garder & retrouver la liste des Paquets et Dépôts Externes qu'on a ajouté pour avoir certaines applications ?

Je ne vois pas l’intérêt de sauvegarder les fichiers des dépôts tiers mais si tu y tiens :

cp -rv /etc/apt/sources.list.d ~

Ça copie tout le contenu d’/etc/apt/sources.list.d dans le dossier personnel.


Si le but est d’avoir une liste des fichiers, on peut les lister et enregistrer cette liste dans un fichier texte :

cd /etc/apt/sources.list.d && ls -1 *.list >~/liste_sources_depots_tiers.txt ; cd

Hors ligne