|
|
@@ -0,0 +1,161 @@ |
|
|
#!/bin/bash |
|
|
|
|
|
## Read and edit this file. |
|
|
## Run it once as a root. |
|
|
|
|
|
FILE="/Library/Scripts/ramdisk.sh" |
|
|
|
|
|
if [[ $EUID -ne 0 ]]; then |
|
|
echo "You must be a root user" 2>&1 |
|
|
exit 1 |
|
|
else |
|
|
cat > "$FILE" << 'EOF' |
|
|
#!/bin/bash |
|
|
|
|
|
# Size at the end is * 2048 where 2048 = 1 MB, so 8388608 = 4096 MB |
|
|
|
|
|
if ! test -e "/Volumes/RAMD"; then |
|
|
diskutil erasevolume HFS+ "RAMD" `hdiutil attach -nobrowse -nomount ram://8388608` |
|
|
fi |
|
|
|
|
|
CACHEDIR="/Volumes/RAMD/.Cache" |
|
|
|
|
|
if test -e "/Volumes/RAMD"; then |
|
|
|
|
|
# Create CacheDir |
|
|
mkdir -p "$CACHEDIR" |
|
|
|
|
|
# Google Chrome Cache |
|
|
mkdir -p "$CACHEDIR/GoogleChrome/com.google.Chrome" |
|
|
mkdir -p "$CACHEDIR/GoogleChrome/Default" |
|
|
mkdir -p "$CACHEDIR/GoogleChrome/Service Worker/CacheStorage" |
|
|
mkdir -p "$CACHEDIR/GoogleChrome/Service Worker/ScriptCache" |
|
|
if [ ! -L "$HOME/Library/Caches/com.google.Chrome" ] |
|
|
then |
|
|
rm -rf "$HOME/Library/Caches/com.google.Chrome" |
|
|
ln -s "$CACHEDIR/GoogleChrome/com.google.Chrome" "$HOME/Library/Caches/com.google.Chrome" |
|
|
fi |
|
|
if [ ! -L "$HOME/Library/Caches/Google/Chrome/Default" ] |
|
|
then |
|
|
rm -rf "$HOME/Library/Caches/Google/Chrome/Default" |
|
|
ln -s "$CACHEDIR/GoogleChrome/Default" "$HOME/Library/Caches/Google/Chrome/Default" |
|
|
fi |
|
|
if [ ! -L "$HOME/Library/Application Support/Google/Chrome/Default/Service Worker/CacheStorage" ] |
|
|
then |
|
|
rm -rf "$HOME/Library/Application Support/Google/Chrome/Default/Service Worker/CacheStorage" |
|
|
ln -s "$CACHEDIR/GoogleChrome/Service Worker/CacheStorage" "$HOME/Library/Application Support/Google/Chrome/Default/Service Worker/CacheStorage" |
|
|
fi |
|
|
if [ ! -L "$HOME/Library/Application Support/Google/Chrome/Default/Service Worker/ScriptCache" ] |
|
|
then |
|
|
rm -rf "$HOME/Library/Application Support/Google/Chrome/Default/Service Worker/ScriptCache" |
|
|
ln -s "$CACHEDIR/GoogleChrome/Service Worker/ScriptCache" "$HOME/Library/Application Support/Google/Chrome/Default/Service Worker/ScriptCache" |
|
|
fi |
|
|
|
|
|
# Chromium Cache |
|
|
mkdir -p "$CACHEDIR/Chromium/Default" |
|
|
mkdir -p "$CACHEDIR/Chromium/Service Worker/CacheStorage" |
|
|
mkdir -p "$CACHEDIR/Chromium/Service Worker/ScriptCache" |
|
|
if [ ! -L "$HOME/Library/Caches/Chromium/Default" ] |
|
|
then |
|
|
rm -rf "$HOME/Library/Caches/Chromium/Default" |
|
|
ln -s "$CACHEDIR/Chromium/Default" "$HOME/Library/Caches/Chromium/Default" |
|
|
fi |
|
|
if [ ! -L "$HOME/Library/Application Support/Chromium/Default/Service Worker/CacheStorage" ] |
|
|
then |
|
|
rm -rf "$HOME/Library/Application Support/Chromium/Default/Service Worker/CacheStorage" |
|
|
ln -s "$CACHEDIR/Chromium/Service Worker/CacheStorage" "$HOME/Library/Application Support/Chromium/Default/Service Worker/CacheStorage" |
|
|
fi |
|
|
if [ ! -L "$HOME/Library/Application Support/Chromium/Default/Service Worker/ScriptCache" ] |
|
|
then |
|
|
rm -rf "$HOME/Library/Application Support/Chromium/Default/Service Worker/ScriptCache" |
|
|
ln -s "$CACHEDIR/Chromium/Service Worker/ScriptCache" "$HOME/Library/Application Support/Chromium/Default/Service Worker/ScriptCache" |
|
|
fi |
|
|
|
|
|
# Opera Cache |
|
|
mkdir -p "$CACHEDIR/Opera/com.operasoftware.Opera" |
|
|
if [ ! -L "$HOME/Library/Caches/com.operasoftware.Opera" ] |
|
|
then |
|
|
rm -rf "$HOME/Library/Caches/com.operasoftware.Opera" |
|
|
ln -s "$CACHEDIR/Opera/com.operasoftware.Opera" "$HOME/Library/Caches/com.operasoftware.Opera" |
|
|
fi |
|
|
|
|
|
# Safari Cache |
|
|
mkdir -p "$CACHEDIR/Safari/com.apple.Safari" |
|
|
mkdir -p "$CACHEDIR/Safari/com.apple.Safari.SafeBrowsing" |
|
|
if [ ! -L "$HOME/Library/Caches/com.apple.Safari" ] |
|
|
then |
|
|
rm -rf "$HOME/Library/Caches/com.apple.Safari" |
|
|
ln -s "$CACHEDIR/Safari/com.apple.Safari" "$HOME/Library/Caches/com.apple.Safari" |
|
|
fi |
|
|
if [ ! -L "$HOME/Library/Caches/com.apple.Safari.SafeBrowsing" ] |
|
|
then |
|
|
rm -rf "$HOME/Library/Caches/com.apple.Safari.SafeBrowsing" |
|
|
ln -s "$CACHEDIR/Safari/com.apple.Safari.SafeBrowsing" "$HOME/Library/Caches/com.apple.Safari.SafeBrowsing" |
|
|
fi |
|
|
|
|
|
# Apple Music Cache |
|
|
mkdir -p "$CACHEDIR/com.apple.Music" |
|
|
if [ ! -L "$HOME/Library/Caches/com.apple.Music" ] |
|
|
then |
|
|
rm -rf "$HOME/Library/Caches/com.apple.Music" |
|
|
ln -s "$CACHEDIR/com.apple.Music" "$HOME/Library/Caches/com.apple.Music" |
|
|
fi |
|
|
|
|
|
# Spotify Cache |
|
|
mkdir -p "$CACHEDIR/Spotify/com.spotify.client" |
|
|
mkdir -p "$CACHEDIR/Spotify/PersistentCache" |
|
|
if [ ! -L "$HOME/Library/Caches/com.spotify.client" ] |
|
|
then |
|
|
rm -rf "$HOME/Library/Caches/com.spotify.client" |
|
|
ln -s "$CACHEDIR/Spotify/com.spotify.client" "$HOME/Library/Caches/com.spotify.client" |
|
|
fi |
|
|
if [ ! -L "$HOME/Library/Application Support/Spotify/PersistentCache" ] |
|
|
then |
|
|
rm -rf "$HOME/Library/Application Support/Spotify/PersistentCache" |
|
|
ln -s "$CACHEDIR/Spotify/PersistentCache" "$HOME/Library/Application Support/Spotify/PersistentCache" |
|
|
fi |
|
|
|
|
|
# VSCodium Cache |
|
|
mkdir -p "$CACHEDIR/VSCodium/Cache" |
|
|
mkdir -p "$CACHEDIR/VSCodium/CachedData" |
|
|
if [ ! -L "$HOME/Library/Application Support/VSCodium/Cache" ] |
|
|
then |
|
|
rm -rf "$HOME/Library/Application Support/VSCodium/Cache" |
|
|
ln -s "$CACHEDIR/VSCodium/Cache" "$HOME/Library/Application Support/VSCodium/Cache" |
|
|
fi |
|
|
if [ ! -L "$HOME/Library/Application Support/VSCodium/CachedData" ] |
|
|
then |
|
|
rm -rf "$HOME/Library/Application Support/VSCodium/CachedData" |
|
|
ln -s "$CACHEDIR/VSCodium/CachedData" "$HOME/Library/Application Support/VSCodium/CachedData" |
|
|
fi |
|
|
|
|
|
# JetBrains Products Cache & Logs |
|
|
mkdir -p "$CACHEDIR/JetBrains/Caches" |
|
|
if [ ! -L "$HOME/Library/Caches/JetBrains" ] |
|
|
then |
|
|
rm -rf "$HOME/Library/Caches/JetBrains" |
|
|
ln -s "$CACHEDIR/JetBrains/Caches" "$HOME/Library/Caches/JetBrains" |
|
|
fi |
|
|
mkdir -p "$CACHEDIR/JetBrains/Logs" |
|
|
if [ ! -L "$HOME/Library/Logs/JetBrains" ] |
|
|
then |
|
|
rm -rf "$HOME/Library/Logs/JetBrains" |
|
|
ln -s "$CACHEDIR/JetBrains/Logs" "$HOME/Library/Logs/JetBrains" |
|
|
fi |
|
|
|
|
|
# /usr/bin/chflags hidden "/Volumes/RAMD" #Hide RAMD volume |
|
|
fi |
|
|
|
|
|
unset CACHEDIR |
|
|
|
|
|
EOF |
|
|
|
|
|
fi |
|
|
|
|
|
if [ -f "$FILE" ]; then |
|
|
sudo defaults write com.apple.loginwindow LoginHook "$FILE" |
|
|
fi |
|
|
|
|
|
chmod a+x $FILE |
|
|
|
|
|
unset FILE |