Posts mit dem Label AUR werden angezeigt. Alle Posts anzeigen
Posts mit dem Label AUR werden angezeigt. Alle Posts anzeigen

12. September 2013

Arch Linux: Automatische Google Drive-Synchronisation mit Grive

Obwohl schon lange von Google gefordert wird, einen Google Drive-Client für Linux bereit zu stellen, ist dies bisher noch nicht geschehen. Mit "Grive" existiert jedoch ein inoffizieller Client, der es erlaubt, die Dateien aus der Google Drive-Cloud mit einem lokalen Ordner unter Linux zu synchronisieren. Die Projektseite von Grive findet man unter diesem Link.

Grive installieren


Grive ist unter Arch Linux im AUR verfügbar und kann so z.B. über den folgenden Befehl über das Kommandozeilen-Tool "Yaourt" installiert werden:
 $ yaourt -S grive  
Anschließend muss ein Ordner erstellt werden, in dem die auf Google Drive befindlichen Dateien synchronisiert werden sollen. Um den Ordner "Google Drive" im Home-Verzeichnis zu erstellen kann etwa der folgende Konsolenbefehl genutzt werden:
 $ mkdir ~/Google\ Drive
Anschließend wechselt man über den folgenden Befehl in den neu angelegten Ordner:
 $ cd ~/Google\ Drive
Beim ersten Start von Grive muss das Programm mit dem Parameter -a ausgeführt werden, um den Zugriff auf Google Drive zu autorisieren (Wichtig ist dabei ist, dass das Programm aus dem Ordner heraus ausgeführt wird, der zur Synchronisation genutzt werden soll):
 $ grive -a
Durch den Befehl wird ein Link ausgegeben, der in einem Browser eingegeben wird. Dadurch wird eine Seite angezeigt über die man den Zugriff von Grive auf Google Drive autorisieren kann. Dadurch wird ein Code angezeigt, der wiederum in das Terminal eingefügt werden muss, über das zuvor der Befehl ausgeführt wurde. Nach dem Bestätigen der Eingabe über Enter wird der lokale Ordner mit Google Drive synchronisiert.

Autorisierung von Grive über einen Browser (Klicken zum Vergrößern)

Cronjob für automatische Synchronisation einrichten


Um den lokalen Ordner zu synchronisieren muss normalerweise aus einem Terminal heraus der Befehl "grive" in diesem Ordner ausgeführt werden. Um eine automatische Synchronisation zu erreichen kann alternativ ein Cronjob eingerichtet werden, der regelmäßig diesen Befehl ausführt und somit eine Synchronisation nach einem bestimmten Intervall anstößt.

Hierfür muss zunächst ein Bash-Skript erstellt werden, das die Grive-Synchronisation für den gewünschten Ordner ausführt. Um eine solches Skript mit dem Namen "grive-cron.sh" in dem Verzeichnis /bin über den Editor "nano" zu erstellen kann z.B. der folgende Befehl genutzt werden. Der Befehl muss dabei mit Root-Rechten ausgeführt werden, da nur der Root-Benutzer für dieses Verzeichnis Schreibrechte besitzt.
 $ sudo nano /bin/grive-cron.sh  
Als Inhalt der zu erstellenden Datei muss das folgende Shell-Skript eingegeben werden, das dafür sorgt, dass in den Ordner gewechselt wird, der synchronisiert werden soll und anschließend Grive ausgeführt wird. Ders absolute Pfad zu dem zu synchronisierenden Ordner muss natürlich je nach Anwendungsfall angepasst werden.
 #!/bin/bash  
 cd /home/user/Google\ Drive  
 grive  
Anschließend gilt es, einen neuen Cronjob zu erstellen, der in einem bestimmten Intervall dieses Skript ausführt. Um die Konfiguration der Cronjobs des aktuellen Benutzers beispielsweise mit dem Editor "nano" zu editieren kann der folgende Befehl genutzt werden.
 $ env EDITOR=nano crontab -e  
Die Datei die dadurch geöffnet wird, kann verschiedene Cronjobs enthalten, von denen jeder in einer neuen Zeile eingetragen wird. Jeder dieser Cronjobs bestehen aus sechs Spalten von denen die ersten fünf die Zeiten definieren zu denen der Job ausgeführt werden soll und die letzte Spalte den Befehl aufnimmt, der ausgeführt werden soll. Indem die folgende Zeile in die Datei eingefügt wird, wird ein neuer Cronjob definiert, der das zuvor erstellte Skript minütlich ausführt. Weitere Informationen über die Konfiguration der Ausführungszeit von Cronjobs finden sich unter diesem Wiki-Artikel.
 * * * * * /bin/grive-cron.sh
Nach dem Speichern der geänderten Datei über den Shortcut Strg+O und dem Schließen des Editors über Strg+X wird der neue Cronjob automatisch erstellt und gestartet. Über den folgenden Befehl kann man sich eine Liste der aktuell definierten Cronjobs anzeigen lassen:
 $ crontab -l
Über den erstellten Cronjob sollte die Synchronisierung des lokalen Ordners mit Google Drive minütlich oder je nach definiertem Intervall ausgeführt werden und dessen Inhalt somit stets abgeglichen sein.

Weiterführende Links:

5. August 2013

Arch Linux: Umstieg von Ubuntu auf Arch Linux - Das AUR nutzen (Teil 6)

Nachdem im letzten Artikel dieser Serie über den Umstieg auf Arch Linux bereits dessen Paketmanager Pacman, mit dem sich Software aus Repositories installieren lässt, betrachtet wurde, soll sich dieser Artikel darum drehen, wie Software aus dem sogenannten AUR bezogen werden kann. Das AUR, oder "Arch User Repository" ist ein von der Community gepflegtes, weiteres Repository, in dem sogenannte PKGBUILDS angeboten werden, die es erlauben Programme zu bauen und anschließend zu installieren. Auf diese Weise ist es möglich, eine riesige Anzahl von zusätzlichen Programmen bequem zu beziehen.

Die Webseite des Arch User Repositories (Klicken zum Vergrößern)

Um Software elegant im AUR aufzufinden und installieren zu können, bietet sich das Kommandozeilen-Tool Yaourt an, das einen Wrapper für Pacman darstellt und dadurch die exakt gleichen Befehle unterstützt. Im Folgenden soll die Installation von Programmen aus dem AUR mit Hilfe von Yaourt anhand eines Beispiels erläutert werden.

1 Installation von Yaourt


Bevor man Yaourt nutzen kann, muss dieses zunächst installiert werden. Es ist selbst über das AUR zu beziehen, weshalb man dessen Installation ein erstes Mal manuell durchführen muss. Dies trägt zum Verständnis bei, wie Software aus dem AUR heruntergeladen, gebaut und installiert werden kann und verdeutlicht, welche Arbeitsschritte Yaourt später selbständig übernehmen wird.

Zunächst muss sichergestellt sein, dass alle Pakete der Paketgruppe base-devel installiert sind. Anderenfalls lassen sie sich durch den folgenden Befehl über Pacman installieren:
 $ sudo pacman -S base-devel  
Anschließend muss in ein Verzeichnis navigiert werden, in dem die Dateien heruntergeladen und gebaut werden sollen. In diesem Beispiel dient dafür das Verzeichnis "builds" innerhalb des Home-Ordners des Benutzers:
 $ cd ~/builds  

Herunterladen der Build-Dateien


Bei den Build-Dateien, die heruntergeladen werden müssen, handelt es sich um eine .tar.gz-Datei, die über die Webseite des AURs, bzw. dessen Suchfunktion gefunden werden kann. Die beiden Pakete, die für die Installation von Yaourt notwendig sind, sind package-query und yaourt selbst. Die jeweiligen Dateien können entweder jeweils über den Link "Tar-Archiv herunterladen" auf der rechten Seite der jeweiligen AUR-Seiteen heruntergeladen und anschließend in das zuvor gewählte Verzeichnis kopiert werden, oder per Konsole über die folgenden beiden Befehle unter Angabe einer URL bezogen werden:
 $ curl -0 https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz  
 $ curl -O https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz  

Bauen und installieren des Pakets


Die beiden heruntergeladenen Archive müssen zunächst folgendermaßen entpackt werden, wobei jeweils ein neuer Unterordner angelegt werden sollte:
 $ tar -xvzf package-query.tar.gz  
 $ tar -xvzf yaourt.tar.gz  
Über den cd-Befehl muss nun zunächst in das Verzeichnis des Paketes package-query gewechselt werden:
 $ cd package-query
Anschließend kann das Paket über folgenden Befehl gebaut werden:
 $ makepkg -s
Dabei sollte eine Datei mit der Endung ".pkg.tar.gz" angelegt worden sein, die anschließend über Pacman installiert werden kann:
 $ sudo pacman -U package-query-1.2-2-x86_64.pkg.tar.xz  
Mit der selben Vorgehensweise kann anschließend das Paket yaourt installiert werden. Zu dessen Installation muss das Paket package-query bereits installiert worden sein, da es als Abhängigkeit benötigt wird.
 $ cd ../yaourt  
 $ makepkg -s  
 $ sudo pacman -U yaourt-1.3-1-any.pkg.tar.xz  

Benutzung von Yaourt


Da Yaourt die selben Befehle nutzt wie Pacman, ist dessen Handhabung identisch. Im Folgenden soll die Installation eines Paketes aus dem AUR beispielhaft anhand des Programms "adb" (Android Debug Bridge), das die Kommunikation mit einem Android-Gerät erlaubt, gezeigt werden.

Zunächst kann der Name des zu installierenden Pakets mithilfe des folgenden Befehls ausfindig gemacht werden:
 $ yaourt -Ss android debug bridge  
Die Ausgabe dieses Befehls, der sowohl Paketnamen, als auch -beschreibungen durchsucht, lautet dabei wie folgt:
 aur/adb-git 20130531-1 [installed] (23)  
   adb (Android Debug Bridge CLI tool), an Android platform tool  
Anschließend kann das gefundene Paket mit dem Namen "adb-git" über den folgenden Yaourt-Aufruf installiert werden:
 yaourt -S adb-git  
Es wird dabei die Option angeboten, die jeweilige PKGBUILD-Datei zunächst in einem Editor zu öffnen, was über die Taste "n" in der Regel verneint werden kann. Nach einer Bestätigung über die "y"-Taste wird das Paket gebaut und anschließend über Pacman installiert.

Installation des Pakets "adb-git" über Yaourt (Klicken zum Vergrößern)

Mit Yaourt bietet sie unter Arch Linux ein eleganten Weg, über Source-Quellen bezogene, Programme zu installieren und anschließend zu aktualisieren. Es sollte jedoch beachtet werden, dass die zum Bauen verwendeten Skripte prinzipiell auch schädliche Befehle ausführen können, weshalb ein Yaourt- oder makepkg-Befehl niemals mit Root-Rechten ausgeführt werden sollte.

Weiterführende Links:

29. Juli 2013

Arch Linux: Umstieg von Ubuntu auf Arch Linux - Motivation (Teil 1)

Ich nutze seit Jahren Ubuntu als Betriebssystem auf dem Laptop, welcher mein primäres Arbeitsgerät ist. Die Distribution hat mich dabei nicht nur zu einem endgültigen Umstieg von Windows auf Linux überzeugt, sondern mir auch stets einen sehr guten Dienst geleistet. Auch habe ich mich, anders als viele andere Ubuntu-User, nie an der Einführung der Benutzeroberfläche Unity gestört. Im Laufe der Zeit habe ich zudem sehr viele Veränderungen am System und insbesondere an der Benutzeroberfläche vorgenommen, um es meinen Bedürfnissen anzupassen und mir mein "persönliches" Ubuntu zu schaffen.

Gründe für einen Umstieg auf Arch Linux


Auch wenn mich Ubuntu stets sehr zufrieden gestellt hat, hat in letzter Zeit die recht junge Distribution Arch Linux meine Aufmerksamkeit erlangt. Arch Linux stellt ein sehr minimalistisches Linux-Grundsystem dar, dass auf jegliche grafische Benutzeroberfläche zur Installation und Konfiguration verzichtet. Aus diesem Grund eignet es sich vor allem für fortgeschrittene Benutzer, die bereits einige Erfahrungen mit Linux sammeln konnten. Trotzdem gewinnt die Distribution aufgrund ihrer Flexibilität immer mehr an Popularität. So können beispielsweise beliebige grafische Benutzeroberflächen installiert werden, um von Grund auf ein System nach den eigenen Wünschen aufzubauen. Auch ich möchte mich an der Installation und Konfiguration eines solchen Arch Linux-Systems versuchen und über mein Vorgehen und meine Erfahrungen mit diesem möglichen Umstieg auf Arch Linux in einer Reihe von Artikeln berichten. Ob mich Arch Linux letztendlich im Vergleich mit Ubuntu überzeugen wird, muss sich erst in der Praxis zeigen, jedoch möchte ich über den Ubuntu-Horizont hinaus blicken und Erfahrungen mit dem grundlegend unterschiedlichen Konzept sammeln.

Das Logo von Arch Linux (Bildquelle: danlynch.org, Klicken zum Vergrößern)

Freie Wahl der Benutzeroberfläche


Als Canonical, das Unternehmen das hinter Ubuntu steht, beschloss, die bisher verwendete Benutzeroberfläche GNOME 2 durch die Eigenentwicklung Unity zu ersetzen, anstatt auf den Nachfolger GNOME 3 zu setzen, stoß dies auf teilweise starken Widerwillen unter großen Teilen der Benutzer. Mich persönlich überzeugte das neue Konzept des Desktopsystems dagegen sehr schnell, während ich dem ebenfalls sehr geänderten Bedienkonzept von GNOME 3 aufgrund von anfänglichen Problemen sehr skeptisch gegenüber stand.

In letzter Zeit geht die Entwicklung von Ubuntu, bzw. Unity jedoch in eine Richtung, die man als Befürworter von OpenSource und der Freiheit der Benutzer nicht gut heißen kann. So wird die Community bisher von der Entwicklung ausgeschlossen und Unity ist in erste Linie dafür konzipiert mit Ubuntu zusammenzuarbeiten, anstatt für alle Distributionen zur Verfügung zu stehen. Auch wurde beispielsweise die lokale Suche des Unity-Dashboards bereits vor einiger Zeit um eine Amazon-Suche erweitert, die standardmäßig aktiviert ist und dem User nicht nur ungefragt Werbeeinträge in den Suchergebnissen anzeigt, sondern auch aus Datenschutzgründen fraglich ist. In Zukunft soll die Anzahl dieser sogenannten "Lenses", die es erlauben Online-Inhalte in die Suche einzuschließen, noch steigen. Diese Tendenz, leichtfertig mit den persönlichen Daten des Benutzers umzugehen, wobei die Einstellungsmöglichkeiten, was mit diesen Daten geschehen soll, bis heute gering blieben, ließen auch mich zunehmen an Ubuntu, bzw. vor allem an der Canonical-eigenen Benutzeroberfläche Unity zweifeln, weshalb ich beschlossen habe, einen erneuten Blick auf das mittlerweile gereifte GNOME 3 zu wagen.

Viele User, die statt Unity auf eine alternative Desktopumgebung wie etwa GNOME 3 setzen, mussten während der letzten Releases wohl eine zunehmende Verschlechterung derer Unterstützung unter Ubuntu hinnehmen. Diese Entwicklung, die wohl auf die zunehmende Fokusierung auf Unity zurück zu führen ist, führt nach Berichten einiger Benutzer zu häufigeren Abstürzen von Programmen und Diensten. Wenn es nun also für mich an der Zeit ist, die verwendete Desktopumgebung zu wechseln, ist es wohl besser, sich nach einer neuen Distribution als deren Basis umzusehen.

Der Betrieb von GNOME 3, mit dem ich zukünftig mein Glück versuchen will, funktioniert unter Arch Linux reibungslos. Auch für alle anderen verfügbaren Benutzeroberflächen wie etwa KDE, LXDE, Xfce, MATE, oder Cinnamon gilt diese vorbildliche Unterstützung, da das Konzept der Distribution es vorsieht, die verwendete Desktopumgebung nach Belieben wählen zu können. Diese Möglichkeit, die Wahl der Benutzeroberfläche und der verwendeten Programme flexibel gestalten zu können, ist ein großer Vorteil von Arch Linux.

Stets aktuelle Software aufgrund von Rolling-Releases


Eine weitere Hoffnung, die ich in Arch Linux setze, ist, aufgrund dessen Rolling-Release-Konzepts, stets über aktuelle Software zu verfügen. Unter Ubuntu ist dies nur schwer möglich, wenn man auch Programme nutzt, die nicht über die Ubuntu-PPAs verfügbar sind und hierüber regelmäßig mit Updates versorgt werden. Zwar lassen sich benutzerdefinierte PPA-Quellen nutzen, über die auch Updates bezogen werden können, doch weisen diese nach einem Update auf eine neue Ubuntu-Versionsnummer oftmals Inkompatibilitäten auf und werden deshalb bei einem solchen Update auch standardmäßig deaktiviert. Müssen Programme darüberhinaus sogar selbst kompiliert werden, sind automatische Updates aus den jeweiligen Quellen überhaupt nicht möglich. Über das sogenannten Arch User Repository (AUR) ist dagegen fast jede erdenkliche Linux-Software in aktueller Version für Arch Linux verfügbar, wobei sich neben Binaries auch zu kompilierende Quellen nutzen und aktualisieren lassen. Das Prinzip von Rolling-Releases unterscheidet sich grundlegend von dem Konzept der Release-Zyklen, wie sie bei Ubuntu definiert sind. Dabei werden die Software- und Kernel-Komponenten des Systems in regelmäßigen zeitlichen Abständen aktualisiert und zwischen diesen Zeitpunkten lediglich mit Sicherheitsupdates versorgt, während das Rolling-Release-Konzept es erlaubt, stets aktuelle Softwareversionen zu verwenden. Allerdings muss der Benutzer in diesem Fall selbstständig auf eventuelle Inkompatibilitäten zwischen den installierten Versionen achten.

In den folgenden Artikeln dieser Serie soll auf die Installation und die Konfiguration eines Arch Linux-Systems eingegangen werden und die Vor- und Nachteile gegenüber Ubuntu aufgezeigt werden. Dabei hinaus wird sich zeigen, ob sich die gewonnene Flexibilität in der Praxis gegenüber der steigenden Komplexität auszeichnet.

Weiterführende Links: