MAC – 맥 부팅/종료 속도가 평상시보다 느려졌을 때 복구하는 방법

출처 : http://macnews.tistory.com/340

들어가며
OS X을 새 버전으로 업그레이드 한 후 시스템 부팅 속도나 종료 속도가 이전에 비해 느려진 경험을 해본 적 있으십니까? 혹은 메모리나 하드를 증설 했는데 이런 증상이 나타나신다구요?
종종 시스템 에러로 인해 루트 폴더 (/)의 소유권이 사용자 계정으로 잘못 할당되는 경우가 있는데 이를 다시 시스템에 반납해 OS X의 하드웨어 드라이버 (kext) 캐시를 정상적으로 생성할 수 있도록 바로잡아주는 내용입니다. 시스템 부팅시나 종료시 나타나는 딜레이를 잡는데 효과가 있어 OS X 스노우 레퍼드 시절부터 널리 사용되어 오고 있습니다. 터미널 명령어를 다루어야 하기 때문에 초보자 분들이 지레 겁먹으실 수 있는데 터미널 실행 후 아래 순서대로만 입력해 주시고 맥을 재부팅 해주시면 됩니다.
적용 방법

1. 응용 프로그램 폴더 > 유틸리티 폴더에서 ‘터미널’을 실행한 후 아래 명령어를 입력해 줍니다. // 루트 폴더 ‘/’ 의 소유권을 admin 그룹의 root 로 재지정하는 명령어입니다.
[code]sudo chown root:admin /[/code]
2. 다시 아래 명령어를 입력해 줍니다. // 이 명령어는 부팅 디스크의 시스템 커널 확장자들을 업데이트하고, 또 새로운 커널 확장자가 있는 경우 이를 캐싱 내역에 업데이트하는 작업을 해줍니다. 이번 명령어는 작업 완료까지 다소 시간이 소모되고, 위 이미지에서 보라색으로 표시한 부분처럼 몇몇 kext 들은 캐싱이 제대로 되지 않는 경우가 발생하는데 이는 캐싱 작업 중 흔히 나타나는 경고 문구입니다. 또한 OS X 버전에 따라, 그리고 시스템에 설치한 하드웨어나 소프트웨어에 따라 보라색 부분의 내용이 상이할 수 있습니다.
[code]sudo kextcache -system-prelinked-kernel[/code]
3. 다음 명령어를 입력해 커널 확장자 캐시를 재생성해줍니다.
[code]sudo kextcache -system-caches[/code]
4. 마지막으로 아래 명령어를 입력해 시스템 폴더의 서브 폴더 및 파일들의 권한을 복구합니다.
[code]diskutil repairPermissions /[/code]
모든 명령어 입력을 마친 후 시스템을 재부팅해 주십시오. 시스템 부팅/종료가 느려지는 원인이 루트 폴더의 소유권 문제인 경우 커널 확장자 캐싱이 제대로 안되던 문제가 해결되면서 부팅/종료 속도가 크게 향상됩니다.

Shell – Copy to clipboard in shell

i’ve studied about shell.
i wonder, how can i copy shell path to clipboard in shell???

so i searched to google engine.
this is result page.

we can use ‘pbcopy’script.

[code]
$ pwd | pbcopy
[/code]

There’s also the program pbpaste that pastes (pb = pasteboard, i.e. clipboard).

thank you!!

Mac – Using GitLab

원문

Using gitLab

Mac에 GitLab를 설치하기 위해서는 몇 가지 전제 조건이 필요한데, 본인은 한 가지 조건을 더 부가했다. 뭐 거창한 것은 아니고, 실제 서버(하드웨어)에 설치하는 것이 아닌 개인용 맥북프로에 설치하는 것이어서 git이라는 운영용 계정을 따로 만들지 않고 개인 계정을 그대로 활용했다. 이 점에 주의하면, 호스팅용 세팅도 별반 다르지 않다. 또한 Mac이 아니라면 GitLab의 설치 문서만으로도 간단히 설치가 된다(Gitosis는 조금 신경을 써야 겠지만…).

참고

* GitLab을 설치하지 않고 단순히 Mac에 gitosis를 설치하여 Git 서버를 관리하는 목적이라면 다음 두 포스트 만으로도 충분할 것이다.
Installing gitosis on Mac OS X
Hosting Git repositories, The Easy (and Secure) Way

필수 조건

  • Ruby 1.9.2-p290Ruby on Rails 3.1
  • sqlite(Mac에는 /usr/bin/sqlite3에 설치 되어 있을 것이다.)
  • git
  • giosis
  • GitLab
  • Ruby 1.9.2-p290 설치하기

    [code]$ brew install ruby[/code]
    * brew가 설치되어 있지 않을 경우 설치를 해주자. (open source)
    [code]/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"[/code]

    버전을 확인 후 다음으로 진행한다. 만약 이전 버전이 나온다면 이전버전에 대한 처리를 해주자.

    Ruby on Rails 3.1 설치하기

    [code]sudo gem update rails[/code]

    git 설치되었나 확인하기

    아마 설치되어있을 것이다.

    gitosis 설치하기

    git이 설치되어 있으므로 다음과 같이 저장소를 복사한다. (설치한 소스는 모두 홈 디렉토리를 이용했다.)
    [code]
    git clone git://eagain.net/gitosis.git
    cd gitosis
    sudo python setup.py install
    [/code]

    gitosis를 설치하면 아래와 같은 메시지를 확인 할 수 있다.
    [code]
    …..
    Finished processing dependencies for gitosis==0.2
    [/code]

    SSH를 이용하기 위한 공개 키 생성하기

    만약 기존에 GitHub를 사용하고 있다면 기존 키를 사용해도 무방하다.
    SSH 키 생성과 관련하여 자세한 내용은 링크를 참고하라.
    (키 생성위치 예: /Users//.ssh)
    [code]// 현재 홈 디렉토리 이므로(/Users/<user>) 없다면 디렉토리를 생성해주자.
    cd .ssh[/code]

    // 그리고, 메일주소를 추가하여 공개 키 생성
    ssh-keygen -t rsa -C “@gmail.com”

    공개 키까지 생성하였으면 gitosis를 위해 다음 두 가지 추가 작업을 해야 하는데, 한 가지 주의할 점이 있다. 위에서 미리 언급했듯이 서버 관리를 위해 git이라는 계정을 따로 만들지 않고 사용자 계정을 그대로 사용한다고 했으니 다음 볼드 글자(사용자 계정) 부분만 신경쓰면 된다.
    // 현재 위치: /Users//.ssh
    sudo -H -u ezcocoa gitosis-init < ./id_rsa.pub 생성시 아래와 같은 메세지를 확인 할 수 있다. [code] Initialized empty Git repository in /Users/hojunbaek/repositories/gitosis-admin.git/ Reinitialized existing Git repository in /Users/hojunbaek/repositories/gitosis-admin.git/ [/code] [code]// 마지막으로... chmod 755 ~/repositories/gitosis-admin.git/hooks/post-update[/code]

    GitLab 설치하기

    GitLab의 설치 문서를 그대로 따라하기만 하면된다.
    [code]// 현재 홈 디렉토리이다.
    git clone git://github.com/gitlabhq/gitlabhq.git
    cd gitlabhq/[/code]

    [code]// 다음 라이브러리들 부터 설치한다.
    sudo easy_install pygments[/code]

    [code]// 위 라이브러리 설치가 끝난 후…
    sudo gem install bundler[/code]

    [code]// 다시… 약간 시간이 걸린다.
    bundle[/code]

    [code]// 위 작업까지 이상이 없다면…
    RAILS_ENV=production rake db:setup[/code]

    [code]// 마지막으로… 다음과 같은 기본정보로 관리자 계정이 생성된다.
    // ID: admin@local.host
    // PW: 5iveL!fe
    RAILS_ENV=production rake db:seed_fu[/code]

    자 이제 서버를 실행시킬 차례인데, 위에서 미리 언급했듯이 git 계정을 사용하지 않고 사용자 계정(예: )을 사용할 것이므로… GitLab의 gitosis.yml의 설정을 변경해야 한다.
    [code]// 바로 전 작업했던 위치가, /User/<user>/gitlabhq 이였으므로…
    cd config
    vi gitosis.yml
    [/code]

    파일 내용은 다음과 같을 것이다.
    [code]admin_uri: git@localhost:gitosis-admin.git
    base_path: /home/git/repositories/
    host: localhost
    git_user: git [/code]

    다음과 같이 수정한다.
    [code]admin_uri: <user>@localhost:gitosis-admin.git
    base_path: /Users/<user>/repositories/
    host: localhost
    git_user: <user>

    다 수정하였으면 다음과 같이 서버를 실행해 보자.
    [code]
    // 당연히 실행 위치는 gitlabhq 이다.
    cd ..[/code]

    [code]// 서버 실행
    rails s -e production[/code]

    서버가 실행된 후, http://localhost:3000/ 주소로 브라우저에서 접속하면 로그인 화면이 뜰 것이다. 위에서 미리 생성된 관리자 계정으로 접속 된다면
    기본 설치는 끝났다.

    * bundle 입력 중 아래와 같은 문제가 발생할 수 있다.
    [code] `bin_path’: can’t find executable rake for rake-0.8.7 (Gem::Exception)
    [/code]

    이 문제는 1.9.2문제로 아래와 같이 해결할 수 있다.

    [code]sudo ln -s /usr/local/bin/ruby /opt/local/bin/ruby[/code]

    버전 확인
    [code]ruby -v
    gem list -d
    rake –version
    [/code]

    다시 설치.
    [code]
    gem install rake
    [/code]

    Mac – i’m using

    0xED.app
    Address Book.app
    Adobe
    Adobe Acrobat 9 Pro
    Adobe After Effects CS4
    Adobe Bridge CS4
    Adobe Contribute CS4
    Adobe Device Central CS4
    Adobe Dreamweaver CS4
    Adobe Drive CS4
    Adobe Encore CS4
    Adobe Extension Manager CS4
    Adobe Fireworks CS4
    Adobe Flash CS4
    Adobe Illustrator CS4
    Adobe InDesign CS4
    Adobe Media Encoder CS4
    Adobe Media Player.app
    Adobe OnLocation CS4
    Adobe Photoshop CS4
    Adobe Premiere Pro CS4
    Adobe Soundbooth CS4
    Adobe Soundbooth Scores
    Air Mouse Server.app
    Air Video Server.app
    Aji Reader Service.app
    Alfred.app
    Amnesty.app
    Aperture.app
    App Scanner.app
    App Store.app
    AppZapper.app
    Art Text 2.app
    ArtRage 2.5 Wacom Edition.app
    Automator.app
    BBEdit.app
    CHM View.app
    CSSEdit.app
    Caffeine.app
    Calculator.app
    Chess.app
    ColorPicker.app
    DVD Player.app
    Dashboard.app
    Dictionary.app
    Doxygen.app
    Dropbox.app
    Emacs.app
    FaceTime.app
    Firefox.app
    Font Book.app
    GarageBand.app
    Google Chrome.app
    Graphviz.app
    HanwordViewer.app
    Image Capture.app
    Install Xcode.app
    JsonParser.app
    Kindle.app
    Launchpad.app
    MPlayerX.app
    MacX iPhone DVD Video Converter Pack.app
    Mail.app
    Mariner Write.app
    Microsoft Communicator.app
    Microsoft Messenger.app
    Microsoft Office 2011
    Mission Control.app
    Mobile Mouse Server.app
    Movist.app
    MusicManager.app
    OmniFocus.localized
    OmniGraffle Professional 5.app
    Papers2.app
    Parallels Desktop.app
    Pen Tablet.localized
    Photo Booth.app
    Picasa.app
    Preview.app
    QuickTime Player.app
    Racket v5.1.3
    RealVNC
    Remote Desktop Connection.app
    ResizeIt.app
    SQLiteManager
    Safari.app
    ShoveBox.app
    Skitch.app
    Skype.app
    Stickies.app
    StuffIt
    System Preferences.app
    TextEdit.app
    Time Machine.app
    TinyGrab.app
    Toast 9 Titanium
    Utilities
    Vuze 프로그램 제거자 .app
    Vuze.app
    WriteRoom.app
    calibre.app
    eclipse
    iAlertU.app
    iCal.app
    iChat.app
    iChm.app
    iDVD.app
    iDeveloper – Color Code Converter.app
    iMovie.app
    iPhoto.app
    iStat Menus.app
    iTeleport Connect.app
    iTunes.app
    iWeb.app
    iWork ’08
    iWork ’09
    keka.app
    mit-scheme.app

    Mac – root 사용자를 활성화하는 방법 on OS X Lion

  • Apple 메뉴에서 시스템 환경설정…을 선택합니다.
  • 보기 메뉴에서 사용자 및 그룹을 선택합니다.
  • 잠금을 클릭하고 관리자 계정으로 인증합니다.
  • 로그인 옵션…을 클릭합니다.
  • 오른쪽 아래에서 “편집…” 또는 “연결…” 단추를 클릭합니다.
  • “디렉토리 유틸리티 열기…” 단추를 클릭합니다.
  • 디렉토리 유틸리티 윈도우에서 잠금을 클릭합니다.
  • 관리자 계정 이름과 암호를 입력한 다음 승인을 클릭합니다.
  • 편집 메뉴에서 Root 사용자 활성화를 선택합니다.
  • 사용하려는 root 암호를 암호 및 확인 필드에 모두 입력한 다음 승인을 클릭합니다.
  • 원문

    Mac – Using .bashrc in on Mac OSX

    리눅스, 유닉스 그리고 Mac OS X에서

    당신의 홈 디렉토리에 존재하는 또는 만들어 .bash_profile과 .bashrc를 사용한다면?

    사실 두개의 파일은 다르게 동작된다.

    무엇을 다를까?

    bash man page에 의하면…
    .bash_profile은 login shell에 의해 동작되고, .bashrc 는 상호작용하는 non-login shell에 의해 작동된다.

    그렇다면 login shell과 non-login shell은 무엇일까?

    콘솔을 통해 로그인 했을 때, 각각 머신위에서 있긴 한데,

    ssh를 통한 원격이라면 초기 comment 프롬프트 전에! 당신의 쉘 설정에 따라 .bash_profile이 실행된다.

    하지만, 만약 당신이 머신 위에 이미 로그인 상태고 그게 Gnome이나 KDE이내에 새로운 터미널이라면(xterm) .bashrc가 실행된다 (초기 comment 프로프트 전에).

    또한 당신이 터미널에서 /bin/bash 타이핑하여 새롭게 시작하였을 때 .bashrc는 작동하게 된다.

    두개 파일은 뭐가 다를까?

    .bash_profile에 위치하고, 당신의 컴퓨터 머신이 로그인되었을때 약간의 정보(평균 속도, 메모리 사용량, 현재 유저, 등등)를 보여주기 원한다고 가정했을 때.

    만약 당신이 .bashrc에 놓는다면, 당신은 매번 새로운 터미널이 열릴때마다 보게 된다.

    Mac OS X – 예외

    문제인 즉

    맥 OS X 시스템에서는 리눅스와 다르게 .bashrc 파일을 읽어드리지 않는다.

    하지만 emacs는 .bashrc를 읽어 드리게 되는데 이때 동일한 환경을 주기위해서는

    동일한 환경파일을 읽어드리도록 해야한다면?

    .bashrc를 읽어드리지 못하는 대신 .bash_profile을 읽어드리게 되는데 이때 여기서

    .bashrc를 읽어드리도록 아래와 같이 수정하여 문제를 해결했다.

    [code]
    if [ -f ~/.bashrc ];
    then
    source ~/.bashrc
    fi
    [/code]

    자료:http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html