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

2018-11-07

MacOS file system check

To see if you new APFS file system is consistent,  you can:

$ sudo fsck_apfs -ln /dev/disk1s1

Let me explain this in details:

  • sudo - assume admin rights
  • fsck_apfs - the low level program to check an APFS file system
  • -ln - scan this in "live mode" and do "no changes"
  • /dev/disk1s1 - the name of your main disk. You can find this by either doing a "df ~" or "diskutil list". The later gives the following output on my system:


$ diskutil list
/dev/disk0 (internal):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                         500.3 GB   disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:                 Apple_APFS Container disk1         500.0 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +500.0 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            478.9 GB   disk1s1
   2:                APFS Volume Preboot                 47.5 MB    disk1s2
   3:                APFS Volume Recovery                512.8 MB   disk1s3
   4:                APFS Volume VM                      1.1 GB     disk1s4

 If this tells you that you should repair your disk, you must boot your Mac into single user mode (console mode). To do this, reboot and press CMD+S during reboot. You will get a unix console with a root prompt.

here you can run

# fsck_apfs -y /dev/disk1s1

-y means here: repair without asking

2014-05-20

MacOS start scripte

Für einen Unix Benutzer gibt es unter MacOS viele ungewohnte Dinge, zum Beispiel start scripte. Das wird auf MacOS alles vom launchd übernommen.

Hier mal zur Dokumentation ein Beispiel, wie man ein Programm zur boot Zeit als root ausführen lassen kann.

Mein konkretes Problem: Ich benutze tinc als Lösung, um alle meine Rechner via VPN zu verbinden. Ich würde gerne zur Boot Zeit folgendes Kommando ausführen

/usr/local/sbin/tincd  -n dziadzka.net
Unter MacOS erstelllt man hierzu eine plist Datei im XML format und kopiert sie nach /Library/LaunchDaemons.

Konkret lege ich eine Datei /Library/LaunchDaemons/net.dziadzka.tincd.plist mit dem folgende Inhalt

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>net.dziadzka.tincd</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/sbin/tincd</string>
        <string>-n</string>
        <string>dziadzka.net</string>
        <string>-D</string>
    </array>
</dict>
</plist>
Im wesentlichen ist das eine 3-elementige property liste mit den werten

Label: net.dziadzka.tincd
KeepAlive: true
ProgrammArguments: ["/usr/local/sbin/tincd", "-n", "dziadzka.net", "-D"]

KeepAlive == true heist, dass sich der Launchd darum kümmert, das Programm nach unfreiwilliger beendigung neu zu starten. Deswegen auch das zusätzliche Argument "-D" für den tincd, damit der sich nicht in den Hintergrund verabschiedet.









2013-08-08

Wie kopiere ich ein ISO Image auf einen USB Stick (unter MacOS)

Da ich das öfter gefragt werde, hier eine Kurzanleitung.

Es braucht keine Spezielprogramme, im Prinzip, genauso wie unter Linux mit dd.

Vorbemerkung: Das dd Kommando weiter unten überschreibt die Daten ohne nachfragen. Also bitte aufpassen, das man wirklich den USB Stick überschreibt und nicht was anderes.


1. USB stick einstecken

2. Alle "Platten" anzeigen lassen.

$ diskutil list
....
/dev/disk5
#:                       TYPE NAME                    SIZE       IDENTIFIER
0:                 FDisk_partition_scheme         *4.0 GB     disk5
1:                 DOS_FAT_32 UNTITLED    4.0 GB     disk5s1


Bei mir ist disk5 die richtige. Das merken wir uns mal

3. abmounten om USB Stick

$ diskutil unmountDisk /dev/disk5
Unmount of all volumes on disk5 was successful

Jetzt ist der USB Stick im Finder nicht mehr zu sehen, aber mit diskutil sieht man ihn immer noch
$ diskutil list
....
/dev/disk5
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                 FDisk_partition_scheme         *4.0 GB     disk5
   1:                 DOS_FAT_32 UNTITLED    4.0 GB     disk5s1

4. Kopieren der Daten auf den USB Stick
$ sudo dd bs=1024k if=~/Downloads/Fedora-Live-LXDE-x86_64-19-1.iso of=/dev/disk5
Password:
691+0 records in
691+0 records out
724566016 bytes transferred in 1141.584431 secs (634702 bytes/sec)
Das sudo brauchen wir hier, weil wir ansonsten keine Rechte haben, direkt auf das device /dev/disk5 zuzugreifen.
  • bs ist hier die zu verwenden lese/schreibe block size. Wenn die nicht gesetzt wird, nimmt dd 512byte und es dauert ewig.
  • if ist das input file, hier ein Fedora ISO image
  • of ist das output file, hier unser USB Stick

Am Ende muss die Partition eventuell noch bootfähig gemacht werde
$ sudo fdisk /dev/disk5
Und dann mit f die entsprechende Partition markieren

2013-02-05

Wie repariere ich unter MacOS eine Platte mit defektem Journal

Auf einer meiner Backup Platten (MacOS / Time Machine) war das Journal defekt. Die Platte lässt sich nicht mehr mounten.

Disk Utility ist nicht sehr hilfreich, Repair sagt alles in Ordnung (aber das Journal ist kaputt), Verify sagt, das Journal ist kaputt.

Also das Journal vom HFS+ abstellen. Geht ja auch ohne. Nun kann man das mit den üblichen MacOS tools nur bei einem gemounteten File System abstellen, mounten geht aber nicht ...

Kleine Internet Recherche: Wie bei Linux auch, wird bei MacOS von den disktools ein filesystem spezifisches Programm zum reparieren benutzt, dass kann dann eventuell auch etwas mehr.

Hier: Das Journal auf einem nicht gemountetem Filesystem abschalten:
/System/Library/Filesystems/hfs.fs/hfs.util -N /dev/diskNsM
Danach geht auch das Repair/Verify gut und die Platte lässt sich wieder benutzen - und erstmal backup-en