Ubu-tester
Anmeldungsdatum: 7. Januar 2011
Beiträge: 2240
Wohnort: NDS
|
moin, ich möchte gerne den freien Speicherplatz der einzelnen Partitionen angezeigt bekommen. Es soll mit 'parted' und'print' funktionieren, habe es aber bisher nicht hinbekommen. Mit dem Befehl wird mir Anfang und Ende und Größe einer Partition angezeigt, aber nicht vom freien Speicher. Wahrscheinlich gebe ich den Befehl dazu falsch ein, so gut kenne ich mich nicht damit aus. Diese Information möchte ich dann weiter verarbeiten. Dazu benötige aber auch den freien Speicher von nicht gemounteten Partitionen. Gibt es da was zu?
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5342
|
Fuer gemountete: df
df -h device-or-file Fuer ungemountete:
# parted /dev/sda unit B print free | grep 'Free Space' | tail -n1 | awk '{print $3}'
via
Oder
$ sudo tune2fs -l /dev/sda1 | grep Free
Free blocks: 784096
Free inodes: 533880
via
|
Ubu-tester
(Themenstarter)
Anmeldungsdatum: 7. Januar 2011
Beiträge: 2240
Wohnort: NDS
|
Kannst Du mir folgende Zeile erklären?
# parted /dev/sda unit B print free | grep 'Free Space' | tail -n1 | awk '{print $3}'
Nach der Eingabe, so wie geschrieben, kommt nichts! Also muss ich da was ändern dran?
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5342
|
Ubu-tester schrieb: Kannst Du mir folgende Zeile erklären?
# parted /dev/sda unit B print free | grep 'Free Space' | tail -n1 | awk '{print $3}'
Nach der Eingabe, so wie geschrieben, kommt nichts! Also muss ich da was ändern dran?
Schon mal ab dem grep alles weggelassen? Kommt da vielleicht ein Error: Error opening /dev/sda: Permission denied? Wenn ja, dann mal mit sudo probieren 😉 Ansonsten poste bitte die Ausgabe, ich hab keinen Remote-Zugriff auf deinen Rechner...
|
Ubu-tester
(Themenstarter)
Anmeldungsdatum: 7. Januar 2011
Beiträge: 2240
Wohnort: NDS
|
kommt das Gleiche, ohne freien Speicher. Aber die Links sind interessant, die zeigen sehr viel an, besonders 'tune2fs'. EDIT: zeigt den freien Speicher auch nicht richtig > Beispiel angezeigt mit 'tune2fs' 18,5 GB frei - tatsächlich 149 GB frei.
|
Ubu-tester
(Themenstarter)
Anmeldungsdatum: 7. Januar 2011
Beiträge: 2240
Wohnort: NDS
|
Es kommt bei > (parted) /dev/sda8 unit GB print free < mit 'sudo' in parted reingegangen: (parted) /dev/sda8 unit GB print free
Modell: ATA ST1000DM003-1CH1 (scsi)
Festplatte /dev/sda: 1000GB
Sektorgröße (logisch/physisch): 512B/4096B
Partitionstabelle: msdos
Nummer Anfang Ende Größe Typ Dateisystem Flags
0,00GB 0,10GB 0,10GB Freier Platz
1 0,10GB 238GB 238GB primary ext4 boot
238GB 238GB 0,00GB Freier Platz
3 238GB 1000GB 762GB extended
5 238GB 401GB 163GB logical ext4
8 401GB 565GB 164GB logical ext4
7 565GB 983GB 417GB logical ext4
6 983GB 1000GB 17,4GB logical linux-swap(v1)
2 1000GB 1000GB 0,11GB primary fat32
1000GB 1000GB 0,00GB Freier Platz
hierbei ist der 'Freier Platz' unformatierter Bereich auf der Platte.
|
cornix
Anmeldungsdatum: 9. März 2007
Beiträge: 4763
Wohnort: Ringenberg
|
Ubu-tester schrieb: ich möchte gerne den freien Speicherplatz der einzelnen Partitionen angezeigt bekommen. Es soll mit 'parted' und'print' funktionieren
Soweit ich weis, unterscheidet parted nur zwischen Partitionen und nicht partitionierten Bereichen; es unterscheidet nicht zwischen belegtem und freien Speicher innerhalb einer Partition. Gruß cornix
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12823
|
cornix schrieb:
Soweit ich weis, unterscheidet parted nur zwischen Partitionen und nicht partitionierten Bereichen; es unterscheidet nicht zwischen belegtem und freien Speicher innerhalb einer Partition.
Ich sehe auch nicht, wie man parted dazu überreden könnte, diese Information auszuspucken. Die graphische Version kann das. Es bleibt auch immer noch die Möglichkeit, eine Partition temporär read only zu mounten und dann z.B. mit df die Information abzurufen. Man könnte z.B. mit uuidgen einen Namen generieren, ein Verzeichnis anlegen und dann dort die Partition mounten. Ciao robert
|
cornix
Anmeldungsdatum: 9. März 2007
Beiträge: 4763
Wohnort: Ringenberg
|
rklm schrieb: Die graphische Version kann das.
gparted ist ein grafisches Frontend zu libparted und bedient sich zusätzlicher Werkzeuge für verschiedene Dateisysteme, es ist also nicht bloß die grafische Variante von parted. Vielleicht kann gparted die Anforderungen des Threaderstellers sogar erfüllen.
|
Ubu-tester
(Themenstarter)
Anmeldungsdatum: 7. Januar 2011
Beiträge: 2240
Wohnort: NDS
|
moin, mit 'gparted' ist das so eine Sache. Kann ich das aufrufen, ohne daß die Oberfläche startet? Ich wollte den freien Speicher in einem selbstgebastelten Programm auslesen. Da ist es nicht vorteilhaft, die Oberfläche von 'gparted' zu starten.
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
Angesichts dessen, dass dieses grafische Programm doch nur die Oberfläche für die einschlägigen Bibliotheksfunktionen liefert, wäre es wohl sinnvoller, direkt auf die primär-Programme zurück zu greifen. Insbesondere willst Du ja den freien Platz innerhalb der Partition (= im Dateisystem dort !) wissen, und da setzt ein Partitionswerkzeug einfach an der falschen Stelle an. Also: nimm irgendwas aus der e2fs-Serie (→ siehe apropos e2fs ), am besten vielleicht so: sudo dumpe2fs -h /dev/sda1 oder gleich mit awk zurechtformatiert, z.B. so: sudo dumpe2fs -h /dev/sda1 | awk '/^Free blocks/ {blocks= $3} /^Block size/ {print blocks*$3/1048576, "MB frei"}' Allerdings sind hier die reservierten Blöcke noch mitgerechnet. Willst Du auch die fix und fertig herausgerechnet haben, dann ist geht es mit am einfachsten mit df : df -h | awk '/^\/dev\/sda1/ {print $4, "frei"}' LG, track
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12823
|
track schrieb: Angesichts dessen, dass dieses grafische Programm doch nur die Oberfläche für die einschlägigen Bibliotheksfunktionen liefert, wäre es wohl sinnvoller, direkt auf die primär-Programme zurück zu greifen.
👍
Insbesondere willst Du ja den freien Platz innerhalb der Partition (= im Dateisystem dort !) wissen, und da setzt ein Partitionswerkzeug einfach an der falschen Stelle an.
Genau.
Willst Du auch die fix und fertig herausgerechnet haben, dann ist geht es mit am einfachsten mit df : df -h | awk '/^\/dev\/sda1/ {print $4, "frei"}'
... wofür die Partition allerdings gemountet sein muss. Das wäre die Lösung, die ich oben vorgeschlagen hatte. Ciao robert
|
Ubu-tester
(Themenstarter)
Anmeldungsdatum: 7. Januar 2011
Beiträge: 2240
Wohnort: NDS
|
@ track: df -h | awk '/^\/dev\/sda1/ {print $4, "frei"}'
ändere ich es nach '/dev/sda7/' ab, kommt nichts, ist aber gemountet! Wie kommt das?
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
@ Robert: natürlich hattest Du es oben schon vorgeschlagen, und sebix auch, aber da hat das ja keiner ernst genommen ! 🐸 Ubu-tester schrieb: ... Wie kommt das?
Tja, dafür müsstest Du mir mal (bitte in einem Codeblock !) die Ausgabe Deines df -h zeigen, sonst kann ich das nicht sehen. 😉 (oder hast Du womöglich die "/" innerhalb des Regulären Ausdrucks nicht escapet, oder sowas ?) track
|
Ubu-tester
(Themenstarter)
Anmeldungsdatum: 7. Januar 2011
Beiträge: 2240
Wohnort: NDS
|
ich habe mir die Seite über 'awk' durchgelesen, danach macht es das wahrscheinlich nicht, falsche Position der Variable. Es kommt nach dem Aufruf mit '/dev/sda7' nichts, rein gar nichts. Als wenn Du nur RETURN drückst. df -h
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
/dev/sda1 219G 40G 168G 20% /
none 4,0K 0 4,0K 0% /sys/fs/cgroup
udev 16G 12K 16G 1% /dev
tmpfs 3,2G 1,6M 3,2G 1% /run
none 5,0M 0 5,0M 0% /run/lock
none 16G 84K 16G 1% /run/shm
none 100M 32K 100M 1% /run/user
/media/ks/d_mydata/xubu 383G 246G 119G 68% /xubu
Dabei ist die letzte Position = '/dev/sda7'.
|