Quantcast
Channel: .log » HOWTO
Viewing all articles
Browse latest Browse all 10

о трансплантациях

$
0
0

в силу разных привычек (безопастность, эффективность, надежность, итд) я достаточно часто использую в повседневной жизни RAM drive — скажем, чтобы держать там кэш активных программ. и вот, например, как в Mac OS X это можно применить к Chromium[1]:

#!/usr/bin/env python[2]

# Create RAMDisk for Chromium's cache and extensions' temporary files
# By dsjkvf (2013) dsjkvf@gmail.com

import sys
import os
import shutil

def create():
  # Set the size of the RAMDisk in megabytes
  sizeMBytes = 500
  sizeBytes = str(int(sizeMBytes) * 1953)
  # Create RAMDisk
  os.system(
  'diskutil erasevolume HFS+ \"RAMDisk\" `hdiutil attach -nomount ram://'+sizeBytes+'`')

def initialize():
  # Enlist the directories in question
  dirHDDSSD = ['~/Library/Caches/Chromium/Default/Cache', 
  '~/Library/Caches/Chromium/Default/Media Cache', ...[3]]
  dirRAM = ['/Volumes/RAMDisk/Chromium/Cache','/Volumes/RAMDisk/Chromium/Media Cache', ...]
  #Create RAMDisk directories
  for i in dirRAM:
    try:
      os.makedirs(os.path.expanduser(i))
    except OSError, e:
      pass
  # Symlink RAMDisk directories to corresponding mountpoints on the HDD/SSD
  for (i,j) in zip(dirHDDSSD,dirRAM):
    if os.path.exists(os.path.expanduser(i)):
      if not os.path.islink(os.path.expanduser(i)):
        shutil.rmtree(os.path.expanduser(i))
        os.symlink(os.path.expanduser(j), os.path.expanduser(i))
    else:
      try:
        os.symlink(os.path.expanduser(j), os.path.expanduser(i))
      except OSError, e:
          os.unlink(os.path.expanduser(i))
          os.symlink(os.path.expanduser(j), os.path.expanduser(i))
  # Hide the RAMDisk
  os.system('chflags hidden /Volumes/RAMDisk')

def main():
  if not len(sys.argv) > 1:
    create()
    initialize()
    sys.exit()
  else:
    print 'ATTENTION: No command line parameters are supposed to be used with this script.' 
    print 'ATTENTION: Please, make sure to edit the script first.'
    sys.exit()

main()

а для того, чтобы диск не исчезал бесследно после ухода в standby-режим можно использовать программу SleepWatcher, написав для нее элементарное правило:

#!/bin/sh
if [ ! -d "/Volumes/RAMDisk" ]; then
  /Path/to/the/aforementioned/script
fi

  1. предпочитаю Chromium в силу того, что он не соджержит закрытого кода Google. можно так же посмотреть в сторону SRWare Iron, хоть там все и не так однозначно.  ↩

  2. да, python совершенно бесповоротно очаровал меня исключительнейшей простой и логичностью.  ↩

  3. например, это может быть PNaClTranslationCache, или расположенные в ~/Library/Application Support/Chromium/Default/ каталоги Extension State и Extension Rules. или что-то еще.  ↩

  

Viewing all articles
Browse latest Browse all 10

Trending Articles


Vimeo 10.7.1 by Vimeo.com, Inc.


UPDATE SC IDOL: TWO BECOME ONE


KASAMBAHAY BILL IN THE HOUSE


Girasoles para colorear


Presence Quotes – Positive Quotes


EASY COME, EASY GO


Love with Heart Breaking Quotes


Re:Mutton Pies (lleechef)


Ka longiing longsem kaba skhem bad kaba khlain ka pynlong kein ia ka...


Vimeo 10.7.0 by Vimeo.com, Inc.


FORECLOSURE OF REAL ESTATE MORTGAGE


FORTUITOUS EVENT


Pokemon para colorear


Sapos para colorear


Smile Quotes


Letting Go Quotes


Love Song lyrics that marks your Heart


RE: Mutton Pies (frankie241)


Hato lada ym dei namar ka jingpyrshah jong U JJM Nichols Roy (Bah Joy) ngin...


Long Distance Relationship Tagalog Love Quotes