Autor |
Nachricht |
|
Titel: Frage zu apt-get install
Verfasst am: 01.03.2011, 09:07 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
Hallo Ihr,
wie kann ich apt-get sagen, daß wenn ich eine lange Liste zu installierender Pakete habe, alle Pakete unbekannten Pakete ohne abzubrechen übersprungen werden sollen?
Viele Grüße Christopher |
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|
|
Titel:
Verfasst am: 01.03.2011, 22:59 Uhr
|
|
Anmeldung: 20. Jul 2010
Beiträge: 119
|
|
Verstehe ich es richtig, dass es Dir darum geht, eine Vielzahl von Paketen zu installieren, von denen manche nicht im Repo vorhanden sind?
Hast Du es schon mal mit der Option "-m" versucht?
z.B. apt-get install -m foo1 foo2 foo3 |
|
|
|
|
 |
|
Titel:
Verfasst am: 03.03.2011, 08:04 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
Hallo Antonius,
nein das klappt nicht:
Code:
root@kdegroszerrechner:/home/desputin# apt-get install -m diesespaketgibtesnicht pdfedit
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen... Fertig
E: Paket diesespaketgibtesnicht kann nicht gefunden werden
Hier müßte apt-get ja jetzt einfach das andere Paket pdfedit, welches vorhanden ist im repository anstandslos installieren, was aber nicht geschieht... |
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|
Titel:
Verfasst am: 03.03.2011, 12:40 Uhr
|
|
Anmeldung: 15. Mar 2008
Beiträge: 610
|
|
wieso willst du überhaupt ne Liste mit Paketen erstellen, die es überhaupt nicht gibt? |
_________________ Lenovo ThinkPad X220 | Core i7-2640M 16GB | Hellfire 3.6
FSC Tablet T4220 | Core2 Duo T7250 2GHz 3GB | Intel GMA X3100 | Hellfire 3.6
Clevo M570U | Core2 T7200 2GHz 2GB | Geforce Go 7950gtx | Hellfire 3.2
|
|
|
|
 |
|
Titel:
Verfasst am: 03.03.2011, 12:56 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
Na ja, ich habe eine Liste, die ich aktuell halte mit wichtigen Programmen, die ich nach einer Neuinstallation immer installieren möchte. Manchmal ist ein Programmname hierbei falsch geschrieben oder ein Programm ist irgendwie nicht (mehr) im Repository. Dann möchte ich nicht 10x hintereinander apt-get install xyz eingeben und immer mühsahmst einzelne Pakete, die gerade nicht gefunden werden, aus der Liste herausnehmen (was in der Konsole auch nicht gerade schnell geht) |
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|
Titel:
Verfasst am: 03.03.2011, 13:31 Uhr
|
|
Anmeldung: 15. Mar 2008
Beiträge: 610
|
|
machst dir halt ein kleines Script mit na for-Schleife, wo halt vorher ein Check passiert ob das Paket so verfügbar ist
apt-cache show liefert 1 (false) zurück wenn das Paket nicht verfügbar ist - hier mal ein Minimalbeispiel
Code:
for x in iceweasel gibtesnicht icedove; do apt-cache show $x &> /dev/null && echo "$x install"; done;
die Liste kannst ja dann als Parameter übergeben, statt dem echo hinten nimmst dann natürlich ein apt-get install $x
TheOne |
_________________ Lenovo ThinkPad X220 | Core i7-2640M 16GB | Hellfire 3.6
FSC Tablet T4220 | Core2 Duo T7250 2GHz 3GB | Intel GMA X3100 | Hellfire 3.6
Clevo M570U | Core2 T7200 2GHz 2GB | Geforce Go 7950gtx | Hellfire 3.2
|
|
|
|
 |
|
Titel:
Verfasst am: 11.04.2011, 08:35 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
halle theone. Super, danke!
Das heißt mein Befehl sieht dann so aus?:
Zitat:
for x in paket1 paket2 paket_nicht_vorhanden paket3 paket4; do apt-cache show $x &> /dev/null && apt-get install $x;
|
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|
Titel:
Verfasst am: 11.04.2011, 22:35 Uhr
|
|
Anmeldung: 15. Mar 2008
Beiträge: 610
|
|
das done; der For-Schleife nicht vergessen |
_________________ Lenovo ThinkPad X220 | Core i7-2640M 16GB | Hellfire 3.6
FSC Tablet T4220 | Core2 Duo T7250 2GHz 3GB | Intel GMA X3100 | Hellfire 3.6
Clevo M570U | Core2 T7200 2GHz 2GB | Geforce Go 7950gtx | Hellfire 3.2
|
|
|
|
 |
|
Titel:
Verfasst am: 19.05.2011, 09:44 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
Hallo The one,
danke erstmal. Ich habe nun eine Liste.txt wo alle Pakete drinstehen, wie müßte dann der Befehl lauten?
Viele Grüße Christopher |
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|
Titel:
Verfasst am: 19.05.2011, 10:20 Uhr
|
|
Anmeldung: 22. Mai 2007
Beiträge: 313
Wohnort: GP
|
|
Code:
for x in $"restlicher_pfad_zum_file"(<get.txt); do apt-get install -y $x; done
müsste glaub so ok sein |
|
|
|
|
 |
|
Titel:
Verfasst am: 19.05.2011, 10:23 Uhr
|
|

Anmeldung: 23. Sep 2004
Beiträge: 618
|
|
Nuja, ein apt-get install $(<liste.txt)
täts auch |
_________________ Ich bin nicht die Signatur, ich Putz' hier nur
Nach Diktat spazieren gegangen
|
|
|
|
 |
|
Titel:
Verfasst am: 19.05.2011, 11:35 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
@towo2099 - ja aber dann werden die nicht vorhandenen Pakete nicht übersprungen, sondern apt bricht ab. |
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|
Titel:
Verfasst am: 19.05.2011, 11:59 Uhr
|
|
Anmeldung: 17. Dez 2003
Beiträge: 16792
|
|
Wennst die -m option nimmst könnt es gehen. |
|
|
|
|
 |
|
Titel:
Verfasst am: 19.05.2011, 18:27 Uhr
|
|
Anmeldung: 15. Mar 2008
Beiträge: 610
|
|
@Kano: also -m hat im März laut stalin2000 nicht funktioniert
@stalin2000: so hier die vorgekaute Lösung von Mutti
Code:
root@tux-tablet:/home/max/stalin# cat list.txt
icedove
gibtesnicht
iceweasel
root@tux-tablet:/home/max/stalin# for x in $(cat list.txt); do apt-cache show $x &> /dev/null && apt-get install $x; done;
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen... Fertig
icedove ist schon die neueste Version.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 2 nicht aktualisiert.
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen... Fertig
iceweasel ist schon die neueste Version.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 2 nicht aktualisiert.
wenn das immer noch nicht das ist was du willst, dann säuber einfach deine Package List, dann klappt der Befehl von towo2099 oder lerne einfach Bash Scripting und bau dir selber ne Lösung zusammen
TheOne |
_________________ Lenovo ThinkPad X220 | Core i7-2640M 16GB | Hellfire 3.6
FSC Tablet T4220 | Core2 Duo T7250 2GHz 3GB | Intel GMA X3100 | Hellfire 3.6
Clevo M570U | Core2 T7200 2GHz 2GB | Geforce Go 7950gtx | Hellfire 3.2
|
|
|
|
 |
|
Titel:
Verfasst am: 22.05.2011, 14:37 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
|
|
 |
|
Titel:
Verfasst am: 25.05.2011, 08:52 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
Update:
Diese Lösung hat den "Streßtest" unter realen Bedingungen übrigens leider nicht bestanden. Bei einer großen Menge an Paketen, wird zig mal nach einer Bestätigung gefragt, wo man mit j - bestätigen muß, damit es weiterläuft.
Kann man die Rückfragen bei Apt-get auch irgendwie verhindern? |
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|
Titel:
Verfasst am: 25.05.2011, 09:21 Uhr
|
|
Anmeldung: 26. Nov 2005
Beiträge: 24
|
|
Hallo stalin2000,
ich will ja nicht unhöflich sein, aber schaust du auch ab und zu in die Manpage?
Ich habs jetzt nicht ausprobiert, aber das hört sich doch fast nach dem an, was du sucht...
Code:
-y, --yes, --assume-yes
Automatisches »Ja« auf Anfragen; Versucht »Ja« auf alle Anfragen zu antworten und ohne Eingaben zu laufen. Wenn eine unerwünschte
Situation eintritt, wie ein gehaltenes Paket zu ändern, ein nicht authentifiziert Paket zu installieren oder ein essentielles Paket
zu entfernen, dann wird apt-get abgebrochen. Konfigurationselement: APT::Get::Assume-Yes.
Gruß
sc |
|
|
|
|
 |
|
Titel:
Verfasst am: 25.05.2011, 12:18 Uhr
|
|
Anmeldung: 22. Mai 2007
Beiträge: 313
Wohnort: GP
|
|
[quote="miltonjohn"]
Code:
apt-get install -y
/quote] |
|
|
|
|
 |
|
Titel:
Verfasst am: 25.05.2011, 12:41 Uhr
|
|
Anmeldung: 17. Dez 2003
Beiträge: 16792
|
|
Man kann auch die Liste erstmal aufräumen:
Code:
rm -f liste-installierbar.txt
for x in $(<liste-komplett.txt); do apt-cache show $x >/dev/null 2>&1 && echo $x >> liste-installierbar.txt; done
analog kriegt man auch ne liste wo nicht installierbar ist:
Code:
rm -f liste-nicht-installierbar.txt
for x in $(<liste-komplett.txt); do apt-cache show $x >/dev/null 2>&1 || echo $x >> liste-nicht-installierbar.txt; done
Im prinzip sind die listen aber trotzdem viel zu gross. Zudem wirst wohl einige libs installieren, die man gar nicht so braucht. Ein
Code:
grep -v ^lib liste-installierbar.txt > liste-installierbar-ohne-libs.txt
würde immerhin das offensichtlichste löschen. Ich würde komplette paketlisten eines alten systems niemals verwenden. diese installieren einfach zuviel müll. |
|
|
|
|
 |
|
Titel:
Verfasst am: 25.05.2011, 18:34 Uhr
|
|
Anmeldung: 15. Mar 2008
Beiträge: 610
|
|
@sc: das ist nicht unhöflich, im Gegenteil so lernt stalin2000 hoffentlich dazu und spart sich die nächste Frage durchs manpage lesen
@stalin2000: ich plädiere langsam echt dafür, dass du deine Paketliste aufräumst und pflegst
apt-get fragt nicht ohne Grund bei bestimmten Dingen nach, alles einfach per yes durch zu winken kann auch mal in die Hose gehen und dir Sachen bescheren die du so garnicht haben wolltest. |
_________________ Lenovo ThinkPad X220 | Core i7-2640M 16GB | Hellfire 3.6
FSC Tablet T4220 | Core2 Duo T7250 2GHz 3GB | Intel GMA X3100 | Hellfire 3.6
Clevo M570U | Core2 T7200 2GHz 2GB | Geforce Go 7950gtx | Hellfire 3.2
|
|
|
|
 |
|
Titel:
Verfasst am: 26.05.2011, 08:17 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
Hallo Ihr, danke für die Antworten.
Meine Paketliste umfaßt im Übrigen nur wenige lib-Pakete, fast nur GUI-Programme und wird von mir auch ordentlich gepflegt und aktuell gehalten.
Das sind aber auch eine ganze Menge Pakete, etwa 135, die dann ja auch wiederum zum Teil Abhängigkeiten mitinstallieren.
Von diesen Listen habe ich drei Stück. Eine Minimalvariante, eine mittelgroße und eine sehr große (mit einigen libs für das Kompillieren von z.B. pana oder sane dabei).
Ich finde dieses Vorgehen durchaus sinnvoll. Wenn ich einen neuen Rechner vor mir habe,, brauche ich nur einen befehl einzugeben und alles notwendige wird installiert. |
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|