2009년 06월 18일
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 | 트랙백





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]