저번 포스트 에서 Clojure 와 Emacs 와 Slime 을 연동 시키는 방법을 했다면, 이제 실제 클로져 코드를 짜야 하는 일이 생길 것입니다. 그런데 전역으로 환경을 세팅하는 것이 아니기 때문에 다른 클로져 라이브러리를 포함 시키는 것이 어려울 것 같습니다. 특히 clojure-contrib 같은 거의 필수 라이브러리는
lein 으로 만들어준 프로젝트의 project.clj 를 열어줍니다.
다음 과 같이
의 내용을 :dependencies 에 추가해 줍니다.
아래에 붙어 있는 congomongo 는 무시하세요.
를 실행해 주면 clojure-contrib 를 다운 받아서 프로젝트 환경에 추가해 줍니다.
이제 Emacs 상에서 Clojure 랑 Slime 을 연동시켜서 원하는 코드를 만들어 주면 됩니다.
M-x clojure-jack-in
lein 으로 만들어준 프로젝트의 project.clj 를 열어줍니다.
$ lein new test-project
$ cd test-project
$ emacs project.clj
$ cd test-project
$ emacs project.clj
다음 과 같이
[org.clojure/clojure-contrib "1.2.0"]
의 내용을 :dependencies 에 추가해 줍니다.
아래에 붙어 있는 congomongo 는 무시하세요.
$ lein deps
를 실행해 주면 clojure-contrib 를 다운 받아서 프로젝트 환경에 추가해 줍니다.
이제 Emacs 상에서 Clojure 랑 Slime 을 연동시켜서 원하는 코드를 만들어 주면 됩니다.
M-x clojure-jack-in
일단 제가 쓰고 있는 블루투스 동글이는
이런 모양입니다. 맥북에 부트캠프를 설치하면 절대 안 잡히는 그 문제의 동글이 인데, 리눅스 민트에서는 한방에 잡히더군요.
먼저 동글이를 usb 에 꼽아주고요. (전 모니터랑 연결 시켜둬서 모니터에 있는 usb 에 꼽아뒀습니다)
이걸로 관련 어플들을 설치해주고 ,
로 리부팅 해줍니다. (어쩐 일인지 바로 설치하고는 안 잡히더군요. ) 그리고 다음에 실행해 준 게 영향을 미쳤는지 모르겠습니다만.. 아마 안 미쳤을 것 같지만 혹시나 모르는 분들은 한 번 해보시는 게 좋을 듯 합니다.
이후 오른쪽 상단에 있는 블루투스 모양의 아이콘에 오른쪽을 클릭하셔서 '새 장치 준비' 로 페어링을 해주시면 됩니다.
그리고 대부분의 블루투스가 그렇겠지만 헤드셋/헤드폰 이 합쳐진 버젼 이라면 꼭 소리 설정 부분에서
프로파일을 스테레오로 바꾸어 주셔야 합니다. 제꺼는 'High Fidelity Playback' 이더군요.
이런 모양입니다. 맥북에 부트캠프를 설치하면 절대 안 잡히는 그 문제의 동글이 인데, 리눅스 민트에서는 한방에 잡히더군요.
먼저 동글이를 usb 에 꼽아주고요. (전 모니터랑 연결 시켜둬서 모니터에 있는 usb 에 꼽아뒀습니다)
$ sudo apt-get install bluez-utils
이걸로 관련 어플들을 설치해주고 ,
$ sudo shutdown -r now
로 리부팅 해줍니다. (어쩐 일인지 바로 설치하고는 안 잡히더군요. ) 그리고 다음에 실행해 준 게 영향을 미쳤는지 모르겠습니다만.. 아마 안 미쳤을 것 같지만 혹시나 모르는 분들은 한 번 해보시는 게 좋을 듯 합니다.
$ sudo /etc/init.d/bluetooth restart
이후 오른쪽 상단에 있는 블루투스 모양의 아이콘에 오른쪽을 클릭하셔서 '새 장치 준비' 로 페어링을 해주시면 됩니다.
그리고 대부분의 블루투스가 그렇겠지만 헤드셋/헤드폰 이 합쳐진 버젼 이라면 꼭 소리 설정 부분에서
프로파일을 스테레오로 바꾸어 주셔야 합니다. 제꺼는 'High Fidelity Playback' 이더군요.
요놈이 바로 그 '악'
디아블로가 부활 했더군요. 안 그래도 세상에 악이 넘치는 데 싸이버 세계에서 조차 악이 창궐하는 것을 견딜 수가 없어서 어제 12년 전에도 함께 '악'을 퇴치한 맹우들과 다시 한번 '악'을 퇴치하러 떠났습니다만..
예전과는 다른 체력적 저하로 인하여 (젠장.. 나이가 무엇인지..) 한시간 정도만 플레이 했습니다.
아직까지는 중독 수준까지는 잘 모르겠습니다. 차차 해보면서 나아질 것 같습니다. 그래도 역시 사람이랑 싸우는 걸 좋아하는 나는 단순 반복이 되버리면 흥미가 싹 사라지는 경향이 있어서 계속해서 재미를 줄 것인지는 의문입니다.
그럼에도 불구하고 간만에 친구들과 플레이 하니까 재미 있더군요.
저는 악마 사냥꾼을 골라서 플레이 하고 있는데 '와우'의 사냥꾼하고 비슷한 컨셉이더군요. 초반부터 '가이드 애로우'가 있어서 정말 편하게 사냥할 수가 있습니다. 덫 깔고 멀리서 푱푱 하고 쏩니다.
친구들이 하는 밀리 캐릭터들도 재밌어 보이더군요. 특히나 수도사는 '버추얼 파이터'의 아키라가 생각나게 하는 몸놀림을 보여 줍니다. 특히나 '철산고' 를 쓰는 모습을 본 기억이!!!
당분간 즐겁게 할 것 같습니다.
시간상 어제 밤인거 같은데 악마의 트럭이 도착했군요. (사진은 뽐뿌 게시판에서 퍼 왔습니다) 저는 노가다 성 게임을 별로 안 좋아해서 디아2도 그리 미친듯이 하지는 않았지만 다들 디아 디아 하니까 저 까지도 기다려 지는군요.
그냥 몇시간 즐긴다는 생각으로 사 줄 생각이긴 합니다.
LVM 은 물리적 디스크들을 가상의 디스크로 합쳐서 관리할 수 있게 해주는 관리 툴입니다. 쉽게 말해서 실제로 하드디스크 3개가 있는데 이 하드를 하나인것처럼 관리할 수 있게 해줍니다. 예전에는 큰 하드 하나를 나눠서 쓰곤 했었는 데 요즘은 그냥 통째로 하나 쓰는게 제일 편합니다.
360 , 160, 80 기가의 하드디스크가 있다면(제 실제 상황이 그렇습니다) 이 세개를 묶어서 마치 한개의 600 기가 하드 디스크 한개 인것처럼 할용할 수 있게 해줍니다.
/dev/sdc 에 이미 설치되어 있어서 변경하기는 귀찮고 또 새로 깔기 또한 귀찮으니까 /dev/sda 와 /dev/sdb 를 합쳐줄려고 생각합니다. (시스템이 설치되어 있으면 변경하는 게 무척 귀찮을 꺼 같더라고요)
설치는 간단합니다.
초 간단 용어정리
PV (Physical Volume) 물리적 볼륨
PE (Physical Extent) 물리적 범위 (?) 정도로 보시면 됩니다.
LVM 파티션들을 만들어 줍니다.
두번째 하드디스크도 LVM 으로 만들어 줍니다. 8e 가 LVM 파티션입니다.
그리고, 파티션을 나누지 않고 하드디스크 전체를 PV로 만들려고 할 때에, 파티션 정보가 기록되어 있다면 PV로 만들어지지 않을 것이다. 파티션을 fdisk등으로 전부 지워도 마찬가지인데 해결 방법은 dd등의 명령으로 파티션 정보를 깨끗히 지워주면 된다. 예를 들면 다음과 같다.
/dev/sdb 도 같은 방식으로 처리해 줍니다.
이제 PV 들을 생성해 줍니다.
두번째 하드 디스크에도 PV 를 생성해 줍니다.
이제 VG (Volume Group 입니다. LV 아닙니다) 를 만들어 줍니다.
이제 제대로 만들어 졌는지 확인해 보기로 합니다.
만들어 졌군요. 이제 활성화 시켜보겠습니다.
확인해 봅니다.
vgdisplay 가 더 자세한 정보를 보여주는 군요. 180 기가랑 60 기가를 합쳐서 위에 나오는 수치가 됐군요. 설마 아직도 180 기가가 진짜 180 기가인지 아시는분 안계시겠지요? ㅎㅎ
이제야 모든 준비가 끝났습니다. LV (Logical Volume)를 생성할 시간입니다. VG 의 크기인 223 을 기억하시고
-L 옵션은 크기 입니다. 저는 VG 크기의 223G 를 줄것입니다.
-n 은 LV 의 이름입니다. 저는 data 라고 줄것입니다.
/dev/data_vg/data 라는 심볼릭 링크가 생긴것을 확인하실 수 있습니다. 자 이제 만들어진 LV 를 포맷하는 일만 남았습니다. ext4 를 쓰고 있으니까 ext4 로 포맷을 해주어야 겠지요?
이제 설정 끝입니다. 이제 편하게 마운트 해주시면 되겠습니다.
매번 수동으로 하기 귀찮으니 fstab 에 등록 시켜줍니다. 아래 내용을 추가합니다.
이제 적당한 곳에 심볼릭 링크를 걸어서 일반 디렉토리처럼 써 주시며 됩니다.
360 , 160, 80 기가의 하드디스크가 있다면(제 실제 상황이 그렇습니다) 이 세개를 묶어서 마치 한개의 600 기가 하드 디스크 한개 인것처럼 할용할 수 있게 해줍니다.
/dev/sda = 80
/dev/sdb = 160
/dev/sdc = 360 (여기에 시스템이 설치되어 있슴)
/dev/sdb = 160
/dev/sdc = 360 (여기에 시스템이 설치되어 있슴)
/dev/sdc 에 이미 설치되어 있어서 변경하기는 귀찮고 또 새로 깔기 또한 귀찮으니까 /dev/sda 와 /dev/sdb 를 합쳐줄려고 생각합니다. (시스템이 설치되어 있으면 변경하는 게 무척 귀찮을 꺼 같더라고요)
설치는 간단합니다.
$ sudo apt-get install lvm2
초 간단 용어정리
PV (Physical Volume) 물리적 볼륨
PE (Physical Extent) 물리적 범위 (?) 정도로 보시면 됩니다.
LVM 파티션들을 만들어 줍니다.
$ sudo fdisk /dev/sda
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
두번째 하드디스크도 LVM 으로 만들어 줍니다. 8e 가 LVM 파티션입니다.
$ sudo fdisk /dev/sdb
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
그리고, 파티션을 나누지 않고 하드디스크 전체를 PV로 만들려고 할 때에, 파티션 정보가 기록되어 있다면 PV로 만들어지지 않을 것이다. 파티션을 fdisk등으로 전부 지워도 마찬가지인데 해결 방법은 dd등의 명령으로 파티션 정보를 깨끗히 지워주면 된다. 예를 들면 다음과 같다.
$ sudo dd if=/dev/zero of=/dev/sda bs=512 count=1
1+0 레코드 들어옴
1+0 레코드 나감
512 바이트 (512 B) 복사됨, 0.00197004 초, 260 kB/초
1+0 레코드 들어옴
1+0 레코드 나감
512 바이트 (512 B) 복사됨, 0.00197004 초, 260 kB/초
/dev/sdb 도 같은 방식으로 처리해 줍니다.
$ sudo dd if=/dev/zero of=/dev/sdb bs=512 count=1
1+0 레코드 들어옴
1+0 레코드 나감
512 바이트 (512 B) 복사됨, 0.0187204 초, 27.3 kB/초
1+0 레코드 들어옴
1+0 레코드 나감
512 바이트 (512 B) 복사됨, 0.0187204 초, 27.3 kB/초
이제 PV 들을 생성해 줍니다.
$ sudo pvcreate /dev/sda
Physical volume "/dev/sda" successfully created
Physical volume "/dev/sda" successfully created
두번째 하드 디스크에도 PV 를 생성해 줍니다.
$ sudo pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
Physical volume "/dev/sdb" successfully created
이제 VG (Volume Group 입니다. LV 아닙니다) 를 만들어 줍니다.
$ sudo vgcreate data_vg /dev/sda /dev/sdb
Volume group "data_vg" successfully created
Volume group "data_vg" successfully created
이제 제대로 만들어 졌는지 확인해 보기로 합니다.
$ sudo vgscan
Reading all physical volumes. This may take a while...
Found volume group "data_vg" using metadata type lvm2
Reading all physical volumes. This may take a while...
Found volume group "data_vg" using metadata type lvm2
만들어 졌군요. 이제 활성화 시켜보겠습니다.
$ sudo vgchange -a y
0 logical volume(s) in volume group "data_vg" now active
0 logical volume(s) in volume group "data_vg" now active
확인해 봅니다.
$ sudo vgdisplay
--- Volume group ---
VG Name data_vg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 223.57 GiB
PE Size 4.00 MiB
Total PE 57235
Alloc PE / Size 0 / 0
Free PE / Size 57235 / 223.57 GiB
VG UUID X7YuJy-lqY7-gwKQ-2DzZ-iaKe-adpY-eNVykk
--- Volume group ---
VG Name data_vg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 223.57 GiB
PE Size 4.00 MiB
Total PE 57235
Alloc PE / Size 0 / 0
Free PE / Size 57235 / 223.57 GiB
VG UUID X7YuJy-lqY7-gwKQ-2DzZ-iaKe-adpY-eNVykk
vgdisplay 가 더 자세한 정보를 보여주는 군요. 180 기가랑 60 기가를 합쳐서 위에 나오는 수치가 됐군요. 설마 아직도 180 기가가 진짜 180 기가인지 아시는분 안계시겠지요? ㅎㅎ
이제야 모든 준비가 끝났습니다. LV (Logical Volume)를 생성할 시간입니다. VG 의 크기인 223 을 기억하시고
-L 옵션은 크기 입니다. 저는 VG 크기의 223G 를 줄것입니다.
-n 은 LV 의 이름입니다. 저는 data 라고 줄것입니다.
$ sudo lvcreate -L 223G -n data data_vg
Logical volume "data" created
Logical volume "data" created
/dev/data_vg/data 라는 심볼릭 링크가 생긴것을 확인하실 수 있습니다. 자 이제 만들어진 LV 를 포맷하는 일만 남았습니다. ext4 를 쓰고 있으니까 ext4 로 포맷을 해주어야 겠지요?
$ sudo mkfs.ext4 /dev/data_vg/data
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
14614528 inodes, 58458112 blocks
2922905 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
1784 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
14614528 inodes, 58458112 blocks
2922905 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
1784 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
이제 설정 끝입니다. 이제 편하게 마운트 해주시면 되겠습니다.
$ mkdir data
$ sudo mount /dev/data_vg/data ./data
$ sudo mount /dev/data_vg/data ./data
매번 수동으로 하기 귀찮으니 fstab 에 등록 시켜줍니다. 아래 내용을 추가합니다.
$ sudo emacs /etc/fstab
/dev/data_vg/data /home/crazia/data ext4 default 0 0
/dev/data_vg/data /home/crazia/data ext4 default 0 0
이제 적당한 곳에 심볼릭 링크를 걸어서 일반 디렉토리처럼 써 주시며 됩니다.

Prev
Rss Feed