라즈베리파이 afp 환경 설정

DNS-323을 사용할 때는 그냥 samba를 사용했었는데 라즈베리파이에서는 afp를 한번 설치해보기로 했다.

먼저 Raspbmc Settings에서 Samba Server를 disable 처리한 다음 samba를 지운다.

pi@raspbmc:~$ sudo apt-get purge samba
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  libcups2 tdb-tools
Use 'apt-get autoremove' to remove them.
다음 패키지를 지울 것입니다:
  samba*
0개 업그레이드, 0개 새로 설치, 1개 제거 및 2개 업그레이드 안 함.
이 작업 후 20.1 M바이트의 디스크 공간이 비워집니다.
계속 하시겠습니까 [Y/n]? 
(데이터베이스 읽는중 ...현재 24301개의 파일과 디렉터리가 설치되어 있습니다.)
samba 패키지를 지우는 중입니다 ...
Stopping Samba daemons: nmbd smbd.
samba의 설정 파일을 깨끗이 지우는 중입니다 ...
Removing configuration file /etc/default/samba...
insserv: warning: script 'console-setup' missing LSB tags and overrides
insserv: warning: script 'dbus' missing LSB tags and overrides
insserv: warning: script 'cron' missing LSB tags and overrides
insserv: warning: script 'udev' missing LSB tags and overrides
insserv: warning: script 'avahi-daemon' missing LSB tags and overrides
insserv: warning: script 'xinetd' missing LSB tags and overrides
insserv: warning: script 'xbmc' missing LSB tags and overrides
insserv: warning: script 'winbind' missing LSB tags and overrides
Removing configuration file /etc/default/samba...
insserv: warning: script 'console-setup' missing LSB tags and overrides
insserv: warning: script 'dbus' missing LSB tags and overrides
insserv: warning: script 'cron' missing LSB tags and overrides
insserv: warning: script 'udev' missing LSB tags and overrides
insserv: warning: script 'avahi-daemon' missing LSB tags and overrides
insserv: warning: script 'xinetd' missing LSB tags and overrides
insserv: warning: script 'xbmc' missing LSB tags and overrides
insserv: warning: script 'winbind' missing LSB tags and overrides

그 다음 netatalk를 설치한다.

pi@raspbmc:~$ sudo apt-get install netatalk
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  tdb-tools
Use 'apt-get autoremove' to remove it.
다음 패키지를 더 설치할 것입니다:
  cracklib-runtime db-util db5.1-util libcrack2 libpam-cracklib lsof rc wamerican
제안하는 패키지:
  texlive-base-bin groff quota db4.2-util
다음 새 패키지를 설치할 것입니다:
  cracklib-runtime db-util db5.1-util libcrack2 libpam-cracklib lsof netatalk rc wamerican
0개 업그레이드, 9개 새로 설치, 0개 제거 및 2개 업그레이드 안 함.
2,695 k바이트 아카이브를 받아야 합니다.
이 작업 후 6,574 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까 [Y/n]? 
받기:1 http://archive.raspbian.org/raspbian/ wheezy/main db5.1-util armhf 5.1.29-5 [81.5 kB]
받기:2 http://archive.raspbian.org/raspbian/ wheezy/main lsof armhf 4.86+dfsg-1 [321 kB]
받기:3 http://archive.raspbian.org/raspbian/ wheezy/main wamerican all 7.1-1 [272 kB]
받기:4 http://archive.raspbian.org/raspbian/ wheezy/main libcrack2 armhf 2.8.19-3 [59.0 kB]
받기:5 http://archive.raspbian.org/raspbian/ wheezy/main cracklib-runtime armhf 2.8.19-3 [184 kB]                                
받기:6 http://archive.raspbian.org/raspbian/ wheezy/main libpam-cracklib armhf 1.1.3-7.1 [82.7 kB]                               
받기:7 http://archive.raspbian.org/raspbian/ wheezy/main rc armhf 1.7.1-4 [79.2 kB]                                              
받기:8 http://archive.raspbian.org/raspbian/ wheezy/main db-util all 5.1.6 [2,866 B]                                             
받기:9 http://archive.raspbian.org/raspbian/ wheezy/main netatalk armhf 2.2.2-1 [1,612 kB]                                       
내려받기 2,695 k바이트, 소요시간 11초 (235 k바이트/초)                                                                           
패키지를 미리 설정하는 중입니다...
Can't exec "/tmp/wamerican.config.216391": 허가 거부 at /usr/share/perl/5.14/IPC/Open3.pm line 186.
open2: exec of /tmp/wamerican.config.216391 configure  failed at /usr/share/perl5/Debconf/ConfModule.pm line 59
Selecting previously unselected package db5.1-util.
(데이터베이스 읽는중 ...현재 24222개의 파일과 디렉터리가 설치되어 있습니다.)
db5.1-util 패키지를 푸는 중입니다 (.../db5.1-util_5.1.29-5_armhf.deb에서) ...
Selecting previously unselected package lsof.
lsof 패키지를 푸는 중입니다 (.../lsof_4.86+dfsg-1_armhf.deb에서) ...
Selecting previously unselected package wamerican.
wamerican 패키지를 푸는 중입니다 (.../wamerican_7.1-1_all.deb에서) ...
Selecting previously unselected package libcrack2.
libcrack2 패키지를 푸는 중입니다 (.../libcrack2_2.8.19-3_armhf.deb에서) ...
Selecting previously unselected package cracklib-runtime.
cracklib-runtime 패키지를 푸는 중입니다 (.../cracklib-runtime_2.8.19-3_armhf.deb에서) ...
Selecting previously unselected package libpam-cracklib:armhf.
libpam-cracklib:armhf 패키지를 푸는 중입니다 (.../libpam-cracklib_1.1.3-7.1_armhf.deb에서) ...
Selecting previously unselected package rc.
rc 패키지를 푸는 중입니다 (.../archives/rc_1.7.1-4_armhf.deb에서) ...
Selecting previously unselected package db-util.
db-util 패키지를 푸는 중입니다 (.../archives/db-util_5.1.6_all.deb에서) ...
Selecting previously unselected package netatalk.
netatalk 패키지를 푸는 중입니다 (.../netatalk_2.2.2-1_armhf.deb에서) ...
db5.1-util (5.1.29-5) 설정하는 중입니다 ...
lsof (4.86+dfsg-1) 설정하는 중입니다 ...
wamerican (7.1-1) 설정하는 중입니다 ...
libcrack2 (2.8.19-3) 설정하는 중입니다 ...
cracklib-runtime (2.8.19-3) 설정하는 중입니다 ...
libpam-cracklib:armhf (1.1.3-7.1) 설정하는 중입니다 ...
rc (1.7.1-4) 설정하는 중입니다 ...
db-util (5.1.6) 설정하는 중입니다 ...
netatalk (2.2.2-1) 설정하는 중입니다 ...
insserv: warning: script 'console-setup' missing LSB tags and overrides
insserv: warning: script 'dbus' missing LSB tags and overrides
insserv: warning: script 'cron' missing LSB tags and overrides
insserv: warning: script 'udev' missing LSB tags and overrides
insserv: warning: script 'avahi-daemon' missing LSB tags and overrides
insserv: warning: script 'xinetd' missing LSB tags and overrides
insserv: warning: script 'xbmc' missing LSB tags and overrides
insserv: warning: script 'winbind' missing LSB tags and overrides
Starting Netatalk services (this will take a while):  cnid_metad afpd.

끝났다. 정말 간단하게 되는구나. 다음으로 연결 버튼을 눌러서 pi 계정 정보를 입력하면 다음과 같이 바로 연결이 된다. 🙂

afp 연결 모습

 

라즈베리파이 ssh, ftp 환경 설정

Raspbmc를 설치하면 dropbear ssh server와 vsftpd 데몬이 함께 설치가 된다.

처음으로 ssh 접속을 하면 locale과 time zone을 설정하는 과정을 거친다. 다음 세 개의 로케일을 선택하였고, ko_KR.UTF-8을 기본 locale로 설정했다. Time zone은 Asia -> Seoul로…

en_US
en_US.UTF-8
ko_KR.UTF8

먼저 패스워드를 변경한다. 기본적으로 할당되어있는 pi 계정의 기본 패스워드는 raspberry인데, 이것을 자신만 아는 비밀번호로 변경한다.

pi@raspbmc:~$ passwd
pi에 대한 암호 변경 중
(현재) UNIX 암호:
새 UNIX 암호 입력:
새 UNIX 암호 재입력:
passwd: 암호를 성공적으로 업데이트했습니다

그 다음 한글을 입출력할 수 있게 설정해준다.

pi@raspbmc:~$ cat .profile 
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
	. "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi
sudo sh /scripts/configure-pi-user.sh

# cky
export LANG=ko_KR.UTF-8</pre>
<pre class="lang:default decode:true">pi@raspbmc:~$ cat .inputrc 
set meta-flag on
set convert-meta off
set input-meta on
set output-meta on

기본적으로 동일 망에서는 아무 제약없이 사용할 수 있지만 외부 망에서 접속하려고 하면 몇가지 수정해줘야 할 것들이 있다.

Raspbmc Settings

프로그램 -> Raspbmc Settings에서 위와 같이 Disable firewall을 체크해준다. 그렇지 않으면 동일 망에서만 라즈베리 파이에 접속할 수 있게 된다.

그리고 vsftpd 설정파일(/etc/vsftpd.conf)에 다음의 값을 추가해준다. 아래 설정이 없으면 접속 후 ls 했을 때 425 Security BAD IP 에러를 만나게 된다. pasv 관련 설정은 port forwarding 상황에 따라서 적당히 추가해주면 된다.

pi@raspbmc:~$ cat /etc/vsftpd.conf
listen=NO
pam_service_name=ftp
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=NO
connect_from_port_20=YES
ftpd_banner=Raspbmc FTP Server
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
# cky
pasv_promiscuous=YES
pasv_enable=YES
pasv_min_port=29000
pasv_max_port=29999

Raspbmc 자체가 깔끔하게 정리가 되어있기 때문에 별다른 설정은 건드릴 필요가 없다. 🙂

ps. 추가로 Cronjob scheduler enable, Samba Server는 disable로 설정해서 사용중이다. cron은 주기적인 작업에 유용하게 사용할 수 있고, samba대신에 afp를 사용하도록 설정.