Ich habe einen Lucid Server (10.04) eingerichtet und möchte den Mirror von US (oder einem anderen Land) auf den Main Ubuntu Mirror umstellen.
Zum Beispiel sind meine zwei ersten Einträge in sources.list:
deb http://us.archive.ubuntu.com/ubuntu/ lucid main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ lucid main restricted
In einer Desktop-Umgebung würde ich den Hauptspiegel folgendermaßen auswählen:
Aber wie mache ich das vom Terminal aus, da ich keine grafische Umgebung installiert habe!
server
command-line
software-sources
apt-mirror
Sorin-Mihai Oprea
quelle
quelle
apt-get update
das Programm auch nachträglich aus, damit APT seine Pakete aktualisieren kann. Anfangs erhielt ich einePackage X has no installation candidate
Nachricht, weil APT das neue Repository noch nicht nach Paketen durchsucht hat.sed
zu verwenden, kann der folgende Befehl verwendet werden:sed -E -i 's#http://[^\s]*archive\.ubuntu\.com/ubuntu#http://be.archive.ubuntu.com/ubuntu#g' /etc/apt/sources.list'
/etc/apt/sources.list Ersetzen Sie nl durch Ihren Ländercode.Dieser Befehl sollte den Trick machen:
Es wird das "uns" entfernen. Präfix in jeder der Adressen, um sie in Adressen des Hauptservers zu konvertieren.
Ersetzen Sie uns natürlich durch einen anderen Spiegel, den Sie verwenden.
Ausführliche Erklärung des Befehls:
sed - stream editor zum filtern und transformieren von text.
Das Argument -i dient zum Bearbeiten einer vorhandenen Datei.
Dann 's | regexp | Austausch | g' , s Angabe der Suche und Befehl ersetzen.
Das g am Ende ist das Argument für die "globale" Suche.
Fazit: Ersetzt alle Vorkommen von http: // us . mit http: // in der Datei /etc/apt/sources.list .
quelle
sudo sed -i 's/http:\/\/us./http:\/\/de./g' /etc/apt/sources.list'
sudo sed -i 's|http://us.|http://ch.|g' /etc/apt/sources.list
(ich bin in der Schweiz). Ich habe mit einem osboxes-Image gearbeitet und sie sind anscheinend in dieser Hinsicht ziemlich falsch konfiguriert ...Die korrekte Verwendung von sed, um den Ländercode "us" aus der source.list zu entfernen / in einen anderen Code wie "au" zu ändern, sieht der Befehl folgendermaßen aus:
Verwenden Sie den folgenden Code, um "uns" alleine zu entfernen, anstatt es in etwas zu ändern:
quelle
Mit
vim
:Geben :Sie ein (Sie müssen Shiftgedrückt halten ), um in den Befehlszeilenmodus zu wechseln, und geben Sie dann Folgendes ein:
Schlagen Enter
Drücken Sie Esc, um sicherzustellen, dass Sie den Befehlszeilenmodus verlassen und in den normalen Modus gewechselt haben. Jetzt können Sie mit den Tasten zum Verschieben der Tastatur durch die Datei scrollen (wenn Sie möchten), um sicherzustellen, dass alle Vorkommen von uns Spiegeln bearbeitet wurden.
Beenden Sie abschließend mit dem Speichern, indem Sie in den Befehlszeilenmodus (Typ :) wechseln
wq!
, und drücken Sie die Eingabetaste , um zu speichern und den Vorgang zu beendenvim
.quelle
.
für sich genommen "ein beliebiges Zeichen außer einer neuen Zeile" . Der Backslash soll sicherstellen, dass er nur mit einem wörtlichen Punkt übereinstimmt.