Installation vom Backup Exec Remote Agent für Linux (Ralus)

Wie hier schon das eine oder andere mal erwähnt haben wir im Geschäft einige Linux Server in einer virtuellen Umgebung. Bisher habe ich hier immer die ganze virtuelle Maschine gesichert, heute habe ich aber mal einen Versuch mit dem Symantec BE 2010 Client unter Linux gemacht und das scheint gut zu funktionieren.
Vor der Installation empfehle ich, die libstdc++5 zu installieren, da diese meistens nötig ist, damit der Client sauber läuft. Für Ubuntu und 64 bit gibts die Installationsdatei hier.
Installiert wird die Datei danach mit dem folgenden Befehl:
dpkg -i libstdc++5_3.3.6-18_amd64.deb

Der Linux Client vom BE 2010 heisst Ralus und ist auf der Installations-CD vom BE im Ordner LinuxUnixMac zu finden. Die Installationsdatei kopiert man nun auf den Linux-Server und entpackt sie idealerweise in einen neuen Ordner:
root@srvWEB01:~# mkdir ralus
root@srvWEB01:~# mv RALUS_RMALS_RAMS-4164.5.tar.gz ralus/
root@srvWEB01:~# cd ralus/
root@srvWEB01:~/ralus# tar -xvzf RALUS_RMALS_RAMS-4164.5.tar.gz

Nun führt man die Datei installralus aus.
root@srvWEB01:~/ralus# ./installralus

Nun folgt man einfach dem Installer. Man wird gefragt, auf welchen Servern man den Client installieren will und auch auf welchem Server (oder welchen Servern) das BE installiert ist. Wichtig ist halt, dass diese Adresse korrekt ist und der Server den Hostnamen auch auflösen kann.
Ist der Installer erfolgreich durchgelaufen kann man entweder den Server neustart oder einfach den Service starten:
root@srvWEB01:~/ralus# /etc/init.d/VRTSralus.init start

Im BE hat man nun bei den Auswahllisten unter "Favorite Resources -> Linux/Unix Servers" den Server drin und kann nach Eingabe der Benutzerdaten bequem die zu sichernden Ordner auswählen.
http://images.t-error.ch/blog/1462/ralus.jpg


Die langzeit Erfahrung mit diesem Service fehlt mir noch, aber das erste Backup ist sauber durchgelaufen. Bei Symantec gibts dazu übrigens noch eine englischsprachige Installationsanleitung.

VMware Tools unter Ubuntu installieren

Wer seine Server mit VMware virtualisiert hat, installiert auf den virtuellen Maschinen idealerweise die VMware-Tools. Auf Windows Maschinen ist das sehr simpel und auch auf Linux-Servern geht das recht einfach.
Dazu muss man zuerst im vSphere Client die Installation der VMware-Tools anstossen, damit dem Server die CD zur Verfügung gestellt wird.
http://images.t-error.ch/blog/1456/vmware_tools_01.jpg


Nun kann man das CD-Laufwerk mounten und die Installationsdatei (für Ubuntu die .tar.gz Datei) in einen anderen Ordner kopieren und das Laufwerk wieder unmounten.
root@srvWEB02:~# mount /dev/cdrom /media/cdrom/
root@srvWEB02:~# cp /media/cdrom/VMwareTools-4.0.0-261974.tar.gz /tmp
root@srvWEB02:/tmp# umount /media/cdrom/

Als nächstes wechselt man in den anderen Ordner und entpackt die Installationsdatei.
root@srvWEB02:~# cd /tmp/
root@srvWEB02:/tmp# tar -xvzf VMwareTools-4.0.0-261974.tar.gz

Jetzt ruft man die Installationsdatei auf und arbeitet sich durch alle Fragen durch. Bei mir haben alle Pfade schon gestimmt und ich musste nichts anpassen
root@srvWEB02:/tmp# vmware-tools-distrib/vmware-install.pl

Nachdem die Installation durchgelaufen ist, starten man den virtuellen Server noch neu und Voila: Die Tools sind installiert:
http://images.t-error.ch/blog/1456/vmware_tools_02.jpg

Grub 2 nach Windowsinstallation wiederherstellen

Ich nutze auf dem Computer zuhause schon seit längerem Untuntu und bin sehr zufrieden damit. Einige Dinge (GPS, Spiele) laufen unter Ubuntu aber nicht darum habe ich paralell noch ein Windows XP installiert. Mit dem Grub Bootloader ist das ja kein Problem. Neulich musste ich aber mein Windows neu installieren, was ja ansich auch kein Problem ist. Bei der Installation überschreibt Windows aber den Bootloader und so kann man Linux nicht mehr booten. Hier darum eine kleine Anleitung wie man den Grub wieder installiert, so dass man Linux und Windows booten kann. Dazu benötigt man einfach eine Ubuntu Installations CD. Ich habe das ganze mit Ubuntu 9.10 durchgespielt.

Als erstes legt man die Ubuntu CD ins Laufwerk und bootet davon im Live Modus. So hat man ein Linux zur Verfügung, ohne dass man etwas ander Festplatte verändert. Das Problem ist aber, dass die Live CD den Grub 1 verwendet, die Installation aber Grub 2, aber das ist ein lösbares Problem.
Darum schreibt man nun als erstes den (alten) Grub in den MBR (Master Boot Record) der Festplatte. Da zu muss man die UUID der Bootpartition sowie der Name der Festplatte wissen. Am besten hängt man die Boot Partition über das GUI ein und gibt danach in der Shell den Befehl mount ein. Dort sieht man, wie die Partition eingebunden ist und auch die UUID der Partition. Wir brauchen wie gesagt die UUID der Partition und der Name der Festplatte. Ist die Parition die /dev/sda6 ist die Platte die /dev/sda. Im Normalfall ist eine IDE Platte die /dev/hda und eine SATA/SCSI die /dev/sda. Den Bootloader schreiben wir nun mit dem folgenden Befehl ({UUID} durch die entsprechende UUID ersetzen.
sudo grub-install --root-directory=/media/{UUID} /dev/sda

Bevor wir den Computer nun neustarten, müssen wir noch wissen, welche Parition die Root Partition ist. Also die Partition, die schlussendlich als / genutz werden soll. Gleiches vorgehen wie vorhin. Schnell einhängen und mit mount die Partition auslesen.
Jetzt können wir den Computer neustarten und die CD aus dem Laufwerk auslesen.

Beim neustart kommt nun der Grub im Konsolen Modus. Also keine Auswahl sondern nur eine Aufforderung etwas einzugeben. Nun müssen wir das System ein erstes mal "von Hand" booten. Zum Glück gibt es eine Autovervollständigung, die das ganze etwas einfacher macht. Als erstes gibt man die folgende Zeile ein:
linux /vmlinuz-2.6.31-20-generic root=/dev/sda6 ro quiet splash

Am einfachsten ist es nur linux /vmlinuz einzutippen und sich dann mit dem Tabulator die verschiedenen Kernel anzeigen zu lassen, so erwischt man auch immer den aktuellsten. /dev/sda6/ ist hier die Root Partition, dessen Name wir vorhin ausgelesen haben. (Das Tastaturlayout ist Englisch. Die Bindestriche und Slashes nimmt man am besten vom Numlock, das Gleichzeichen ist gleich links vom Backspace)
boot linux /vmlinuz-2.6.31-20-generic root=/dev/sda6 ro quiet splash

Nun ist der Kernel geladen und wir müssen nur noch Booten. Das geht mit demselben Befehl, nur noch mit einem boot davor.
boot linux /vmlinuz-2.6.31-20-generic root=/dev/sda6 ro quiet splash

Jetzt sollte das System wieder booten wie vor der Windows installation. Damit man das aber nicht bei jedem Start machen muss, muss man nun noch die neuste Version vom Grub installieren. Das geht recht simpel mit dem folgenden Befehl:
sudo gub-install --root-directory=/ /dev/sda

Wenn man das Windows nachträglich installiert, oder bei der Neuinstallation die Windows Partition komplett gelöscht und neu erstellt hat, muss man das Configfile vom Grub anpassen, damit auch Windows wieder gebootet werden kann. Das geht mit dem folgenden Befehl schnell und vollautomatisch:
sudo grub-mkconfig -o /boot/grub/grub.cfg

Beim nächsten Neustart sollte man nun wieder den Grub 2 mit der Auswahl Linux und Windows haben.

Knistern unter Linux

Seit meinem WK hatte ich mit meinem Linux das Problem, dass der Ton nicht mehr funktionierte. Anstelle von Musik kam nur noch ein komisches Knistert. Im Ubuntu-Forum habe ich nun die Lösung gefunden. In der Shell das folgende eingeben und den Computer danach noch neustarten und schon gehts wieder.
sudo /etc/init.d/alsa-utils reset

bittorrent unter Linux

Ich benutze regelmässig Bittorrent um grössere Dateien herunter zu laden. Nur meist nervt es mich, wenn der Bittorrent-Client dann die ganze Bandbreite benutzt, wenn ich surfen will, oder auch wenn ich den Computer laufen lassen muss, nur damit eine Datei herunter geladen werden kann. Für etwas habe ich ja meine alte Linux-Box, die diese Aufgabe ganz gut übernehmen kann. Schliesslich gibt es einen guten Bittorrent-Client für die Shell, welcher im Zusammenspiel mit screen sehr simpel zu bedienen ist.
Als erstes muss man dazu screen und bittorrent auf der Linux-Box installieren:
apt-get install screen
apt-get install bittorrent

Aus Sicherheitsgründen habe ich extra einen Benutzer namens bittorrent erstellt, unter welchem dann der Prozess läuft:
useradd -g users -d /home/bittorrent -s /bin/bash bittorrent

screen

screen ist ein praktisches Tool mit welchem man Programme starten kann, ohne dass sie bei eine Disconnect (ssh, telnet usw.) sofort beendet werden. Das heisst man startet mit screen eine Terminal-Session, startet darin das Programm (in diesem Fall bittorrent) und kann dann die Verbindung wieder trennen, ohne das das Programm beendet wird.
Erstellen tut man eine solche Session mit dem Befehl screen. Nun kann man in dieser Session ein Programm starten und die Session danach mit Ctrl-A-D wieder beenden. Mit screen -r wird eine bestehende Session wieder aufgerufen.
Das bedeutet, dass man am Anfang mit screen eine neue Session erstellt, darin den Bittorrent-Client startet und danach mit Ctrl-A-D die Session wieder beendet. Wenn man nun nach dem Status sehen will, öffnet man die bestehende Session mit screen -r wieder.
Allerdings ist screen nicht sonderlich einfach zu verstehen, aber darauf wird man im man-File auch hingewiesen:
A weird imagination is most useful to gain full advantage of all the features.

bittorrent

Nun zum eigentlichen Bittorrent-Client:
Ich verwende btlaunchmanycurses damit ist es möglich mehrere Downloads gleichzeitig am laufen zu haben und diese werden auch noch "schön" dargestellt. btmanycurses erwartet als Parameter einen bestimmen Ordner und überwacht diesen. Sobald man in diesem Ordner ein torrent abspeichert, wird das erkannt und heruntergeladen. Die heruntergeladenen Daten werden auch in diesem Ordner abgelegt. Das heisst man kann die torrent-Datei in diesen Ordner speichern und muss dann nur noch warten bis der Download komplett ist. Ich habe mir ein kleines Script geschrieben welches den Client mit den nötigen Parametern startet. Aber das ist reine Bequemlichkeit.
#!/bin/bash
/usr/bin/btlaunchmanycurses /home/bittorrent/

Schlussendlich muss man sich nur mit dem Benutzer bittorrent einloggen, dort einmalig mit screen eine Terminal-Session erstellen und darin das Script starten. Wenn der Bittorrent-Client nun läuft kann man die Dateien in den angegebenen Ordner kopieren und sie werden automatisch heruntergeladen. Den Status sieht man mit screen -r. In verbindung mit einem Samba, FTP usw. Server ist das eine sehr bequeme und einfache Art um torrents herunter zu laden.

Und so sieht das dann aus:
http://images.t-error.ch/blog/1073/bittorrent.jpg


Wichtig ist auch noch, dass man die TCP Ports 6881-9 auf den entsprechenden Computer weiterleitet.

Zusammenfassung

Wenn nun die benötigte Software installiert, der Benutzer und das Script erstellt wurden kann man folgendermassen vorgehen
erstmaliges Starten des Clients
screen
./bittorrent.sh
Ctrl-A-D
Status überprüfen
screen -r
Ctrl-A-D

Linux mit Samba als Windows Domänenmitglied

Im Geschäft hatten wir eine USB-Festplatte, auf welcher wir sehr viele Bilder für die Katalogproduktion hatten. Das funktionierte recht gut, nur war es recht umständlich, da man die Festplatte immer wieder von einem Computer an den anderen anschliessen mussten. Die ideale Lösung ist also, wenn man die Bilder auf einem Server platziert, damit alle Leute darauf zugriff haben. Eine Bedingung ist, dass alle Leute die Bilder ansehen, aber nur bestimmte Mitarbeiter darauf zugreifen können.
Ich habe das ganze mit einem Linux-Server mit Samba gelöst, welcher an die Windows-Domain angeschlossen wurde. Hier nun eine kleine Anleitung, wie das bei mit funktioniert hat.

Ausgangslage

Domain: MUSTER.LOCAL
DNS-Server: 192.168.1.10

Domaincontroller
OS: Windows 2003 SP 2
Hostname: SERV01
IP: 192.168.1.10

Linux Server
OS: Ubuntu Linux 8.04 Server (2.6.24-16-server)
Hostname: SERV02
IP: 192.168.1.11

Software

Installiert werden muss Samba, Winbind und Heimdal. Bei mir in den folgenden Version (direkt über apt)
  • Samba 3.0.28a
  • Winbind 3.0.28a-1ubuntu4
  • heimdal-clients 0.7.1-1ubuntu3

Installation

Kerberos


Kerberos wird zur Authentifizierung am Windows-Server verwendet. Will sich also ein Benutzer am SERV02 anmelden, so sendet dieser die Anfrage an den SERV01 (PDC) weiter und erhält von dem die Nachricht, ob Benutzername und Passwort korrekt sind. So kann man direkt die Benutzer und Gruppen aus der Active-Directory verwenden, was die Benutzerverwaltung sehr vereinfacht. Kerberos ist im Packet Heimdal enthalten.
Konfigurieren muss man die Datei /etc/krb5.conf. Dazu muss man zuerst eine Realm (einen Bereich) konfigurieren und dort ein KDC (Kerberos Distribution Center) angeben und dann der Domain den Berich zuweisen. Wichtig ist hier, dass auf die Gross- und Kleinschreibung geachtet wird. Meine Konfigurationsdatei sieht so aus:
[libdefaults]
        default_realm = MUSTER.LOCAL
        clockskew = 300

[realms]
        MUSTER.LOCAL = {
                kdc = SERV01.MUSTER.LOCAL
        }

[domain_realm]
        .muster.local = MUSTER.LOCAL

[logging]
#       default = SYSLOG:NOTICE:DAEMON
        default = FILE:/var/log/krb/krb5libs.log
        kdc = FILE:/var/log/krb/kdc.log
        kadmind = FILE:/var/log/krb/kadmind.log

[appdefaults]
        pam = {
                ticket_lifetime = 1d
                renew_lifetime = 1d
                forwardable = true
                proxiable = false
                retain_after_close = false
                minimum_uid = 0
                debug = false
        }

Nun kann man mit dem Befehl kinit den Kerberos Client (Linux) am Server (Windows) authenifizieren. Dies funktioniert mit dem folgenden Befehl:
kinit Administrator@MUSTER.LOCAL

Wichtig ist wieder, dass auf die Gross- und Kleinschreibung geachtet wird und dass die Namensauflösung funktioniert. Ein ping auf serv01 sollte hier im Beispiel 192.168.1.10 zurückgeben.

Samba


Jetzt kann Samba über die Datei /etc/samba/smb.conf konfiguriert werden. Wichtig sind die Rot markierten Zeilen.
[global]
   workgroup = MUSTER
   server string =
   netbios name = serv02
   realm = MUSTER.LOCAL
   idmap uid = 10000 - 15000
   idmap gid = 10000 - 15000
   winbind separator = /
   winbind use default domain = yes
   password server = serv01.muster.local
   security = ADS
   client use spnego = yes
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   encrypt passwords = yes
   passdb backend = tdbsam
   obey pam restrictions = yes
   invalid users = root
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
   socket options = TCP_NODELAY

  • workgroup: Die Arbeitsgruppe. Sollte gleich dem Domänennamen sein
  • netbios name: Der Netbios Hostname des Servers
  • realm: Der Bereich. Gleich dem Bereich in der Kerberos Konfiguration
  • idmap uid: Bereich der genutzt wird um die Domänenbenutzer auf die Linux Benutzer zu mappen
  • idmap gid: Bereich der genutzt wird um die Domänengruppen auf die Linux Gruppen zu mappen
  • winbind seperator: Das Trennzeichen zwischen der Domäne und dem Benutzer
  • winbind use default domain: Definiert, ob Winbind auch mit dem Benutzernamen arbeitet, wenn keine Domäne angegeben wurde.
  • password server: Der Server, welcher die Passwörter validiert.
  • security: Definiert, dass Samba als ADS Mitglied arbeiten soll
  • client use spnego: Aktiviert SMB Singing

Nun muss man den Samba Server noch in die Domäne aufnehmen. Das macht man seit Samba 3.* nicht mehr mit smbpasswd sondern mit dem net Befehl:
net join -S serv01 -UAdministrator%password


Wenn alles geklappt hat muss man Linux noch mitteilen, dass Benutzeranfragen an winbind weitergeleitet werden sollen. Dies macht man in der Datei /etc/nsswitch.conf. Dort muss man die Zeilen passwd und group anpassen. Sie sollten schlussendlich so aussehen:
passwd:         files winbind
group:          files winbind


Nach einem Neustart von Samba und Winbind kann man prüfen, ob die Konfigurationsarbeit erfolgreich war. Die folgenden Befehle sollten alle Benutzer, bzw Gruppen der Windows Domäne anzeigen.
wbinfo -u
wbinfo -g

Shares einrichten

Sollte bisher alles funktioniert haben, kann man jetzt die Shares im Samba einrichten. Ich habe einen Share names Bilder gemacht, auf welchen alle Zugriff haben, aber nur eine bestimmte Gruppe schreiben kann.
[bilder]
   comment = Bilder
   path = /home/bilder
   public = yes
   read only = no
   guest ok = no
   browseable = yes
   valid users = @muster/alle
   admin users = @muster/abteilung, muster/user


Hier noch die Unterschiede zwischen Lokalen-/Domänenbenutzen-/Gruppen.
# lokaler user
valid users = user

# domain user
valid users = muster/user

# lokale gruppe
valid users = @group

# domain gruppe
valid users = @muster/group

Quellen


Im Internet gibt es schon einige Anleitungen dazu. Hier möchte ich diejenigen Auflisten, die mich am meisten weitergebracht haben:
  • http://www.pro-linux.de/work/server/samba3-domaene.html
  • http://www.administrator.de/Samba_in_Windows_Dom%C3%A4ne.html

Backup einer mySQL Datenbank erstellen

Wenn man eine Sicherung von einer mySQL Datenbank machen will kann man das natürlich auf auf mehrere Arten machen. Zum einen kann man das ganze über das beliebte phpMyAdmin machen. Oder, wenn man Zugriff auf die Shell vom Server hat, mit mysqldump oder cp. So kann man relativ simpel ein Cronjob einrichten, welcher Täglich oder Wöchentlich eine Sicherung der Datenbank macht.

Die Variante mit mysqldump ist recht simpel und funktioniert, ohne dass man den mySQL Server stoppen muss. mysqldump erstellt wie phpMyAdmin eine SQL Datei mit den create table und insert Anweisungen. In diesem keinen Beispiel wir die Datenbank "datenbank" exportiert und gleich noch mit gzip etwas komprimiert.
mysqldump -ubenutzer -p datenbank | gzip -c > file.sql.gz


Die andere Möglichkeit ist das kopieren der Dateien in der mySQL die Daten ablegt. In Ubuntu liegen diese Daten im Ordner /var/lib/mysql/. Dazu muss aber der mySQL Server gestoppt werden, dafür hat man aber eine etwas sauberere Sicherung. Bei Migrationen auf andere Server ist diese Variante wohl etwas besser. Hier ein kleines Beispiel, dass den mySQL Server stoppt, alle Datenbanken in den Ordner /home/backup/mysql/ kopiert und den Server dann wieder startet.
#!/bin/bash

mysqldir="/var/lib/mysql";

# stop mysql
/etc/init.d/mysql stop

date=`date +%d%m%Y`

mkdir /home/backup/mysql/$29.04.08 07:54/

cp -R $mysqldir/* /home/backup/mysql/$29.04.08 07:54/

# start mysql
/etc/init.d/mysql start

Orte unter Gnome anpassen

In Ubuntu mit Gnome gibt es die Möglichkeit Unter Orte eigene Ordner als Favoriten hinzuzufügen. Auf diese hat man dann anschliessend über das Panel oder in der Navigationsleiste von Nautilus schnell zugriff. Im Ubuntu 7.10 sind die dort Standardmässig die Ordner Dokumente, Musik, Bilder und Videos eingetragen.
Wie gewöhnlich bei Linux kann man diese Ordner nach belieben anpassen. Also einen Ordner umbenennen oder einen neuen hinzufügen. Dazu muss man nur die Datei ~/gtk-bookmarks mit einem Ordner Editor öffnen und dort die gewünschten Ordner eintragen, bzw anpassen. Bei mir sieht diese Datei nun so aus:
file:///home/david/Dokumente
file:///home/david/Musik
file:///home/david/Bilder
file:///home/david/Videos
file:///home/david/Downloads
Um diese Datei zu bearbeiten benötigt man keine root Rechte, da man immer im eigenen Homeverzeichnis herum fummelt. Und so sieht das dann aus:
http://images.t-error.ch/blog/598/orte_menu.jpg http://images.t-error.ch/blog/598/orte_nav.jpg

RAW Dateien unter Linux bearbeiten

Mit meiner EOS 400D kann man, wie mit den meisten DSLR Kameras, Fotos im RAW Format aufnehmen. Dies hat den Vorteil, dass man da noch viel mehr Möglichkeiten zur Nachbearbeitung am Computer hat, da das Bild von der Kamera noch nicht bearbeitet wurde, sondern einfach so wie vom Sensor aufgenommen (Roh) abgespeichert werden.
Allerdings werden diese Dateien von jedem Hersteller in einem anderen Format abgespeichert, die Daten sind also nicht standardisiert. Damit man diese Dateien im Gnome in der Vorschau ansehen und auch im Gimp öffnen kann, müssen zwei Pakete installiert werden. Dies sind die Pakete gimp-ufraw und gnome-raw-thumbnailer, welche man einfach über Synaptic installieren kann.
http://images.t-error.ch/blog/589/synaptic.jpg


Das Paket gnome-raw-thumbnailer sorgt dafür, dass die RAW Dateien auch in der Vorschau schon angezeigt werden. Wenn man nur RAW Fotos schiesst bringt das einen riesen Vorteil, wenn man wie ich JPG und RAW Dateien schiesst ist es aber immer noch praktisch.
http://images.t-error.ch/blog/589/raw_thumbnailer.jpg


gimp-ufraw hingegen ist ein Plugin für den Gimp, welcher die RAW Dateien sonst nicht öffnen kann. Mit dem Installierten Paket kann man die RAW Dateien einfach im Gimp öffnen. ES öffnet sich dabei ein neues Fenster, in dem man nun den Weissabgleich und noch einige andere Dinge einstellen kann. Auch ein Live histogramm steht zur Verfügung. Da ich Photoshop und co. nicht wirklich kenne, kann ich hier keinen Vergleich machen, für meine Bedürfnisse reicht das aber völlig aus.

Pipe Viewer

Pipe Viewer ist ein kleines aber feines Tool für die Linux-Shell. Damit lässt sich der Fortschritt des Datenflusses durch eine Pipe anzeigen. Besonders praktisch ist dies bei Befehlen wie gzip, tar, dd usw, da diese keinen Fortschritt anzeigen. Mit dem Pipe Viewer ist dies nun möglich.
Pipe Viewer lässt sich unter Ubuntu und Debian ganz einfach über Apt installieren.
sudo apt-get install pv
Auf der offiziellen Homepage sind auch RPMs verfügbar.

Die Verwendung ist recht simpel. Pipe Viewer funktioniert ähnlich wie cat, nur dass es halt den Fortschritt anzeigt. Möchte man nun eine Datei Zippen und dabei den Fortschritt sehen, kann man das so machen:
pv ubuntu-6.06.1.iso | gzip > ubuntu-6.06.1.iso.gz
50.3MB 0:00:05 [11.6MB/s] [=====>                ] 33% ETA 0:00:09


Im Manual sind noch einige andere, komplexere Beispiele zu finden:
pv file | nc -w 1 somewhere.com 3000
(tar cf - . \
| pv -n -s ‘du -sb . | awk ’{print }’‘ \
| gzip -9 > out.tgz) 2>&1 \
| dialog --gauge ’Progress’ 7 70