Pakete von der Kommandozeile aus verwalten
Die gebräuchlichere Methode zum Verwalten von Paketen oder Software ist der Synaptic Package Manager. Es ist das einfachste GUI-Tool, um Software auf Ihrem Debian/Ubuntu-System zu installieren und zu entfernen.
Für diejenigen, die die Konsole bevorzugen, gibt es jedoch viele Tools, um die Arbeit so einfach zu erledigen. In diesem Tutorial werden wir uns mit apt befassen, dem Paketverwaltungstool, das auf Ubuntu verwendet wird.
Obwohl ich früher ein Synaptic-Benutzer war, fand ich die Befehlszeilen-Tools einfacher und schneller, als ich mit den Befehlszeilen-Tools begann.
Unter Ubuntu gibt es 3 Hauptbefehle zum Verwalten von Paketen. Dies sind dpkg, apt-* und aptitude.
In diesem Tutorial werfen wir einen kurzen Blick auf einige Beispiele des Befehls apt-get, der zum Installieren und Verwalten von Paketen verwendet werden kann.
Apt-get-Befehlsbeispiele
Der Befehl apt-get kann zum Installieren, Entfernen und Aktualisieren von Paketen verwendet werden. Es kann auch die gesamte Distribution auf eine neue Version aktualisieren.
1. Sagen Sie Moo mit apt-get
Dies ist das Wichtigste, was mit apt-get zu tun ist. Das heißt, Muh zu sagen....
$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ...."Have you mooed today?"... $
2. Installieren Sie ein neues Paket
Dies ist der häufigste Befehl. Der Befehl apt-get install installiert das Paket und zieht alle notwendigen Abhängigkeiten ein, d. h. andere Pakete, die zum Ausführen des aktuell erforderlichen Pakets benötigt werden. Die Nutzung ist wiederum sehr einfach
$ sudo apt-get install apache2
Um mehrere Pakete auf einmal zu installieren, erwähnen Sie einfach alle durch Leerzeichen getrennt. Zum Beispiel:
$ sudo apt-get install php-fpm php-curl
3. Ausgewähltes Paket upgraden
Um ein ausgewähltes Paket zu aktualisieren, installieren Sie es einfach erneut
$ sudo apt-get install nginx
Dadurch wird das Paket aktualisiert, wenn Updates aus dem Repository verfügbar sind.
4. Abrufen des Quellcodes eines Pakets
Der Quellcode jedes Pakets kann mit dem folgenden Befehl heruntergeladen werden
$ apt-get source gbrainy
5. Ein installiertes Paket entfernen
Verwenden Sie die Option remove mit apt-get, um ein Paket zu entfernen
$ apt-get remove apache2
Beispiele für Apt-Cache-Befehle
Apt-cache ist ein Befehl, der mit apt-get kommt und verwendet werden kann, um Informationen über Pakete zu prüfen.
1. Abhängigkeiten eines Pakets finden
Um die Abhängigkeiten eines bestimmten Pakets zu finden, verwenden Sie den Befehl apt-cache
$ apt-cache depends apache2 apache2 |Depends: apache2-mpm-worker |Depends: apache2-mpm-prefork |Depends: apache2-mpm-event Depends: apache2-mpm-itk Depends: apache2.2-common Conflicts: apache2:i386
Es zeigt an, von welchen zusätzlichen Paketen ein bestimmtes Paket abhängt und welche Pakete damit in Konflikt geraten. Es listet auch die Pakete auf, die bei der Installation dieses Pakets entfernt werden sollen, sowie alle empfohlenen Pakete, die mit diesem Paket installiert werden sollen.
2. Pakete suchen
Der Befehl apt-cache kann verwendet werden, um die Pakete von der Konsole aus zu durchsuchen. Dies ist nützlich, wenn Sie auf einem Remote-Server arbeiten, auf dem keine GUI verfügbar ist. Aber darüber hinaus ist die Konsole leistungsfähiger und schneller.
$ apt-cache search nginx
Der Befehl apt-cache durchsucht standardmäßig sowohl den Paketnamen als auch die Beschreibung. Um die Ergebnisse zu verfeinern, müssen wir sie mit grep weiter herausfiltern.
apt-cache search nginx | grep nginx lua-nginx-memcached - Pure Lua memcached client driver for the nginx embedded Lua language lua-nginx-redis - Pure Lua redis client driver for the nginx embedded Lua language nginx - small, powerful, scalable web/proxy server nginx-common - small, powerful, scalable web/proxy server - common files nginx-doc - small, powerful, scalable web/proxy server - documentation nginx-extras - nginx web/proxy server (extended version) nginx-extras-dbg - nginx web/proxy server (extended version) - debugging symbols nginx-full-dbg - nginx web/proxy server (standard version) - debugging symbols nginx-light - nginx web/proxy server (basic version) nginx-light-dbg - nginx web/proxy server (basic version) - debugging symbols nginx-naxsi - nginx web/proxy server (version with naxsi) nginx-naxsi-dbg - nginx web/proxy server (version with naxsi) - debugging symbols nginx-naxsi-ui - nginx web/proxy server - naxsi configuration front-end nginx-full - nginx web/proxy server (standard version)
Der Suchbefehl apt-cache unterstützt reguläre Ausdrücke.
$ apt-cache search ^nginx$ nginx - small, powerful, scalable web/proxy server nginx-extras - nginx web/proxy server (extended version) nginx-light - nginx web/proxy server (basic version) nginx-naxsi - nginx web/proxy server (version with naxsi) nginx-naxsi-ui - nginx web/proxy server - naxsi configuration front-end nginx-full - nginx web/proxy server (standard version)
apt-cache show <package> Shows the full description of <package>. apt-cache showpkg <package> Shows a lot more detail about <package>, and its relationships to other packages.
3. Zu welchem Repository gehört ein Paket
Benutzer fügen häufig zusätzliche Repositories hinzu, um Software aus anderen Quellen zu installieren. Wenn wir herausfinden wollen, aus welchem Repository ein Paket stammt, kann das der Befehl apt-cache mitteilen.
$ apt-cache policy wine wine: Installed: (none) Candidate: 1.4.1-0ubuntu5 Version table: 1.4.1-0ubuntu5 0 500 http://in.archive.ubuntu.com/ubuntu/ raring/universe amd64 Packages
Die obige Ausgabe zeigt, dass das Paket wine vom seltenen Ubuntu-Repository bereitgestellt wird.
Nehmen wir ein weiteres Beispiel
$ apt-cache policy google-chrome-stable google-chrome-stable: Installed: 28.0.1500.45-r205727 Candidate: 28.0.1500.70-r209565 Version table: 28.0.1500.70-r209565 0 500 http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages *** 28.0.1500.45-r205727 0 100 /var/lib/dpkg/status
Die obige Ausgabe zeigt, dass Google Chrome von http://dl.google.com/linux/chrome/deb/ bereitgestellt wird Repository.
Apt-add-repository-Befehl
Die Softwarequellen werden in der Datei namens /etc/apt/sources.list gespeichert . Wenn Sie also ein neues Repository hinzufügen müssen
$ sudo apt-add-repository ppa:lubuntu-desktop/ppa
Oder wenn es eine vollständige URL ist, dann
add-apt-repository 'deb uri distribution [component1] [component2] [...]'
Zum Beispiel
$ add-apt-repository 'deb http://extras.ubuntu.com/ubuntu quantal main' $ add-apt-repository 'deb-src http://extras.ubuntu.com/ubuntu quantal main'
Eignung
Aptitude ist ein weiterer Befehl, der zum Verwalten von Paketen über die Befehlszeile verwendet werden kann, genau wie dpkg und apt-get. Aptitude gilt aus mehreren Gründen als besser und überlegen gegenüber apt-get. Ein Vorteil von aptitude besteht darin, dass aptitude beim Entfernen eines bestimmten Pakets auch alle Abhängigkeiten dieses Pakets entfernt, sodass sie nicht als verwaiste Pakete zurückbleiben. Apt-get und synaptic können das nicht und führen zu ungenutzten/verwaisten Paketen.
Paket installieren
Dasselbe wie bei apt-get, verwenden Sie einfach den install-Befehl mit aptitude, um ein beliebiges Paket zu installieren
$ sudo aptitude install firestarter
Pakete entfernen
Verwenden Sie erneut, genau wie bei apt-get, die Option remove.
$ sudo aptitude remove firestarter
Pakete durchsuchen
Eine der nützlichsten und häufigsten Aufgaben besteht darin, nach Paketen zu suchen und alle erforderlichen zu installieren. Die Suche über die Kommandozeile ist sehr praktisch auf einem entfernten Server, auf dem Sie keine GUI haben, und auch auf einem lokalen System, auf dem Sie den synaptischen Paketmanager nicht starten möchten.
Der folgende Befehl soll alle Pakete durchsuchen, die das Wort nginx in ihrem Paketnamen haben.
$ aptitude search nginx
Das Folgende wird nach Paketen suchen, die entweder php oder admin in ihrem Namen haben.
$ aptitude search php admin
Um nach allen Suchbegriffen zusammen zu suchen, schließen Sie sie in einfache Anführungszeichen ein. Das Folgende wird nach allen Paketen suchen, die sowohl php als auch admin in ihren Namen haben
$ aptitude search 'php admin' p mlmmj-php-web-admin - administrative web interface for mlmmj, written p phpldapadmin - web based interface for administering LDAP serve i phpmyadmin - MySQL web administration tool i phppgadmin - web-based administration tool for PostgreSQL
Um sowohl den Paketnamen als auch die Beschreibung zu suchen, verwenden Sie den Modifikator d.
aptitude search nginx ~dnginx aptitude search 'firmware ~dwireless'
Die Suchfunktion unterstützt auch Regex
aptitude search ^nginx$
Erstellen Sie also jede Art von regulärem Ausdruck, den Sie benötigen, und suchen Sie sofort.
Installierte Pakete suchen
Nehmen wir an, wir wollen nach allen Paketen mit dem Namen „Apache“ suchen. Der aptitude-Befehl kann wie unten gezeigt mit dem Schalter i verwendet werden
aptitude search ~inginx aptitude search '~inginx'
$ aptitude search '~iapache' i apache2 - Apache HTTP Server metapackage i A apache2-mpm-prefork - Apache HTTP Server - traditional non-threaded model i apache2-suexec - Standard suexec program for Apache 2 mod_suexec .....
Oder verwenden Sie grep anstelle des Schalters i.
$ aptitude search nginx | grep ^i i nginx - small, powerful, scalable web/proxy server i A nginx-common - small, powerful, scalable web/proxy server i A nginx-full - nginx web/proxy server (standard version)
Schnell und einfach.
Paket neu installieren
Um ein Paket mit aptitude neu zu installieren, verwenden Sie den Befehl reinstall
aptitude reinstall <package>
Distribution aktualisieren
Das gesamte Distributions-Upgrade kann auch vom Terminal aus durchgeführt werden. Zum Beispiel, wenn Sie Ubuntu auf Ihrem Server aktualisieren müssen. Hier ist der Befehl
# prepare the system sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade # upgrade distro sudo apt-get install update-manager-core sudo do-release-upgrade
Einfach!!
Listen Sie die Repositories auf
Um die aktuellen Repositories aufzulisten, lesen Sie die Dateien /etc/apt/sources.list und /etc/apt/sources.list.d/* von der Kommandozeile und verwenden Sie grep, um entsprechend zu filtern. Hier sind einige Beispiele
Das Folgende listet die deb-Repositories (und nicht deb-src) aus der Datei /etc/apt/sources.list auf.
$ cat /etc/apt/sources.list | grep "^deb\s" deb http://in.archive.ubuntu.com/ubuntu/ raring main restricted deb http://in.archive.ubuntu.com/ubuntu/ raring-updates main restricted deb http://in.archive.ubuntu.com/ubuntu/ raring universe deb http://in.archive.ubuntu.com/ubuntu/ raring-updates universe deb http://in.archive.ubuntu.com/ubuntu/ raring multiverse .....
Im Folgenden werden die deb-Repositories (und nicht deb-src) aus der Datei /etc/apt/sources.list und den Dateien /etc/apt/sources.d/* aufgelistet.
$ grep -h "^deb\s" /etc/apt/sources.list /etc/apt/sources.list.d/* deb http://in.archive.ubuntu.com/ubuntu/ raring main restricted deb http://in.archive.ubuntu.com/ubuntu/ raring-updates main restricted deb http://in.archive.ubuntu.com/ubuntu/ raring universe deb http://in.archive.ubuntu.com/ubuntu/ raring-updates universe deb http://in.archive.ubuntu.com/ubuntu/ raring multiverse deb http://in.archive.ubuntu.com/ubuntu/ raring-updates multiverse .....
Um sowohl deb- als auch deb-src-Repositories aufzulisten
$ grep -h ^deb /etc/apt/sources.list /etc/apt/sources.list.d/* deb http://in.archive.ubuntu.com/ubuntu/ raring main restricted deb-src http://in.archive.ubuntu.com/ubuntu/ raring main restricted deb http://in.archive.ubuntu.com/ubuntu/ raring-updates main restricted deb-src http://in.archive.ubuntu.com/ubuntu/ raring-updates main restricted deb http://in.archive.ubuntu.com/ubuntu/ raring universe
Also viel Spaß mit dem Terminal