Showing posts with label mac. Show all posts
Showing posts with label mac. Show all posts

2014-08-17

외장 DVD 드라이브 에러: Valid DVD Drive could not be found [-70012]

맥에서 DVD Player가 먹통이 될때가 있다.

 

외장 DVD에 DVD를 넣으면 에러메세지는 이렇다. Valid DVD Drive could not be found [-70012]

 

VLC로 재생하면 된다지만 또 깔기가 귀찮아서 다음과 같이 해결했다.

 

먼저 백업을 한다.

sudo cp /System/Library/Frameworks/DVDPlayback.framework/Versions/A/DVDPlayback /System/Library/Frameworks/DVDPlayback.framework/Versions/A/DVDPlayback.bak

 

그 다음에 프레임워크를 패치한다. 정확히 무슨 일을 하는지는 모르겠으나 이렇게 하면 일단 된다.

sudo perl -pi -e 's|\x49\x6E\x74\x65\x72\x6E\x61\x6C|\x45\x78\x74\x65\x72\x6E\x61\x6C|g' /System/Library/Frameworks/DVDPlayback.framework/Versions/A/DVDPlayback

 

에러가 난다면 쉼표(‘)를 다시 바꿔서 쓰다 보면 될것이다.

 

참고:

http://www.skylineosx.com/fix-valid-dvd-drive-could-not-be-found-70012/#.U_BG4LySws0

2014-08-16

맥북프로 15인치 2010 Mavericks SSD Trim Enabler

MacBook Pro mid 2010 15” 는 비SSD 모델이다. SSD를 달았지만 원래 지원이 안되는 모델이라 따로 수동으로 해줘야 한다.

 

기본적으로는 Trim은 No로 되어있다.

Screen Shot 2014 08 15 at 11 35 36 PM

 

Trim enabler를 써보자. 유료지만 구입 안해도 무료로 트림을 활성화 시킬수 있다. 간단히 버튼만 on으로 클릭하면 된다.

Screen Shot 2014 08 16 at 12 43 42 AM

 

다음과 같이 활성화 되었다.

Screen Shot 2014 08 15 at 11 55 44 PM

 

 

끝.

2014-03-09

MacBookPro mid 2010, SSD 교체 및 OptiBay 설치

4년 째 쓰고 있는 MBP 2010 mid 완전 느리다.

 

2014 새로운 부활을 위해 SSD와 OptiBay 작전을 실시하였다.

 

원래 HDD 자리 > SSD로 교체

원래 CD-ROM 자리 > OptiBay로 교체하고 원래 쓰던 HDD를 넣는다.

 

2010 mid의 경우엔 메인베이에 SSD를 안 넣고 옵티베이에 넣으면 잠자기에서 문제가 생긴다고 한다. 그래서 HDD를 옵티베이에 넣었다. (2011 이후는 괜찮다고 함.)

 

SSD 교체는 누워서 떡 먹기. 난제는 옵티베이였다.

 

작업 전 사진

2014 02 25 01 02 07

 

작업 후 사진

2014 02 25 01 40 44

 

사진으로 보기엔 쉬워 보이지만, 나름 1시간이나 걸렸다. 원래 배터리도 분리해야 하는데, 배터리를 분리할 “ㅅ”자 모양 드라이버가 없다! 그냥 했다... 

 

Y-1 드라이버가 필요하다.(애플 이놈들아…) 없어도 된다. 근데 조금 불안함...ㅋ

http://www.ifixit.com/Tools/Tri-wing-Y1-Screwdriver/IF145-107

 

작업 하면서 먼지도 털고… 쓰던 씨디롬은 외장 케이스에 넣어서 잘 쓰고 있다.

 

속도는 대략 빠르다. 초당 R/W 250m 정도. 원래 초당 60메가 였던 점을 감안 하면 기적적으로 빨라졌다. 약 4배 쯤?

Screen Shot 2014 03 09 at 12 36 20 AM 

Mavericks인데 Trim Enabler를 써야지 트림 활성화가 되었다.

Screen Shot 2014 03 09 at 12 37 40 AM

 

역시 SSD는 진리였다. 4년은 더 쓸 수 있을 것 같다. 오래 오래 살아라 내 맥탱이...

 

SSD는 삼성 840 EVO 120G (SATA 3인데, 2010은 2밖에 안 돼서 그냥 씀)

옵티베이는 아마존표 http://www.amazon.de/gp/product/B00A2VNUK4/ref=oh_details_o05_s00_i00?ie=UTF8&psc=1

 

아마존 꺼 보다는 OWC 에서 나온 게 더 좋아보이던데… Data Doubler 던가...

링크: http://eshop.macsales.com/item/OWC/DDAMBS0GB/

 

이 OWC Data doubler는 써보진 않아서 모르겠다. 뭐 그래도 전문회사 제품이니 좋아 보인다.

2014-01-12

맥에서 ssh 비밀번호 자동 저장하고, 자동접속 하기

매번 비밀번호 치는게 번거롭다.

 

1. 퍼블릭 키를 만든다. 터미널에서 한다.

ssh-keygen

 

질문을 3번 하는데 전부 엔터치면 된다. 이런 식이다.

이름@호스트 $ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):[엔터]
Enter passphrase (empty for no passphrase): [엔터]
Enter same passphrase again: [엔터]
Your identification has been saved in /home/jsmith/.ssh/id_rsa.
Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub.
The key fingerprint is:
33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9 jsmith@local-host

 

2. 퍼블릭 키를 복사한다. 맥에는 기본적으로 ssh-copy-id가 없다. brew로 설치한다.

brew install ssh-copy-id

 

복사한다.

ssh-copy-id -i ~/.ssh/id_rsa.pub 사용자이름@리모트머신

 

3. 접속해 본다. 비밀번호 없이 된다!

ssh 사용자이름@리모트머신

 

 

참고:

http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/

2014-01-11

iPhone 4 iOS 6.1.3 완탈

반탈을 진행하고, 거기에 업뎃하는 방식이다. 약간 맘에 안들지만 뭐 잘 되니 그려려니 한다.

 

1. 먼저 반탈을 진행한다.

http://www.redmondpie.com/jailbreak-ios-6.1.3-on-pre-a5-iphone-and-ipod-touch-using-redsn0w-how-to-tutorial/

 

중요한 점은 6.1.3인데, 6.0.0 롬을 쓴다는 점이다. 그리고 cdma인지 gsm인지 잘 봐야한다.

 

황당한 점은 usb케이블인데, 하도 계속 실패해서, 케이블을 바꿔 보았더니 되는 거라! 이게 뭐냐 ㅠㅠ 계속 missing 어쩌고 떳음

 

2. 반탈하고 재부팅 하면 Cydia가 없다! 니미 뭐냐 ㅠㅠ 다시 탈옥툴로 재부팅을 해야 한다. 재부팅 하면 시디아 있다. 기둥 뒤에 있었니?ㅠㅠ

http://www.iphonehacks.com/2013/03/jailbreak-ios-6-1-3-using-redsn0w.html

 

3. 완탈패치를 한다.

http://www.redmondpie.com/how-to-jailbreak-ios-6.1.3-6.1.5-untethered-with-p0sixspwn/

 

2014-01-08

맥/리눅스 라즈베리파이 SD Card 복사(clone)하기

터미널에서 SD Card 위치 확인하기

(맥) diskutil list

(리눅스) sudo dmesg | tail

 

1. 일반복사

sudo  dd  if=/dev/disk번호  of=~/Desktop/Pi.img

 

2. 안전복사, bs=1는 block size다

sudo  dd  if=/dev/disk번호  of=~/Desktop/Pi.img  bs=1m

 

3. 압축복사, 16기가가 2기가로 줄여버린다. (리눅스에서는 bs=1m을 bs=1M로 고친다)

sudo  dd  if=/dev/disk번호  bs=1m  |  gzip  >  ~/Desktop/Pi.gz

 

4. 복사 하는 중에 진행 상황 보기, pv설치 필요

 

pv설치

(맥) brew install pv    /  (리눅스) sudo apt-get install pv  

 

pv활용 (리눅스에서는 bs=1m을 bs=1M로 고친다)

sudo  dd  if=/dev/disk번호  bs=1m  |  pv  |  dd  of=~/Desktop/Pi.img

 

5. 진행상황 보면서 압축복사 (리눅스에서는 bs=1m을 bs=1M로 고친다)

sudo  dd  if=/dev/disk번호  bs=1m  |  pv  |  gzip  >  ~/Desktop/Pi.gz

 

복사된 이미지는 바탕화면에 있다.

 

참고:

http://stackoverflow.com/questions/14203873/cloning-a-bootable-sd-card-from-linux-using-dd-command

http://smittytone.wordpress.com/2013/09/06/back-up-a-raspberry-pi-sd-card-using-a-mac/

2014-01-06

맥에서 라즈베리파이 Raspbian-wheezy SD Card 굽기

맥에서 편하게 라즈베리파이 SD Card를 만들 수 있다. 하지만 정해진 방법을 따르지 않으면 에러가 난다. 자 해보자.

 

Mac OS X Mavericks에서 진행하였다. 잘 된다.

 

1. 공식 SD Formatter를 받는다. 이걸로 포맷을 안 하고, 맥 기본 유틸로 하면 에러난다. 반드시 이것을 쓰자.

https://www.sdcard.org/downloads/formatter_4/eula_mac/

 

2. RPi Card Builder 를 받는다.

http://alltheware.wordpress.com/2012/12/11/easiest-way-sd-card-setup/

 

3. 라즈베리파이 공식 OS인 Raspbian wheezy를 받는다.

http://www.raspberrypi.org/downloads

 

밑에 있는걸로 받는다. NOOBS 이거 아니다.

 Screen Shot 2014 01 05 at 21 08 15

 

직접 받거나 토렌트로 받는다. 토렌트가 더 빨리 받아진다.

 

4. 파일이 제대로 되었는지 확인한다. sha1 checksum을 해본다. 이것은 파일이 원본과 같은지 검증하는 과정이다.

 

맥에서 터미널을 연다.

openssl sha1 파일이름.zip

 

위 스샷에 나온 것과 같은지 대조해 본다. 위에는 

체크섬: ade48c874f8e4b694175de4c87d7357960961fbf

 

비교해 보고 같으면 파일을 맞게 받은 것이다. 압축을 풀면 img 파일이 나온다.

 

5. 설치한다. 과정은 간단하다. 하지만 함정이 있다.

 

sd-formatter로 포맷 한다. 관리자 암호를 물어본다. 퀵포맷으로 한다.

Screen Shot 2014 01 05 at 21 14 16

 

RPi Card Builder 실행시킨다. 이미지 파일이 어딨냐고 물어본다. 그러면 카드를 꼽았냐고 물어본다. 여기서 조심해야 한다!

Screen Shot 2014 01 05 at 21 16 01

 

먼저 Select None을 누르고 해당 카드를 선택해야 한다. 안 그러면 모든 하드가 다 날라간다!!!!!

 

기다리면 끝난다.

 

 

참고:

http://elinux.org/RPi_Easy_SD_Card_Setup

 

2013-10-30

맥/리눅스: 삭제된 파일이 여전히 locate에서 검색될 때 (미해결)

locate는 파일 찾는 유용한 방법이다. 그런데 방금 삭제한 파일인데도 여전히 나타날 때가 있다.

Screen Shot 2013 10 30 at 2 15 00 AM

 

파일목록을 데이터베이스로 저장하는 방식이라 항상 업데이트가 되진 않으므로, 수동으로 업데이트 해야 한다.

 

맥에서 하는 방법: 주의점 반드시 sudo로 해야 한다. 안 그러면 엉킬 수도 있다고 함.

sudo /usr/libexec/locate.updatedb

 

리눅스에서 하는 방법: 맥과 거의 유사하다. 이것 역시 루트권한으로 한다.

sudo updatedb

 

이렇게 하면 db가 업데이트 되어 삭제된 파일이 나타나지 않아야 하지만!

Screen Shot 2013 10 30 at 2 18 52 AM

 

여전히 있다… plist는 불멸의 파일인가? 이 에러는 뭔가… 해결책을 찾아야 함.

 

 

2013-10-24

타임머신 에러

잘 쓰던 라즈베리파이 타임머신이 갑자기 이런 메세지가 난다.

 

Time Machine completed a verification of your backups on “sulli”. To improve reliability, Time Machine must create a new backup for you.

Click Start New Backup to create a new backup. This will remove your existing backup history. This could take several hours.

Click Back Up Later to be reminded tomorrow. Time Machine won’t perform backups during this time.

 

Screen Shot 2013 10 24 at 00 17 56

 

hostname을 몇번 바꾸었더니 깨졌나 보다. 문제를 해결해야 하는데 아직 모르겠다.

 

나랑 비슷한 증상을 가진 사람들이 많은 듯. NAS의 문제다.

 

참고:

https://discussions.apple.com/thread/3684176

http://pondini.org/TM/C13.html

2013-10-23

MacBook Pro 2010 시스템 리셋, SMC 재설정, PRAM 소거

컴퓨터가 느려지면 이렇게 하면 좋다.

 

1. SMC 재설정

http://support.apple.com/kb/HT3964?viewlocale=ko_KR

참고사용자가 분리할 수 없는 배터리가 장착된 휴대용 컴퓨터에는 MacBook Pro (Early 2009) 이상, MacBook Air의 모든 모델 및 MacBook (Late 2009)가 포함됩니다.

  1. 컴퓨터를 종료합니다.
  2. MagSafe 전원 어댑터를 전원 공급원에 연결하고 Mac에 꽂습니다(연결되어 있지 않은 경우).
  3. 내장 키보드에서 왼쪽에 있는 shift-control-option 키와 전원 단추를 동시에 누릅니다.
  4. 눌렀던 키 모두와 전원 단추에서 동시에 손을 뗍니다.
  5. 전원 단추를 눌러 컴퓨터를 켭니다. 
    참고
    : SMC를 재설정하면 MagSafe 전원 어댑터 LED의 상태가 바뀌거나 일시적으로 꺼질 수 있습니다.

 

2. PRAM 소거

http://arisnoba.tistory.com/2630991

  1. MAC을 종료합니다.
  2. 키보드에서 Command, Option, P 및 R 키를 찾습니다. 4단계에서는 이러한 키를 동시에 눌러야 합니다.
  3. MAC을 켭니다.
  4. Command + Option + P + R 키를 길게 누릅니다. 이 키 조합은 녹색 화면이 나타나기 전, 부팅음이 들리기 전에 눌러야 합니다.
  5. 컴퓨터가 재시동되기 전까지 이 키를 누르고 있으면 두 번째로 시동음이 들립니다.
  6. 키를 놓습니다.

2013-10-22

맥에서 네트워크 드라이브에 .DS_Store 생성 안 하게 만드는 방법

터미널을 연다.

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

 

원래대로 되 돌리는 방법 true를 false로 바꾸면 된다.

defaults write com.apple.desktopservices DSDontWriteNetworkStores false

 

재부팅 하면 더 이상 생성이 안 된다.

 

현재 폴더 하부로 생성된 .DS_Store파일을 찾는 방법

find . -name '*.DS_Store'

 

지금까지 생성된 .DS_Store파일을 찾고, 지우는 방법

find . -name '*.DS_Store' -type f -delete

 

참고:

http://support.apple.com/kb/HT1629?viewlocale=ko_KR

http://danilo.ariadoss.com/how-to-recursively-remove-ds_store-files-on-mac-os-x/

2013-10-20

맥 터미널 프롬프트를 예쁘게 만들어 보자!

맥 터미널은 너무 밉게 생겼다. 사용성도 불편하고 나쁘다. 좋게 만들어 보자. 

Screen Shot 2013 10 19 at 9 55 38 PM

 

철학:

1. 내가 사용하는 컴퓨터의 이름이 나와야 한다. 여러 대의 컴퓨터를 쓰기 때문에 어떤 컴퓨터에 로그인 한 건지 모르면 안 된다.

2. 절대경로가 보여서 어느 위치에 있는지 쉽게 알 수 있어야 한다.

3. 중요한 정보는 굵은 글씨와 색깔로 알기 쉽게 표현한다.

 

현재 터미널 상황을 살펴보자. 이것이 기본 셋팅이다.

Screen Shot 2013 10 19 at 9 27 53 PM

다음과 같은데, 구조는 컴퓨터이름:경로 사용자이름$ 이렇게 되어있다.

 

보이는 것은 이렇고 실제 어떻게 구성되어 있는지 보자. 터미널을 열고 아래를 입력해 보자. 프롬프트 셋팅, 즉 PS1을 확인하는 것이다.

echo $PS1

 

그러면 이렇게 나올 것이다. 

\h:\W \u$ 

 

이것의 의미는

\h 컴퓨터 이름을 의미한다. host

: 그냥 이 땡땡(콜론)을 표시한다는 의미다. 문자 그대로 보인다는 의미.

\W 디렉토리 경로를 표시한다. Where \W는 단축경로, \w는 절대경로이다.

\u 유저이름이다. 사용하는 계정 이름. user

$ 이것도 이 문자 그대로 보인다는 뜻이다.

 

PS1="프롬프트셋팅" 커맨드를 입력하면 바뀐다. 터미널 재 시작 하면 원래대로 돌아오니 마음 놓고 해보자.

 

자 이제 포맷을 알았으니 재 구성을 해보자 내가 할 구성은 이렇다.

사용자이름@컴퓨터이름 절대경로 $

 

재 구성해 보면 이렇게 된다.

\u@\h \w $

 

커맨드 명령어의 구조는 이렇다. 단순하다.

PS1="프롬프트내용"

 

다음 커맨드를 입력해 보자. 영원히 바뀌는 것이 아니라 일시적으로 바뀌는 것이기에 마음 놓고 해 보자. 재 시작 하면 다시 원래대로 된다.

PS1="\u@\h \w $ "

 

그러면 다음과 같이 절대 경로로 보인다! 단축 경로로 보여서 항상 내가 어디에 있는지 헷갈리던 상황을 벗어난다!

Screen Shot 2013 10 19 at 9 32 12 PM

 

중요한 내용을 굵게(Bold) 처리하는 방법을 알아보자. Bold를 하기 위한 문법은 이렇다.

\033[01;32m\]볼드시킬내용\033[00m\]

 

중요한 내용을 색깔로 알아보기 쉽게 하기 위한 문법은 이렇다. 0;34m은 보라색이다.

\e0;34m\색깔바뀌는내용\e[m

 

내가 만들고 싶은 프롬프트 구조는 이렇다.

1. 사용자이름과 컴퓨터 이름이 굵은 글씨로 나온다.

2. 절대경로는 색깔(보라색)으로 굵은 글씨로 나온다.

3. 마지막 $ 표시는 색깔을 다시 없앤다.

 

이것들을 기반으로 재 구성해 보면 이렇게 된다.

PS1="\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w\[\033[00m\] $ "

 

명령어를 입력하면 이렇게 바뀐다.

Screen Shot 2013 10 19 at 9 45 47 PM

 

예쁘게 바뀌었다.

 

다시 비교해 보자. 원래 프롬프트다.

Screen Shot 2013 10 19 at 9 19 51 PM

 

내가 만든 형식이 적용된 프롬프트다.

Screen Shot 2013 10 19 at 9 20 35 PM

 

터미널을 껐다가 키면 이 셋팅이 사라지니까 영구히 저장해 보자.

 

맥에는 기본적으로 이 파일이 없으니 새로 만든다.

touch ~/.bash_profile

 

파일을 수정한다.

sudo nano ~/.bash_profile

 

이것을 추가한다.

export CLICOLOR=1

export CLICOLOR_FORCE=1

export LSCOLORS=Exfxcxdxbxegedabagacad

export PS1="\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w\[\033[00m\] $ "

 

위에 내용 설명이다.

export CLICOLOR=1 이것은 터미널에서 칼라를 쓰겠다는 뜻이다. 기본적으로 꺼져 있다.

export CLICOLOR_FORCE=1 이것은 언제나 항상 칼라로 보여주겠다는 뜻이다. always로 동작하게 해 준다.

export LSCOLORS=Exfxcxdxbxegedabagacad 이것은 칼라 셋팅값이다. 바꿀 수 있다. LSCOLOR 값을 수정하면 되는데 좀 귀찮다.

export PS1="\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w\[\033[00m\] $ " 방금 위에서 내가 만든 값이다. export를 붙여줘야 자동으로 등록된다.

 

터미널을 껏다가 키면 설정이 저장된 것을 알 수 있다.

Screen Shot 2013 10 19 at 10 11 22 PM

 

다시 원 상태로 복구 하려면 만든 ~/.bash_profile을 삭제하거나, 추가한 명령어를 지우면 된다. 간단하게 지워도 된다. 왜냐면 맥 디폴트가 이 파일이 없기 때문이다.

sudo rm ~/.bash_profile

 

재 부팅하면 원래대로 돌아와 있을 것이다.

 

마지막으로 터미널 나의 터미널 preference는 이렇다. Homebrew사용하고 Use bold fonts 그리고 Use bright colors for bold test.

Screen Shot 2013 10 19 at 10 46 05 PM

 

 

참고:

http://itsmetommy.com/2011/02/09/mac-changing-your-shell-prompt/

http://osxdaily.com/2006/12/11/how-to-customize-your-terminal-prompt/

http://www.thegeekstuff.com/2008/09/bash-shell-ps1-10-examples-to-make-your-linux-prompt-like-angelina-jolie/

2013-10-19

맥 마운틴 라이언에서 rsync 3.0.9로 업데이트 하기 (with homebrew)

맥은 모든 사용자가 타임머신을 쓰는 줄 알고, 백년 전 버젼의 rsync를 기본으로 넣어 놨다.

 

현재 rsync 버젼을 확인해 보자. 2.6.9일 것이다.

rsync --version

 

3.0.9로 업데이트를 하려면 brew로 업데이트를 하면 된다. homebrew설치법은 다음을 참고

http://brew.sh/

 

브루로 rsync 최신 버젼을 설치하는 법은 간단하다. 아마도 3.0.9 최신 안정판이 설치될 것이다. 자동 컴파일이라서 시간이 조금 걸릴 것이다.

brew install rsync

 

설치는 성공적으로 되었다. 하지만 한 가지 해결해야할 것이 있다. brew가 설치한 rsync의 경로는

 

/usr/local/bin/rsync

 

이곳이다. 하지만 시스템은 지정된 이 곳에서 rsync를 찾는다.

 

/usr/bin/rsync

 

다른 곳에 설치가 되었으니 두 개 버젼의 rsync가 설치되었고, 시스템에서 계속 예전 것을 사용 한다.

 

버젼을 확인해 보자. 하지만 여전이 2.6.9일 것이다.

rsync --version

 

이것을 고치는 방법은, 시스템 우선순위를 변경하여 시스템 파일을 건드리지 않고 해결하는 아주 스마트한 방법이 있다.

 

시스템 파일을 편집하자.

sudo nano /private/etc/paths

 

아마 다음과 같을 것이다.

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

 

/usr/bin이 가장 최상위 우선 순위가 있다. 우리가 쓰고 싶은 rsync는 /usr/local/bin에 있다. 그러므로 우선순위를 높여주면 된다.

/usr/local/bin
/bin
/usr/sbin
/sbin
/usr/bin

 

이렇게 바꾸고, 터미널을 닫고 rsync를 실행시키면 3.0.9로 찍힐 것이다.

Screen Shot 2013 10 19 at 4 04 03 AM

 

 

참고:

https://discussions.apple.com/message/19845786#19845786

맥/리눅스에서 복사 된 파일이 원본과 같은지 확인하는 방법. diff 명령어

복사를 하면 당연히 원본과 같아야 한다고 생각을 한다. 하지만 나같이 의심병 환자는 이런 것도 검사를 한다.

 

유닉스 명령어 중에 diff란 것이 있다. 원본 파일과 복사 된 파일이 같은지 확인해 준다. 파일도 가능하고 폴더도 가능하다.

 

백업 하드를 통채로 복사했는데 이게 같은 건지 의심이 들면 검사해 보자.

 

기본적으로 아무런 옵션이 없으면 같은 것과 다른 것을 모두 표시한다. 같은 것은 아니까, 다른 것만 검출하면 된다.

 

-q 옵션은 다른 것만 보여준다.

 

-r 옵션은 하위 디렉토리까지 검사한다.

 

합쳐서 -rq라고 줄 수 있다. -r -q 둘 다 쓸 수도 있다.

 

맥에서는 .DS_Store라는 숨김속성 페이징 파일이 있다. 그냥 시스템이 알아서 생성하는 것인데 매번 다른 파일이 생성되므로 이것은 제외해야 한다.

 

-x '파일명'을 치면 이 파일은 검사에서 제외한다. 그러므로 -x '.DS_Store'는 제외하자.

 

문법구조는 이렇다.

비교하라 -하위디렉토리까지 -다른것만검출 원본폴더 대상폴더 -제외할것 '제외할파일이름'

 

코드는 이렇게 된다.

diff -r -q 원본폴더 대상폴더 -x '.DS_Store'

 

실제 코드는 이런 식이다.

diff -r -q /Volumes/E.BAK-1T-HFSP/original/ /Volumes/E.TEST-120G-HFSP/copied/ -x '.DS_Store'

 

모든 파일을 검사하기에 시간이 좀 오래 걸린다.

 

 

참고:

http://www.mugginsoft.com/content/diff-ignoring-hidden-files

맥/리눅스, 터미널에서 퍼미션 755 스타일로 확인하기

퍼미션을 확인하려면

 

ls -l 로 확인이 가능하다.

Screen Shot 2013 10 18 at 5 22 20 PM

 

하지만 drwxfosfkeof 씨바 졸라 무슨 외계어 마냥 이해하기도 힘들고 보기도 불편하다.

 

그렇다 깔끔한 755 스타일로 바꿔보자! 755스타일에 대한 설명은 여기를 참고

http://blog.hansune.com/451

 

어자피 퍼미션 바꿀 때 755나 777 이런 식으로 하지 않는가? 그런데 저딴 식으로 나와서는 곤란하다. 그래서 바꿔보자!

 

755스타일을 구현하는 방식이다.

ls -l | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf("%0o ",k);print}'

 

드디어 알아볼 수 있게 나온다! 하지만 저 명령어는 무슨 외계어인지 알 수가 없다. awk라는 강력하고도 이상한 언어다.

Screen Shot 2013 10 18 at 5 26 37 PM

 

문제는 매번 이렇게 길게 명령어를 칠 수는 없으니 단축키로 등록하자!

 

방법1. 맥에서 하는 방법

 

파일을 만든다.  기본적으로 없다. (마운틴 라이언)

touch ~/.bash_profile

 

파일을 수정한다.

sudo nano ~/.bash_profile

 

이것을 추가한다. 나는 단축키로 lsn을 치면 저게 나오도록 했다. n은 nummeric permissions의 약자다.

alias lsn="ls -alG | awk '{k=0;for(i=0;i<=8;i++)k+=((substr(\$1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf(\" %0o \",k);print}'"

 

맥 터미널을 껏다가 켠다. lsn을 입력한다.

Screen Shot 2013 10 18 at 5 33 00 PM

 

훌륭하지 않은가? 매번 퍼미션 계산하고 앉아있는 상황은 피할 수 있다!

 

추가:

awk로 계산된 퍼미션 값이 나올 때 터미널 텍스트 색깔이 사라지는 문제가 있었는데, ls 앞에 CLICOLOR_FORCE=1을 붙여주면 된다.

alias lsn="CLICOLOR_FORCE=1 ls -alG | awk '{k=0;for(i=0;i<=8;i++)k+=((substr(\$1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf(\" %0o \",k);print}'"

 

색깔이 적용된 lsn을 실행시켜 보면 이렇게 잘 나온다.

Screen Shot 2013 10 19 at 7 38 18 AM

 

방법2. 리눅스에서 하는 방법.

리눅서들은 대부분 고수일 테니까 이것만 알려줘도 될 것 같다.

맥에서는  ~/.bash_profile 이것을 수정하지만, 리눅스에서는 조금 다르다.

 

경우1> 콘솔만 사용하는 경우 (라즈베리파이의 경우)

홈폴더에 있는 ~/.profile 을 수정하면 된다.

 

경우2> X-window에서 Terminal을 사용하는 경우 (Ubuntu의 경우)

홈폴더에 있는 ~/.bashrc 를 수정한다.

 

텍스트 색깔이 안 나오는 버젼

#without color
#alias lsn="ls -alG | awk '{k=0;for(i=0;i<=8;i++)k+=((substr(\$1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf(\" %0o \",k);print}'"

텍스트 색깔이 나오는 버젼 --color=always를 추가해 준다. 이것은 ls 옵션 중 하나이다.

#with color
alias lsn="ls -alG --color=always | awk '{k=0;for(i=0;i<=8;i++)k+=((substr(\$1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf(\" %0o \",k);print}'"

 

리눅스에서도 색깔이 적용된 lsn을 볼 수 있다. 물론 숫자 퍼미션도 잘 나온다!

Screen Shot 2013 10 19 at 7 35 57 AM 

 

감사:

우분투한국사용자모임에서 질문에 도움을 주신 최정환님께 감사드린다.

색깔이 사라지는 문제는 최민호님이 해결해 주셨다. 감사드린다.

 

완성된 코드를 첨부한다.

###### Terminal coloring Settings
### change terminal color by jong
### this is the original file.
### http://stackoverflow.com/questions/1550288/mac-os-x-terminal-colors

# enable coloring for terminal
export CLICOLOR=1

# enable coloring forced in all area
export CLICOLOR_FORCE=1

### prompt sets
##mac default
#export PS1="\h:\W \u\$ "
##raspbian
#export PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w \$\[\033[00m\] "
##custom-1 (good) (/w blue 01;34m)
#export PS1="\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w\[\033[00m\] $ "
##custom-2 (good) (/w cyan ~ 01;36m)
export PS1="\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;36m\]\w\[\033[00m\] $ "

### LSCOLOR sets
## default LSCOLOR
#export LSCOLORS=exfxcxdxbxegedabagacad
## white theme
#export LSCOLORS=ExFxBxDxCxegedabagacad
## dark theme
#export LSCOLORS=GxFxCxDxBxegedabagaced
## custom-1
#export LSCOLORS=GxFxCxDxBxegedabagaced
#export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
## custom-2 (good)
#export LSCOLORS=Exfxcxdxbxegedabagacad
##custom-3 (good)
export LSCOLORS=ExFxCxDxBxegedabagacad

 

###### making sh alias

### lsn -al with numberic permissions with coloring
### http://agileadam.com/ls-al-octal-permissions
alias lsn="ls -alG | awk '{k=0;for(i=0;i<=8;i++)k+=((substr(\$1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf(\" %0o \",k);print}'"

###EOF

 

참고:

http://agileadam.com/ls-al-octal-permissions

2013-10-17

맥에서 터미널 색깔 나오게 만들기, 마운틴라이언

맥에서 터미널은 단색이다. 재미없으니 바꿔보자.

 

먼저 배쉬프로파일을 만들자. 이 파일은 원래 없으니 새로 만든다.

touch  ~/.bash_profile

 

만든 프로파일을 수정하자.

sudo nano ~/ .bash_profile

 

새로 만든 파일이므로 파일을 열면 아무것도 없다. 이 부분을 넣어준다.

export CLICOLOR=1

export LSCOLORS=GxFxCxDxBxegedabagaced

 

설명이다. "export CLICOLOR=숫자" 은 칼라설정이 가능하게 해 주는 것이다. 1은 키고 0은 설정을 끄는 것. 

설명이다. "LSCOLOR=알파벳" 은 칼라를 어떻게 보여줄 것인지 설정하는 것이다. 값은 모르겠으나 그냥 이렇게 써도 되고 고쳐도 된다.

 

결과는 이렇게 된다. 그렇게 예쁘진 않은데, 저 칼라 수정을 변경해 봐야겠다.

Screen Shot 2013 10 17 at 1 09 46 PM

 

참고:

http://stackoverflow.com/questions/1550288/mac-os-x-terminal-colors

http://it.toolbox.com/blogs/lim/how-to-fix-colors-on-mac-osx-terminal-37214

http://osxdaily.com/2012/02/21/add-color-to-the-terminal-in-mac-os-x/

 

2013-10-16

타임머신 백업간격 조절하기

타임머신을 NAS나 타임캡슐로 쓰다 보면 한 시간 마다 백업을 해서 여간 귀찮은 게 아니다.

기본 백업 간격(Backup interval)은 3600초(1시간)이다.

이것을 길게 바꾸면 된다.

plist를 수정하기 전에 백업하자.
sudo cp /System/Library/LaunchDaemons/com.apple.backupd-auto.plist /System/Library/LaunchDaemons/com.apple.backupd-auto.plist.original

원본은 .original로 백업 했으니 맘 놓고 수정하자.
sudo nano /System/Library/LaunchDaemons/com.apple.backupd-auto.plist

중간 밑에 쯤 이런 부분이 있다.
<key>Interval</key>
<integer>3600</integer>
<key>MaintenanceWakeBehavior</key>
<string>Once</string>

여기서 3600을 바꾸면 된다.
나는 86400(24시간)으로 바꾸었다.
Screen Shot 2013 10 15 at 9 30 57 PM

이렇게 할 수도 있지만, 이 프로그램을 쓰는 게 더 편할 것 같다. 타임머신 스케쥴러라는 것이다. 써보진 않았지만 괜찮을 것 같다.
http://www.klieme.com/TimeMachineScheduler.html

타임머신 에디터도 있다.
http://timesoftware.free.fr/timemachineeditor/

2013-10-11

라즈베리파이를 NAS 타임머신으로 사용하기

#### 이 방법은 추천하지 않습니다. 재미로만 해 보시고, 중요한 백업은 하지 마세요. 한달에 한번 꼴로 에러가 납니다. hfsp가 netatalk로 제대로 구현이 안 되어 무결점 보장이 안 되는 것 같습니다. 되도록이면 USB방식의 외장하드를 사용해서 백업하세요 ####

라즈베리파이를 타임머신 NAS로 사용하기. 애플 순정 AFP를 사용하는 방법이라 안정성이 훌륭하다.

Screen Shot 2013 10 11 at 12 20 45 PM

맥에서 외장 하드를 포맷한다. 이미 되 있으면 안 해도 된다. Mac OS Extended (Journaled) 이나 case sensitive를 추천하는데, 대소문자를 구분한다고 한다. 하지만 귀찮아서 그냥 하던 대로 저널로 했다.

맥에서 하드를 분리하고, 파이에 하드를 꼽는다. 레포를 업데이트하고 필요한 것을 설치한다.
sudo apt-get update
sudo apt-get install hfsplus hfsutils hfsprogs


타임머신 마운트 할 디렉토리를 만든다.
sudo mkdir /mnt/TimeMachine

마운트 하는 방법이 2가지가 있는데, 수동으로 마운트 하는 방법으로 하겠다. 방법1은 편하지만, 해당 하드가 없으면 fstab에서 인식을 못해서 부팅이 안 된다. 그러므로 방법1을 건너뛰고 방법2로 가길 바란다.

### 방법1, 자동마운트, 하드가 없으면 부팅이 안됨 (비추천, 그러나 소개한다)

UUID를 확인한다. 애플은 모든 기기마다 UUID를 부여한다. 이게 있어야 애플에서 추천하는 AFP 방식으로 타임머신을 사용할 수 있다.
sudo blkid

확인한 UUID를 입력한다.
sudo nano /etc/fstab

맨 끝에다 추가한다.
UUID="여기에UUID입력" /mnt/TimeMachine hfsplus rw,force,exec,auto,users 0 3

### 방법2, 수동으로 마운트 하는 방법. 귀찮지만 하드가 없어도 부팅이 된다. (길지만 추천하는 방식이다)

수동 마운트 방식이다. /dev/sda2는 상황마다 다르니 sudo blkid로 확인한다.
sudo mount -o force /dev/sda2 /mnt/TimeMachine/

하드에 문제가 없는지 확인하는 방식.
sudo fsck.hfsplus /dev/sda2

언마운트하는 방법
umount -f /dev/sda2

자 방법을 알았으니 스크립트를 수동으로 추가해 보자.
sudo nano /etc/init.d/부팅시-추가할-스크립트-이름

내 스크립트다. jong-TimeMachine이라는 이름의 스크립트다. /dev/sda2는 상황에 맞게 바꾼다.
#! /bin/sh
# /etc/init.d/jong-TimeMachine

### BEGIN INIT INFO
# Provides: mount
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Simple script to start a program at boot
# Description: A simple script from www.stuffaboutcode.com which will start / stop a program a boot / shutdown.
### END INIT INFO

# If you want a command to always run, put it here
# Carry out specific functions when asked to by the system
case "$1" in
start)

echo "..............................."
echo "mounting hfsplus TimeMachine..."
echo "..............................."
# mount hdd
sudo mount -o force /dev/sda2 /mnt/TimeMachine/

echo "..............................."
echo "checking hfsplus TimeMachine..."
echo "..............................."
# check hdd
sudo fsck.hfsplus /dev/sda2
;;

stop)
echo "................................."
echo "unmounting hfsplus TimeMachine..."
echo "................................."
# kill application you want to stop
umount -f /dev/sda2
;;
*)
echo "Usage: jong-TimeMachine {start|stop}"
exit 1
;;
esac

exit 0
저장하고 나온다. Ctl-o, Ctrl-x

이제 실행 가능하게 퍼미션을 추가한다.
sudo chmod 755 /etc/init.d/jong-TimeMachine

실행이 되나 테스트를 해보자.
sudo /etc/init.d/jong-TimeMachine start

실행은 start, 멈추는 건 stop이다. stop 해보고 잘 되면 다시 start한다.
sudo /etc/init.d/jong-TimeMachine start
sudo /etc/init.d/jong-TimeMachine stop


시작프로그램에 등록한다.
sudo update-rc.d jong-TimeMachine defaults

시작프로그램에서 제거방법.
sudo update-rc.d jong-TimeMachine remove

라즈베리파이를 재부팅 해보자
sudo reboot

제대로 동작하는지 테스트 폴더를 만든다.
mkdir /mnt/TimeMachine/test

읽고 쓰기 권한이 있는지 확인한다. mount를 실행하여 확인한다. 이런 식으로 결과가 나오는데, rw가 있는지 확인을 해야 한다. 나의 결과는 이렇다.
/dev/sda2 on /mnt/TimeMachine type hfsplus (rw,relatime,umask=22,uid=0,gid=0,nls=utf8)

맥에서 접속하여 사용할 것이기에 맥 사용자에게 소유권을 부여한다.
sudo chown -R pi /mnt/TimeMachine

맥과 라즈베리파이가 통신을 하려면 Netatalk와 Avahi가 필요하다. 필요한 것들을 설치하자.
sudo apt-get install avahi-daemon libavahi-client-dev libdb5.3-dev db-util db5.3-util libgcrypt11 libgcrypt11-dev

소스를 다운받는다. Netatalk 3.0이다. 3.0.1이 아니다.
cd
wget http://sourceforge.net/projects/netatalk/files/netatalk/3.0/netatalk-3.0.tar.bz2


다운받은 소스를 압축을 풀고 해당 폴더로 간다.
tar xvfj netatalk-3.0.tar.bz2
cd netatalk-3.0


컴파일 한다. 짜증나게도 시간이 많이 걸린다. 총 20분 정도 걸리는 듯. 모든 과정 중 가장 짜증 나는 부분이다.
./configure -with-init-style=debian -with-zeroconf
make
sudo make install


타임머신을 맥과 AFP로 공유하기 위해 Netatalk를 설정한다.
sudo nano /usr/local/etc/afp.conf

다음과 같이 바꾼다.
;
; Netatalk 3.x configuration file
;

[Global]
; Global server settings

### host name
hostname = 넷상에서표시될이름을정한다

### pi's static ip address
afp listen = 파이의IP주소를적는다

log file = /var/log/netatalk.log
log level = default:info

[Homes]
basedir regex = /home
cnid scheme = dbd
; Display each user home directory in this format
home name = Home: $u

[Time Machine]
; Our Time Machine volume

### 타임머신으로 쓸 폴더
path = /mnt/TimeMachine

cnid scheme = dbd
file perm = 0660
directory perm = 0770
time machine = yes


서비스를 실행한다. Netatalk와 Avahi서비스를 실행한다. 이미 실행중이라고 나오면 start를 restart로 바꾼다.
sudo /etc/init.d/netatalk start
sudo /etc/init.d/avahi-daemon start


시작프로그램에 Netatalk를 등록한다. 에러메세지 같은 게 나오는데 괜찮다.
sudo /etc/init.d/update-rc.d netatalk defaults

마지막으로 맥과 연결하기. 맥으로 간다. 라즈베리파이와 맥이 같은 네트워크상에 있는지 확인한다. 다시 말하면 같은 공유기에 물려 있어야 한다는 것이다.

맥의 파인더에서 Connect to Server를 누른다. 단축키 Cmd+k
afp://파이의IP주소

팝업창이 뜨며 아이디와 비밀번호를 묻는다. 파이의 id와 비밀번호를 입력한다.

Screen Shot 2013 10 11 at 12 20 00 PM

타임머신으로 가서 Select Disk에 타임머신이 있을 것이다.

Screen Shot 2013 10 11 at 12 19 28 PM



참고:
http://www.appilogue.kr/2844433
http://garmoncheg.blogspot.de/2012/11/time-capsule-for-25.html
http://www.stuffaboutcode.com/2012/06/raspberry-pi-run-program-at-start-up.html

2013-10-07

맥 라이언이상, /Volumes/MobileBackups 이건 뭔가?

저는 마운틴 라이언을 쓰고 있습니다. 어느 날 폴더를 보다가,

/Volumes/MobileBackups


이건 뭔가? OS 재설치 한지 하루밖에 안 됐는데, 벌써 백업 파일이 150기가나 되고 있습니다.

로컬 하드디스크에 백업을 하고 있었습니다... 이놈...

그러니까 이 폴더로 외장하드로 타임머신 백업을 하지만, 로컬 하드에다가 이중으로 백업을 하고 있습니다.그러니까 없어도 되는데 이중으로 공간을 낭비하고 있는 것 입니다!

어자피 외장하드로 타임머신을 쓰고 있으니 삭제해 버립니다.

sudo tmutil disablelocal

이 폴더는 사라집니다. 그리고 150기가를 얻습니다!

안전은 보장 못하니, 꼭 중요한 데이터는 백업 하시고 진행하세요!

이 방법은 타임머신을 껏다 키면 다시 생성되므로, 다시 실행해 주어야 합니다.

참고:
https://discussions.apple.com/thread/3701356?start=0&tstart=0
http://wiki.summercode.com/how_to_disable_mobile_backups_on_lion