Resources
https://github.com/emred/osx-hack/blob/master/hack.sh
https://gist.github.com/brandonb927/3195465#file-osx-for-hackers-sh
https://archive.is/20150913113549/http://osxnotes.net/
https://github.com/herrbischoff/awesome-osx-command-line
Self-hosting Apple Software Updates https://github.com/wdas/reposado
Time Machine
Informations
(Using AFP only) These presumably allow the disk image engine to force disk image journal data to write out all the way to the disk. Without such features, a network interruption can result in a corrupted filesystem on the disk image despite journaling. Remember, journaling relies on the journal being written all the way to disk before the changes take place. If you can't guarantee that (e.g., because of network/NAS buffering) then the journal is useless. Time Machine appears to rely heavily on disk journaling to deal with network drop-outs, interrupted backups, and the like. Take this away and your data is at risk.
sudo log stream --predicate 'subsystem=="com.apple.TimeMachine"' --info
(to exit: enter exit
+ return)
automount remote disk at /Volumes/.timemachine/{remote-machine-name}
TM process name: com.apple.backupd
.
Open system.log
with Console.app, search for backupd
ignore disk to be a TM target: touch ".com.apple.timemachine.donotpresent"
in the root of the disk
.com.apple.timemachine.supported
if the folder must be backup by Time Machine
current files used by Time Machine sudo fs_usage -w -f filesys backupd
files ignored by TM with extended attribute sudo mdfind "com_apple_backup_excludeItem = 'com.apple.backupd'"
Time Machine backup reliability:
Similar tools
Time Machine for every Unix out there - IMHO .snapshots/daily.0/
Copy #!/bin/sh
date=`date "+%Y-%m-%dT%H:%M:%S"`
HOME=/home/user/
rsync -aP \
--link-dest=$HOME/Backups/current\
$HOME $HOME/Backups/back-$date.incomplete
mv $HOME/Backups/back-$date.incomplete $HOME/Backups/back-$date
ln -sf back-$date $HOME/Backups/current
Copy #!/bin/sh
date=`date "+%Y-%m-%dT%H_%M_%S"`
HOME=/home/user/
rsync -azP \
--delete \
--delete-excluded \
--exclude-from=$HOME/.rsync/exclude \
--link-dest=../current \
$HOME user@backupserver:Backups/incomplete_back-$date \
&& ssh user@backupserver \
"mv Backups/incomplete_back-$date Backups/back-$date \
&& ln -sf back-$date Backups/current"
See also Easy Automated Snapshot-Style Backups with Rsync
Fake Time Machine - "Fake Time Machine, a way to duplicate the functionality of Apple's Time Machine using rsync, which also might make it cross-platform, but also lets you run it to any remote server "
GUI for rsync
arRsync (for the source code, see arrsync-X.X.X.tar.gz
and arrsync-X.X.X.tar.bz2
)
https://github.com/mileswu/arrsync
Include files and folders
Included by default:
From $IBACKUP_APP/Contents/Resources/System Settings/
iBackup
Address Book (Cards, Groups, Plug-Ins)
Copy ~/Library/Address Book Plug-Ins
~/Library/Application Support/AddressBook
~/Library/Preferences/AddressBookMe.plist
~/Library/Preferences/com.apple.AddressBook.plist
Dashboard
Copy ~/Library/Preferences/com.apple.dashboard.client.plist
~/Library/Preferences/com.apple.dashboard.plist
~/Library/Widgets
Desktop Pictures
Copy ~/Library/Desktop Pictures
Keychains
Copy ~/Library/Keychains
~/Library/Preferences/com.apple.keychainaccess.plist
Mail (Accounts, Mailboxes, Messages)
Copy ~/Library/Mail
~/Library/Preferences/com.apple.mail.plist
~/Library/Preferences/com.apple.mail.searchhistory
~/Library/Mail Downloads
Printers
Copy ~/Library/Printers
~/Library/Preferences/com.apple.print.custompresets.plist
~/Library/Preferences/com.apple.print.PrintCenter.plist
Safari (Bookmarks, History, Preferences)
Copy ~/Library/Safari
~/Library/Preferences/com.apple.Safari.plist
~/Library/Cookies
Screen Savers
Copy ~/Library/Screen Savers
System Preferences (Bluetooth, Dock, Services ...)
Copy ~/Library/Application Support/Apple
~/Library/Logs
~/Library/PreferencePanes
~/Library/Preferences/com.apple.ActivityMonitor.plist
~/Library/Preferences/com.apple.airport.adminutility.plist
~/Library/Preferences/com.apple.AppleShareClient
~/Library/Preferences/com.apple.Aperture.plist
~/Library/Preferences/com.apple.BezelServices.plist
~/Library/Preferences/com.apple.Bluetooth.plist
~/Library/Preferences/com.apple.BluetoothFileExchange.plist
~/Library/Preferences/com.apple.BluetoothFirmwareUpdater.plist
~/Library/Preferences/com.apple.calculator.plist
~/Library/Preferences/com.apple.Console.plist
~/Library/Preferences/com.apple.desktop.plist
~/Library/Preferences/com.apple.DiskUtility.plist
~/Library/Preferences/com.apple.dock.plist
~/Library/Preferences/com.apple.DotMacSync.plist
~/Library/Preferences/com.apple.driver.AppleHIDMouse.plist
~/Library/Preferences/com.apple.finder.plist
~/Library/Preferences/com.apple.FolderActions.plist
~/Library/Preferences/com.apple.FontBook.plist
~/Library/Preferences/com.apple.frontrow.plist
~/Library/Preferences/com.apple.help.plist
~/Library/Preferences/com.apple.helpviewer.plist
~/Library/Preferences/com.apple.HIToolbox.plist
~/Library/Preferences/com.apple.InterfaceBuilder.plist
~/Library/Preferences/com.apple.InterfaceBuilder3
~/Library/Preferences/com.apple.internetconfig.plist
~/Library/Preferences/com.apple.internetconfigpriv.plist
~/Library/Preferences/com.apple.LaunchServices.plist
~/Library/Preferences/com.apple.loginwindow.plist
~/Library/Preferences/com.apple.MenuBarClock.plist
~/Library/Preferences/com.apple.menuextra.battery.plist
~/Library/Preferences/com.apple.menuextra.textinput.plist
~/Library/Preferences/com.apple.PhotoBooth.plist
~/Library/Preferences/com.apple.NetworkUtility.plist
~/Library/Preferences/com.apple.preference.desktopscreeneffect
~/Library/Preferences/com.apple.Preview.bookmarks.plist
~/Library/Preferences/com.apple.Preview.plist
~/Library/Preferences/com.apple.PropertyListEditor.plist
~/Library/Preferences/com.apple.recentitems.plist
~/Library/Preferences/com.apple.scheduler.plist
~/Library/Preferences/com.apple.ScriptEditor2.plist
~/Library/Preferences/com.apple.Sherlock.plist
~/Library/Preferences/com.apple.sidebarlists.plist
~/Library/Preferences/com.apple.spotlight.plist
~/Library/Preferences/com.apple.symbolichotkeys.plist
~/Library/Preferences/com.apple.systempreferences.plist
~/Library/Preferences/com.apple.systemuiserver.plist
~/Library/Preferences/com.apple.Terminal.plist
~/Library/Preferences/com.apple.TextEdit.plist
~/Library/Preferences/com.apple.universalaccess.plist
~/Library/Preferences/com.apple.x11.plist
~/Library/Preferences/com.apple.Xcode.plist
~/Library/Preferences/loginwindow.plist
~/Library/Preferences/Sherlock
~/Library/Recent Servers
~/Library/Services
~/Library/Scripts
~/Library/Spotlight
/Library/Preferences/com.apple.sharing.firewall.plist
iCal (Alarms, Events, To Do, Calendars)
Copy ~/Library/Calendars
~/Library/Preferences/com.apple.iCal.alarmsCache.plist
~/Library/Preferences/com.apple.iCal.AlarmScheduler.plist
~/Library/Preferences/com.apple.iCal.plist
~/Library/Preferences/com.apple.iCal.sources.plist
~/Library/Application Support/iCal
iChat (Accounts, Preferences)
Copy ~/Library/Preferences/com.apple.iChat.AIM.plist
~/Library/Preferences/com.apple.iChat.Jabber.plist
~/Library/Preferences/com.apple.iChat.plist
~/Library/Preferences/com.apple.iChat.SubNet.plist
~/Library/Preferences/com.apple.iChatAgent.plist
iMovie (Preferences)
Copy ~/Library/iMovie
~/Library/Preferences/com.apple.iMovie7.plist
iPhone
Copy ~/Library/Application Support/MobileSync/Backup
iPhoto
Copy ~/Library/Preferences/com.apple.iPhoto.plist
iPod
Copy ~/Library/Preferences/com.apple.iPod.plist
iTunes
Copy ~/Library/iTunes
~/Library/Preferences/com.apple.iTunes.eq.plist
~/Library/Preferences/com.apple.iTunes.plist
Exclude drives, folders and files
By default some folder/files are excluded. But some are not to allow a full restoration of a viable system (ex: /private/var/log/
and its folders are kept but not their files).
How to:
Fixed path exclusions System Preferences > Time Machine > Options, similar to sudo tmutil addexclusion -p <drive, dir or file>
(but it's not the same). See also /Library/Preferences/com.apple.TimeMachine.plist
and /System/Library/CoreServices/backupd.bundle/Contents/Resources/StdExclusions.plist
Sticky exclusions tmutil addexclusion <drive, dir or file>
same as xattr -w com.apple.metadata:com_apple_backup_excludeItem com.apple.backupd <filename>
. This not work for files inside packages (Spotlight don't index files in packages) find /path/to/projects -type d -path '*node_modules/*' -prune -o -type d -name 'node_modules' -exec xattr -w com.apple.metadata:com_apple_backup_excludeItem com.apple.backupd '{}' \;
files ignored by Spotlight still backup by Time Machine
Find sticky excluded files/folders sudo mdfind "com_apple_backup_excludeItem = 'com.apple.backupd'"
See also
Inspect bytecode of CCleanerLib, contains debug symbols
General
/Applications/Install OS X Yosemite.app
Folder of Dropbox, Box, Google Drive, iCloud (~/Library/Mobile Documents/
) etc.
System
(not adviced) /private/var/folders/%random%/%random%/0/com.apple.LaunchServices-134$(id -u).csstore
Sometime this file is updated too often (< 1h) (after each Time Machine backup?) Maybe a rebuild is necessary: find /System/Library/Frameworks -type f -name "lsregister" -exec {} -kill -seed -r \;
or find /System/Library/Frameworks -type f -name "lsregister" -exec {} -kill -r -domain local -domain system -domain user \;
Launch Services Database file is per user file 134 on OSX 10.11, an other number on other OSX version) contains software file type/protocol association and maybe Login Items too See com.apple.LaunchServices-014501.csstore keeps r... | Official Apple Support Communities
By exploring Time Machine backups delete backup of content of /private/var/folders/
and files /private/var/log/
(but keep folders tree intact)
Steam
~/Library/Application Support/Steam/config/htmlcache
~/Library/Application Support/Steam/appcache
Virtual Machines and simulators
VMware, Parallels, VirtualBox, etc.
Virtual Machines.localized
VMware Fusion
/Library/Developer/CoreSimulator/Profiles/Runtimes
iOS simulator
/Library/Android/sdk/system-images
Android SDK (depends installed location)
If possible, enable option to split vitual machine hard disk into small chunks. (VMWare Player: New Virtual Machine Wizard > Specify Disk Capacity > Split virtual disk into multiple files)
or use sparse bundle to store VMs disks
Adobe Creative Suite
~/Library/Preferences/Adobe/After Effects/11.0/Adobe After Effects Disk Cache - XXXXX.noindex
(should be already ignored by Spotlight, but seem not work)
Photoshop scratch disk's temp files (where ?)
Lightroom
~/Pictures/Lightroom/Lightroom 5 Catalog Previews.lrdata
~/Pictures/Lightroom/Lightroom 5 Catalog Smart Previews.lrdata
Xcode
~/Library/Developer/Shared/Documentation/DocSets
~/Library/Developer/Xcode/DerivedData
Google Chrome (see also Canary)
~/Library/Application Support/Google/Chrome/Default/GPUCache
~/Library/Application Support/Google/Chrome/ShaderCache
~/Library/Application Support/Google/Chrome/Default/Extension Rules/XXXXXX.log
~/Library/Application Support/Google/Chrome/Default/Extension Rules/LOG
~/Library/Application Support/Google/Chrome/Default/Extension Rules/LOG.old
~/Library/Application Support/Google/Chrome/Default/Extension State/XXXXXX.log
~/Library/Application Support/Google/Chrome/Default/Extension State/LOG
~/Library/Application Support/Google/Chrome/Default/Extension State/LOG.old
~/Library/Application Support/Google/Chrome/Default/Session Storage/XXXXXX.log
~/Library/Application Support/Google/Chrome/Default/Session Storage/LOG
~/Library/Application Support/Google/Chrome/Default/Session Storage/LOG.old
Spotify
~/Library/Application Support/Spotify/PersistentCache
(by default) or the path of Spotify Preferences > Advanced > Memory Cache
jDownloader
/Applications/jDownloader.app/Contents/java/app/tmp
(use fixed path exclusion)
/Applications/jDownloader.app/Contents/java/app/logs
(use fixed path exclusion)
Firefox
In ~/Library/Application Support/Firefox/Profiles/%ff_profile_id%/
files likes places.sqlite
, cookies.sqlite
, content-prefs.sqlite
and webappsstore.sqlite
can be quite big (N * 10MB) and often updated. Clean history and clean cookies or change places.history.expiration.max_pages
and or places.history.expiration.interval_seconds
. Could be safely deleted (a new file will be created when it is needed). Clean up sqlite DB (reduce size): echo "VACUUM;" | sqlite3 places.sqlite
. See https://wiki.mozilla.org/Firefox/Projects/Places_Vacuum
~/Library/Application Support/Firefox/Profiles/%ff_profile_id%/weave/logs
could be excluded too
Thunderbird
See Firefox for places.sqlite
, cookies.sqlite
, content-prefs.sqlite
and webappsstore.sqlite
use maildir format in Thunderbird (store each email as individual file instead of a big file containing all emails)
~/Library/Thunderbird/Profiles/%tb_profile_id%/global-messages-db.sqlite
~/Library/Thunderbird/Profiles/%tb_profile_id%/global-messages-db.sqlite-journal
~/Library/Thunderbird/Profiles/%tb_profile_id%/panacea.dat
(Mail folder cache. It can be safely deleted )
MySQL
Use "InnoDB File-Per-Table Tablespaces":
In my.cnf
Copy [mysqld]
innodb_file_per_table=1
sparsebundle
Explore sparsebundle
Mount *.sparsebundle
/ *.backupbundle
first: hdiutil attach My.sparsebundle
tmutil
(with compare
, uniquesize
or calculatedrift
): tmutil compare /Volumes/MyBackupVolume/Backups.backupdb/$COMPUTE_NAME%/2016-02-18-090818 /Volumes/MyBackupVolume/Backups.backupdb/$COMPUTE_NAME/2016-02-18-102050
. +
added file, -
removed file, !
changed file
diskutil umount force /Volumes/com.apple.TimeMachine.TM_Prime-DA16D91F-3320-4834-91ED-2902CE57E46D
find /path/to/your/latest/backup -type f -links 1 -print
(Time Machine use hardlinks for unmodified files). But not realy usefull since some folder use hardlink too (and you can't exlude file in hardlinked folders)
Create or resize sparsebundle
Aka specify a size
Sparsebundle are use on network drives.
Create a sparsebundle of 320GiB or use 320000000000b
(= 320GB)
Copy hdiutil create -size 320g -type SPARSEBUNDLE -nospotlight -fs "HFS+J" -volname "MyMacBook Time Machine Backup" MyMacBook.sparsebundle
#
# Mount image
open MyMacBook.sparsebundle
# diskutil list
# sudo diskutil enableOwnership /dev/diskXsX
# Set Time Machine a destination volume
sudo tmutil setdestination "/Volumes/MyMacBook Time Machine Backup"
To create dynamic sparsebundle, create it without partition scheme.
Sparsebundle will increase by it's content
You can shrink sparseimage directly (should not be used). Could require a compact
before
Copy hdiutil resize -size 320g -shrinkonly /Volumes/Network_Drive_Name/path/to/timemachine.sparseimage
# -limits will just displays the minimum, current, and maximum sizes (in 512-byte sectors)
reclaim unused bands (free space) sudo hdiutil compact -verbose image.sparsebundle
(could be executed multiple times) or hdiutil resize -verbose -sectors min image.sparseimage
.
To fix hdiutil: compact failed - internal error
see:
http://java.dzone.com/articles/shrink-your-time-machine
http://www.readynas.com/?p=253
Copy #!/bin/bash
# A bash script to create a time machine disk image suitable for
# backups with OS X 10.6 (Snow Leopard)
# This script probably only works for me, so try it at your own peril!
# Use, distribute, and modify as you see fit but leave this header intact.
# (R) sunkid - September 5, 2009
usage ()
{
echo ${errmsg}"\n"
echo "makeImage.sh"
echo " usage: makeImage.sh size [directory]"
echo " Create a disk image with a max storage size of <size> and copy it"
echo " to your backup volume (if specified)"
}
# test if we have two arguments on the command line
if [ $# -lt 1 ]
then
usage
exit
fi
# see if there are two arguments and we can write to the directory
if [ $# == 2 ]
then
if [ ! -d $2 ]
then
errmsg=${2}": No such directory"
usage
exit
fi
if [ ! -w $2 ]
then
errmsg="Cannot write to "${2}
usage
exit
fi
fi
SIZE=$1
DIR=$2
NAME=`scutil --get ComputerName`;
UUID=`system_profiler SPHardwareDataType | grep 'Hardware UUID' | awk '{print $3}'`
# get busy
echo -n "Generating disk image ${NAME}.sparsebundle with size ${SIZE}GB ... "
hdiutil create -size ${SIZE}G -fs HFS+J -type SPARSEBUNDLE \
-volname 'Time Machine Backups' "${NAME}.sparsebundle" >> /dev/null 2>&1
echo "done!"
echo -n "Generating property list file with uuid $UUID ... "
PLIST=$(cat <<EOFPLIST
<?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>com.apple.backupd.HostUUID</key>
<string>$UUID</string>
</dict>
</plist>
EOFPLIST
)
echo $PLIST > "${NAME}.sparsebundle"/com.apple.TimeMachine.MachineID.plist
echo "done!"
if [ $# == 2 ]
then
echo -n "Copying ${NAME}.sparsebundle to $DIR ... "
cp -pfr "${NAME}.sparsebundle" $DIR/"${NAME}.sparsebundle"
echo "done"
fi
echo "Finished! Happy backups!"
Change sparsebundle band size
If "Time Machine must recreate a new copy" occure too often, or if after few month of TM use, back is slow, or if the host of the sparsebundle don't support well lot of file in one dir (ex: ext4 <40000)
By default Time Machine use band in sparsebundle with size of 8MiB. It's can be problematic when the size of the backup is > 300GB. 16MiB (32768 blocks) could be a good compromise.
Copy hdiutil convert -format UDSB -imagekey sparse-band-size=32768 -o new.sparsebundle old.sparsebundle
# Will take lot of time ~ hours
cp old.sparsebundle/com.apple.TimeMachine.MachineID* new.sparsebundle/
Note: Increase band size only for unencrypted backups. Large bands could be problematic with encrypted backups (take lot of time): download band, decrypt, update, encrypt then finally upload
The sparse-band-size parameter is the number of 512-byte sectors (chunks), not the number of bytes. Since 512 is 1/2 1,024, then 262,144 B / 2 = 128 KiB.
Where 262144 equals 128MiB bands/byte sectors (128 MiBytes == 128*1024*1024 bytes == 128*1024*1024/512 blocks = 262144 blocks
, 262144 / 2 / 1024 = 128MiB
)
Read it (for mounted sparsebundle):
Copy hdiutil info -verbose | grep band-size
# Or accessible in Info.plist in the .sparsebundle
https://gist.github.com/Agiley/b3e9af8a641df1dc73c0
Backup into a sparsebundle file
This format is often created to backup on a shared network volume (that is not HFS+)
Mount it (db click in Finder) and
Copy sudo tmutil setdestination /Volumes/name-of-the-mounted-sparsebundle
SparseBundle sould be at the root of the volume. A workaround is to create a symbolic link ln -s /volume1/backups/subfolder/subfolder/BackupImage.sparsebundle BackupImage.sparsebundle
, but only supported on OSX (Unix folder symlink are forbidden)
Can be required
Copy sudo diskutil enableOwnership /dev/disk2s2
http://pondini.org/TM/18.html#id18
Control when to backup
More control, by can impact performances (battery, powernap, integrity, etc.)
Change:
(before 10.8) sudo defaults write /System/Library/LaunchDaemons/com.apple.backupd-auto StartInterval -int 7200
(7200 in seconds eq. 2 hours)
(10.8+) update BackupInterval
in /System/Library/LaunchDaemons/com.apple.backupd-auto.plist
Or use an app:
Use cron task By controling when enable/disable/start it:
sudo tmutil enable|disable
or defaults write /Library/Preferences/com.apple.TimeMachine AutoBackup -boolean YES|NO
or tmutil startbackup --auto --block
Restore from a Time Machine backup
You can't restore this backup because it was created by a different model of Mac
Could restore from a Time Machine Backup with Migration Assistant .
Restore from a Time Machine backup should restore all files, but few things are not:
System Preferences > Keyboard > Keyboard Shortcuts (key mapping, "open terminal here", etc.)
Few softwares require to re-enter licencies credentials (which depends on hardware finger print?)
System Preferences > Security & Privacy
scanners and printers drivers and configurations
file type/protocol association
Character map recent and favs
Also don't erase immediatly all TM snapshots, some are not complete due to concurency with software that also write on disk in same time (or use large files)
Change harddrive
Copy sudo tmutil associatedisk -a mount_point snapshot_volume
sudo tmutil inheritbackup {machine_directory | sparsebundle}
Local snapshots
Copy sudo tmutil enablelocal
Copy sudo tmutil disablelocal
In folder /.MobileBackups
http://pondini.org/TM/30.html
http://apple.stackexchange.com/questions/80183/any-way-to-change-the-location-of-time-machine-local-backups-mobilebackups-t
http://support.apple.com/kb/HT4878
Remove specific file from Time Machine backup
cd "/Volumes/Time Machine Backups/Backups.backupdb/<machinename>"
ls -li *"/<drivename>/<path>/"*
, sudo bypass rm -rf *"/<drivename>/<path>/"*
ls -li *"/<drivename>/<file>"
, sudo bypass rm -f *"/<drivename>/<path>/<file>"
Reduce size
Copy tmutil listbackups
sudo tmutil delete '/Volumes/Time Machine Backups/Backups.backupdb/.../2018-'{01,02,03,04}*
sudo hdiutil compact '/Volumes/....sparsebundle'
Troubleshooting
Catalina have issue with SMB (often disconnected and sometimes can't reconnect). Force to use AFP mounted disk instead. See Time Machine in Catalina 10.15.3 has serious bugs – The Eclectic Light Company and Catalina - no longer access NAS via Finder? Time Machine not working. | Synology Community
Stuck on "Preparing backup..."
It's often related to spotlight indexing (can't backup when spotlight is indexing)
The backup is already in use
Aka "Failed to unmount disk mounted at [...]" on the server
On the server, disconnect the user or restart the AFP service
Time Machine backup is very slow
Disable low priority process throttle: sudo sysctl -w debug.lowpri_throttle_enabled=0
. Check before if it's happend with sudo fs_usage -w -f filesys backupd
See also if it use SMB Shares, it could be slow itself (due to protocol version use or signing).
Other Time Machines errors
https://github.com/jamespayne/time-machine-sparse-bundle-fix and https://github.com/Parkcomm/time-machine-sparce-bundle-fix
https://gist.github.com/dipdi/fedb28652f8e7de2b11b
Time Machine Volume on Network
Via AFP (depreciated) or SMB protocols
Sparsebundle disk images cannot, however, be saved on SMB volumes and a handful of other filesystems due to their lack of support for "F_FULLFSYNC", which is a filesystem command that instructs the disk to write data from cache to media.
If you are using Netatalk version 2.0.5 or better, this has the special new features added to avoid Time Machine disk corruption. If you have a version of Netatalk earlier than 2.0.5 (e.g. Ubuntu 9.10 currently has 2.0.4) [..]
If you have Netatalk 2.0.5 installed, you should add the option “tm” to any share you use for Time Machine, in the AppleVolumes.default config file.
— Using Ubuntu for Time Machine in Snow Leopard – Delivering Quality
sudo tmutil setdestination -p smb://user@Server._smb._tcp.local./Mount
or sudo tmutil setdestination -p afp://user@Server.local/Mount
10.11 tmutil version 4.0.0 (built Oct 3 2015)
appears to not support SMB but only AFP. 10,13 tmutil version 4.0.0 (built Jul 15 2017)
does
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1 && killall Finder
(apparently it's ignored with OSX 10.11, SIP?)
vfs_fruit - "The vfs_fruit module provides enhanced compatibility with Apple SMB clients and interoperability with a Netatalk 3 AFP fileserver."
macOS Monterey have issues with TimeMachine to mount volume over SMB. Try use AFP instead.
add .local
to afp://machinename
could be required (for local network)
in Finder connect first to the server and choose the right share (where sparsebundle will be), go to Time Machine settings and select the share. Unmount the share.
iSCSI initiator
But how to restore, since iSCSI is not supported natively?
Quota
Limit per client:
Copy cat > .com.apple.TimeMachine.quota.plist <<EOF
<?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>GlobalQuota</key>
<integer>120000000000</integer><!-- size in bytes -->
</dict>
</plist>
EOF
chmod 644 .com.apple.TimeMachine.quota.plist
Large modified files
Since TM it's a file level not block level backup, these files can be corrupted (not include all updates), because rewritten (partially or not) when backup, all changes are not backup. That means this files are backup corrupted.
Ex: Virtual Machine disk
Ex: MySql DB files. Solution: cron mysqldump hourly (or less if large DB) + exlude DB files
OS
OpenCore Legacy Patcher - "breathe new life into Macs no longer supported by Apple, allowing for the installation and usage of macOS Big Sur and newer on machines as old as 2007"
Install macOS
Use Option-Command (⌘)-R at startup to reinstall lastest version of the OS: How to reinstall macOS - Apple Support For clean install, erase the drive with Disk Utility (macOS Recovery ) first
Create ISO installer:
Copy hdiutil create -o /tmp/Catalina -size 8050m -volname Catalina -layout SPUD -fs HFS+J
hdiutil attach /tmp/Catalina.dmg -noverify -mountpoint /Volumes/Catalina
sudo "/Applications/Install macOS Catalina.app/Contents/Resources/createinstallmedia" --volume /Volumes/Catalina --nointeraction
hdiutil detach "/Volumes/Install macOS Catalina"
hdiutil convert /tmp/Catalina.dmg -format UDTO -o ~/Desktop/Catalina.cdr
mv ~/Desktop/Catalina.cdr ~/Desktop/Catalina.iso
Install on Virtual Machine
Copy cd "C:\Program Files\Oracle\VirtualBox\"
#
# Virtualbox 5.x 00000001 000106e5 00100800 0098e3fd bfebfbff
# Virtualbox 4.x 00000001 000306a9 04100800 7fbae3ff bfebfbff
VBoxManage.exe modifyvm "Virtual Machine Name" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
# use "MacBookPro11,3"
VBoxManage setextradata "Virtual Machine Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"
VBoxManage setextradata "Virtual Machine Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
# "Mac-2BD1B31983FE1663"
VBoxManage setextradata "Virtual Machine Name" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
VBoxManage setextradata "Virtual Machine Name" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VBoxManage setextradata "Virtual Machine Name" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
Bootable USB
Copy hdiutil convert -format UDRW -o /path/to/target.img /path/to/ubuntu.iso
diskutil list
# (determine the device node assigned to your flash media (e.g. /dev/disk2))
diskutil unmountDisk /dev/diskN
sudo dd if=/path/to/downloaded.img.dmg of=/dev/rdiskN bs=1M
diskutil eject /dev/diskN
macOS on Bootable USB
On an HFS+ (Journaled) formatted USB drive
Copy sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled --applicationpath /Applications/Install\ OS\ X\ Yosemite.app --nointeraction
sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled --applicationpath /Applications/Install\ macOS\ Sierra.app --nointeraction
http://arstechnica.com/apple/2014/10/how-to-make-your-own-bootable-os-x-10-10-yosemite-usb-install-drive/#image-9
Bootloader
Migration Assistant
Migration Assistant doesn’t overwrite new versions of applications with older ones [...] won’t overwrite an account with the same name by default. Migration Assistant prompts you about whether you want to rename the account from the old computer or overwrite the account on the new computer with the files from the old Mac [...] Files stored outside user accounts won’t be overwritten, but they could be merged, so a folder might contain a collection of old and new files.
Applications (/Applications
and /Library/Application
)
User accounts and groups (reset UserShell and NFSHomeDirectory for created users) For macports, see:
Copy #!/bin/sh
# Fix MacPorts user config
# Sources here: https://trac.macports.org/browser/trunk/base/portmgr/dmg/postflight.in?rev=154110#L159
# Variable provided by postinstall script, extracted from MacPort installer package (*.pkg)
PREFIX="/opt/local"
DSCL=/usr/bin/dscl
RUNUSR=macports
# List all users:
# ${DSCL} . list /Users | grep -E -v ^_
# Read user infos
# ${DSCL} . read "/Users/${RUNUSR}"
${DSCL} -q . -delete "/Users/${RUNUSR}" AuthenticationAuthority
${DSCL} -q . -delete "/Users/${RUNUSR}" PasswordPolicyOptions
${DSCL} -q . -delete "/Users/${RUNUSR}" dsAttrTypeNative:KerberosKeys
${DSCL} -q . -delete "/Users/${RUNUSR}" dsAttrTypeNative:ShadowHashData
${DSCL} -q . -create "/Users/${RUNUSR}" RealName MacPorts
${DSCL} -q . -create "/Users/${RUNUSR}" Password "*"
${DSCL} -q . -create "/Users/${RUNUSR}" PrimaryGroupID "$(${DSCL} -q . -read "/Groups/${RUNUSR}" PrimaryGroupID | /usr/bin/awk '{print $2}')"
${DSCL} -q . -create "/Users/${RUNUSR}" NFSHomeDirectory "${PREFIX}/var/macports/home"
${DSCL} -q . -create "/Users/${RUNUSR}" UserShell /usr/bin/false
if FileVault is enabled after macports has been installed (check it with sudo fdesetup list | grep macports
), it could be necessary to disallow the user to decrypt the disk. Else it's visible on FileVault login window (even if it's a non interactive user). To disallow it: sudo fdesetup remove -user macports
dscacheutil -q user -a name macports
For Wireshark, see:
create user group access_bpf
https://code.wireshark.org/review/gitweb?p=wireshark.git;a=blob;f=packaging/macosx/Scripts/chmodbpf-postinstall.sh;hb=HEAD - postinstall script of Wireshark installer package
Other files and folders, which covers the Shared folder in the Users folder and folders you created at the top level of a drive
Computer & Network Settings
Setup Assistant (from clean install) or via /Applications/Utilities/Migration Assistant.app
(could be problematic when migrate already exist accounts).
but doesn't migrate:
Time Machine configuration (destination and exclude list)
hostname (Settings > Share)
/Library/Logs/SystemMigration.log
or /private/var/log/system.log
(sender MigrateTool)
Cleanup from previous upgrades
Use the Recovery System (restart and hold CMD+R
)
Generate a list of files:
Copy LC_ALL=en_US.UTF-8 sudo find "/Volumes/Macintosh HD" -exec ls -Ald {} \; > tree.txt
Compare 2 version (before and after clean upgrade):
Copy comm -13 <(cat tree-pristine.txt | grep -o '/Volumes/.*' - | sort) <(cat tree-dirty.txt | grep -o '/Volumes/.*' - | sort)
After OS update some config files are replaced, where then previous one are kept and renamed as *~orig or *~previous
Note dirname
command is not available in Recovery System
Before remove, backup unwanted files:
Copy mkdir -p "/Volumes/XX" && mv "/Volumes/XX/YY" "/Volumes/XX/ZZ/Volumes/XX/YY"
Files can be removed in 10.13.6:
Copy # Not sure
/Volumes/Macintosh HD/usr/share/current-os.sdk
/Volumes/Macintosh HD/usr/libexec/cups/backend/cups-pdf
find "/Volumes/Macintosh HD/" \( -name "*~orig" -o -name "*~previous" \) -exec rm -rf {} \;
/Volumes/Macintosh HD/usr/local/sbin/mount_fusefs_txantfs
/Volumes/Macintosh HD/usr/local/sbin/newfs_fusefs_txantfs
# For pre SIP with XQuartz and MacFUSE (or remains) installed:
/Volumes/Macintosh HD/usr/X11
/Volumes/Macintosh HD/usr/X11R6
/Volumes/Macintosh HD/usr/bin/X
/Volumes/Macintosh HD/usr/bin/Xephyr
/Volumes/Macintosh HD/usr/bin/Xfake
/Volumes/Macintosh HD/usr/bin/Xnest
/Volumes/Macintosh HD/usr/bin/Xorg
/Volumes/Macintosh HD/usr/bin/Xquartz
/Volumes/Macintosh HD/usr/bin/Xvfb
/Volumes/Macintosh HD/usr/bin/appres
/Volumes/Macintosh HD/usr/bin/atobm
/Volumes/Macintosh HD/usr/bin/bdftopcf
/Volumes/Macintosh HD/usr/bin/bdftruncate
/Volumes/Macintosh HD/usr/bin/bitmap
/Volumes/Macintosh HD/usr/bin/bmtoa
/Volumes/Macintosh HD/usr/bin/cups-calibrate
/Volumes/Macintosh HD/usr/bin/cvt
/Volumes/Macintosh HD/usr/bin/cxpm
/Volumes/Macintosh HD/usr/bin/editres
/Volumes/Macintosh HD/usr/bin/escputil
/Volumes/Macintosh HD/usr/bin/fc-cache
/Volumes/Macintosh HD/usr/bin/fc-cat
/Volumes/Macintosh HD/usr/bin/fc-list
/Volumes/Macintosh HD/usr/bin/fc-match
/Volumes/Macintosh HD/usr/bin/fc-pattern
/Volumes/Macintosh HD/usr/bin/fc-query
/Volumes/Macintosh HD/usr/bin/fc-scan
/Volumes/Macintosh HD/usr/bin/fc-validate
/Volumes/Macintosh HD/usr/bin/font_cache
/Volumes/Macintosh HD/usr/bin/fonttosfnt
/Volumes/Macintosh HD/usr/bin/freetype-config
/Volumes/Macintosh HD/usr/bin/fslsfonts
/Volumes/Macintosh HD/usr/bin/fstobdf
/Volumes/Macintosh HD/usr/bin/gccmakedep
/Volumes/Macintosh HD/usr/bin/glxgears
/Volumes/Macintosh HD/usr/bin/glxinfo
/Volumes/Macintosh HD/usr/bin/gtf
/Volumes/Macintosh HD/usr/bin/iceauth
/Volumes/Macintosh HD/usr/bin/ico
/Volumes/Macintosh HD/usr/bin/koi8rxterm
/Volumes/Macintosh HD/usr/bin/libpng-config
/Volumes/Macintosh HD/usr/bin/libpng16-config
/Volumes/Macintosh HD/usr/bin/listres
/Volumes/Macintosh HD/usr/bin/lndir
/Volumes/Macintosh HD/usr/bin/luit
/Volumes/Macintosh HD/usr/bin/makedepend
/Volumes/Macintosh HD/usr/bin/mkfontdir
/Volumes/Macintosh HD/usr/bin/mkfontscale
/Volumes/Macintosh HD/usr/bin/oclock
/Volumes/Macintosh HD/usr/bin/png-fix-itxt
/Volumes/Macintosh HD/usr/bin/pngfix
/Volumes/Macintosh HD/usr/bin/quartz-wm
/Volumes/Macintosh HD/usr/bin/resize
/Volumes/Macintosh HD/usr/bin/rvictl
/Volumes/Macintosh HD/usr/bin/sessreg
/Volumes/Macintosh HD/usr/bin/setxkbmap
/Volumes/Macintosh HD/usr/bin/showfont
/Volumes/Macintosh HD/usr/bin/showrgb
/Volumes/Macintosh HD/usr/bin/smproxy
/Volumes/Macintosh HD/usr/bin/startx
/Volumes/Macintosh HD/usr/bin/sxpm
/Volumes/Macintosh HD/usr/bin/twm
/Volumes/Macintosh HD/usr/bin/ucs2any
/Volumes/Macintosh HD/usr/bin/uxterm
/Volumes/Macintosh HD/usr/bin/viewres
/Volumes/Macintosh HD/usr/bin/x11perf
/Volumes/Macintosh HD/usr/bin/x11perfcomp
/Volumes/Macintosh HD/usr/bin/xauth
/Volumes/Macintosh HD/usr/bin/xbacklight
/Volumes/Macintosh HD/usr/bin/xcalc
/Volumes/Macintosh HD/usr/bin/xclipboard
/Volumes/Macintosh HD/usr/bin/xclock
/Volumes/Macintosh HD/usr/bin/xcmsdb
/Volumes/Macintosh HD/usr/bin/xcompmgr
/Volumes/Macintosh HD/usr/bin/xconsole
/Volumes/Macintosh HD/usr/bin/xcursorgen
/Volumes/Macintosh HD/usr/bin/xcutsel
/Volumes/Macintosh HD/usr/bin/xditview
/Volumes/Macintosh HD/usr/bin/xdm
/Volumes/Macintosh HD/usr/bin/xdmshell
/Volumes/Macintosh HD/usr/bin/xdpr
/Volumes/Macintosh HD/usr/bin/xdpyinfo
/Volumes/Macintosh HD/usr/bin/xedit
/Volumes/Macintosh HD/usr/bin/xev
/Volumes/Macintosh HD/usr/bin/xeyes
/Volumes/Macintosh HD/usr/bin/xfd
/Volumes/Macintosh HD/usr/bin/xfindproxy
/Volumes/Macintosh HD/usr/bin/xfontsel
/Volumes/Macintosh HD/usr/bin/xfs
/Volumes/Macintosh HD/usr/bin/xfsinfo
/Volumes/Macintosh HD/usr/bin/xgamma
/Volumes/Macintosh HD/usr/bin/xgc
/Volumes/Macintosh HD/usr/bin/xhost
/Volumes/Macintosh HD/usr/bin/xinit
/Volumes/Macintosh HD/usr/bin/xinput
/Volumes/Macintosh HD/usr/bin/xkbbell
/Volumes/Macintosh HD/usr/bin/xkbcomp
/Volumes/Macintosh HD/usr/bin/xkbevd
/Volumes/Macintosh HD/usr/bin/xkbprint
/Volumes/Macintosh HD/usr/bin/xkbvleds
/Volumes/Macintosh HD/usr/bin/xkbwatch
/Volumes/Macintosh HD/usr/bin/xkeystone
/Volumes/Macintosh HD/usr/bin/xkill
/Volumes/Macintosh HD/usr/bin/xload
/Volumes/Macintosh HD/usr/bin/xlogo
/Volumes/Macintosh HD/usr/bin/xlsatoms
/Volumes/Macintosh HD/usr/bin/xlsclients
/Volumes/Macintosh HD/usr/bin/xlsfonts
/Volumes/Macintosh HD/usr/bin/xmag
/Volumes/Macintosh HD/usr/bin/xman
/Volumes/Macintosh HD/usr/bin/xmessage
/Volumes/Macintosh HD/usr/bin/xmh
/Volumes/Macintosh HD/usr/bin/xmodmap
/Volumes/Macintosh HD/usr/bin/xmore
/Volumes/Macintosh HD/usr/bin/xpr
/Volumes/Macintosh HD/usr/bin/xprop
/Volumes/Macintosh HD/usr/bin/xrandr
/Volumes/Macintosh HD/usr/bin/xrdb
/Volumes/Macintosh HD/usr/bin/xrefresh
/Volumes/Macintosh HD/usr/bin/xscope
/Volumes/Macintosh HD/usr/bin/xset
/Volumes/Macintosh HD/usr/bin/xsetmode
/Volumes/Macintosh HD/usr/bin/xsetpointer
/Volumes/Macintosh HD/usr/bin/xsetroot
/Volumes/Macintosh HD/usr/bin/xsm
/Volumes/Macintosh HD/usr/bin/xstdcmap
/Volumes/Macintosh HD/usr/bin/xterm
/Volumes/Macintosh HD/usr/bin/xvinfo
/Volumes/Macintosh HD/usr/bin/xwd
/Volumes/Macintosh HD/usr/bin/xwininfo
/Volumes/Macintosh HD/usr/bin/xwud
/Volumes/Macintosh HD/usr/include
/Volumes/Macintosh HD/usr/lib/X11
/Volumes/Macintosh HD/usr/lib/bundle1.o
/Volumes/Macintosh HD/usr/lib/crt1.10.5.o
/Volumes/Macintosh HD/usr/lib/crt1.10.6.o
/Volumes/Macintosh HD/usr/lib/crt1.o
/Volumes/Macintosh HD/usr/lib/dri
/Volumes/Macintosh HD/usr/lib/dylib1.10.5.o
/Volumes/Macintosh HD/usr/lib/dylib1.o
/Volumes/Macintosh HD/usr/lib/flat_namespace
/Volumes/Macintosh HD/usr/lib/gcrt1.o
/Volumes/Macintosh HD/usr/lib/lazydylib1.o
/Volumes/Macintosh HD/usr/lib/libATCommandStudio.a
/Volumes/Macintosh HD/usr/lib/libAppleWM.7.dylib
/Volumes/Macintosh HD/usr/lib/libAppleWM.dylib
/Volumes/Macintosh HD/usr/lib/libFS.6.dylib
/Volumes/Macintosh HD/usr/lib/libFS.dylib
/Volumes/Macintosh HD/usr/lib/libGL.1.dylib
/Volumes/Macintosh HD/usr/lib/libGL.dylib
/Volumes/Macintosh HD/usr/lib/libGLESv1_CM.1.dylib
/Volumes/Macintosh HD/usr/lib/libGLESv1_CM.dylib
/Volumes/Macintosh HD/usr/lib/libGLESv2.2.dylib
/Volumes/Macintosh HD/usr/lib/libGLESv2.dylib
/Volumes/Macintosh HD/usr/lib/libGLU.1.dylib
/Volumes/Macintosh HD/usr/lib/libGLU.dylib
/Volumes/Macintosh HD/usr/lib/libICE.6.dylib
/Volumes/Macintosh HD/usr/lib/libICE.dylib
/Volumes/Macintosh HD/usr/lib/libOSMesa.8.dylib
/Volumes/Macintosh HD/usr/lib/libOSMesa.dylib
/Volumes/Macintosh HD/usr/lib/libQMIParser.a
/Volumes/Macintosh HD/usr/lib/libSM.6.dylib
/Volumes/Macintosh HD/usr/lib/libSM.dylib
/Volumes/Macintosh HD/usr/lib/libX11-xcb.1.dylib
/Volumes/Macintosh HD/usr/lib/libX11-xcb.dylib
/Volumes/Macintosh HD/usr/lib/libX11.6.dylib
/Volumes/Macintosh HD/usr/lib/libX11.dylib
/Volumes/Macintosh HD/usr/lib/libXRes.1.dylib
/Volumes/Macintosh HD/usr/lib/libXRes.dylib
/Volumes/Macintosh HD/usr/lib/libXTrap.6.dylib
/Volumes/Macintosh HD/usr/lib/libXTrap.dylib
/Volumes/Macintosh HD/usr/lib/libXau.6.dylib
/Volumes/Macintosh HD/usr/lib/libXau.dylib
/Volumes/Macintosh HD/usr/lib/libXaw.6.dylib
/Volumes/Macintosh HD/usr/lib/libXaw.7.dylib
/Volumes/Macintosh HD/usr/lib/libXaw.8.dylib
/Volumes/Macintosh HD/usr/lib/libXaw.dylib
/Volumes/Macintosh HD/usr/lib/libXaw3d.8.dylib
/Volumes/Macintosh HD/usr/lib/libXaw3d.dylib
/Volumes/Macintosh HD/usr/lib/libXaw6.6.dylib
/Volumes/Macintosh HD/usr/lib/libXaw6.dylib
/Volumes/Macintosh HD/usr/lib/libXaw7.7.dylib
/Volumes/Macintosh HD/usr/lib/libXaw7.dylib
/Volumes/Macintosh HD/usr/lib/libXaw8.8.dylib
/Volumes/Macintosh HD/usr/lib/libXaw8.dylib
/Volumes/Macintosh HD/usr/lib/libXcomposite.1.dylib
/Volumes/Macintosh HD/usr/lib/libXcomposite.dylib
/Volumes/Macintosh HD/usr/lib/libXcursor.1.dylib
/Volumes/Macintosh HD/usr/lib/libXcursor.dylib
/Volumes/Macintosh HD/usr/lib/libXdamage.1.dylib
/Volumes/Macintosh HD/usr/lib/libXdamage.dylib
/Volumes/Macintosh HD/usr/lib/libXdmcp.6.dylib
/Volumes/Macintosh HD/usr/lib/libXdmcp.dylib
/Volumes/Macintosh HD/usr/lib/libXevie.1.dylib
/Volumes/Macintosh HD/usr/lib/libXevie.dylib
/Volumes/Macintosh HD/usr/lib/libXext.6.dylib
/Volumes/Macintosh HD/usr/lib/libXext.dylib
/Volumes/Macintosh HD/usr/lib/libXfixes.3.dylib
/Volumes/Macintosh HD/usr/lib/libXfixes.dylib
/Volumes/Macintosh HD/usr/lib/libXfont.1.dylib
/Volumes/Macintosh HD/usr/lib/libXfont.dylib
/Volumes/Macintosh HD/usr/lib/libXfont2.2.dylib
/Volumes/Macintosh HD/usr/lib/libXfont2.dylib
/Volumes/Macintosh HD/usr/lib/libXfontcache.1.dylib
/Volumes/Macintosh HD/usr/lib/libXfontcache.dylib
/Volumes/Macintosh HD/usr/lib/libXft.2.dylib
/Volumes/Macintosh HD/usr/lib/libXft.dylib
/Volumes/Macintosh HD/usr/lib/libXi.6.dylib
/Volumes/Macintosh HD/usr/lib/libXi.dylib
/Volumes/Macintosh HD/usr/lib/libXinerama.1.dylib
/Volumes/Macintosh HD/usr/lib/libXinerama.dylib
/Volumes/Macintosh HD/usr/lib/libXmu.6.dylib
/Volumes/Macintosh HD/usr/lib/libXmu.dylib
/Volumes/Macintosh HD/usr/lib/libXmuu.1.dylib
/Volumes/Macintosh HD/usr/lib/libXmuu.dylib
/Volumes/Macintosh HD/usr/lib/libXp.6.dylib
/Volumes/Macintosh HD/usr/lib/libXp.dylib
/Volumes/Macintosh HD/usr/lib/libXpm.4.dylib
/Volumes/Macintosh HD/usr/lib/libXpm.dylib
/Volumes/Macintosh HD/usr/lib/libXpresent.1.dylib
/Volumes/Macintosh HD/usr/lib/libXpresent.dylib
/Volumes/Macintosh HD/usr/lib/libXrandr.2.dylib
/Volumes/Macintosh HD/usr/lib/libXrandr.dylib
/Volumes/Macintosh HD/usr/lib/libXrender.1.dylib
/Volumes/Macintosh HD/usr/lib/libXrender.dylib
/Volumes/Macintosh HD/usr/lib/libXss.1.dylib
/Volumes/Macintosh HD/usr/lib/libXss.dylib
/Volumes/Macintosh HD/usr/lib/libXt.6.dylib
/Volumes/Macintosh HD/usr/lib/libXt.7.dylib
/Volumes/Macintosh HD/usr/lib/libXt.dylib
/Volumes/Macintosh HD/usr/lib/libXtst.6.dylib
/Volumes/Macintosh HD/usr/lib/libXtst.dylib
/Volumes/Macintosh HD/usr/lib/libXv.1.dylib
/Volumes/Macintosh HD/usr/lib/libXv.dylib
/Volumes/Macintosh HD/usr/lib/libXvMC.1.dylib
/Volumes/Macintosh HD/usr/lib/libXvMC.dylib
/Volumes/Macintosh HD/usr/lib/libXvMCW.1.dylib
/Volumes/Macintosh HD/usr/lib/libXvMCW.dylib
/Volumes/Macintosh HD/usr/lib/libXxf86misc.1.dylib
/Volumes/Macintosh HD/usr/lib/libXxf86misc.dylib
/Volumes/Macintosh HD/usr/lib/libXxf86vm.1.dylib
/Volumes/Macintosh HD/usr/lib/libXxf86vm.dylib
/Volumes/Macintosh HD/usr/lib/libcairo-script-interpreter.2.dylib
/Volumes/Macintosh HD/usr/lib/libcairo-script-interpreter.dylib
/Volumes/Macintosh HD/usr/lib/libcairo.2.dylib
/Volumes/Macintosh HD/usr/lib/libcairo.dylib
/Volumes/Macintosh HD/usr/lib/libdmx.1.dylib
/Volumes/Macintosh HD/usr/lib/libdmx.dylib
/Volumes/Macintosh HD/usr/lib/libfontconfig.1.dylib
/Volumes/Macintosh HD/usr/lib/libfontconfig.dylib
/Volumes/Macintosh HD/usr/lib/libfontenc.1.dylib
/Volumes/Macintosh HD/usr/lib/libfontenc.dylib
/Volumes/Macintosh HD/usr/lib/libfreetype.6.dylib
/Volumes/Macintosh HD/usr/lib/libfreetype.dylib
/Volumes/Macintosh HD/usr/lib/libgcc_s.10.4.dylib
/Volumes/Macintosh HD/usr/lib/libgcc_s.10.5.dylib
/Volumes/Macintosh HD/usr/lib/libglapi.0.dylib
/Volumes/Macintosh HD/usr/lib/libglapi.dylib
/Volumes/Macintosh HD/usr/lib/libglut.3.dylib
/Volumes/Macintosh HD/usr/lib/libglut.dylib
/Volumes/Macintosh HD/usr/lib/libgutenprint.2.dylib
/Volumes/Macintosh HD/usr/lib/libkmod.a
/Volumes/Macintosh HD/usr/lib/libkmodc++.a
/Volumes/Macintosh HD/usr/lib/libl.a
/Volumes/Macintosh HD/usr/lib/libpixman-1.0.dylib
/Volumes/Macintosh HD/usr/lib/libpixman-1.dylib
/Volumes/Macintosh HD/usr/lib/libpkstart.a
/Volumes/Macintosh HD/usr/lib/libpng.3.dylib
/Volumes/Macintosh HD/usr/lib/libpng.dylib
/Volumes/Macintosh HD/usr/lib/libpng12.0.dylib
/Volumes/Macintosh HD/usr/lib/libpng14.14.dylib
/Volumes/Macintosh HD/usr/lib/libpng15.15.dylib
/Volumes/Macintosh HD/usr/lib/libpng16.16.dylib
/Volumes/Macintosh HD/usr/lib/libpng16.dylib
/Volumes/Macintosh HD/usr/lib/libtclstub8.5.a
/Volumes/Macintosh HD/usr/lib/libtkstub8.5.a
/Volumes/Macintosh HD/usr/lib/libxcb-atom.1.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-aux.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-composite.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-composite.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-cursor.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-cursor.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-damage.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-damage.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-dpms.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-dpms.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-dri2.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-dri2.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-dri3.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-dri3.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-errors.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-errors.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-event.1.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-ewmh.2.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-ewmh.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-glx.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-glx.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-icccm.4.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-icccm.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-image.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-image.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-keysyms.1.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-keysyms.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-present.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-present.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-randr.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-randr.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-record.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-record.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-render-util.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-render-util.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-render.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-render.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-res.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-res.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-screensaver.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-screensaver.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-shape.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-shape.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-shm.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-shm.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-sync.1.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-sync.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-util.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-util.1.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-util.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-xf86dri.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-xf86dri.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-xfixes.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-xfixes.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-xinerama.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-xinerama.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-xkb.1.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-xkb.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-xtest.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-xtest.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-xv.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-xv.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-xvmc.0.dylib
/Volumes/Macintosh HD/usr/lib/libxcb-xvmc.dylib
/Volumes/Macintosh HD/usr/lib/libxcb.1.dylib
/Volumes/Macintosh HD/usr/lib/libxcb.dylib
/Volumes/Macintosh HD/usr/lib/libxkbfile.1.dylib
/Volumes/Macintosh HD/usr/lib/libxkbfile.dylib
/Volumes/Macintosh HD/usr/lib/libxkbui.1.dylib
/Volumes/Macintosh HD/usr/lib/libxkbui.dylib
/Volumes/Macintosh HD/usr/lib/libxshmfence.1.dylib
/Volumes/Macintosh HD/usr/lib/libxshmfence.dylib
/Volumes/Macintosh HD/usr/lib/liby.a
/Volumes/Macintosh HD/usr/lib/pkgconfig/applewm.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/applewmproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/bigreqsproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/cairo-fc.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/cairo-ft.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/cairo-pdf.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/cairo-png.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/cairo-ps.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/cairo-script.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/cairo-svg.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/cairo-tee.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/cairo-xcb-shm.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/cairo-xcb.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/cairo-xlib-xcb.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/cairo-xlib-xrender.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/cairo-xlib.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/cairo-xml.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/cairo.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/compositeproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/damageproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/dmx.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/dmxproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/dri.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/dri2proto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/dri3proto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/evieproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/fixesproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/fontcacheproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/fontconfig.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/fontenc.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/fontsproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/fontutil.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/freetype2.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/gl.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/glesv1_cm.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/glesv2.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/glproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/glu.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/ice.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/inputproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/kbproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/libfs.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/libpng.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/libpng16.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/osmesa.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/pixman-1.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/presentproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/printproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/pthread-stubs.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/randrproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/recordproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/renderproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/resourceproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/scrnsaverproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/sm.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/trapproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/videoproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/x11-xcb.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/x11.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xau.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xaw3d.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xaw6.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xaw7.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-atom.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-aux.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-composite.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-cursor.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-damage.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-dpms.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-dri2.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-dri3.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-errors.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-event.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-ewmh.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-glx.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-icccm.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-image.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-keysyms.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-present.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-proto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-randr.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-record.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-render.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-renderutil.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-res.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-screensaver.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-shape.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-shm.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-sync.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-util.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-xf86dri.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-xfixes.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-xinerama.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-xkb.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-xtest.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-xv.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb-xvmc.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcb.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcmiscproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcomposite.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xcursor.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xdamage.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xdmcp.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xevie.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xext.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xextproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xf86bigfontproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xf86dgaproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xf86driproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xf86miscproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xf86rushproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xf86vidmodeproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xfixes.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xfont.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xfont2.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xfontcache.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xft.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xi.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xinerama.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xineramaproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xkbcomp.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xkbfile.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xkbui.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xmu.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xmuu.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xorg-server.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xp.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xpm.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xpresent.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xproxymngproto.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xpyb.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xrandr.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xrender.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xres.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xscrnsaver.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xshmfence.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xt.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xtrap.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xtst.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xv.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xvmc.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xxf86misc.pc
/Volumes/Macintosh HD/usr/lib/pkgconfig/xxf86vm.pc
/Volumes/Macintosh HD/usr/lib/python2.6
/Volumes/Macintosh HD/usr/lib/xorg
/Volumes/Macintosh HD/usr/libexec/cups/filter/commandtocanon
/Volumes/Macintosh HD/usr/libexec/cups/filter/commandtoepson
/Volumes/Macintosh HD/usr/libexec/cups/filter/rastertogutenprint.5.2
/Volumes/Macintosh HD/usr/libexec/cups/filter/thnucups
/Volumes/Macintosh HD/usr/libexec/launchd_startx
/Volumes/Macintosh HD/usr/libexec/privileged_startx
/Volumes/Macintosh HD/usr/libexec/rpmuxd
/Volumes/Macintosh HD/usr/local/bin
/Volumes/Macintosh HD/usr/local/doc
/Volumes/Macintosh HD/usr/local/etc
/Volumes/Macintosh HD/usr/local/include
/Volumes/Macintosh HD/usr/local/lib
/Volumes/Macintosh HD/usr/local/man
/Volumes/Macintosh HD/usr/local/remotedesktop
/Volumes/Macintosh HD/usr/local/sbin
/Volumes/Macintosh HD/usr/local/share
/Volumes/Macintosh HD/usr/sbin/cups-genppd.5.2
/Volumes/Macintosh HD/usr/sbin/cups-genppdupdate
/Volumes/Macintosh HD/usr/share/aclocal
/Volumes/Macintosh HD/usr/share/doc/dri2proto
/Volumes/Macintosh HD/usr/share/doc/randrproto
/Volumes/Macintosh HD/usr/share/doc/xorg-docs
/Volumes/Macintosh HD/usr/share/gtk-doc
/Volumes/Macintosh HD/usr/share/man/man1/Xephyr.1
/Volumes/Macintosh HD/usr/share/man/man1/Xmark.1
/Volumes/Macintosh HD/usr/share/man/man1/Xnest.1
/Volumes/Macintosh HD/usr/share/man/man1/Xorg.1
/Volumes/Macintosh HD/usr/share/man/man1/Xquartz.1
/Volumes/Macintosh HD/usr/share/man/man1/Xserver.1
/Volumes/Macintosh HD/usr/share/man/man1/Xvfb.1
/Volumes/Macintosh HD/usr/share/man/man1/appres.1
/Volumes/Macintosh HD/usr/share/man/man1/atobm.1
/Volumes/Macintosh HD/usr/share/man/man1/bdftopcf.1
/Volumes/Macintosh HD/usr/share/man/man1/bdftruncate.1
/Volumes/Macintosh HD/usr/share/man/man1/bitmap.1
/Volumes/Macintosh HD/usr/share/man/man1/bmtoa.1
/Volumes/Macintosh HD/usr/share/man/man1/cvt.1
/Volumes/Macintosh HD/usr/share/man/man1/cxpm.1
/Volumes/Macintosh HD/usr/share/man/man1/editres.1
/Volumes/Macintosh HD/usr/share/man/man1/fc-cache.1
/Volumes/Macintosh HD/usr/share/man/man1/fc-cat.1
/Volumes/Macintosh HD/usr/share/man/man1/fc-list.1
/Volumes/Macintosh HD/usr/share/man/man1/fc-match.1
/Volumes/Macintosh HD/usr/share/man/man1/fc-pattern.1
/Volumes/Macintosh HD/usr/share/man/man1/fc-query.1
/Volumes/Macintosh HD/usr/share/man/man1/fc-scan.1
/Volumes/Macintosh HD/usr/share/man/man1/fc-validate.1
/Volumes/Macintosh HD/usr/share/man/man1/fonttosfnt.1
/Volumes/Macintosh HD/usr/share/man/man1/freetype-config.1
/Volumes/Macintosh HD/usr/share/man/man1/fslsfonts.1
/Volumes/Macintosh HD/usr/share/man/man1/fstobdf.1
/Volumes/Macintosh HD/usr/share/man/man1/gccmakedep.1
/Volumes/Macintosh HD/usr/share/man/man1/gtf.1
/Volumes/Macintosh HD/usr/share/man/man1/iceauth.1
/Volumes/Macintosh HD/usr/share/man/man1/ico.1
/Volumes/Macintosh HD/usr/share/man/man1/koi8rxterm.1
/Volumes/Macintosh HD/usr/share/man/man1/listres.1
/Volumes/Macintosh HD/usr/share/man/man1/lndir.1
/Volumes/Macintosh HD/usr/share/man/man1/luit.1
/Volumes/Macintosh HD/usr/share/man/man1/makedepend.1
/Volumes/Macintosh HD/usr/share/man/man1/mkfontdir.1
/Volumes/Macintosh HD/usr/share/man/man1/mkfontscale.1
/Volumes/Macintosh HD/usr/share/man/man1/oclock.1
/Volumes/Macintosh HD/usr/share/man/man1/quartz-wm.1
/Volumes/Macintosh HD/usr/share/man/man1/resize.1
/Volumes/Macintosh HD/usr/share/man/man1/sessreg.1
/Volumes/Macintosh HD/usr/share/man/man1/setxkbmap.1
/Volumes/Macintosh HD/usr/share/man/man1/showfont.1
/Volumes/Macintosh HD/usr/share/man/man1/showrgb.1
/Volumes/Macintosh HD/usr/share/man/man1/smproxy.1
/Volumes/Macintosh HD/usr/share/man/man1/startx.1
/Volumes/Macintosh HD/usr/share/man/man1/sxpm.1
/Volumes/Macintosh HD/usr/share/man/man1/twm.1
/Volumes/Macintosh HD/usr/share/man/man1/ucs2any.1
/Volumes/Macintosh HD/usr/share/man/man1/uxterm.1
/Volumes/Macintosh HD/usr/share/man/man1/viewres.1
/Volumes/Macintosh HD/usr/share/man/man1/x11perf.1
/Volumes/Macintosh HD/usr/share/man/man1/x11perfcomp.1
/Volumes/Macintosh HD/usr/share/man/man1/xauth.1
/Volumes/Macintosh HD/usr/share/man/man1/xbacklight.1
/Volumes/Macintosh HD/usr/share/man/man1/xcalc.1
/Volumes/Macintosh HD/usr/share/man/man1/xclipboard.1
/Volumes/Macintosh HD/usr/share/man/man1/xclock.1
/Volumes/Macintosh HD/usr/share/man/man1/xcmsdb.1
/Volumes/Macintosh HD/usr/share/man/man1/xcompmgr.1
/Volumes/Macintosh HD/usr/share/man/man1/xconsole.1
/Volumes/Macintosh HD/usr/share/man/man1/xcursorgen.1
/Volumes/Macintosh HD/usr/share/man/man1/xcutsel.1
/Volumes/Macintosh HD/usr/share/man/man1/xditview.1
/Volumes/Macintosh HD/usr/share/man/man1/xdm.1
/Volumes/Macintosh HD/usr/share/man/man1/xdpr.1
/Volumes/Macintosh HD/usr/share/man/man1/xdpyinfo.1
/Volumes/Macintosh HD/usr/share/man/man1/xedit.1
/Volumes/Macintosh HD/usr/share/man/man1/xev.1
/Volumes/Macintosh HD/usr/share/man/man1/xeyes.1
/Volumes/Macintosh HD/usr/share/man/man1/xfd.1
/Volumes/Macintosh HD/usr/share/man/man1/xfindproxy.1
/Volumes/Macintosh HD/usr/share/man/man1/xfontsel.1
/Volumes/Macintosh HD/usr/share/man/man1/xfs.1
/Volumes/Macintosh HD/usr/share/man/man1/xfsinfo.1
/Volumes/Macintosh HD/usr/share/man/man1/xgamma.1
/Volumes/Macintosh HD/usr/share/man/man1/xgc.1
/Volumes/Macintosh HD/usr/share/man/man1/xhost.1
/Volumes/Macintosh HD/usr/share/man/man1/xinit.1
/Volumes/Macintosh HD/usr/share/man/man1/xinput.1
/Volumes/Macintosh HD/usr/share/man/man1/xkbbell.1
/Volumes/Macintosh HD/usr/share/man/man1/xkbcomp.1
/Volumes/Macintosh HD/usr/share/man/man1/xkbevd.1
/Volumes/Macintosh HD/usr/share/man/man1/xkbprint.1
/Volumes/Macintosh HD/usr/share/man/man1/xkbvleds.1
/Volumes/Macintosh HD/usr/share/man/man1/xkbwatch.1
/Volumes/Macintosh HD/usr/share/man/man1/xkill.1
/Volumes/Macintosh HD/usr/share/man/man1/xload.1
/Volumes/Macintosh HD/usr/share/man/man1/xlogo.1
/Volumes/Macintosh HD/usr/share/man/man1/xlsatoms.1
/Volumes/Macintosh HD/usr/share/man/man1/xlsclients.1
/Volumes/Macintosh HD/usr/share/man/man1/xlsfonts.1
/Volumes/Macintosh HD/usr/share/man/man1/xmag.1
/Volumes/Macintosh HD/usr/share/man/man1/xman.1
/Volumes/Macintosh HD/usr/share/man/man1/xmessage.1
/Volumes/Macintosh HD/usr/share/man/man1/xmh.1
/Volumes/Macintosh HD/usr/share/man/man1/xmodmap.1
/Volumes/Macintosh HD/usr/share/man/man1/xmore.1
/Volumes/Macintosh HD/usr/share/man/man1/xpr.1
/Volumes/Macintosh HD/usr/share/man/man1/xprop.1
/Volumes/Macintosh HD/usr/share/man/man1/xrandr.1
/Volumes/Macintosh HD/usr/share/man/man1/xrdb.1
/Volumes/Macintosh HD/usr/share/man/man1/xrefresh.1
/Volumes/Macintosh HD/usr/share/man/man1/xscope.1
/Volumes/Macintosh HD/usr/share/man/man1/xset.1
/Volumes/Macintosh HD/usr/share/man/man1/xsetmode.1
/Volumes/Macintosh HD/usr/share/man/man1/xsetpointer.1
/Volumes/Macintosh HD/usr/share/man/man1/xsetroot.1
/Volumes/Macintosh HD/usr/share/man/man1/xsm.1
/Volumes/Macintosh HD/usr/share/man/man1/xstdcmap.1
/Volumes/Macintosh HD/usr/share/man/man1/xterm.1
/Volumes/Macintosh HD/usr/share/man/man1/xvinfo.1
/Volumes/Macintosh HD/usr/share/man/man1/xwd.1
/Volumes/Macintosh HD/usr/share/man/man1/xwininfo.1
/Volumes/Macintosh HD/usr/share/man/man1/xwud.1
/Volumes/Macintosh HD/usr/share/man/man2
/Volumes/Macintosh HD/usr/share/man/man3
/Volumes/Macintosh HD/usr/share/man/man4/exa.4
/Volumes/Macintosh HD/usr/share/man/man4/fbdevhw.4
/Volumes/Macintosh HD/usr/share/man/man4/void.4
/Volumes/Macintosh HD/usr/share/man/man5/Compose.5
/Volumes/Macintosh HD/usr/share/man/man5/XCompose.5
/Volumes/Macintosh HD/usr/share/man/man5/fonts-conf.5
/Volumes/Macintosh HD/usr/share/man/man5/png.5
/Volumes/Macintosh HD/usr/share/man/man5/xorg.conf.5
/Volumes/Macintosh HD/usr/share/man/man5/xorg.conf.d.5
/Volumes/Macintosh HD/usr/share/man/man7/Consortium.7
/Volumes/Macintosh HD/usr/share/man/man7/Standards.7
/Volumes/Macintosh HD/usr/share/man/man7/X.7
/Volumes/Macintosh HD/usr/share/man/man7/XOrgFoundation.7
/Volumes/Macintosh HD/usr/share/man/man7/XProjectTeam.7
/Volumes/Macintosh HD/usr/share/man/man7/Xprint.7
/Volumes/Macintosh HD/usr/share/man/man7/Xsecurity.7
/Volumes/Macintosh HD/usr/share/pixmaps
/Volumes/Macintosh HD/usr/share/pkgconfig
/Volumes/Macintosh HD/usr/share/sgml
/Volumes/Macintosh HD/usr/share/util-macros
/Volumes/Macintosh HD/usr/share/xml
Reset Setup Assistant
Integrate features of Migration Assistant .
Remove /var/db/.AppleSetupDone
:
in Terminal:
Copy mount -uw /
rm /var/db/.AppleSetupDone
shutdown -h now
or:
in Terminal ("Mackintosh HD" is the default name of the main disk, depends what has been defined when macOS was installed):
Copy rm "/Volumes/Mackintosh HD/var/db/.AppleSetupDone"
shutdown -h now
Boot Camp
Windows: Configuration pannel > System & Security > Power management > Choose when the screen close (works only in native, not in a VM)
Windows: Compact.exe /CompactOS:always
to compact (Compact.exe /CompactOS:never
to restore); powercfg /h /type reduced
to reduce hibernation file size (powercfg /h /size 100
to restore)
macOS: Sytem preferences > Startup > Choose the disk you want to use at each startup (you still can use opt key to Start up to Startup Manager )
Windows boot INACCESSIBLE_BOOT_DEVICE
error (after Windows Updates):
How to install Windows:
/System/Applications/Utilities/Boot Camp Assistant.app
How it's work, Boot Camp Assistant automatically create 2 partition:
OSXRESERVED
(Microsoft Basic Data / ExFAT, ~10GB, contains WinPE files , plus drivers in \$WinPEDriver$
and installer in \Bootcamp
), which will be removed after the install of Windows is complete
BOOTCAMP
(Microsoft Basic Data) partition where Windows is installed of the size the user gave
Drivers:
open Boot Camp Assistant > Action (menu) > Download Windows Support Software
if you can start bootcamp OS (ex mounted in a Virtual Machine), install manually (download first: Download and install Windows support software on your Mac - Apple Support ) by right click on each INF files, then "Install" (*\WindowsSupport\$WinPEDriver$\*\*.inf
) (driver files will be copied in C:\WINDOWS\inf\*.inf
, C:\WINDOWS\System32\drivers\*.sys
and C:\WINDOWS\System32\DriverStore\FileRepository\*\*.*
)
inject product key by create a file D:\sources\ID.txt
that contains:
Copy [PID]
Value=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
Partitions:
Install on external drive:
Keyboard:
to connect bluetooth Apple keyboard, tap on the keyboard the PIN code the OS provide, then tap enter
reboot if necessary (if the OS doesn't provide a PIN code but ask the one the device should provide)
Bluetooth dual boot:
Releases · headkaze/Hackintool - Tab "Utilities" > Button (at bottom with a Bluetooth logo) "Generate Windows Bluetooth Registry File", the import in Windows the file from regedit psexec -s -i regedit
(psexec
from PsTools - Windows Sysinternals | Microsoft Docs ) See https://github.com/headkaze/Hackintool/blob/279644d917bd45241c85d13198a7ca4bacb320fd/Hackintool/AppDelegate.m#L10825-L10954 and https://github.com/headkaze/Hackintool/blob/279644d917bd45241c85d13198a7ca4bacb320fd/Hackintool/AppDelegate.m#L10713-L10755
/Library/Preferences/com.apple.Bluetooth.plist
, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys
Bluetooth Classic use Link Key (LK)
Bluetooth Low Energy (4.0 & 4.1), LE legacy pairing
use Short Term Key (STK), Identity Resolving Key (IRK), Encrypted Diversifier (EDIV), Random Number (RAND)
Bluetooth Low Energy (4.2), LE Secure Connections use Long Term Key (LTK)
/Library/Bluetooth/Library/Preferences/com.apple.MobileBluetooth.devices.plist
/private/var/root/Library/Preferences/com.apple.bluetoothd.plist
(High Sierra +)
/private/var/root/Library/Preferences/blued.plist
sudo /usr/bin/defaults read com.apple.Bluetoothd.plist LinkKeys
/Library/Preferences/com.apple.Bluetooth.plist
/Library/Preferences/com.apple.airport.bt.plist
Change ownership
Network
Bandwidth limiter
Use "Network Link Conditioner" (but not work for localhost/127.0.0.1) or use a proxy instead (for HTTP/HTTPS)
Install:
download "Additional Tools for Xcode" from https://developer.apple.com/download/more/?q=Additional%20Tools
from DMG, double click to install Network Link Conditioner.prefPane
http://nshipster.com/network-link-conditioner/
https://developer.apple.com/downloads/index.action?q=Network%20Link%20Conditioner
VPN
Local TLD
Use *.localhost
instead of *.local
. It's a reserved, internal TLD too.
http://www.justincarmony.com/blog/2011/07/27/mac-os-x-lion-etc-hosts-bugs-and-dns-resolution/
Hosts files
Fake DNS records
Require root access to update the content:
Create link to Network Utility
Copy cd /Applications/Utilities/
ln -s /System/Library/CoreServices/Applications/Network\ Utility.app Network\ Utility.app
Moved in CoreServices in 10.9
Flush DNS cache
Copy sudo killall -HUP mDNSResponder
Share network connection
UI
Finder, desktop, menus, etc.
Reveal Libray folder
Copy chflags nohidden ~/Library
Show hidden files
Or use the combination of Shift ⇧ Cmd ⌘ . or Fn Shift ⇧ Cmd ⌘ . (for French NUM? keyboards)
Copy defaults write com.apple.finder AppleShowAllFiles -bool YES && killall Finder
defaults write com.apple.finder AppleShowAllFiles TRUE && killall Finder
Hide specific file on desktop
If hidden files are not visible:
Copy chflags hidden file
chflags nohidden file
Else :
Copy a transparent image (in preview: select image pixel area then copy)
Past it as icon of targeted file
Move to outside of desktop viewport
Copy /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user
Menulets are of small icons located at the upper right corner of the Menu Bar
/System/Library/CoreServices/Menu Extras/*.menu
Services
Aka quick actions
Located at ~/Library/Services/
and /System/Library/Services
, packages *.workflow
Preferences > Extensions panel
To test a workflow with files, insert "Get Specified Finder Items" at the beginning
To assign a keyboard shortcut, in 10.6:
open System Preferences > Keyboard > pane Keyboard Shortcuts
select "Services" in the left pane
scroll down to General in the right pane
double-click to the right of the Automator workflow you just created
press the keys you want to use, and switch panes to ensure the new shortcut is saved
/usr/bin/automator "/path/to/some action.workflow"
For "Create a new file" quick action:
delay 0.1
is required to let Finder create a new file and later hit return key to edit it's name
Copy tell application "Finder"
set selection to make new file at (get insertion location)
end tell
tell application "System Events"
tell process "Finder"
keystroke return
end tell
end tell
Convert :
use builtin quick action "Convert Image" (from macOS 12): file context menu > Quick Actions > Convert Image
Shortcuts
An PList file
Finder view preferences System-wide
find ~ -name ".DS_Store" -depth -exec rm -f {} \;
Kill finder: Force Quit → Finder
Open a Finder window, edit Folder View Options show and click on "Use as default"
Localizable resource name
That use short language ISO code (ISO639).
Dans les fichiers .strings
les retours à la ligne sont marqué . Voir aussi """, "\". Le commentaires supporté (/* ... */
et // ...
). Ces fichiers doivent être enregistré en UTF-16
https://developer.apple.com/library/mac/documentation/FileManagement/Conceptual/FileSystemAdvancedPT/LocalizingtheNameofaDirectory/LocalizingtheNameofaDirectory.html
System (default)
Edit following file (require root's right)
Copy System/Library/CoreServices/SystemFolderLocalizations/fr.lproj/SystemFolderLocalizations.strings
System/Library/CoreServices/SystemFolderLocalizations/zh_CN.lproj/SystemFolderLocalizations.strings
Add or update
Copy "Stuff" = "Choses";
Stuff
.localized
.localized
is an empty file (0 bytes)
Folder
Copy Stuff.localized
.localized
de.strings
en.strings
fr.strings
zh-Hans.strings
In fr.strings
:
/Applications/VMware Fusion.app/Contents/ResourcesVirtual Machines.localized/.localized/*
(VMware Fusion 7.0)
Bundle
Copy Stuff
Info.plist
Resources
de.lproj
en.lproj
fr.lproj
InfoPlist.strings
In Stuff/Info.plist
, we found:
Copy <key>CFBundleDisplayName</key>
<string>Stuff</string>
It's not required but I we want localizable bundle, we need it.
We can found also NSHumanReadableCopyright
(copyright) and CFBundleName
(display app name in menu bar) which are also localizable.
In Stuff/Resources/fr.lproj/InfoPlist.strings
, we found:
Copy CFBundleDisplayName = "Choses";
Kiosk mode
Keyboard layout
macOS on a MacBook (without special keys like page up/down keys):
Enter (num) : fn + return
Apple keyboard layout on Windows
See also Keyboard layout
Useful when you use a remote desktop connection. The host doesn't have the Apple keyboard layout.
DLL files are in %SystemRoot%\System32
, copy them from Boot Camp drivers
Copy Windows Registry Editor Version 5.00
; Layouts installed by Boot Camp Support driver package
; Layout files are relative to "%SystemRoot%\System32"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a0000404]
"Layout Component ID"="7F611C89DF564F01AE5B4A405192D1FB"
"Layout File"="ChinaTA.dll"
"Layout ID"="00e2"
"Layout Text"="Chinese Traditional (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a0000405]
"Layout Component ID"="0C8DA389245B4792B4960E336F62AC3E"
"Layout File"="CzechA.dll"
"Layout ID"="00d4"
"Layout Text"="Czech (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a0000406]
"Layout Component ID"="C3996498F423440FB9CE2732A821E7D9"
"Layout File"="DanishA.dll"
"Layout ID"="00cc"
"Layout Text"="Danish (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a0000407]
"Layout Component ID"="B616E2191BF048D4A554E5C6BE224AB4"
"Layout File"="GermanA.dll"
"Layout ID"="00c3"
"Layout Text"="German (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a0000409]
"Layout Component ID"="B422390FE3C04f3a917D15AD1ACD710F"
"Layout File"="USA.dll"
"Layout ID"="00d1"
"Layout Text"="United States (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a000040a]
"Layout Component ID"="C3364C7C44BC444A88A50459135D35B5"
"Layout File"="SpanishA.dll"
"Layout ID"="00c5"
"Layout Text"="Spanish (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a000040b]
"Layout Component ID"="ECE9937799D242F5AE0CAA446EDEDC62"
"Layout File"="FinnishA.dll"
"Layout ID"="00cb"
"Layout Text"="Finnish (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a000040c]
"Layout Component ID"="2ECD3C77364749B18E910F9196B420FA"
"Layout File"="FrenchA.dll"
"Layout ID"="00c2"
"Layout Text"="French (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a000040e]
"Layout Component ID"="725BE97D2AD14042BA539D96030F93AA"
"Layout File"="HungaryA.dll"
"Layout ID"="00d5"
"Layout Text"="Hungarian (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a0000410]
"Layout Component ID"="6401AAA6058F431181B445C26BEF22D9"
"Layout File"="ItalianA.dll"
"Layout ID"="00c4"
"Layout Text"="Italian (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a0000413]
"Layout Component ID"="3844B95343FB43D68E9695D6E88F016E"
"Layout File"="DutchA.dll"
"Layout ID"="00c1"
"Layout Text"="Dutch (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a0000414]
"Layout Component ID"="74BE397ABD8143E4960D38111394D1A3"
"Layout File"="NorwayA.dll"
"Layout ID"="00c9"
"Layout Text"="Norwegian (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a0000415]
"Layout Component ID"="D3D2841618E34D09ABBCA0DA34A60FAE"
"Layout File"="PolishA.dll"
"Layout ID"="00cf"
"Layout Text"="Polish (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a0000416]
"Layout Component ID"="326773935C8C4597B0738FE2084D44AD"
"Layout File"="PortuguA.dll"
"Layout ID"="00ce"
"Layout Text"="Portuguese (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a0000419]
"Layout Component ID"="B0F62A69BE9446488ED502E800DBC36C"
"Layout File"="RussianA.dll"
"Layout ID"="00c8"
"Layout Text"="Russian (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a000041d]
"Layout Component ID"="8CC8067A1BFF4A0FAD38708DE4CD4BF1"
"Layout File"="SwedishA.dll"
"Layout ID"="00c7"
"Layout Text"="Swedish (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a000041f]
"Layout Component ID"="2513D09A670B4d9bA8F1BDAAAA32176F"
"Layout File"="TurkeyQA.dll"
"Layout ID"="00d3"
"Layout Text"="Turkish Q (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a0000804]
"Layout Component ID"="472ECFB106AE4249B0ADCF62F91D8AEE"
"Layout File"="ChinaSA.dll"
"Layout ID"="00e1"
"Layout Text"="Chinese Simplified (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a0000809]
"Layout Component ID"="1A4D378083AD454BB4FE02F208614EB6"
"Layout File"="BritishA.dll"
"Layout ID"="00c0"
"Layout Text"="United Kingdom (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a0000813]
"Layout Component ID"="D70C1682E8F24ED4B5B70AAD37B1BA42"
"Layout File"="BelgiumA.dll"
"Layout ID"="00cd"
"Layout Text"="Belgian (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a0000c0c]
"Layout Component ID"="517A729DDEC543E3A7F392E3F130C25F"
"Layout File"="CanadaA.dll"
"Layout ID"="00ca"
"Layout Text"="Canadian Multilingual (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a000100c]
"Layout Component ID"="CE4C7E2419DE400B8A553E1A5C3DCD04"
"Layout File"="SwissA.dll"
"Layout ID"="00c6"
"Layout Text"="Swiss (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a0020409]
"Layout Component ID"="241A34D0-06DB-405e-8B4E-8CA2FC34D1C7"
"Layout File"="IntlEngA.dll"
"Layout ID"="00d0"
"Layout Text"="United States-International (Apple)"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a100041f]
"Layout Component ID"="D1502D2EF02F4e4b8D313D3C0B0457D0"
"Layout File"="TurkeyA.dll"
"Layout ID"="00d2"
"Layout Text"="Turkish F (Apple)"
Keyboard with Mac layout: Settings > Time & language > Region & language > select current language > Options > Add keyboard > select the same language layout but with "(Apple)" > optionaly you can remove the previous layout or a keyboard layout selector in taskbar will appears
Pointer
Aka mouse
Mouse acceleration
USB Overdrive works if you change system mouse speed to 0 (or -1)
System mouse speed
Copy defaults read .GlobalPreferences com.apple.mouse.scaling
# same value as System Preferences > Mouse > Speed
#defaults write .GlobalPreferences com.apple.mouse.scaling -1
killmouseaccel:
Doesn't work with High Sierra due to depreciation of IOHID API.
Copy #gcc killmouseaccel.c -o killmouseaccel -framework IOKit -framework Carbon
gcc killmouseaccel/main.c -o killmouseaccel/killmouseaccel -framework IOKit -framework Carbon
#chmod +x killmouseaccel
./killmouseaccel mouse
Restart Dock
Will restart Dock, Mission Control, Spaces, etc.
For menubar
Copy killall -KILL SystemUIServer
Or Finder
Spaces in dock
Copy defaults write com.apple.dock persistent-apps -array-add '{tile-data={}; tile-type="spacer-tile";}'
killall Dock
Media keys start Music.app
Aka media keys start iTunes.app
, remote control daemon (RCD), play/pause keys (or bluetooth) auto-starting Music/iTunes, apple remote, connecting bluetooth headset/headphone
Note: looklike the side effects is media keys (of the keyboard or touchbar) stop working
Copy launchctl stop com.apple.rcd
launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist
# Revert
launchctl start com.apple.rcd
launchctl load -w /System/Library/LaunchAgents/com.apple.rcd.plist
Continuity with Android
Disk, file system and paths
disk path: /dev/diskX
where X is a number (start with 1)
See FileVault
Extended attribute
Aka quarantine, icons, thumbnail, xattr
com.apple.FinderInfo
, which sets some general flags for Finder, and can be used to assign a single Finder Tag;
com.apple.metadata:_kMDItemUserTags
, which contains Finder Tag settings;
com.apple.metadata:kMDItemDownloadedDate
, which contains the datestamp for when this item was downloaded;
com.apple.metadata:kMDItemFinderComment
, which contains the text from the Finder Comment but does not actually set it;
com.apple.metadata:kMDItemWhereFroms
, which contains the URL of the location from which the item was downloaded;
com.apple.quarantine
, which forms the quarantine flag to determine if Gatekeeper should perform a full check when an app is first run.
— Where did that metadata come from? – The Eclectic Light Company
See also Spotlight and Uniform Type Identifier
Extended attribute com.apple.FinderInfo
(same/similar binary format as resource fork ):
com.apple.FinderInfo (XATTR_FINDERINFO_NAME, ATTR_CMN_FNDRINFO getattrlist(2)) 32 bytes of data for use by the Finder. Equivalent to the concatenation of a FileInfo structure and an ExtendedFileInfo structure (or, for directories, a FolderInfo structure and an ExtendedFolderInfo structure). These structures are defined in <CarbonCore/Finder.h>.
This attribute is not byte swapped by the file system. The value of multibyte fields on disk is always big endian. When running on a little endian system (such as Darwin on x86), you must byte swap any multibyte fields.
Copy # Add a fake name
xattr -w com.apple.metadata:kMDItemDisplayName DifferentFilename.txt ActualFilename.txt
# Hide file to Finder
xattr -px com.apple.FinderInfo /path/to/file
xattr -wx com.apple.FinderInfo "0000000000000000400000000000000000000000000000000000000000000000" /path/to/file
# or (spaces aren't important)
xattr -wx com.apple.FinderInfo "00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" /path/to/file
# Find some hidden files (kMDItemFSInvisible mapped from the extended attribute com.apple.FinderInfo)
mdfind kMDItemFSInvisible=1 -onlyin .
# Add custom colors and tags to a file
# https://eclecticlight.co/2017/12/27/xattr-com-apple-metadata_kmditemusertags-finder-tags/
# Rouge 6, Orange 7, Jaune 5, Vert 2, Bleu 4, Violet 3, Gris 1
xattr -wx com.apple.metadata:_kMDItemUserTags "62706c69 73743030 a3010203 584f7261 6e67650a 37585965 6c6c6f77 0a355949 6d706f72 74616e74 080c151e 00000000 00000101 00000000 00000004 00000000 00000000 00000000 00000028" filename
xattr -wx com.apple.metadata:_kMDItemUserTags "$(echo '["Orange\n7","Yellow\n5","Important"]' | plutil -convert binary1 -o - - | xxd -p | tr -d "\n")" /path/to/file
xattr -w com.apple.metadata:_kMDItemUserTags '<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><array>...</array></plist>' /path/to/file
# The following command works to (king of valid plist string)
xattr -w com.apple.metadata:_kMDItemUserTags '("Red\n6","Important")' /path/to/file
# After change the metadata, Spotlight doesn't import the file immediatly. The workaround is to add another tag with UI (Finder) to all files, then remove it
# Metadata see by Spotlight backend (metadata server)
#mdimport -i filename
mdls -plist - -name _kMDItemUserTags filename | plutil -convert json -o - -
xattr -px com.apple.metadata:_kMDItemUserTags /path/to/file | xxd -r -p | plutil -convert json -o - -
mdfind "kMDItemUserTags = Important" -onlyin .
# or: mdfind "_kMDItemUserTags = Important" -onlyin .
# Set custom application association
# Even if the type is the default "public.data"
xattr -wx com.apple.LaunchServices.OpenWith "$(echo '{"version":1.0,"path":"\/Applications\/Hex Fiend.app","bundleidentifier":"com.ridiculousfish.HexFiend"}' | plutil -convert binary1 -o - - | xxd -p | tr -d "\n")" filename
# Get custom application association
xattr -px com.apple.LaunchServices.OpenWith /path/to/file | xxd -r -p | plutil -convert json -o - -
# Set the URL from which the file was downloaded
xattr -wx com.apple.metadata:kMDItemWhereFroms "$(echo '["http://example.com"]' | plutil -convert binary1 -o - - | xxd -p)" /path/to/file
xattr -wx com.apple.metadata:kMDItemWhereFroms "$(echo '["http://example.com/origin","http://example.com/referrer"]' | plutil -convert binary1 -o - - | xxd -p)" /path/to/file
xattr -wx com.apple.metadata:kMDItemWhereFroms "$(echo '<plist><array><string>http://example.com</string></array></plist>' | plutil -convert binary1 -o - - | xxd -p | tr -d "\n")" /path/to/file
# Set the date when the file was downloaded
# Note can't convert from JSON because date
xattr -wx com.apple.metadata:kMDItemDownloadedDate "$(echo "<plist><array><date>$(date +%Y-%m-%dT%H:%M:%SZ)</date></array></plist>" | plutil -convert binary1 -o - - | xxd -p | tr -d "\n")" /path/to/file
Other:
Icons and Cursors
Copy /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/Resources/cursors
/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources
Sounds
Copy /System/Library/Sounds/
/Library/Sounds/
~/Library/Sounds/
AFPS
Does Apple File System support directory hard links?
Directory hard links are not supported by Apple File System. All directory hard links are converted to symbolic links or aliases when you convert from HFS+ to APFS volume formats on macOS. — Frequently Asked Questions
NTFS
Read only
Use NTFS-3G or use exFAT instead (supported natively)
WebDav
Mount unsupported file system
Mount AFP share online
Don't do that! It's not secure (same for NFS, SMB/CIFS, iSCSI, etc.). Use it over a VPN (or a SSH tunnel) or use a secured protocol like SFTP (use https://github.com/osxfuse/osxfuse/wiki/SSHFS)
Can contains Time Machine backups.
Mount afp://ip_address/timemachine_share
Port 548 should be open (and forwarded (TCP) to the target if the server is behind a router). Don't allow guest access
System links
Preference and help links
Open an pref
Copy x-help-script://com.apple.machelp/scpt/OpnPrefsBndID.scpt?com.apple.Localization,InputMenu
Open an app:
Copy x-help-script://com.apple.machelp/scpt/OpnAppBndID.scpt?open,com.apple.ScriptEditor2
Copy help:anchor=%27mh28040%27%20bookID='com.apple.machelp'
Home (help:anchor=%27access%27%20bookID=com.apple.machelp
) Index (help:anchor=%27xall%27%20bookID=com.apple.machelp
)
System paths
Re-add staff
premission
Copy sudo chgrp staff path/to/item
sudo chmod g+r,+X path/to/item
Uniform Type Identifier
Aka UTI
Metadatas: kMDItemContentType
and kMDItemContentTypeTree
(hierarchical content type); CFBundleDocumentTypes
, UTImportedTypeDeclarations
and UTExportedTypeDeclarations
Get UTI from metadata server:
Copy mdls -raw -name kMDItemContentType $FILE
For the same extension, mutliple UTI definitions could exist. But the last definition will be used. Exemple: Adobe Flash use .as
for ActionScript files (source code), but .as
is declared instead as "AppleSingle archive" (UTI: com.apple.applesingle-archive
). Installing Adobe Flash should override the default declaration. See uti - Revert Filetype Association - Ask Different
/System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist
https://github.com/schwa/UTI-Types/tree/master/Types - List of common UTI
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/Current/Support/lsregister -dump
- list all registered UTI
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/Current/Support/lsregister -kill -r -domain local -domain system -domain user
- ro rebuild the Launch Services registry to fix a wrong attribution (after an App Upgrade)
Fragmentation
Aka defragmentation
Disk image
Create a disk image from a disk or connected device
[...]
Sparse bundle disk image: Same as a sparse disk image (below), but the directory data for the image is stored differently. Uses the .sparsebundle file extension.
Sparse disk image: Creates an expandable file that shrinks and grows as needed. No additional space is used. Uses the .sparseimage file extension.
Read/write disk image: Allows you to add files to the disk image after it’s created. Uses the .dmg file extension.
DVD/CD master: Changes the size of the image to 177 MB (CD 8 cm). Uses the .cdr file extension.
[...]
Create a disk image from a folder or connected device
[...]
Read-only: The disk image can’t be written to, and is quicker to create and open.
Compressed: Compresses data, so the disk image is smaller than the original data. The disk image is read-only.
Read/write: Allows you to add files to the disk image after it’s created.
DVD/CD master: Can be used with third-party apps. It includes a copy of all sectors of the disk image, whether they’re used or not. When you use a master disk image to create other DVDs or CDs, all data is copied exactly.
— Create a disk image using Disk Utility on Mac - Apple Support
Split disk image
Copy hdiutil segment -segmentSize 1G -o "disk-1G-parts.dmg" "/path/to/disk.dmg"
Will generate files *.XXX.dmgpart
and *.dmg
Folder action
See Automator
Test disk speed
aka test USB thumb speed
Copy # Write 1GB of zero to tsfile
dd if=/dev/zero bs=1024k of=tstfile count=1024
# Will output (if locale is english):
# 1024+0 records in
# 1024+0 records out
# 1073741824 bytes (1.1 GB) copied, 2.27431 s, 472 MB/s
# Read tsfile (1GB)
dd if=tstfile bs=1024k of=/dev/null count=1024
# Remove tsfile
rm tstfile
Clone to disk image
Copy diskutil list
diskutil info disk4
sudo gdd if=/dev/rdisk4 of=sd_backup.dmg status=progress bs=16M
#photorec sd_backup.dmg
#testdisk sd_backup.dmg
Startup and login
Startup chime
Not work with OSX 10.10+
Mute
Copy sudo nvram SystemAudioVolume=%80
Restore
Copy sudo nvram -d SystemAudioVolume
http://apple.stackexchange.com/questions/168092/disable-yosemite-startup-sound
https://discussions.apple.com/message/28013107#28013107
Lock message
Aka login screen text
If found, please contact XXXX XXXX at YYYYYYYYYYY or at ZZZZZZ@ZZZZZZ.ZZZZ
Control+Command+Q
Onyx - Settings > Session > Login screen message
See also Change the language used at the login screen on your Mac - Apple Support
Reset NVRAM
How to Reset NVRAM on your Mac - Apple Support
Start up item
With crontab -e
:
Copy @reboot /path/to/script
With a shell script (as login item only):
In mystartupitem.command
(why as *.command
? )
Copy #!/bin/bash
echo "Do something"
An add it to login items (System Preferences → Users and Groups → Login items)
With a plist
:
Create in /Library/LaunchDaemons
(see also What are the differences between LaunchAgents and LaunchDaemons? ) a file called like local.mydaemon.plist
contains:
Copy <?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>Label</key>
<string>local.mydaemon</string>
<key>ProgramArguments</key>
<array>
<string>/path/to/binary</string>
<string>arg1</string>
<string>arg2=value</string>
<string>arg3</string>
</array>
<key>RunAtLoad</key>
<true/>
<!-- Use this for a script that runs once -->
<key>LaunchOnlyOnce</key>
<true/>
<!-- Use this user and/or group to launch daemon, remove if not defined -->
<key>UserName</key>
<string>SOME_USERNAME</string>
<key>GroupName</key>
<string>SOME_GROUP</string>
<!-- Save standard error to, remove if not needed -->
<key>StandardErrorPath</key>
<string>/dev/null</string>
<!-- Save standard output to, remove if not needed -->
<key>StandardOutPath</key>
<string>/dev/null</string>
<!-- Change start inverval, remove if not needed. See also LaunchOnlyOnce -->
<key>StartInterval</key>
<integer>30</integer>
</dict>
</plist>
Note: Label
must reflect filename without plist
extension. Note: binary can be an executable (chmod +x /path/to/shellscript
) shell script
Copy sudo chown root:wheel /path/to/local.mydaemon.plist
launchctl load /path/to/local.mydaemon.plist
launchctl list
Change/fix login keyboard layout
Copy # Check current user keyboard
/usr/libexec/PlistBuddy -c "Print :AppleCurrentKeyboardLayoutInputSourceID" ~/Library/Preferences/com.apple.HIToolbox.plist
# defaults -currentHost read com.apple.HIToolbox
# Set global/default keyboard
sudo /usr/libexec/PlistBuddy -c "Set :AppleCurrentKeyboardLayoutInputSourceID com.apple.keylayout.French" /Library/Preferences/com.apple.HIToolbox.plist
See you current keyboard layout: ~/Library/Preferences/com.apple.HIToolbox.plist
Security
System Integrity Protection
Aka SIP
apps that are pre-installed with OS X
Some specific softwares require to disable it
in Terminal: csrutil status
to check status
hold down command-R to boot into the Recovery System
in Utilities > Terminal csrutil disable; reboot
or csrutil enable; reboot
based on what you want
SIP only applies to the volume you're currently booted from, so [one can] boot from the backup volume to delete [files] CCC updated for El Capitan | Carbon Copy Cloner | Bombich Software
just boot into "Recovery" mode by pressing "CMD+R" while rebooting.
your disk will be mounted in /Volumes/Macintosh HD
(based on your drive name)
update files (ex: delete files via rm
): you have absolute control in that terminal
/Library/SystemMigration/History/Migration-[some UUID]/QuarantineRoot/
Terminal access error
If a command return an error like Operation not permitted
, or cat: ~/Library/path/to/file: Operation not permitted
, a SIP protected file is read.
Lift the restriction for Terminal: Operation not permitted - Mojave security?
App Sandbox
Downloaded file quarantine
Copy find ~/Downloads/geeklog-1.6.1 -type f -exec xattr -d com.apple.quarantine {} \;
or
Copy xattr -d -r com.apple.quarantine ~/Downloads
Disable
Copy defaults write com.apple.LaunchServices LSQuarantine -bool NO
Copy # Set com.apple.quarantine attribute
# Quarantine state flags (as 4 hexdigits):
# 0. ?
# 1. ?
# 2. ?
# 3. ?
# 4. ?
# 5. App was opened
# 6. "Verified by Gatekeeper"
# 7. ?
# 8. ?
# 15. ?
# See also:
# - https://stackoverflow.com/questions/59974353/checking-if-macos-app-has-ever-been-un-quarantined-and-fully-launched
# - https://eclecticlight.co/2017/08/15/quarantined-more-about-the-quarantine-extended-attribute/
# - https://stackoverflow.com/questions/46198557/understanding-output-of-xattr-p-com-apple-quarantine
flags=$(printf "%04x;" "$((2#0000000000000010))")
uuid=$(uuidgen)
application="Firefox"
# application="Google\x20Chrome"
date=$(printf %x $(date +%s))
attr -w com.apple.quarantine "${flags};${date};${application};${uuid}" filename
# Insert UUID into Database
date=$(($(date +%s) - 978307200))
download_url="http://example.com/file.zip"
# fields of LSQuarantineEvent: LSQuarantineEventIdentifier, LSQuarantineTimeStamp, LSQuarantineAgentBundleIdentifier, LSQuarantineAgentName, LSQuarantineDataURLString, LSQuarantineSenderName, LSQuarantineSenderAddress, LSQuarantineTypeNumber, LSQuarantineOriginTitle, LSQuarantineOriginURLString, LSQuarantineOriginAlias
# see also https://web.archive.org/web/20210506210117/http://www.zoharbabin.com/hey-mac-i-dont-appreciate-you-spying-on-me-hidden-downloads-log-in-os-x
sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2 "INSERT INTO \"LSQuarantineEvent\" VALUES('${uuid}',${date},NULL,'${application}','${download_url}',NULL,NULL,0,NULL,'${url}',NULL);"
# Check if UUID exists in Database
sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2 "SELECT * FROM LSQuarantineEvent WHERE LSQuarantineEventIdentifier == '${uuid}'"
Certificats
Delete Known Government-Linked Certificate Authorities: https://github.com/sammcj/delete-unknown-root-ca
FileVault
FileVault display a loginwindow at startup hask the user to decrypt the disk with its password.
FileVault is not allowed for all users
Copy diskutil cs list | grep "Conversion Progress"
diskutil apfs list | grep "FileVault"
Copy Conversion Progress: Optimizing 39%
FileVault: Yes (Unlocked)
FileVault: No (Encrypted at rest)
To select which user can decrypt FileVault disk:
login as admin local account
click on "Allow Users" (bottom of the window)
sudo sysadminctl -adminUser <adminUser> -adminPassword <adminPassword> -secureTokenOn <managementToken> -password <managmentPassword>
sudo fdesetup add -usertoadd <username> -keychain
Firmware password
Users
Handled by OpenDirectory
UIDs < 500 are reserved.
auto login user defaults read /Library/Preferences/com.apple.loginwindow | grep autoLoginUser | awk '{ print $3 }' | sed 's/;//'
dscl . -read /Users/<username>
dscl . list /Users | grep -v '_'
(prefixed user are daemons, etc.)
/var/db/dslocal/nodes/Default/users/*.plist
data of OpenDirectory
disable guest user:
go to "Users & Groups" and click the unlock icon
uncheck the box for "Allow guests to log in to this computer"
hide a user from login screen: sudo defaults write /Library/Preferences/com.apple.loginwindow HiddenUsersList -array-add <username>
, to remove that config: sudo defaults delete /Library/Preferences/com.apple.loginwindow HiddenUsersList
Non interactive user
loginwindow UI will consider a user as one that can't be logged in if the following occur
the shell is /usr/bin/false
or
the AuthAuthority has ;disableduser; in it.
or
the AuthAuthority doesn't exist or contains ;basic; and the password is missing or is a single asterisk.
or
the record name is missing or blank [RealName?]
or
the uid is missing
loginwindow UI doesn't care about the UIDs number.
But the user still appears in System Preferences > Sharing > File Sharing | Screen Sharing | etc. > Add User dialog.
Applications
Self-signed application
Create a self signed certificate MyCertificateName
with Keychain and trust it for all the system
Copy sudo codesign -s MyCertificateName -f /path/to/MyAppName.app --deep
That fix the issue with macOS open the alert popup "Do you want to the application MyAppName.app to accept incoming network connections?"
Define PATH
globaly
Set export PATH=/my/path:$PATH
in ~/.profile
for command line, but not used by launched application (by spotlight, dock, finder, start restored windows)
A security update could break/change something:
it seems SIP strips env variables if an application is launched from another application
Open application (twice and so on)
Copy open -n /Applications/VOTRE_APPLICATION.app
Or add this as Automator script
Copy do shell script "open -n /Applications/VOTRE_APPLICATION.app"
Pass command line arguments to Application
Automator application
Automator > create an Application with Library/Utilities/Run Shell Script
Copy open -a "Google Chrome" --args -pinned-tag-count=4
Replace app icon: Get Info
on original App, select icon, Cmd+C
-> Get Info
on target App, select icon, Cmd+V
Application bundle
See Create new application bundle . Not work anymore
Edit /Applications/Firefox.app/Contents/Info.plist
, change for CFBundleExecutable
or Executable File
the value to firefox-bin-with-args.sh
(the original is firefox-bin
)
In /Applications/Firefox.app/Contents/MacOS/
, create a file firefox-bin-with-args.sh
(called like change in Info.plist
)
Copy #!/usr/bin/env bash
exec exec $(dirname "$0")/firefox-bin -ProfileManager
Copy chmod +x firefox-bin-with-args.sh
http://superuser.com/questions/271678/how-do-i-pass-command-line-arguments-to-dock-items
Create new application bundle
Script app (bash script) can't start anymore with OSX 10.10: "Can’t open the application %s because PowerPC applications are no longer supported."
xattr -d com.apple.quarantine /Applications/My\ App.app
Allow Apps from Anywhere in Gatekeeper
"Allow apps downloaded from" "Anywhere" (from macOS Sierra)
"%s can’t be opened because it is from an unidentified developer"
Copy sudo spctl --master-disable
Copy # allow apps you trust without turning off code signing entirely
sudo spctl --add --label "It's OK, they're with me" /path/to/My.app
Copy xattr -dr http://com.apple.quarantine /path/to/My.app
Crtl + Click on the App > click on "Open" button to add the app to the approved list Right click > Open
Build-in Apache
Conf: /etc/apache2
Extensions: /usr/libexec/apache2
HTTPD_ROOT
httpd -V
Restart Apache:
Copy sudo /usr/sbin/apachectl restart
or
Copy sudo apachectl -k restart
FileMerge
Xcode
"Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo."
Accept for this account:
Accept for all accounts:
Copy sudo xcodebuild -license
Install Xcode Command Line Tools:
Copy xcode-select --install
Macports
Why use Macports instead of Homebrew: El Capitan and Homebrew | Hacker News TLDR: because it place packages in /opt/local
and require sudo
Macports install in /opt/local
where Homebrew install in /usr/local
.
/usr/local
, for self, inhouse, compiled and maintained software. /opt
is for non-self, external, prepackaged binary/application bundle installation area
https://guide.macports.org/chunked/installing.macports.uninstalling.html
http://trac.macports.org/wiki/Migration
https://www.macports.org/install.php
Macports is installed as root and uses its own account macports for some things.
Update and upgrade ports:
Copy sudo port selfupdate && sudo port upgrade outdated
# later to remove old version
sudo port uninstall inactive
Install ports:
Copy # 1. Install Xcode Command Line Tools: `xcode-select --install`
# 2. Accept Xcode licence: `sudo xcodebuild -license`
# 3. Check installed version (newer version can exist for php, node, python, perl, ruby, JDK, etc.)
sudo port install \
wget rsync \
bash bash-completion \
coreutils diffutils findutils gsed gawk gpatch \
watch \
p5-file-rename \
openssl \
gzip gnutar \
git \
curl \
gettext \
ffmpeg \
ImageMagick +rsvg \
p5-image-exiftool \
cmake \
apache-ant \
httrack \
xorg-server
# Start D-Bus
sudo port install dbus
sudo port load dbus
#sudo launchctl load -w /Library/LaunchDaemons/org.freedesktop.dbus-system.plist
#launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist
# Add `/opt/local/libexec/gnubin` to PATH
if ! grep -q "export PATH=/opt/local/libexec/gnubin:" ~/.profile
then
echo "" >> ~/.profile
echo "# Use GNU coreutils by default (installed with macport)" >> ~/.profile
echo "export PATH=/opt/local/libexec/gnubin:\$PATH" >> ~/.profile
fi
# To use bash_completion, add the following lines at the end of your .bash_profile:
if ! grep -q "/opt/local/etc/profile.d/bash_completion.sh" ~/.bash_profile
then
echo "" >> ~/.bash_profile
echo "# Enable bash-completion" >> ~/.bash_profile
echo "if [ -f /opt/local/etc/profile.d/bash_completion.sh ]; then" >> ~/.bash_profile
echo " . /opt/local/etc/profile.d/bash_completion.sh" >> ~/.bash_profile
echo "fi" >> ~/.bash_profile
fi
# NodeJS
# Note: nodejs and npm without version specified are not the lastest available
# sudo port install nodejs npm
sudo port install nodejs15 npm6
# Add to profile node config
if ! grep -q "export NODE_PATH=" ~/.profile
then
echo "" >> ~/.profile
echo "# Use global node modules (installed with macport)" >> ~/.profile
echo "export NODE_PATH=/opt/local/lib/node_modules:\$NODE_PATH" >> ~/.profile
fi
# NPM can be updated with:
# sudo npm install -g npm@latest
# Install globally some tools
# use --python=python2.7 if required
#npm install -g sqlite3
# Note: never install globaly/system-wide npm packages (via `-g`). Install in ./node_module instead
# Clean cache: `sudo npm cache clean`
# If so packages are in /opt/local/lib/node_modules/ and remains even if npm is uninstalled or deactivate via macport
# To see outdated packages, use `npm outdated -g --depth=0`
# To update global packages, use `npm update -g`
# Install PHP and composer (PHP package manager)
sudo port install php
sudo port install php80-intl php80-openssl
#sudo port select --set php php80
# Create PHP config (dev only)
sudo cp /opt/local/etc/php80/php.ini-development /opt/local/etc/php80/php.ini
# [#42344 (new composer port request) – MacPorts](https://trac.macports.org/ticket/42344)
sudo port install php74-iconv php74-mbstring
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/opt/local/bin
sudo ln -s composer.phar /opt/local/bin/composer
# Or use in each project's folder `php -r "readfile('https://getcomposer.org/installer');" | php && php composer.phar install`
# Will install packages in ./vendor
# Install python and pip (Python package manager)
sudo port install python39 py39-pip
#sudo port select --set python python39
#sudo port select --set python3 python39
#sudo port select --set pip pip39
# Or for OSX's default python come with easy_install
#sudo easy_install pip
#pip install --user package
# or
#python -m pip install --user package
# will install package in ~/Library/Python/X.Y/lib/python/site-packages
# could also be in ~/.local/lib/pythonX.Y/site-packages
# See
# - https://pip.pypa.io/en/latest/user_guide/#user-installs
# - https://www.python.org/dev/peps/pep-0370/
# - https://stackoverflow.com/questions/15912804/easy-install-or-pip-as-a-limited-user
# Install Python BeautifulSoup
pip install --user beautifulsoup4
# or with macports (system-wide):
#sudo port install py38-beautifulsoup4
# Then check
#python -c "help('modules')" | grep bs4
# Note: never install python packages system-wide http://scicomp.stackexchange.com/a/2988 (use always `--user`)
# Install ntfs-3g https://trac.macports.org/wiki/howto/Ntfs3gFinder (need to disable SIP)
sudo port install ntfs-3g
# TODO. See link
# TestDisk and photorec
sudo port install testdisk
# Ruby and gems (Ruby package manager)
sudo port install ruby27 rb-rubygems
#sudo port select --set ruby ruby27
# Add to profile user's gems folder
if ! grep -q "export GEM_HOME=" ~/.profile
then
echo "" >> ~/.profile
echo "# Use user gems (rb-rubygems installed with macport)" >> ~/.profile
echo "export PATH=~/.gem/bin:\$PATH" >> ~/.profile
echo "export GEM_HOME=~/.gem" >> ~/.profile
echo "export GEM_PATH=~/.gem:\$GEM_PATH" >> ~/.profile
fi
# Java / Open JDK
sudo port install openjdk15
How to fix "Failed to build osxfuse: command execution failed":
install builded version then create a symlink to fuse.pc
: sudo ln -s /usr/local/lib/pkgconfig/fuse.pc /opt/local/lib/pkgconfig/fuse.pc
App store
Aka MAS (macOS App Store)
Preference pane
Copy ~/Library/PreferencePanes/
/Library/PreferencePanes/
Right click to remove prefpane
/System/Library/CoreServices/Applications/Archive Utility.app/Contents/Resources/Archives.prefPane
Quicklook generators
Aka QLGenerator
To view handle types:
Precedence :
The order is currently (from the less important to the most important):
System generators (in /System/Library/QuickLook
- for Apple only)
Local (in /Library/QuickLook
)
Home (in ~/Library/QuickLook
)
Embedded in apps. (usally ./Contents/Library/QuickLook
)
It's impossible to desactivate a QLGenerator for same level or above other than juste rename it folder or update it's Info.plist
to reflect only wanted format support How to disable auto preview for *.doc *.docx in finder? - Ask Different http://lists.apple.com/archives/quicklook-dev/2010/Jun/msg00011.html
Spotlight
Aka Metadata Server (mds
)
See also Extended attribute
Once the macOS does kick-off the extraction of metadata from a file, it does so through a Spotlight Importer. Spotlight Importers are plug-ins for the Mac OS that a developer provides specifically for helping files created by their applications to be searchable within Spotlight. Spotlight crawls through its list of changed files, handing each one to the appropriate importer. The importers then read the files, compile a list of metadata, and then hand the metadata back to Spotlight. At this point, the changed file is available for searching within Spotlight.
/System/Library/Spotlight
App ./Content/Library/Spotlight
/System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Versions/A/Support/mdworker
/System/Library/LaunchDaemons/com.apple.metadata.com.apple.metadata.mds.scan.plist
/System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Support/mds
/System/Library/PrivateFrameworks/SpotlightDaemon.framework/Versions/A/SpotlightDaemon
/System/Library/Frameworks/CoreSpotlight.framework/CoreSpotlightService
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd
Turn off:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
System Preferences > Spotlight > Privacy
(need to be verified) ignore files and directories ends with .noindex
(and .build
) and all (hidden) files start with .
.
sudo defaults read /.Spotlight-V100/VolumeConfiguration.plist Exclusions
(that depends the filesystem) sudo defaults write /.Spotlight-V100/VolumeConfiguration.plist Exclusions -array-add 'path/to/exclude'
sudo defaults write /.Spotlight-V100/Store-V1/Exclusions Exclusions -array-add 'path/to/exclude'
sudo defaults write /System/Volumes/Data/.Spotlight-V100/VolumeConfiguration.plist Exclusions -array-add 'path/to/exclude'
sudo /usr/libexec/PlistBuddy -c "Add :Exclusions: string path/to/exclude" /System/Volumes/Data/.Spotlight-V100/VolumeConfiguration.plist
sudo find / -type d -exec defaults write /.Spotlight-V100/VolumeConfiguration.plist Exclusions -array-add {}
sudo launchctl stop com.apple.metadata.mds && sudo launchctl start com.apple.metadata.mds
put in ~/Library/
, /System/
.metadata_never_index
at the root of a volume, directory / folder (see also .metadata_never_index_unless_rootfs
)
Copy launchctl stop com.apple.metadata.mds && sudo launchctl start com.apple.metadata.mds
Copy # Rename all node_modules to node_modules.noindex and create a symlink node_modules -> node_modules.noindex
find /path/to/projects -type d \( -path '*/.*' -o -path '*node_modules/*' -o -path '*node_module.noindex/*' \) -prune -o -type d -name 'node_modules' -exec mv '{}' '{}.noindex' \; -exec ls -s '{}.noindex' '{}' \;
Note: extended attribute com.apple.FinderInfo
doesn't have any impact, chflags hidden /path/to/file
, touch folder-to-exclude/.metadata_never_index
too
Reindex drive
Copy # Here the main drive mounted at /
# turn indexing off
sudo mdutil -i off /
# delete Spotlight folder
sudo rm -rf /.Spotlight*
# turn indexing on
sudo mdutil -i on /
# rebuild
sudo mdutil -E /
Reindex (eq. Finder's Search not work properly): find . -name "*.md" -exec mdimport {} \;
or sudo mdutil -E /
(where /
affect the whole volume, or all volumes)
Copy sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
List file indexing (where PID is pid of process of mdworker
, use ps -e | grep mdworker
):
Copy sudo opensnoop -n mdworker
# Use 0.1 or 0,1 depends locale or prepend command with `LANG=C`: (eg. `LANG=C sudo watch -n 0.1 "CMD"`)
sudo watch -n 0 "lsof +p PID"
sudo watch -n 0 "lsof -c mdworker"
strace -p PID -e trace=open,close
sudo fs_usage -w -f filesys mdworker | grep "open" | less +F --follow-name
Erase all Spotlight data (all volumes):
Queries:
Copy # Find all files
mdfind "*"
mdfind -onlyin "/" "kMDItemFSSize>0"
# List all metadata for a specific file
mdls /path/to/file
# Find DMG files
mdfind -0 "kMDItemFSName=*.dmg"
# Find Finder excluded files
mdfind "_kMDItemFinderExcluded=*"
mdfind "_kMDItemFinderExcluded=1"
# Find user tags / colors set by user
mdls -plist - -name _kMDItemUserTags
# Find ghost files ("if the Finder is in the middle of a copy and the source disk is suddenly disconnected") that aren't deletable ("Item XYZ is used by Mac OS X and can’t be opened.")
mdfind -onlyin /path/to/files -0 "kMDItemFSTypeCode==brok && kMDItemFSCreatorCode==MACS" | xargs -0 -n1 xattr -d com.apple.FinderInfo
# find all encrypted DMG
mdfind -0 "kMDItemFSName == '*.dmg'" | xargs -0 -IX ksh -c ' if hdiutil isencrypted "X" 2>&1 | grep -q "encrypted: YES" then echo "X -ENCRYPTED" fi'
Metadata importer
Aka Spotlight importers
Copy # List all available metadatas
mdimport -X
# Infos about metadatas (nosearch, noindex, notokenize, multivalued, uniqued)
Copy mdimport -r ~/Library/Spotlight/SomeImporter.mdimporter
Add to /System/Library/Spotlight/RichText.mdimporter/Contents/info.plist
(get file format mdimport -n -d1 somefile.ext
) to search inside source code:
Copy <string>public.c-header</string>
<string>public.c-plus-plus-header</string>
<string>public.c-source</string>
<string>public.objective-c-source</string>
<string>public.c-plus-plus-source</string>
<string>public.objective-c-plus-plus-source</string>
<string>com.sun.java-source</string>
<string>public.perl-script</string>
<string>public.python-script</string>
<string>public.csh-script</string>
<string>public.shell-script</string>
<string>public.ruby-script</string>
<string>public.php-script</string>
<string>com.netscape.javascript-source</string>
Printer & scanner
Most post 2013 printers implement IPP Everywhere . AirPrint is based on IPP
Print on Windows shared printer
Will ask username / password for shared printer, use Windows auth credentials or guest
for the username and password . If not asked, delete the entry of password in keychain app
Calendar and contact accounts
CardDav, CalDav
SQLite3 with principalInfo
binary PropertyList (plutil -convert xml1 -o - - < data.plist
) (ZVALUE
)
Copy ~/Library/Accounts/Accounts3.sqlite
Old (not used to store accounts config):
Copy ~/Library/Calendars/XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX.caldav
~/Library/Application Support/AddressBook/Sources/XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX/Configuration.plist ??
See also the possibility to create configuration profiles:
Clipbload CLI
Copy pbcopy < file.txt
echo "test" | pbcopy
Copy pbpaste
pbpaste > file.txt
Simulate UI clicks from CLI
Corrupted executable script
Create a bash script and execute give:
bad interpreter: Operation not permitted
Copy chmod u+x file.sh
xattr -d com.apple.quarantine file.sh
Scanning
SANE:
Install SANE drivers – BeagleScan - Install SANE drivers on macOS (sane-find-scanner
, scanimage -L
, TWAINBridge.app
reinstall, open /System/Library/Image Capture/Devices/TWAINBridge.app
, SANE > Open Scanner)
Automator
Delete core dump files
In /cores
folder
Only deletes core files older than 24 hours.
Copy find /cores -name "core.*" -ctime 1 -delete
Use cron or launchd
Screens and monitors
Custom screen resolution or HiDPI
OSCAR LCD Panel 1024 × 768 (HiDPI) fix
Find screen DisplayVendorID and DisplayProductID
Copy ioreg -l -w0 -d0 -r -c AppleDisplay
Or in IORegistryExplorer (/Developer/Applications/Utilities/IORegistryExplorer.app
) or IOJones, something like IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P2@1/IOPP/GFX0@0/NVDA,Display-B@1/NVDA/display0/AppleDisplay
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P2@1/IOPP/GFX0@0/NVDA,Display-A@0/NVDA/display0/AppleBacklightDisplay
is for built-in screen on Macbook Pro.
Map to /System/Library/Displays/Overrides/DisplayVendorID-XXXXX/DisplayProductID-YYYYY
where XXXXX
and YYYYY
are 1 to N hexa char
http://www.opensource.apple.com/source/IOKitUser/IOKitUser-120.4/graphics.subproj/IOGraphicsLib.c
Icon can be change be changed in /System/Library/Displays/Overrides/Icons.plist
.
EDID can be override with IODisplayEDID
. See [HOW TO] Advanced EDID Injection - Graphics Cards - InsanelyMac Forum
Problems
In log org.freedesktop.dbus-system
Service exited with abnormal code: 1
Shutdown
log show --predicate 'eventMessage contains "Previous shutdown cause"' --last 24h
DSLR as a webcam
Aka camera as webcam
For Linux use gphoto2 -> ffmpeg -> v4l2loopback . See How to use your DSLR from 2008 as a webcam in 2022 (NixOS) (see also this post on Hacker News )
Old, use Camtwist and Syphon or an OBS plugin:
Java
Java 8 is the only supported version which runs applets
/System/Library/Java/JavaVirtualMachines/
is JDK location where Apple's Java 6 is installed (still the case?)
/Library/Java/JavaVirtualMachines/
default location of JDK installs
/usr/libexec/java_home -V
get list of installed installed JVMs
Install JDK with sudo port install openjdk14
or download it from JDK Builds from Oracle . See also:
Uninstall Oracle Java by deleting the plug-in file (JRE, for applets):
Copy sudo rm -rf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin"
sudo rm -rf "/Library/PreferencePanes/JavaControlPanel.prefpane"
sudo rm -fr "~/Library/Application Support/Oracle/Java"
Uninstall Oracle Java JDK:
Copy sudo rm -rf "/Library/Java/JavaVirtualMachines/jdk-interim.update.patch.jdk"
macOS is Unix
And mostly POSIX-compatible
Screen capture
Aka screen cast, screenshot
Virtualization
See also:
Interoperability
WineBottler (Abandonware)
Troubleshooting
ANS2 Recoverable Panic
Copy panic(cpu 0 caller 0xfffffff025234744): ANS2 Recoverable Panic - assert failed: [14083]:low wA f7 i2070711 s3131392 n16 d0 w1.5 tGC6 tL30, d:0x12401, a2:0x42f0000, a3:0x60000000 - power(13)
assert failed: [14083]:low wA f7 i2070711 s3131392 n16 d0 w1.5 tGC6 tL30, d:0x12401, a2:0x42f0000, a3:0x60000000
RTKit: RTKit_iOS-1827.140.2.release - Client: t8012.release-AppleStorageProcessorANS2-1274.100.6~1055~1274.100.6~1055