Vraag Hoe kan ik een lijst van alle repository's en PPA's van de opdrachtregel krijgen in een installatiescript?


ik weet hoe lijst alle pakketten geïnstalleerd op mijn systeem.

Maar hoe kan ik een lijst van alle repository's en PPA's krijgen in een script dat ik kan uitvoeren op een nieuwe machine om de repository-setup te repliceren, inclusief de sleutels?

Ik weet dat ik het kan bekijken /etc/apt/sources.list en /etc/apt/sources.list.d, maar ik ben op zoek naar een manier om voortbrengen een script dat alles uitvoert apt-add-repository commando's op een nieuw systeem (dat sorteert alle sleutels).

Om het even welke ideeën?


184
2018-06-10 11:30


oorsprong


Mogelijk duplicaat: askubuntu.com/questions/28644/how-can-i-backup-my-ppas - Glutanimate
Eigenlijk een superset. Mijn vraag ging over een script dat het herstelscript genereert, niet alleen een back-up - stwissel


antwoorden:


Bedankt voor de aanwijzingen. Met een beetje opruimen kreeg ik een script met de PPA's, maar geen andere repository:

#! /bin/sh 
# listppa Script to get all the PPA installed on a system ready to share for reininstall
for APT in `find /etc/apt/ -name \*.list`; do
    grep -o "^deb http://ppa.launchpad.net/[a-z0-9\-]\+/[a-z0-9\-]\+" $APT | while read ENTRY ; do
        USER=`echo $ENTRY | cut -d/ -f4`
        PPA=`echo $ENTRY | cut -d/ -f5`
        echo sudo apt-add-repository ppa:$USER/$PPA
    done
done

Wanneer je het belt listppa > installppa.sh u krijgt een script dat u op een nieuwe machine kunt kopiëren om alle PPA opnieuw te installeren.

Volgende stop: doe dat voor de andere repositories:

#! /bin/sh
# Script to get all the PPA installed on a system
for APT in `find /etc/apt/ -name \*.list`; do
    grep -Po "(?<=^deb\s).*?(?=#|$)" $APT | while read ENTRY ; do
        HOST=`echo $ENTRY | cut -d/ -f3`
        USER=`echo $ENTRY | cut -d/ -f4`
        PPA=`echo $ENTRY | cut -d/ -f5`
        #echo sudo apt-add-repository ppa:$USER/$PPA
        if [ "ppa.launchpad.net" = "$HOST" ]; then
            echo sudo apt-add-repository ppa:$USER/$PPA
        else
            echo sudo apt-add-repository \'${ENTRY}\'
        fi
    done
done

Dit zou de slag moeten slaan. Ik had een nodig vraag over superuser om de juiste regex te achterhalen.


89
2018-06-10 13:49



In uw grep -o bijvoorbeeld, de \`  in [a-z0-9\-] doet niet wat je verwacht. Het komt overeen met een letterlijke backslash. Dat hoeft niet ontsnappen de - wanneer het aan het begin of einde van de [] lijst; eigenlijk kan dat niet ontsnappen it! .. In dit geval de \` (waarschijnlijk) zal geen probleem veroorzaken, omdat je (hopelijk) geen tegenkomt backslash in de deb binnenkomst. - Peter.O
Merk op dat PPA-namen punten kunnen bevatten, dus ik denk dat je je regexp wilt wijzigen in http://ppa.launchpad.net/[a-z0-9-]\+/[a-z0-9.-]\+ - kynan
Nee, u wilt de regex wijzigen in [[:graph:]]  in plaats van [a-z...blah.anything] omdat dat overeenkomt met alfanumerieke tekens + interpunctie - dat is waar de PPA-namen uit bestaan. - MichalH
Ik veronderstel dat je zou moeten opnemen deb woord aan het begin van elke repositoryregel, indien niet opgegeven ppa:$USER/$PPA het formulier. - jarno
@wissel een bepaalde reden die je hebt gebruikt vind en dan grep? Je kunt eenvoudig een glob doen die de shell parseert en doorgeeft aan grep. grep -Po "(?<=^deb\s).*?(?=#|$)" /etc/apt/{sources.list,sources.list.d/*.list} | while read ENTRY ; do echo $ENTRY; done Merk op dat dit, zoals je kunt zien, de bestandsnaam is waaruit elke entry afkomstig is, dus je moet een trim doen vanaf het begin van het resultaat tot de eerste dubbele punt, maar dat is niet moeilijk met knippen. Misschien wil je het ook doorgeven uniq als u niet meerdere vermeldingen voor dezelfde bron wilt (bijvoorbeeld als u Google Chrome Stable / Beta / Dev heeft geïnstalleerd). - dragon788


Je kunt alles laten zien met:

grep ^ /etc/apt/sources.list /etc/apt/sources.list.d/*

80
2018-06-10 12:52



Hoe zit het met egrep -v '^#|^ *$' /etc/apt/sources.list /etc/apt/sources.list.d/* om afgebakende regels en lege regels te verwijderen?
zou je het gebruik van kunnen verklaren? ^ na grep in grep ^ /etc/apt/sources.list /etc/apt/sources.list.d/*?
@ vasa1 Het hoofdgedeelte ^ en het dollarteken $ zijn metatekens die respectievelijk overeenkomen met de lege reeks aan het begin en het einde van een regel. - wojox
Ik gebruik grep ^ [^ #] ... - Het verbergt automatisch alle bronvermeldingen - Ross Aiken
Als je niets gaat filteren, zou het niet eenvoudiger zijn om gewoon te draaien cat /etc/apt/sources.list /etc/apt/sources.list.d/* - jbo5112


Ik ben verrast dat de eenvoudigste maar meest effectieve manier om alle ingeschakelde binaire softwarebronnen samen met het bestand waarin ze zijn opgegeven nog niet is gepost:

grep -r --include '*.list' '^deb ' /etc/apt/sources.list /etc/apt/sources.list.d/

Van alle verwerkte bestanden wordt hiermee elke regel afgedrukt die begint met deb. Dit geldt ook voor becommentarieerde regels deb-src lijnen om broncode-repository's in te schakelen.

Het zoekt eigenlijk alleen maar alles *.list bestanden die worden geparseerd door apt, maar b.v. Nee *.list.save bestanden gebruikt voor back-up of anderen met illegale namen.


Als u een kortere maar mogelijk alleen in 99,9% van alle gevallen wilt, moet u de juiste uitvoer gebruiken om te veel bestanden te doorzoeken (inclusief alle /etc/apt/sources.list* bestanden en mappen, niet alleen /etc/apt/sources.list en `/etc/apt/sources.list.d/*), kunt u dit ook gebruiken:

grep -r --include '*.list' '^deb ' /etc/apt/sources.list*

Tenzij er bestanden zijn die er niet zouden moeten zijn, zal de uitvoer hetzelfde zijn.


Een voorbeelduitvoer op mijn machine zou dit zijn:

/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily main restricted
/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-updates main restricted
/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily universe
/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-updates universe
/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily multiverse
/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-updates multiverse
/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-backports main restricted universe multiverse
/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-security main restricted
/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-security universe
/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-security multiverse
/etc/apt/sources.list:deb http://archive.canonical.com/ubuntu wily partner
/etc/apt/sources.list.d/maarten-fonville-ubuntu-ppa-wily.list:deb http://ppa.launchpad.net/maarten-fonville/ppa/ubuntu wily main
/etc/apt/sources.list.d/webupd8team-ubuntu-tor-browser-wily.list:deb http://ppa.launchpad.net/webupd8team/tor-browser/ubuntu wily main
/etc/apt/sources.list.d/fossfreedom-ubuntu-indicator-sysmonitor-wily.list:deb http://ppa.launchpad.net/fossfreedom/indicator-sysmonitor/ubuntu wily main
/etc/apt/sources.list.d/getdeb.list:deb http://archive.getdeb.net/ubuntu wily-getdeb apps

Als je een mooiere uitvoer wilt, laat het dan door sed:

grep -r --include '*.list' '^deb ' /etc/apt/ | sed -re 's/^\/etc\/apt\/sources\.list((\.d\/)?|(:)?)//' -e 's/(.*\.list):/\[\1\] /' -e 's/deb http:\/\/ppa.launchpad.net\/(.*?)\/ubuntu .*/ppa:\1/'

En we zullen dit zien:

deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily main restricted
deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-updates main restricted
deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily universe
deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-updates universe
deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily multiverse
deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-updates multiverse
deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-backports main restricted universe multiverse
deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-security main restricted
deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-security universe
deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-security multiverse
deb http://archive.canonical.com/ubuntu wily partner
[maarten-fonville-ubuntu-ppa-wily.list] ppa:maarten-fonville/ppa
[webupd8team-ubuntu-tor-browser-wily.list] ppa:webupd8team/tor-browser
[fossfreedom-ubuntu-indicator-sysmonitor-wily.list] ppa:fossfreedom/indicator-sysmonitor
[getdeb.list] deb http://archive.getdeb.net/ubuntu wily-getdeb apps

14
2018-03-04 08:57



Gaan door het geaccepteerde antwoord, lijkt het OP gezocht PPA's worden getoond in de ppa:<user>/<project> het formulier. - muru
De vraag vraagt ​​eigenlijk om een ​​script te genereren dat alle repositories installeert / activeert. Maar de titel van de vraag gaat alleen over het vermelden ervan. Ook het 2de hoogst gescoorde antwoord vermeldt ze alleen maar, maar het somt veel te veel op. - Byte Commander
Leuk, maar ik had al geaccentueerd. : D - muru


Ik gebruik deze opdracht om alle geconfigureerde softwarebronnen (repositories) weer te geven, inclusief momenteel uitgeschakeld:

cat /etc/apt/sources.list; for X in /etc/apt/sources.list.d/*; do echo; echo; echo "** $X:"; echo; cat $X; done

Ik gebruik dit voornamelijk voor het oplossen van problemen; dit kan zeker worden opgenomen in scripts, maar je wilt misschien verkleinen /etc/apt/sources.list.d/* naar /etc/apt/sources.list.d/*.list dus je krijgt alleen momenteel geactiveerde softwarebronnen.


4
2018-06-12 08:57



Thx voor de feedback. cat geeft een lijst van de bestanden zoals ze zijn, dus ik zou het handmatig moeten wijzigen in voortbrengen een script (zoals vermeld in de vraag). De uitdaging met repositories: als je alleen de bestanden kopieert van / etc / apt krijg je de repository-sleutels niet. Dit is waarom ik een script wil dat ze voor ons ophaalt - stwissel


Voer de volgende opdracht uit:

apt-cache policy | grep http | awk '{print $2 $3}' | sort -u

Bron


4
2018-06-12 11:43





Dus, wat graven doen, hebben we AptPkg::Class.

Dus gebruiken perl we kunnen zoiets eenvoudigs doen ..

perl -MAptPkg::Cache -MData::Dumper -E'say Dumper [AptPkg::Cache->new->files()]' | less

Dit geeft ons een lijst van alle AptPkg::Class::PkgFile pakketjes. Je zou waarschijnlijk de kunnen genereren apt-add-repository commando's daarmee.


2
2017-11-14 19:48





https://repogen.simplylinux.ch/ zal u een lijst geven van alle PPA's voor uw versie van Ubuntu. Hier is een gegenereerde lijst zonder bronbestanden en geen Samsung-printer ppa:

#------------------------------------------------------------------------------#
#                            OFFICIAL UBUNTU REPOS                             #
#------------------------------------------------------------------------------#


###### Ubuntu Main Repos
deb http://us.archive.ubuntu.com/ubuntu/ yakkety main restricted universe multiverse 

###### Ubuntu Update Repos
deb http://us.archive.ubuntu.com/ubuntu/ yakkety-security main restricted universe multiverse 
deb http://us.archive.ubuntu.com/ubuntu/ yakkety-updates main restricted universe multiverse 
deb http://us.archive.ubuntu.com/ubuntu/ yakkety-proposed main restricted universe multiverse 
deb http://us.archive.ubuntu.com/ubuntu/ yakkety-backports main restricted universe multiverse 

###### Ubuntu Partner Repo
deb http://archive.canonical.com/ubuntu yakkety partner

#------------------------------------------------------------------------------#
#                           UNOFFICIAL UBUNTU REPOS                            #
#------------------------------------------------------------------------------#


###### 3rd Party Binary Repos

#### Flacon PPA - http://kde-apps.org/content/show.php?content=113388
## Run this command: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F2A61FE5
deb http://ppa.launchpad.net/flacon/ppa/ubuntu yakkety main

#### Gimp PPA - https://launchpad.net/~otto-kesselgulasch/+archive/gimp
## Run this command: sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 614C4B38
deb http://ppa.launchpad.net/otto-kesselgulasch/gimp/ubuntu yakkety main

#### Google Chrome Browser - http://www.google.com/linuxrepositories/
## Run this command: wget -q https://dl.google.com/linux/linux_signing_key.pub -O- | sudo apt-key add -
deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main

#### Google Earth - http://www.google.com/linuxrepositories/
## Run this command: wget -q https://dl.google.com/linux/linux_signing_key.pub -O- | sudo apt-key add -
deb [arch=amd64] http://dl.google.com/linux/earth/deb/ stable main

#### Highly Explosive PPA - https://launchpad.net/~dhor/+archive/myway
## Run this command: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93330B78
deb http://ppa.launchpad.net/dhor/myway/ubuntu yakkety main

#### JDownloader PPA - https://launchpad.net/~jd-team
## Run this command: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6A68F637
deb http://ppa.launchpad.net/jd-team/jdownloader/ubuntu yakkety main

#### Lazarus - http://www.lazarus.freepascal.org/
## Run this command:  gpg --keyserver hkp://pgp.mit.edu:11371 --recv-keys 6A11800F  && gpg --export --armor 0F7992B0  | sudo apt-key add -
deb http://www.hu.freepascal.org/lazarus/ lazarus-stable universe

#### LibreOffice PPA - http://www.documentfoundation.org/download/
## Run this command: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1378B444
deb http://ppa.launchpad.net/libreoffice/ppa/ubuntu yakkety main

#### MEGA Sync Client - https://mega.co.nz/
deb http://mega.nz/linux/MEGAsync/xUbuntu_16.10/ ./

#### MKVToolnix - http://www.bunkus.org/videotools/mkvtoolnix/
## Run this command: wget -q http://www.bunkus.org/gpg-pub-moritzbunkus.txt -O- | sudo apt-key add -
deb http://www.bunkus.org/ubuntu/yakkety/ ./

#### Mozilla Daily Build Team PPA - http://edge.launchpad.net/~ubuntu-mozilla-daily/+archive/ppa
## Run this command: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys  247510BE
deb http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu yakkety main

#### muCommander - http://www.mucommander.com/
## Run this command: sudo wget -O - http://apt.mucommander.com/apt.key | sudo apt-key add - 
deb http://apt.mucommander.com stable main non-free contrib  

#### Opera - http://www.opera.com/
## Run this command: sudo wget -O - http://deb.opera.com/archive.key | sudo apt-key add -
deb http://deb.opera.com/opera/ stable non-free

#### Oracle Java (JDK) Installer PPA - http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html
## Run this command: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
deb http://ppa.launchpad.net/webupd8team/java/ubuntu yakkety main

#### PlayDeb - http://www.playdeb.net/
## Run this command: wget -O- http://archive.getdeb.net/getdeb-archive.key | sudo apt-key add -
deb http://archive.getdeb.net/ubuntu yakkety-getdeb games

#### SABnzbd PPA - http://sabnzbd.org/
## Run this command:  sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4BB9F05F
deb http://ppa.launchpad.net/jcfp/ppa/ubuntu yakkety main

#### SimpleScreenRecorder PPA - http://www.maartenbaert.be/simplescreenrecorder/
## Run this command: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 283EC8CD
deb http://ppa.launchpad.net/maarten-baert/simplescreenrecorder/ubuntu yakkety main

#### Steam for Linux - http://store.steampowered.com/about/
## Run this command: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F24AEA9FB05498B7
deb [arch=i386] http://repo.steampowered.com/steam/ precise steam

#### Syncthing - https://syncthing.net/
## Run this command: curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
deb http://apt.syncthing.net/ syncthing release

#### Tor: anonymity online - https://www.torproject.org
## Run this command: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 886DDD89
deb http://deb.torproject.org/torproject.org yakkety main

#### Unsettings PPA - http://www.florian-diesch.de/software/unsettings/
## Run this command: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0FEB6DD9
deb http://ppa.launchpad.net/diesch/testing/ubuntu yakkety main

#### VirtualBox - http://www.virtualbox.org
## Run this command: wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox_2016.asc -O- | sudo apt-key add -
deb http://download.virtualbox.org/virtualbox/debian yakkety contrib

#### Webmin - http://www.webmin.com
## Run this command: wget http://www.webmin.com/jcameron-key.asc -O- | sudo apt-key add -
deb http://download.webmin.com/download/repository sarge contrib

#### WebUpd8 PPA - http://www.webupd8.org/
## Run this command: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4C9D234C
deb http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu yakkety main

#### Xorg Edgers PPA - https://launchpad.net/~xorg-edgers
## Run this command: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8844C542  
deb http://ppa.launchpad.net/xorg-edgers/ppa/ubuntu yakkety main
here is a generated list without source files and no samsung printer ppa
#### Yuuguu - http://yuuguu.com
deb http://update.yuuguu.com/repositories/apt hardy multiverse

2
2017-11-16 06:28





Hier is mijn script, "list-apt-repositories", waarin alle repositories in"/etc/sources.list" en "/etc/sources.list.d/*.list". Je kan toevoegen --ppa-only om alleen de PPA's te tonen. PPA's worden automatisch omgezet naar ppa:USER/REPO formaat.

De relevante delen zijn de 5 regels in list_sources en list_ppa functies, de rest is gewoon op maat gemaakt om het in een handig shellscript te wikkelen.

list-apt-repositories:

#!/bin/sh

usage () {
  cat >&2 <<USAGE
$0 [--ppa-only]

Options:
  --ppa-only            only list PPAs
USAGE
  exit $1
}

list_sources () {
  grep -E '^deb\s' /etc/apt/sources.list /etc/apt/sources.list.d/*.list |\
    cut -f2- -d: |\
    cut -f2 -d' ' |\
    sed -re 's#http://ppa\.launchpad\.net/([^/]+)/([^/]+)(.*?)$#ppa:\1/\2#g'
}

list_ppa () {
  list_sources | grep '^ppa:'
}

generate=list_sources

while test -n "$1"
do
  case "$1" in
    -h|--help) usage 1;;
    --ppa-only) generate=list_ppa;;
    *)
      printf -- "Unknown argument '$1'\n" >&2
      usage 2
    ;;
  esac
  shift
done

$generate

En om een ​​installatiescript te maken, pijpt u in een ander script "make-apt-repository-install-script"Het gegenereerde script ondersteunt de -y/--yes argument voor niet-interactief gebruik (zie add-apt-repository(1)).

make-apt-repository-install-script:

#!/bin/sh

if test -n "$1"
then
  cat >&2 <<USAGE
Usage: $0 < PATH_TO_LIST_OF_REPOS
       list-apt-repositories [--ppa-only] | $0

No options recognized.

Reads list of repositories from stdin and generates a script to install them
using \`add-apt-repository(1)\`. The script is printed to stdout.

The generated script supports an optional
\`-y\` or \`--yes\` argument which causes the \`add-apt-repository\` commands
to be run with the \`--yes\` flag.
USAGE
  exit 1
fi

cat <<INSTALL_SCRIPT
#!/bin/sh
y=
case "\$1" in
  -y|--yes) y=\$1;;
  '') y=;;
  *)
    printf '%s\n' "Unknown option '\$1'" "Usage: \$0 [{-y|--yes}]" >&2
    exit 1
  ;;
esac
INSTALL_SCRIPT

xargs -d'\n' printf "add-apt-repository \$y '%s'\n"

Nogmaals, het belangrijke deel is het xargs commando op de laatste regel, de rest is boilerplate.


2
2017-12-04 07:40





Om het toe te voegen ppa.launchpad.net lijnen als ppa: $ USER / $ PPA. Voeg andere repositories met hun volledige regel toe vanuit * .list-bestanden. Geen dupe-regels.

#! / Bin / bash
# Mijn ~ / bin / mk_repositories_restore_script
mkdir -p ~ / bin
x = ~ / bin / restore_repositories
echo \ # \! / bin / bash> $ x
chmod u + x $ x
(
 voor APT in $ (vind / etc / apt / -name \ *. lijst)
    do sed -n -e '/ ^ deb / {
     /ppa\.launchpad/s/\(.*\/\/[^\/]*.\)\([^ \ t] * \) \ (. * $ \) / sudo apt-add-repository ppa : \ 2 / p;
     /ppa\.launchpad/!s / \ (deb [\ t] * \) \ (. * $ \) / sudo apt-add-repository \ 2 / p;
    } '$ APT
 gedaan
) sorteren | uniq | tee -a ~ / bin / restore_repositories

1
2018-04-11 22:51





Bedankt BobDodds!
Als iemand geïnteresseerd zou zijn, heb ik je code een beetje bijgewerkt (hoop dat je het niet erg vindt) ..
Dit script typt alleen gebruikers-PPA's (/etc/apt/sources.list.d).

    #!/bin/bash
    # My ~/bin/mk_repositories_restore_script
    mkdir -p ~/bin
    x=~/bin/restore_repositories
    echo \#\!/bin/bash > $x
    chmod u+x $x
    (
    for APT in $( find /etc/apt/ -name \*.list )
    do sed -n -e '/^deb /{
          /ppa\.launchpad/s/\(.*\/\/[^\/]*.\)\([^ \t]*\)\(.*\/ubuntu.*$\)/ppa:\2/p;                                                                                                                                                                                       
        }' $APT
    done
    ) | sort | uniq | tee -a ~/bin/restore_repositories

0
2017-11-15 00:16





sed -r -e '/^deb /!d' -e 's/^([^#]*).*/\1/' -e 's/deb http:\/\/ppa.launchpad.net\/(.+)\/ubuntu .*/ppa:\1/' -e "s/.*/sudo add-apt-repository '&'/" /etc/apt/sources.list /etc/apt/sources.list.d/*

Dat levert echter geen commando's op om mogelijke bronrepository's (deb-src) in te schakelen.


0
2017-11-26 18:37