Linux에서 파티션 숨기기.

linux에서 USB로 부팅한 루트 디스크나 복구용 이미지등이 포함되어 있는 파티션을 숨기고자 할때가 있다. 

그럴때는 HAL을 통해 해당 파티션을 무시하게끔 설정해주면 된다. 

1. UUID
vol_id --uuid  [대상 파티션 디바이스명]
ex) vol_id --uuid /dev/sda1
4A38-46C5

으로 해당 파티션의 UUID를 얻어온다. 


2. UDI
이렇게 얻어온 UUID는  구분자 -(Dash)인데 이 -를 _(Underbar)로 바꾼후
lshal | grep [Converted UUID] 를 실행하여 대당 기기의 HAL UDI를 얻어온다. 


ex) lshal | grep 4A38_46C5
udi = '/org/freedesktop/Hal/devices/volume_uuid_4A38_46C5'
  info.udi = '/org/freedesktop/Hal/devices/volume_uuid_4A38_46C5'  (string)


3. Set HAL property
이렇게 얻어온 UDI를 가지고 프로퍼티를 바꿔어 주면 된다 

sudo hal-set-property --udi /org/freedesktop/Hal/devices/volume_uuid_4A38_46C5 --key volume.ignore --bool true

이렇게 HAL에서 해당 기기의 volume.ignore 프로터피를 true로 지정해주면 Gnome desktop등에서 이 파티션을 무시하고 보여주지 않게 된다. 

sudo /etc/initd.d/gdm restart 등으로 데스크탑을 다시 띄워보면 적용됨을 확인할수 있다. 


4. HAL Policy
물론 이것은 재부팅되면 사라지는 1회성 이다. 이것을 매번 부팅때마다 적용시키고 싶다면
/usr/share/hal/fdi/policy/ 
/etc/hal/fdi/policy
에 HAL 정책파일을 추가해주면 매번 부팅될때마다 적용되게 된다. 


<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
    <match key="volume.uuid" string="E6C5-A7A9">
      <merge key="volume.ignore" type="bool">true</merge>
    </match>
    <match key="volume.uuid" string="21fd63b4-3d68-4518-a61b-1021a3caa237">
      <merge key="volume.ignore" type="bool">true</merge>
    </match>
  </device>
</deviceinfo>


참고 : 
http://people.freedesktop.org/~david/hal-spec/hal-spec.html
http://june3474.blogspot.com/2007/08/6-udev-hal-gnome-volume-properties.html
http://salgunamu.tistory.com/438

by 밀리네스 | 2009/06/18 17:26 | 트랙백

트랙백 주소 : http://milines.egloos.com/tb/1919145
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
※ 로그인 사용자만 덧글을 남길 수 있습니다.

◀ 이전 페이지다음 페이지 ▶