리눅스에서 파일 소유자를 한꺼번에 변경할때, 숨겨진 파일(.으로 시작하는)이 변경이 되지 않아 골치 아플때가 있다. 이런 경우 이렇게 해결한다.

# find . -type d -exec chown user:group {} ;
# find . -type f -exec chown user:group {} ;

리눅스에서 인터넷 공유를 사용할 일이 생겼다. 리눅스에서 iptables를 이용한 마스커레이딩으로 인터넷 회선을 공유하는 방법은 정말 오래전에 소개된 방법이고, 사용도 텍스트 설정파일만 편집하면 되니 간단하게 끝난다. 하지만, 리눅스 사용하기가 편리해진 요즘에는 왕초보도 할수 있을정도로 편리한 방법이 있을 것 같아 한번 확인해봤다. 아니나 다를까, 거의 윈도우즈 수준의 마우스 클릭으로 설정이 끝나더라.(밑의 메시지는 영문 기준)

  1. 메뉴에서 'System' -> 'Preference' -> 'Network Connections'
  2. 공유할 네트워크 장비(인터넷에 물린 것 말고, 다른 컴퓨터/장비에 연결할 것)를 선택후, 'Edit' 버튼 클릭
  3. 설정창에서 'IPv4 Settings' 탭을 선택
  4. 'Method' 항목을 'Shared to other computers'로 선택

다만, 참고할 것은 'dnsmasq-base' 패키지가 설치되어 있어야 설정이 제대로 동작하므로, 설정전에 확인해보고 설치가 안되어있으면, 설치한 후에 설정하자.

리눅스 콘솔에서 여러 개의 파일 이름을 동시에 바꾸는 작업은 'rename'명령어로 간단하게 처리할 수 있다. 사용법은 다음과 같다.

# rename [before] [after] [files]

예제를 보면 다음과 같다.

  1. 대문자 확장자를 소문자로 변경
    # rename .AAA .aaa *.AAA
  2. file1 .. file100 을 file001 .. file100 형태로 변경
    # rename file file0 file?; rename file file0 file??


리눅스 콘솔에서 사용할 수 있는 FTP 프로그램은 여러가지가 있다. 기본적으로 ftp가 있겠고, 좀더 편리한 기능을 갖춘 NCFTP도 있다. 여러 개의 파일/디렉토리를 전송할 수 있고, 파일명 자동완성 기능도 가지고 있으며, 계정정보를 저장해서 관리할 수 있기 때문에, 나는 주로 NCFTP를 사용하고 있었다.

그런데, 하나 부족한 기능이 있는데, 바로 '없는 파일/디렉토리만 전송하는 기능' 이다. FTP를 통해서 여러 개의 파일/디렉토리를 전송하다가 중간에 끊기면, 어디까지 전송되었는지 확인하는 것이 쉬운일이 아니다. 이런 경우, rsync 등의 미러링 툴을 써서 동일하게 만들어도 되겠지만, FTP밖에 사용할 수 없는 상황이라면, 정말 골치아프다. 혹시, 그런 기능을 가진 것이 없을까 해서 찾아봤더니 아니나다를까 그런 FTP 프로그램이 있는데, 바로 LFTP다.

LFTP는 NCFTP가 가진 편리한 기능뿐만 아니라 미러링 기능도 가지고 있어서, '빠진 파일/디렉토리만 전송'하는 것이 가능하다. 간단하게 다음과 같이하면 리모트와 로컬 ((리모트는 상대편 컴퓨터, 로컬은 접속을 시도한 컴퓨터라는 정도의 의미로 사용함
리모트/로컬의 적절한 한국어가 있을 것 같은데...))의 현재 디렉토리를 리모트에 맞춰서 동일하게 만든다.

[user@localhost user]$ lftp user@somewhere.net
Password:
lftp somewhere:~> mirror

반대로 로컬에 맞춰서 동일하게 만드려면 아래와 같이 하면된다.

lftp somewhere:/> mirror -R

VirtualBox에서 돌리는 가상 머신을 이용해서 웹, FTP 등의 서비스를 하려면 네트워크로 접근이 가능해야하지만, 기본 설정으로는 불가능하다. 네트워크를 통해 가상머신에 접근하려면 다음과 같이 별도의 설정이 필요하다.

$ VBoxManage setextradata <guestname> "VBoxInternal/Devices/pcnet/0/LUN#0/Config/<서비스 이름>/HostPort" <접속할 포트 번호(ex. 8888, 2222, ...)>
$ VBoxManage setextradata <guestname> "VBoxInternal/Devices/pcnet/0/LUN#0/Config/<서비스 이름>/GuestPort" <가상 머신의 서비스 포트 번호(ex. 88, 22, ...)>
$ VBoxManage setextradata <guestname> "VBoxInternal/Devices/pcnet/0/LUN#0/Config/<서비스 이름>/Protocol" TCP

위의 '서비스 이름'은 아무거나 중복되지 않게만 설정하면 된다. 이제 설정한 포트를 통해서 가상 머신에 접속할 수 있게 된다. 예를 들어 SSH의 경우는 다음과 같을 것이다.

$ ssh -l <user> -p <위에서 설정한 포트번호(ex. 8888, 2222)> localhost

다음 명령으로 설정해둔 내역을 확인할 수 있다.

$ VBoxManage getextradata  enumerate

설정을 삭제하려면 다음과 같이 뒤에 값을 넣지 않고 입력한다.

$ VBoxManage setextradata  "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort"

'Operating' 카테고리의 다른 글

리눅스 터미널용 FTP 클라이언트 - LFTP  (0) 2009.03.04
Access via network a VirtualBox guest machine  (0) 2008.12.29
memcached in MySQL  (0) 2008.12.17
crontab 설정법  (0) 2008.12.04
# * * * * * [실행할 명령어]
# - - - - -
# | | | | |
# | | | | +—– 요일 (0 - 6) (일요일=0)
# | | | +—— 월 (1 - 12)
# | | +——— 일 (1 - 31)
# | +———– 시 (0 - 23)
# +———— 분 (0 - 59)

Selinux 옵션이 켜져있을 경우에 부팅하다가 아래와 같은 메시지와 함께 커널 패닉을 일으키는 경우가 있다.

Unable to load Selinux Policy. Machine is in enforcing mode. Halting now. Kernel Panic!

그때는 커널 옵션에 enforcing=0 를 주면 부팅이 된다.


파이썬 모듈을 설치하려고 보면 setup.py 가 있는 것들이 많다. 이것들을 rpm 으로 만들기 위해서는 다음과 같이 하면 된다.
$ python setup.py bdist_rpm


리눅스용 네이트온이 드디어 오픈 베타로 공개되었다. 이미 pidgin용 플러그인이나 JateOn으로 리눅스에서도 네이트온을 이용할 수 있었지만, 그래도 공식(?)적으로 리눅스를 지원하는 클라이언트가 나왔다는 것이 의미있는 일이라고 생각한다.

리눅스용 네이트온은 여기에서 받을 수 있으며, 앞으로 KLDP.NET과 같은 오픈소스 개발 사이트에 올려둘 계획이라고 한다.

추가로 KLDP의 이 글타래의 댓글을 보면 몇몇 분들이 수고하셔서 우분투와 RPM 패키지로도 만들어서 공개해놓은 것이 있다.

그동안 리눅스에서 네이트온을 사용하려면 JateOn 이나 pidgin용 네이트온 플러그인을 사용해야만 했다. 그리고, 네이트에서 리눅스용 클라이언트를 개발하고 있다는 소식이 들려오더니 결국 클로즈 베타로 클라이언트가 나오는 모양이다.



사실 라이센스 문제나 100% 동작을 보장하지 못한다는 점때문에 그렇지 그동안 리눅스에서 네이트온 사용시에는 JateOn 만으로도 충분하다고 생각했고, 메신저를 많이 사용하는 편이 아니기때문에 많이 기대는 되지 않는다. 하지만, 리눅스나 맥OS를 사용하면서 네이트온을 주로 사용하는 사람이라면 유용하겠지...

+ Recent posts