출처 : http://blog.missflash.com/538

 

  • vsftpd 설치하기
    1. cd /usr/local/src/ftpd/ : 디렉토리 이동
    2. lftpget ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.5.tar.gz : 공식 사이트로부터 다운로드
    3. useradd nobody : nobody 사용자 추가(nobody 사용자가 있는지 확인, 사용자가 있으면 다음 단계로 진행)
    4. mkdir /usr/share/empty/ : 빈 디렉토리 생성(만들어져 있으면 다음 단계로 진행)
    5. mkdir /var/missflash/ : missflash 계정의 홈 디렉토리 생성
    6. useradd -d /var/missflash missflash : missflash 계정의 홈 디렉토리 설정
    7. chown root.root /var/missflash : 디렉토리 소유자와 소유그룹 변경
    8. chmod 755 /var/missflash : 디렉토리 퍼미션 변경
    9. make : 실행파일 생성[각주:1]
    10. make install : 프로그램 인스톨
    11. cp vsftpd.conf /etc : vsftpd 설정 파일 복사

  • vsftpd 서버 실행 : /usr/local/sbin/vsftpd &
    • vsftpd를 standalone으로 설정하라고 나올 경우 vsftpd.conf 파일 제일 아래에 listen=YES[각주:2] 라고 입력

  • vsftpd.conf 설정
    • anonymous_enable=YES : 익명 FTP 서비스 활성화 여부 설정
    • local_enable=YES : 로컬 계정 사용자 접속 여부 설정
    • write_enable=YES : 쓰기 가능 여부 설정
    • local_umask=022 : 파일 퍼미션 정의(022로 설정하면 파일의 퍼미션은 644가 됨)
    • anon_upload_enable=YES : 익명 FTP 접속자의 파일 업로드 권한 설정
    • anon_mkdir_write_enable=YES : 익명 FTP 접속자의 디렉토리 생성 권한 설정
    • dirmessage_enable=YES : FTP 접속자가 다른 디렉토리로 이동시, 알림메시지 출력 여부 설정
    • xferlog_enable=YES : FTP 접속자들의 업/다운로드 상황 로그파일 저장 여부 설정
    • connect_from_port_20=YES : standalone 모드를 운영하면서 데이터 전송포트 사용시 설정
    • chown_uploads=YES : 익명 FTP 서비스에서 익명 접속자가 업로드한 파일의 소유권 자동 변경 여부 설정
    • chown_username=whoever : 익명 FTP 서비스에서 익명 접속자가 업로드한 파일의 소유권 자동 변경한 후, 그 소유권을 변경할 사용자 설정(root로 설정하지 말 것!)
    • xferlog_file=/var/log/vsftpd.log : 로그파일 경로 설정
      • cp vsftpd.log /etc/logrotate.d/vsftpd : 생성한 로그파일을 /etc/logrotate.d/vsftpd로 복사
    • xferlog_std_format=YES : 로그파일 포맷 설정
    • idle_session_timeout=600 : idle 상태에서 접속을 유지할 최대 시간 설정(기본값 300초)
    • data_connection_timeout=120 : 파일 업/다운로드시 연결을 유지하는 시간 설정(기본값 300초)
    • xferlog_std_format=YES : 로그파일 포맷 설정
    • nopriv_user=missflash : 익명 FTP 접속자가 접속하는데 사용할 사용자 설정(기본값 nobody)
    • async_abor_enable=YES : async ABOR 명령 가능 여부 설정(기본값 NO)
    • ascii_upload_enable=YES : ASCII 파일 업로드 가능 여부 설정(기본값 NO)
    • ascii_download_enable=YES : ASCII 파일 다운로드 가능 여부 설정(기본값 NO)
    • ftpd_banner=Welcome : FTP 접속자에게 보여줄 환영 메시지 설정
    • deny_email_enable=YES : 익명 FTP 접속시 접속을 거부할 이메일[각주:3] 설정(기본값 NO)[각주:4]
    • banned_email_file=/etc/vsftpd.banned_emails : 접속을 거부할 이메일의 파일 경로 설정
    • chroot_local_user=YES : 홈 디렉토리 위로 이동 제한 여부 설정(기본값 NO)[각주:5]
    • chroot_list_enable=YES : chroot에서 제외할 사용자 목록 파일 사용 여부 설정(기본값 NO)
    • chroot_list_file=/etc/vsftpd.chroot_list : chroot에서 제외할 사용자 목록 파일과 경로 설정
    • ls_recurse_enable=YES : FTP 접속자들의 ls -R 명령어 사용가능 여부 설정(기본값 NO)
    • listen=YES : standalone 모드로 서비스할 때 설정(기본값 xinetd)
    • pam_service_name=vsftpd : pam 인증에 사용할 설정파일의 이름 설정
      • 해당 파일 복사 : cp /usr/local/src/ftpd/vsftpd-2.0.5/RedHat/vsftpd.pam /etc/pam.d/vsftp
      • 사용자 계정 접속 제한 : (vsftp 파일 내용중) item=user sense=deny file=/etc/ftpusers
    • pasv_min_port=5000 : 패시브 모드 최소 포트번호 설정
    • pasv_max_port=6000 : 패시브 모드 최대 포트번호 설정(iptables 방화벽에서 5000~6000까지 오픈해야 함)
    • pasv_enable=NO : 패시브 모드를 해지(기본값 YES)
    • max_clients=100 : 최대 동시접속자수 제한 설정(기본값 0[각주:6])
    • max_per_ip=5 : IP당 최대 가능 접속수 설정(기본값 0)
    • session_support=YES : wtmp에 접속로그 남기도록 설정(YES 설정시 last 명령으로 접속 사용자의 최근 접속시간 파악 가능)
    • trans_chunk_size=8192 : 파일 업/다운로드시 지정한 byte 단위로 잘라서 전송(4096부터 65536사이의 값으로 지정해야 함, 기본값 0[각주:7])
    • local_max_rate=500000 : 계정 사용자의 최대 초당 전송량(bytes) 제한(기본값 0)
    • anon_max_rate=300000 : 익명 접속자의 최대 초당 전송량(bytes) 제한(기본값 0)
    • force_dot_files=YES : 숨김 파일(.으로 시작하는 파일)을 보여줄지 여부 설정(기본값 NO)
    • hide_ids=YES : 디렉토리와 파일의 원래 소유자와 소유그룹을 숨길지 여부 설정(기본값 NO)
    • deny_file={*.mp3,*.wmv} : 특정 확장자 파일 업로드 제한
    • hide_file={*.mp3,*.wmv} : 특정 확장자 파일 열람 제한

  • vsftpd 서버 시작스크립트 생성[각주:8]
    1. /etc/vsftpd 디렉토리 생성 및 /etc/vsftpd/vsftpd.conf 파일 저장
    2. 시작 스크립트 파일[각주:9]/etc/rc.d/init.d/vsftpd 파일로 저장
    3. 스크립트에 실행권한 부여 : chmod 755 /etc/rc.d/init.d/vsftpd
    4. chkconfig 이용 런레벨 3, 5번에 추가
      • chkconfig --add vsftpd
      • chkconfig --level 3 vsftpd on
      • chkconfig --level 5 vsftpd on


  • 막간을 이용한, sftp 설치 방법
    • openssh 패키지에 포함되어 있음
    • /etc/ssh/sshd_config 파일 내 "Subsystem   sftp   /usr/libexec/openssh/sftp-server" 부분 활성화
    • sshd 서비스 시작

  • 막간을 이용한, sftp 사용 방법(클라이언트 설정)
    • 포트 : 22
    • 서버유형 : SFTP using SSH2





[VirtualBox]

 http://www.virtualbox.org/

 VirtualBox-1.6.2-Win_x86.msi

  - VirtualBox를 실행하고

 - 새로만들기 버튼 클릭

 - CentOS 5.1의 커널버전이 kernel 2.6.x 이므로 운영체제 종류 선택시 Linux 2.6 선택

 - 설정 버튼을 눌러 다운로드 받아놓은 DVD iso 이미지 파일을 CD/DVD 드라이브로 마운트 시킴

 - 시작 버튼을 눌러 cdrom 부팅으로 CentOS 시작

 - 설치를 완료한 다음 CD/DVD 드라이브 마운트 해제하고 부팅

 

[CentOS]

 http://www.centos.org/

http://isoredirect.centos.org/centos/5/isos/i386/

 http://mirror.tini4u.net/centos/5.1/isos/i386/CentOS-5.1-i386-bin-DVD.iso

or http://mirror.mirr4u.com/centos/5.1/isos/i386/CentOS-5.1-i386-bin-DVD.iso

 

* CentOS 5.1 설치가 완료되면 반드시 yum을 사용해서 커널을 업데이트 한다.

# yum update kernel kernel-devel kernel-headers

  < 개발환경 구축 >

 프로그램 > 소프트웨어 추가/삭제 >> 패키지 관리자

 - 검색 탭: 개발용 도구 선택

   :

[v] 개발용 도구

[v] 개발용 라이브러리

[v] 레거시 소프트웨어 개발

 - 목록 탭: VirtualBox 게스트 확장 설치를 위해

  + 커널 개발용 라이브러리 패키지와 SDL 라이브러리 패키지를 찾아 설치

[v] kernel-devel - 2.6.18-53-1.21.el5.i686 - Development package for building kernel modules to match the kernel.

[v] kernel-headers - 2.6.18-53.1.21.el5.i686 - glibc에 의해 사용될 Linux 커널의 헤더 파일

[v] SDL - 1.2.10-8.el5.i386 - 크로스 플랫폼 멀티미디어 라이브러리.

 - 적용 버튼 클릭 >> 패키지 선택 > 계속 (잠시 기다려야 함)

 

 < VirtualBox 게스트 확장 설치 >

 VirtualBox 상에서 CentOS를 설치했다면 기본적인 해상도는 800x600이다.

그 이상의 해상도(1024x768)를 사용하고, 클립보드 및 공유폴더를 공유하고 싶다면 게스트 확장을 설치한다.

 

1. VirtualBox의 장치 메뉴에서 게스트 확장 설치 클릭

 - 게스트 확장용 이미지가 /media 디렉토리 아래로 마운트 된다.

 

2. 일반유저로 로그인 되어 있는 상태에서 root로 전환

[dozob@localhost ~]$ su -

Password:

 

3. /media 디렉토리 아래에 마운트된 게스트 확장 실행

[root@localhost ~]# cd /media/VBOXADDITIONS_1.6.2_31466

[root@localhost ~]# /bin/sh VBoxLinuxAdditions.run

Verifying archive intergrity... All Good.

Uncompressing VirtualBox 1.6.2 Guest Additions for Linux installation...

...

VirtualBox 1.6.2 Guest Additions installation

Building the VirtualBox Guest Additions kernel module...

Building the shared folder support kernel module...

Installing the VirtualBox Guest Additions...

 

Successfully installed the VirtualBox Guest Additions.

You must restart your guest system in order to complete the installation.

 

 

< 호스트 운영체제와 게스트 운영체제의 폴더 공유 >

 

 - 장치 메뉴의 공유 폴더 선택

 - 오른쪽의 '새 공유 폴더 추가' 이미지 버튼 클릭

 

 - 리눅스 상에서 /mnt/share 디렉토리를 만들고, mount 파티션 타입을 vboxsf로 지정해서 마운트

[root@localhost ~]# mkdir /mnt/share

[root@localhost ~]# mount -t vboxsf E_DRIVE /mnt/share

[root@localhost ~]# df -h

Filesystem...

 - 마운트한 공유폴더를 언마운트 할 때

[root@localhost ~]# umount /mnt/share

[root@localhost ~]# df -h

Filesystem...

 

출처 : Tong - dozob님의 Linux통



실수로 특수문자가 파일이름에 들어갔을때 지워지지가 않는다. 이럴때 하는 방법
지우려는 파일이 --weirdname이라면

# ls -i
115118 --weirdname

# find . -inum 115118 -exec rm -f {} \;

하면 지워진다.

참고 : http://cafe.naver.com/lrisconsulting.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=421
애들과 도서관에 갔다가 전에 리눅스 개발을 해보던 기억이 나서 이 책을 빌려봤다.
전에 했던 기억들이 새록새록 나게 해주는 책이다.
그때는 어떻게 하는지 몰랐던 내용도 많았다.
다시 리눅스 개발하게 되면 또 빌려봐야겠다.

책소개

문제해결의 실마리를 제공하는 리눅스 개발 경험담. 『열씨미와 게을러의 리눅스 개발 노하우 탐험기』는 '열씨미'와 '게을러'라는 가상인물의 대화를 통해 리눅스로 개발하면서 겪는 개발현장의 사례를 14개의 짧은 이야기를 통해 실감나게 그려낸다. 각 이야기는 리눅스 신참인 '열씨미'와 리눅스 해커인 '게을러'의 해결방안을 동시에 수록하고 있어서 다 나은 해결방안을 모색할 수 있는 계기를 마련해 주고 있다.


저자 소개

저자 : 박재호

포항공과대학교 컴퓨터공학과 학부와 포항공과대학교 대학원 컴퓨터공학과를 졸업했다. 블로그 '컴퓨터 vs 책'(http://jhrogue.blogspot.com)을 운영하고 있다. 지은 책으로『IT EXPERT, 임베디드 리눅스』(한빛미디어, 2002) 등이 있고, 옮긴 책으로『The Art of Project Management : 마음을 움직이는 프로젝트 관리』(한빛미디어, 2006)『, 리눅스 디바이스 드라이버, 개정5판』(한빛미디어, 2005), 『리눅스 문제 분석과 해결』(에이콘, 2006), 『 조엘 온 소프트웨어 : 유쾌한 오프라인 블로그』(에이콘, 2005) 등이 있다.


목차

1장. 단순한 파일 비교를 넘어서
2장. 원시 코드 색인은 나에게 맡겨라
3장. 공유 라이브러리와 심볼 이름을 찾아라
4장. 분위기 파악 못하는 훼방꾼 configure(1)
5장. 분위기 파악 못하는 훼방꾼 configure(2)
6장. 자동화된 빌드 시스템 구축(1)
7장. 자동화된 빌드 시스템 구축(2)
8장. 숨겨진 1인치의 의존성을 찾아라
9장. 메모리 디버깅을 위한 친구
10장. 프로그램을 동적으로 추적하는 도구
11장. 스택 탐색을 통한 디버깅
12장. 스택 탐색을 통한 백트레이스 구현
13장. 공포의 커널 패닉과 웁스
14장. raw 디바이스 다루기


책속으로

열 씨미 씨는 디렉토리가 10개이며, 원시 코드 파일(*.[ch]) 개수가 500개가 넘는 큰 프로그램을 수정 중이다. 혼자서 만들어도 뭐가 바뀌었는지 기억이 가물가물할 텐데 팀원이 여러 명이다 보니, 어디서 뭐가 바뀌었는지 매번 길을 잃고 헤매고 있다. 하도 답답한 나머지 우리의 꾀돌이 게을러 씨에게 맥주 한잔을 걸고 방법을 물어 보았다.

열씨미: 버전이 올라감에 따라 어떤 파일이 변경되었는지 알아내려고 할 때마다 머리가 아파 죽을 지경일세.make와 같이 특정 파일이 변경된 시각을 기준으로 바뀐 파일만 출력하는 방법이 없을까?
게을러: 변경된 시각으로 비교하고 싶다면 직접 셸스크립트를 만들어도 되지만, find(1)를 한번 써보면 어떨까? 어떤 파일을 기준으로 변경시각을 비교하고 싶은 거야?
열씨미: myproject 디렉토리에 있는 yesterday.c인데, 이 파일은 내가 어제 오전에 변경한 파일일세. 이 파일보다 나중에 만들어진 파일(즉, 오늘 변경된 파일)을 볼 수 있으면 정말 좋겠어.
게을러: 다음과 같이 명령을 한번 내려 보자구.

$ find
/home/jrogue/project/very_very_large_project
-newer./myproject/yesterday.c

열씨미: 우와 정말 멋지
...펼처보기 --- 본문 중에서


출판사 리뷰 문제해결의 실마리를 제공하는 리눅스 개발 경험담

책 에 싣기에는 내용이 가볍고, 월간지 기사 형식으로 내기에는 분량이 많으며, 블로그에 올리기에는 무거운 주제가 틀림없이 존재한다. 리눅스로 개발하면서 겪은 경험담도 바로 이런 주제에 해당하는데 책으로 정리하면 부드럽게 시작한 글이 딱딱한 글로 끝나버리고, 월간지에 매달 조금씩 연재하면 독자에게 전달되는 기간이 너무 오래 걸리기에 '경험담'이라는 좋은 특성이 사라져버린다. 그렇다고 블로그에 올리자니 글이 너무 길어져서 지루하다. 이런 상황을 어떻게 극복해야 할까?
생각 끝에 낸 아이디어는 독자들이 편안하게 읽을 수 있도록 짤막하게 끊어서 내용을 전개하되, 유기적으로 '블로그처럼' 구성하자는 것이었다. 이 책은 전형적인 리눅스 해커 '게을러'와 리눅스 신참인 '열씨미'가 리눅스로 개발하면서 겪는 애로사항을 대화형식으로 풀어낸다. 이런 대화형식은 어느 정도 개발 실력이 있지만2% 부족함을 느껴 다른 사람이 겪은 경험담에 목이 마른 개발자에게 문제를 푸는 실마리를 제공한다. 두 주인공이 주고받는 대화를 엿듣다 보면 '아하!' 하고 문제의 원인과 해결책을 깨닫는 순간이 찾아올 것이다.

이제 다른 사람이 저지른 실수를 반복하지 말자.
같은 실수를 겪은 저자의 경험담과 노하우가 이 책에 있다.

-. 개발 현장 속에서 얻은 소중한 지식을 블로그의 글처럼 재미있게 구성했다.
-. 리눅로 개발하면서 겪는 다양한 문제들과 그 해결책을 14개의 이야기로 엮었다.
-. '열씨미', '게을러'라는 가상인물의 대화를 통해 실제로 개발현장에서 일어나는 현장감을 담아냈다.
-. 두 주인공의 대화는 어느 정도 개발 실력이 있지만 2%의 부족함을 느껴 다른 사람이 겪은 경험담에 목이 마른 개발자에게 문제
...펼처보기

DDNS라는 방식을 사용하면 되는데 하나로(sk) 인터넷을 사용하는 경우는 80번 포트가 막혀 있어서 다른 포트를 사용해야 합니다.
잊어버리기 전에 정리를 해놓는게 좋을 듯...

1. 도메인을 등록한다.

www.domainclub.kr 에서 등록을 합니다.
(사실 다른 곳에 했다가 이곳으로 바꿨습니다. 이유는 전에 등록했던 곳에선 네임서버 변경하는데 제한이 있는데 이곳은 제한이 없습니다.  제가 가지고 있는 도메인은 true24.org)
도메인 이전에 관한 사항은 도메인 등록 기관에 문의 하세요.
네임서버 변경이 쉬우면 그냥 사용하시구요.

2. www.dnsever.com 에 가입한다.

DDNS를 해주는 사이트입니다. dyndns.org가 많이 쓰이는데 좀 느리고, 유료인것 같아서 dnsever로 하게 됐습니다. dnsever에 가입하면 5개의 네임서버를 제공해 줍니다.

3. 네임서버를 변경합니다.

domainclub에 네임서버 변경으로 가서 dnsever에서 받은 5개의 서버를 입력합니다.
상단 메뉴 -> 정보변경 -> 네임서버 변경
자신이 보유한 도메인 선택하시고 '네임서버 변경하기' 버튼 클릭
네임서버명, IP 모두 입력해 주세요

4. dnsever에서 셋팅하기

도메인 추가에서 도메인을 추가합니다.
웹포워딩을 셋팅합니다.


DDNS를 등록합니다.


 


웹포워딩과 DDNS 모두 www.true24.org를 등록할 수가 없어서 DDNS에는 main.true24.org를 등록합니다. DDNS의 IP주소는 하나로(SK)에서 동적으로 할당한 IP입니다. 최초 셋팅이라고 생각하세요. 나중에 서버가 자동으로 업데이트해 줍니다. 이 값은 공유기에서 가져오면 됩니다.
저는 IPTIME을 사용하는데 관리자로 들어가서 시스템정보 -> 인터넷연결상태에 가면 알 수 있습니다.




5. 잠시 정리하기.

여기까지 됐으면 웹브라우저에서 www.true24.org를 치면 집에 있는 공유기까지는 오는 겁니다. 대신 공유기에 올때는 main.trur24.org:8000으로 오지요. 이렇게 한 이유는 하나로(SK)는 80포트를 막아놨어요. 도메인 등록이나 이전 과정이 몇일이 소요되는데 일단 nslookup이나 ping으로 main.true24.org 해서 되면 도메인설정과 DDNS까지 잘 되었다고 볼 수 있지요.

> nslookup main.true24.org
Address : xxx.xxx.xxx.xxx
가 나오면 된겁니다.

> ping main.true24.org
해서 되면 성공


6. 공유기 셋팅

저는 IPTIME을 사용합니다. 기본적인 기능들이라 어느정도 기능이 있는 공유기라면 모두 가능하리라 생각합니다. 없으면 가격도 요즘 괜찮으니 포트포워딩 되는 것으로 하나 구매하세요.

공유기 내부네트워크 셋팅은 DHCP로 해도 좋은데 서버는 고정으로 주면 좋습니다. 192.168.1.2로 한다고 가정합니다.
공유기 관리자로 들어가서 NAT설정 -> 포트포워딩 설정에 가서 설정을 합니다.

내부IP주소에 모두 192.168.1.2 서버 주소를 써주면 됩니다.
80포트에 Apache2, 22포트에 sshd, 21포트에 ftp, 8080포트에 tomcat, 840포트에 tomcat blazeds가 셋팅되어 있습니다.

7. 유동IP 업데이트 해주기


이 부분은 서버에서 정기적으로 유동 IP를 dnsever쪽에 알려주어 update를 해주는 겁니다.
저는 리눅스를 사용하고 있어서, wget을 사용하는데 윈도우즈용도 있지요.
자세한 설명은 dnsever에 있으니 그것을 참고하시면 됩니다.
dnsever에 가셔서 좌측 중간쯤에 "다이나믹 DNS 사용법" 을 보세요.
이때 공유기로 들어올때 main.true24.org로 오니까 www.true24.org가 아니라 main.true24.org를 업데이트 해주셔야 합니다.

리눅스에서 자동으로 다이나믹DNS 업데이트를 실행하는 방법
  1. 다이나믹DNS업데이트 실행 스크립트를 만듭니다.
    [root]# vi /usr/local/bin/ddns.sh
    #!/bin/sh
    /usr/bin/wget -O - --http-user=아이디 --http-passwd=인증코드 'http://dyna.dnsever.com/update.php?업데이트_인자값'
    위와 같이 하여
    /usr/local/bin/ddns.sh 라는 파일을 편집하여 저장한 다음
    [root]# chmod +x /usr/local/bin/ddns.sh
    로 하여, 스크립트에 실행권한을 부여합니다.
  1. /etc/crontab 파일 편집하여,일정한 시간마다(예:매 5분) 다이나믹DNS 업데이트 스크립트 작동하도록 합니다.
    [root]# vi /etc/crontab
    */5 * * * * root /usr/local/bin/ddns.sh > /dev/null 2>&1
  1. /etc/rc.d/rc.local 파일에 다이나믹DNS 업데이트 스크립트 실행 라인을 추가하여, 시스템 시작시에 스크립트 실행되도록 합니다.
    (리눅스배포판의 종류에 따라 시작스크립트 방식이 다릅니다. Ubuntu 리눅스의 경우 /etc/rc.local 을 사용합니다. Debian 리눅스의 경우 rc.local 파일을 사용하지 않습니다. 자세한 사항은 Debian 리눅스FAQ를 참조하십시오.)
    [root]# vi /etc/rc.d/rc.local
    /usr/local/bin/ddns.sh

 

 


하기 전엔 복잡하더니 적고보니 간단하네요.
80포트가 막혀서 다른 포트로 들어가는건데 혹시 다른 좋은 방법 아시는 분은 알려주세요.

[출처 : http://bundo.tistory.com/13]

첫번째 방법인 SWAP 메모리 사용의 적당한 조절을 통한 퍼포먼스는 아래 링크를 참고 바란다.
http://ubuntu.or.kr/wiki.php/VMSwap

두번째 방법으로 가상 콘솔을 줄여 자원 절약을 하고자 한다.
보통 서버에서도 사용되는 방법인데..
리눅스는 기본적으로 6개의 텍스트 가상 콘솔을 가지고 있다.
모르는 이는 CTRL+ALT+F1 을 눌러 보라!
CTRL+ALT+F1 부터 CTRL+ALT+F6 까지가 텍스트 가상 콘솔이며..
CTRL+ALT+F7이 엑스원도의 터미널이 된다.

보통 필자는 가상콘솔로 나갈때는 엑스가 문제를 일으켜서 로긴이 이상하거나 할때 프로세서를 죽이고자 나간다.
(텍스트 가상콘솔을 오래전 부터 tty 라 칭하는데 이는 teletypewirter의 약자로, 예전에 전신 타자기에서 유래 되었다.)

레드헷계열은 위에서 언급한 가상 텍스트 콘솔을  /etc/inittab 파일에서 tty를 주석처리하여
쉽게 가상 콘솔수를 줄일 수 있다.
사용자 삽입 이미지


그러나 우분투는 /etc/inittab 파일이 없고 /etc/event.d 디렉토리에서 조절하고 있다
따라서  다음과 같은 방법으로 하면 된다.

루트 권한으로 노틸러스 실행
$ sudo nautilus

위치  /etc/event.d

여기서 tty 파일중 tty3부터 tty6까지를 아래 그림처럼 tty3.bak 식으로 이름을 바꿔 준 후
재부팅하면 가상콘솔이 1 과 2 그리고 엑스윈도가 사용할 7번만 가능해진다.
사용자 삽입 이미지

확인은 터미널서는 $top 또는 $htop (tty?)
그놈에선 시스템 감시의 프로세스 (getty) 로 확인 할수 있다.


[출처 : http://kr.blog.yahoo.com/o17zo7/18]

컴퓨터가 좀 느륀것 같아서 데몬 죽이는 방법을
모르겠네요?

부팅시에 필요없는 데몬들은 죽여야 할 것 같은데..
김준성, 2005-04-29 14:57:42
------------------------------------------------------------------------
원시적이지만 효과적인 방법이 있지요..
/etc/init.d 에 부팅시 실행되는 스크립트들이 모여있는데
실행퍼미션을 없애주면 됩니다..
chmod -x 스크립트명 하면 되죠..
예를 들어 exim4 를 안띄우겠다면
chmod -x exim4 하면 다음 부팅부터 안뜹니다..
물론 잘모르는 스크립트는 건드리지 않는게 좋습니다..
LuzLuna, 2005-04-29 17:41:42
------------------------------------------------------------
우분투의 default init level은 2 이기때문에
/etc/rc2.d 아래에 S로 시작하는 파일들이 부팅때 실행되는 데몬들 입니다. 적당히 S를 K로 시작하도록 리네임 해주면 됩니다.
이게 더 옳은 방법일듯......
azalea, 2005-04-30 10:27:38
-------------------------------------------------------
데몬 관리 명려어로 update-rc.d란게 있습니다.
구체적인 사용법은 man page를 참고하시고, 아래는 데몬을 제거하는 방법입니다.

# update-rc.d -f [데몬] remove

# apt-get install ssh         / 보안 텔넷 ex) # ssh 192.168.0.2
# apt-get install vsftpd      / 범용 FTP서버

# ps -ef|grep vsftpd
# ps -ef|grep sshd
로 데몬이 구동되는지 확인한다.

vi /etc/vsftpd.conf  // 접근제어
--> anonymous_enable=NO
--> #local_enable = YES  // 주석제거
--> #write_enable = YES  // 주석제거

재시작
/etc/init.d/vsftpd restart


우분투 설치시 tomcat6 을 설치하면 localhost:8080 으로 들어가도록 웹서버가 동작한다.

하지만 php를 사용하려고 apache2를 설치한다.

0. 기존의 rpm을 검색하여 삭제한 후 apm설치를 시작한다.
rpm -e --nodeps `rpm -qa | grep -i mysql`
rpm -e --nodeps `rpm -qa | grep -i php`
rpm -e --nodeps `rpm -qa | grep -i apache`
rpm -e --nodeps `rpm -qa | grep -i httpd`

(이때 rpm이 설치되어있지 않다는 메세지가 나오면
# apt-get install rpm 으로 설치
프로세스를 확인
#> ps –ef |grep httpd
작동중인 Httpd 데몬이 목록에 나타나면 종료시킨다.
#> /etc/init.d/httpd stop
)

1. mysql 설치
apt-get install mysql-common
apt-get install mysql-server
apt-get install mysql-client

2. apache2 설치
apt-get install apache2
apt-get install apache2-common

2. php5 설치
apt-get install php5
apt-get install php5-common
apt-get install php5-gd
apt-get install php5-mysql
apt-get install libapache2-mod-php5

4. 업데이트
apt-get upgrade
apt-get update

5. 설치 테스트

/var/www/phpinfo.php를 만든다.

파일은 다음과 같이 쓴다.
<? phpinfo(); ?>
localhost/phpinfo.php로 들어가서 시스템 정보가 나오면 성공이다.


[각종 파일 위치 및 기본 정보]
Apache 설정파일 : /etc/apache2/apache2.conf

[웹문서루트] /var/www

[Apache 로그파일] : /var/log/apache2
[Apache 데몬 계정과 그룹] : www-data www-data
[PHP 설정파일] : /etc/php5/apache2/php.ini
[MySQL data 파일 위치] : /var/lib/mysql
[MySQL mysqld.sock 위치] : /var/run/mysqld/mysqld.sock


1. 부팅문제

우분투가 VirtualBox 설치 메뉴에 있기에 확실히 지원된다는 생각으로 설치 시작...
그런데 왠걸 부팅이 안된다.
파티션 나눌때 부팅정보가 빠졌나 해서 다시 설치해 봤는데 여전히 안된다.

알고보니 설정을 변경해 주어야 한다.
설정에 가서 고급탭에 가보면 확장된 기능에 "PAE/NX 사용하기" 라는게 있는데 이것을 체크하고
하니 부팅이 된다.

안될때는 VirtualBox가 맘에 안들다가 다양한 옵션이 있는 걸 보니 또 맘에 든다...


2. 네트워크

기본 NAT로 하니 호스트 DHCP 기본이고 호스트와 통신이 전혀 되지 않는다.
해서 네트워크를 호스트 인터페이스로 바꾸고, IP를 고정으로 변경해 주니
호스트에서 ssh로 접속이 된다.

[고정IP 주는법]
/etc/network/interfaces를 열어서 eth0부분만 아래와 같이 수정해 준다.

# The primary network interface
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
       address         192.168.100.57
       netmask         255.255.255.0
       network         192.168.100.0
       broadcast       192.168.100.255
       gateway         192.168.100.1

탭으로 구분을 주어야 되는 듯 하다.
수정했으면 /etc/init.d/networking restart 를 해주고
ifconfig eth0로 확인

[DNS 셋팅]
/etc/resolv.conf 를 수정한다.
nameserver x.x.x.x
로 dns server ip 만 써주고
ifdown eth0 && ifup eth0 하면 된다.

+ Recent posts