선택된 태그 : linux
write a post
( 1 of 1 )
Buffalo LinkStation 주무르기

집에서 LinkStation Live를 쓰고 있었는데, 괜찮은 것 같아서 부서에서 사용하는 공용 스토리지로 사용하려고 LinkStation Pro Duo 2T를 구매했다.
지금까지는 Linux 서버에 samba 설치해서 사용하고 있었는데, scsi 하드 달린 좀 오래된 장비라 용량도 부족하고 해서 이번 기회에 좀 가볍게 바꿔보고 싶어서 입맛에 맞게 좀 건드려봤다.

개인별로 권한 설정이 좀 편하게 가능하고 소스 서버 등으로 사용할 수 있도록 하기 위해서 아래와 같은 일들을 저질렀다.

1. Open Stock Firmware
http://buffalo.nas-central.org/wiki/Open_Stock_Firmware 참고해서
java -jar acp_commander.jar -t <IP ADDRESS> -o

하면 telnet 이 열린다. 들어가서 sshd 올려주자. /etc/init.d 에 sshd.sh 가 없으니 적당히 하나 만들어서 넣어주고, /etc/init.d/rcS 에 sshd.sh 추가해준다.
LinkStation Live 에서는 key 관련해서 더 해줄 것이 있었는데, 이 모델에서는 별 문제 없이 넘어간다.
일단 그 외에는 크게 할 일이 없으니 넘어가자.

2. install ipkg
여기까지 해 놓으면 일단 shell은 떨어지는데, busybox 기반에 설치된 패키지도 없어서 뭐 할만한게 없다. LS live에서 여기다 개발환경 설치하려고 애쓰다가 몇번 벽돌 만들고 포기했는데, LS Pro 에서는 의외로 쉽게 되더라.
http://buffalo.nas-central.org/wiki/Ipkg_on_the_Linkstation_(for_end-users)

mkdir /mnt/array1/tmp
cd /mnt/array1/tmp
wget http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/teraprov2-bootstrap_1.2-7_arm.xsh
sh teraprov2-bootstrap_1.2-7_arm.xsh

하면 /mnt/array1/.optware 라는 디렉토리가 생기고 /opt 로 링크되는데, 이 아래에 ipkg를 이용해서 설치하는 바이너리들이 들어가게 되고, path에도 알아서 추가된다.
이렇게 하면 기존의 library들과 충돌을 일으키지 않고 패키지를 추가 설치할 수 있게 된다.

/opt/etc/ipkg.conf 에

추가해주고 ipkg update 하면 패키지 설치할 준비 완료!

3. 한글 처리
locale -a 해보면 C, POSIX 밖에 없다. locale 설치까지 할 필요는 없고, 일단 /etc/profile에
export LANG=en_US.UTF-8
export LC_ALL="C"

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
INPUTRC=/etc/inputrc
fi

추가하고
/etc/inputrc 에
set meta-flag on
set convert-meta off
set output-meta on

해주면 utf-8 사용하도록 설정한 터미널에서 한글을 보고 쓸 수 있다. (putty 로 테스트해봤음)
busybox 에 포함된 vi 나 ipkg 로 받은 vim 에서는 utf-8 로 저장된 한글이 깨져보이는데, multibyte 옵션이 빠져서 빌드되었기 때문이다.

자, 그럼 vim에서 한글 처리를 위해 vim을 직접 빌드한다.

4. vim 빌드
ipkg 로 필요한 gcc, automake, autoconf, libc-dev 등 빌드에 필요한 패키지들을 설치하고, vim 소스를 다운받아서 --enable-multibyte, --enable-hangulinput 옵션 추가해서 빌드하면 된다.(--enable-hangulinput 은 안 했는데 별 문제 없더라.)
vim 빌드해서 설치한 후에 /usr/local/share/vim/vim72/vimrc_example.vim 을 /usr/local/share/vim/vimrc 로 카피해놓고 set enc=utf8 추가해주면 완료.

5. samba 설정
입맛에 맞게 samba 설정하려고 아무리 /etc/samba/smb.conf 를 바꿔봐도 samba 재실행하면 웹어드민에서 설정한 값으로 돌아가버린다.
/etc/init.d/smb.sh 에서 samba 재실행될 때마다 /etc/melco 에 있는 내용을 기반으로 smb.conf를 다시 만들기 때문인데, 이것을 원하지 않으면 /etc/init.d/smb.sh 에서
/usr/local/sbin/nas_configgen -c samba
라인을 코멘트하면 된다. 단, 이렇게 하면 웹어드민 툴에서 shared folders 부분은 사용할 수 없다.

웹 어드민을 그냥 사용하려고 보면, 전혀 한글화가 안 되어서 디렉토리명이나 유저명, 그룹명 등에 한글을 쓸 수가 없다. 설정값 저장하는 부분에서 특수문자, 공백 등을 확인하기 때문인데, 사실 한글이나 공백, '.' 등이 들어가도 별 문제가 없다.
귀찮으니 확인하는 부분을 제거해버리자.
/www/cgi-bin/module/BufCommonDataCheck.pm 에서

sub check_share {
my $self = shift;
if ($self->{data} =~ m/\!|\#|\&|\{|\}|\@|\<|\>|\\|\~|\$|\/|\:|\,|\'|\;|\*|\?|\"|\<|\>|\||\`|\[|\]|\=|\+|\.|\^|\(|\)|\%|\s/) {
$self->{status} = "share";
return 0;
}
if (!$self->check_1byte_jp) { $self->{status} = "share"; return 0; }
return 1;
}


sub check_share {
return 1;
}

로 바꿔버리면 공유디렉토리명에 한글, 공백 등도 쓸 수 있다. 단, 여기 쓰는 이름으로 디렉토리를 만드니 리눅스 디렉토리명으로 사용할 수 없는 문자열은 알아서 빼고 만들어야 한다. 적당히 조건을 만들어 놓을 수도 있지만 귀찮으니 난 패스.
비슷하게
check_1st_symbol2, check_comment, check_group, check_user 함수도 수정해주면 그룹, 유저 description 에 한글을 쓸 수 있게 된다.

대략 여기까지 해 놓은 상태고, 아직은 최상위 디렉토리만 웹에서 관리할 수 있어서 하위 디렉토리에 권한설정하고 관리하는 작업은 슬슬 스크립트를 고쳐봐야겠다.
좀 편하겠다고 일을 벌였는데 어째 점점 더 일이 커지는 듯. -_-;
_ mine
09년 12월 1일 11시 25분
같은 환경인데
서버A 에서 C 로의 ssh 접속은 문제가 없고,
서버B 에서 C 로의 ssh 는 로그인 아이디 묻는 라인 떨어질 때까지 오래걸리는 문제

ssh -vvv C

해보면

........
debug2: bits set: 542/1024
debug1: ssh_rsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /home/usera/.ssh/identity ((nil))
debug2: key: /home/usera/.ssh/id_rsa ((nil))
debug2: key: /home/usera/.ssh/id_dsa ((nil))

여기서 5-6초간 멈춰있다 진행된다.
이럴 때는 서버 (C) 의 /etc/hosts 에 B 가 들어있는지 확인해보도록



_ mine
09년 2월 11일 18시 58분
어쩌다보니 samba 서버를 구성하게 되었는데, 젠장 왜 이렇게 손 가는게 많은거냐.
기껏 매뉴얼 찾아가며 다 해놨더니 ㅠㅠ
네트웍에서 보이기는 하는데 폴더에 들어갈 수가 없다.

한참 고민하다 (덕분에 cygwin/x 도 쓸 수 있게 됐다!) 찾은 원인은 역시 selinux
하여간 만병의 원인이라니까 -_-;

allow_smb_anon_write
samba_enable_home_dirs
samba_share_nfs
use_samba_home_dirs

이것 네 가지를 allow 해주면 된다. 사실 아래 3개는 안 해도 될 지도 모른다.
하지만 처음 것을 빼니 안 되더라.
_ mine
09년 1월 30일 16시 12분
[리눅스에 외장하드 마운트]

CentOS 5 (2.6.18) 에 외장하드 (Calbee Space Combo : SATA2 640G) 연결해서 백업에 쓰기로 했다.
하드를 ext3 로 잡으면 간단하게 되는 것 같지만, 윈도우에서 보기 편하게 NTFS 로 잡으려니 그냥은 안 되고, ntfs-3g 라는 NTFS 드라이버를 이용해야 한다.

1. 외장하드 파티션 설정
USB 외장하드를 USB 포트에 꽂으면 /dev/sda 로 인식은 된다.
fdisk 로 파티션을 생성한다. 이 때, primary 파티션으로 생성하고, system id 는 86(NTFS volume set)으로 잡았는데, 별로 상관없는 듯 하다. 다 끝나고 보니 7(HPFS/NTFS) 로 바뀌어 있네.

Device Boot Start End Blocks Id System
/dev/sda1 1 77825 625129281 7 HPFS/NTFS

2. 외장하드 format
mkfs.ntfs 를 이용하면 된다는데, mkfs.ntfs 는 ntfsprogs 패키지의 일부라 이놈을 설치해야 한다. 홈페이지에서 다운로드가 안 되더라. 그래서 그냥 윈도우 시스템에 꽂아서 포맷해버렸다. : )

3. ntfs-3g install
http://www.ntfs-3g.org 에서 다운로드하여 설치한다. 잠시 후에 마운트 하려고 하면 fuse 가 있어야 한다고 하니 없으면 fuse 까지 설치한다.

4. 대망의 마운트
/mnt/use 등을 적당히 만들고
mount -t ntfs-3g /dev/sda1 /mnt/usb
해주면 끝.

/etc/fstab 에
/dev/sda1 /mnt/usb ntfs-3g defaults 0 0
요렇게 넣어주면 부팅할 때 알아서 마운트 쏙쏙~
_ mine
08년 10월 15일 18시 01분
fedora core 3 에서의 한글 설정을 참고삼아 정리해놓도록 하자

1. /etc/sysconfig/i18n

LANG="ko_KR.eucKR"
SUPPORTED="en_US.UTF-8:en_US:en:ko_KR.UTF-8:ko_KR:ko"
SYSFONT="latarcyrheb-sun16"

2. smb.conf

unix charset = EUC-KR

3. httpd.conf

AddDefaultCharset EUC-KR
_ mine
06년 6월 23일 09시 55분
10k가지고마라톤이라하기는부끄(1) ActionScript(1) AppStore(1) backup(1) buffalo(1) eclipse(2) Java(3) linkstation(1) linux(5) MBC(1) MBC청룡(1) Nintendo(1) oracle(1) P7120(1) pagination(1) rsync(1) samba(1) selinux(1) SNSD(2) ssh(1) todo(1) USB(1) Wii(1) ㅅㅂㅅㅂㅅㄴㅅㄷ(1) 가방(1) 가봉(1) 가을(1) 간사이(1) 강남대로(1) 강력한리더쉽(1) 갤러리(1) 게임(2) 겨울(1) 고담씨티야?(1) 고추튀김(1) 곰탕(1) 공연(1) 과자(1) 광고(1) 구글(2) 구두신었더니또축축해(1) 나이키(1) 노트북(1) 눈물(1) 니가나한테이러면안되지(1) 달리기(3) 대방역(1) 덕수궁(1) 도루묵구이(1) 도서(10) 마우스(1) 먹고사는이야기(1) 모기(1) 모리셔스(1) 무협(1) 버스(1) 별곱창(1) 봉고(1) 봉은사(1) 부상(1) 분해(1) 불끈(1) 삐라(1) 샀다하면하한가(1) 상추(1) 서태지(1) 선거(2) 소심하시긴(1) 송파구석촌동에서자영업을하시는(1) 쇼핑(1) (1) 스위치백(1) 스콘(2) 스쿠버(4) 스타(1) 아침(1) 안드로이드(1) 안재욱(1) 애국기동단(1) 양꼬치(1) 엠비씨(1) 여름(1) 여의도(3) 여행(6) 역시좃선(1) 역시프로(1) 영화(15) 오마이뉴스(1) 온다리쿠(1) 올해의찌질이대상감(1) 와우(1) 와플(1) 외장하드(1) 우리말(1) 원예(1) 월급은나오겠죠?(1) 윤중로엔사람만발(1) 음식(10) 음악(6) 이제음식사진같은건찍지않아(1) 이찬진(1) 인도네시아(1) 인터파크(1) 일본(2) 자전거(1) 전방을향해십초간함성발사(1) 전복(1) 정치블로그아님(3) 존경하는인물이전두환이냐?(1) 좀더안타까운우리히어로즈선수단(1) 좌백(1) 주례축가꼭시켜주기(1) 지양(1) 진상(2) 진중권(1) 집나가면개고생(1) 철도(1) 초딩파워(1) 촛불집회(1) 추성훈(1) 추소영(1) 추신수(1) 추자현(1) 출장(9) 친북좌익빨갱이방송(1) 친북좌익빨갱이블로그?(1) 친북좌익세력(1) 캐나다(9) 컴투스(1) 코바(2) 콩고(1) 키보드(1) 트랙볼(1) 파삭(1) 팔라우(1) 팩맨(1) 프로야구(2) 피겨스케이트(1) 하동관(1) 한글(1) 핸드폰(3) 향토풍물장터(1) 황사(1) 흰색아반떼XD3329(1)