RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
1. 패키지 설치

#sudo apt-get install subversion apache2 libapache2-svn

위의 명령을 이용하여 패키지를 설치한다.


2. subversion 디렉토리 생성 및 권한 설정.

#mkdir /home/svn                                                - 서브버젼에서 사용할 디렉토리
#cd /home/svn                                                    - 이동
#svnadmin create --fs-type fsfs project1                 - 프로젝트 디렉토리 생성  
#chmod -R g+w project1                                       - 그룹쓰기 권한 설정
#chown -R nobody.nogroup proejct1                      - 아파치에서 액세스하기 위한 그룹 설정


3. apache 설정

우분투에서 아파치 설정파일은 /etc/apache2/apache2.conf  이다.
위의 파일에서

LoadModule dav_module              mod_dav.so
LoadModule dav_svn_module        dav_svn.so

<Location /svn/sample>
  DAV svn
  SVNPath /home/svn/project1
</Location>

부분을 추가해 줍니다.


4. 사용자 인증

#htpasswd -c [패스워드파일] [유저아이디]
ex) #htpasswd -c passwd lotus

아파치 설정파일이 있는곳에서 위의 명령어를 하면 패스워를 입력받습니다.
위의 명령어는 새로운 패스워를 만드는 경우고 사용자를 추가할 경우에는

#htpasswd [패스워드파일] [유저아이디]

의 형식으로 추가합니다. 아파치 설정파일에 가서 아까 적어준 부분을 아래와 같이 수정하여줍니다

<Location /svn/sample>
  DAV svn
  SVNPath /home/svn/project1
  AuthType Basic
  AuthName "Subversion Repository project1"
  AuthUserFile /etc/apache2/passwd
  Require valid-user
</Location>

그리고 checkout 모든 사용자들이 할 수 있지만 커밋 등의 쓰기동작은 지정된 사용자만이 할수있게 끔 하려면
<Location /svn/sample>
  DAV svn
  SVNPath /home/svn/project1
  AuthType Basic
  AuthName "Subversion Repository project1"
  AuthUserFile /etc/apache2/passwd
  <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
  </LimitExcept>
</Location>

이렇게 수정합니다.
설치가 제대로 되었는지 확인하려면

#svn checkout http://(서버 ip or 도메인네임)/svn/project1 project1

을 실행하였을 경우
Checked out revision 0 이 출력 되면 설치가 완료된 것입니다.
2008/10/27 12:06 2008/10/27 12:06
이 글에는 트랙백을 보낼 수 없습니다
서브버전을 설치해 보아요.

우분투에서 서브버전을 설치하고 svn+ssh 프로토콜로 접근하는 방법에 대해서 알아보아요.
먼저 서브버전을 설치하도록 해요.

sudo apt-get install subversion

완전 간단~! +_+ 이런게 우분투의 매력이네요. ^-^

사용자 그룹을 설정해요.

서브버전을 svn+ssh 프로토콜로 접근하려면 먼저 사용자 그룹을 설정해야 해요.

subversion 이라는 그룹을 사용하도록 하죠.
subversion 그룹을 만들어 주어요.

sudo groupadd subversion

/etc/group 파일을 수정해주어요.

sudo vi /etc/group

다음과 같이 /etc/group 파일에서 subversion 그룹에 서브버전을 사용할 사용자 아이디를 추가하면 돼요.
kjunine 이라는 아이디를 추가할께요.

subversion:x:1001:kjunine

콤마(,)로 구분하면 여러 개의 아이디를 추가할 수 있어요.

서브버전 저장소를 만들어요.

이젠 서브버전에서 사용할 저장소를 만들어야겠죠?
일단 저장소 디렉토리를 만들어 주어요.
/project/repository/source 라고 하죠.

sudo mkdir /project/repository/source -p

-p 옵션을 사용하면, 부모 디렉토리가 없으면 만들어 주네요.

저장소를 버클리 디비 방식으로 만들어주고, subversion 그룹이 접근할 수 있도록 권한을 바꿔주어요.
project라는 이름으로 저장소를 만든다고 하죠.

cd /project/repository/source
sudo svnadmin create --fs-type bdb project
sudo chgrp -R subversion project
sudo chmod -R g+w project

svn+ssh:// 프로토콜로 접속해 보아요.

여기까지만 해도 서브버전에 접속할 수 있어요.
예를 들면, 다음 URL로 접속하면 되죠.

svn+ssh://user.id@server.ip/project/repository/source/project

사용자 아이디를 반드시 써주어야 해요.

그러나 클라이언트에서 요청 시마다 비밀번호를 입력해줘야 하는 문제점이 있어요!!

다음과 같은 방법으로 해결해야 해요.

서버부터 설정해 보죠.

서브버전의 사용자마다 다음 단계를 수행해야 해요.

우선 SSH에서 사용할 개인키와 공개키를 만들어야죠.
키 이름을 kjunine으로 한다고 하죠.

cd ~/.ssh
ssh-keygen -b 1024 -f kjunine

암호를 입력하는 것이 나오는데.. 이 때 입력한 암호는 반드시 기억해야 해요!!

그럼 개인키 파일(kjunine)과 공개키 파일(kjunine.pub)이 만들어져요.

공개키는 ~/.ssh/authorized_keys 파일로 복사해 주어요.

cp kjunine.pub authorized_keys

개인키는 클라이언트에 다운로드 받아야 해요.

클라이언트도 설정해 보아요.

PuTTY라는 프로그램을 이용해야 해요.

PuTTY에는 putty.exe 말고도 plink.exe, pagent.exe, puttygen.exe 등 여러 프로그램들이 있어요.
그 중에서 pagent.exeputtygen.exe를 사용할 거에요.
plink.exe 대신에 TortoiseSVN 의 tortoiseplink.exe라는 plink.exe의 변형 프로그램을 이용할 거에요.
plink.exe는 자꾸 콘솔창이 떠서 방해가 되거든요.

다운받은 개인키를 PuTTY에서 인식할 수 있는 형태로 변환해야 해요.

다음과 같이 하면 돼요.

puttygen.exe를 실행해요.
메뉴에서 Conversions > Import key를 실행해요.
다운받은 개인키를 지정해야 해요.
키 생성 시에 입력한 비밀번호를 입력해요.
Save private key 버튼을 클릭해서 개인키를 저장해요. (ppk 파일로 저장돼요.)

매번 비밀번호를 입력하지 않아도 되도록 pagent.exe를 항상 띄워 놓아야 해요.

C:\Documents and Settings\{사용자_이름}\Application Data\Subversion\config 파일 내용을 다음과 같이 수정해야 해요.

저는 클라이언트에도 Subversion을 설치해서 이 파일이 존재할지도 모르겠네요.
아니면 TortoiseSVN만 설치해도 위 파일이 존재하는 건가..?

[tunnels] 밑에 있는 다음 부분을..

# ssh = $SVN_SSH ssh

주석을 제거하고 다음과 같이 고쳐 주세요.

ssh = {TortoiseSVN_설치_경로}/bin/TortoisePlink.exe

위에서 경로 입력 시 디렉토리 구분은 반드시 슬래쉬(/)로 해야 해요!!

그리고 pagent.exe의 바로가기를 만들어요.
바로가기의 속성에서 대상(T) 항목 끝에 한 칸 띄우고 위 단계에서 저장한 PuTTY용 개인키(ppk 파일)의 위치를 써주세요. (파일 이름까지)

{PuTTY_설치_경로}\PAGEANT.EXE {개인키_파일_경로}

여러 개의 키를 입력할 때는 띄워쓰기로 구분해서 여러 개를 입력해 주면 되요.

바로가기를 실행하세요.
개인키의 비밀번호를 입력하세요.

이제 끝이에요. ^^
위의 URL로 다시 접속해 보아요. 비밀번호를 묻지 않아요.

그리고 이제부터는 PuTTY로 접속할 때도 비밀번호를 입력 안 해도 되네요.

방금 만든 바로가기를 시작프로그램에 등록해두면 편하게 사용할 수 있어요.

https:// 프로토콜로도 접속해 보아요.

아파치와 서브버전을 연동하려면 libapache2-svn 패키지를 설치해 주어야 해요.

sudo apt-get install libapache2-svn

그리고 제한된 사용자만 접근할 수 있게 하려면 아파치에서 사용할 비밀번호 파일을 만들어 주어야 해요.
/etc/apache2/passwd 파일로 하도록 해요.
kjunine이라는 사용자를 만들어 보아요.

sudo htpasswd -c /etc/apache2/passwd kjunine

비밀번호 파일을 처음 만들 때에는 -c 옵션을 사용해야 해요.

그리고 적당한 곳에 다음에 나올 내용을 추가해 주면 되요.
https:// 로 접근하고자 하니까.. /etc/apache2/sites-available/ssl 파일을 수정해야 겠네요.

vi /etc/apache2/sites-available/ssl

기본적으로 /etc/apache2/sites-available/ssl 파일은 존재하지 않아요.
"우분투 8.04에서 아파치 2.2를 설치해 보아요."를 참고하세요.

<VirtualHost *:443>와 </VirtualHost> 사이 적당한 곳에 다음 내용을 넣죠.

  1. <Location /svn/project> 
  2.     DAV svn  
  3.     SVNPath /project/repository/source/project  
  4.     AuthType Basic  
  5.     AuthName "Subversion"  
  6.     AuthUserFile /etc/apache2/passwd  
  7.     Require valid-user  
  8. </Location> 


www-data 사용자를 서브버전 리포지토리의 소유 그룹에 추가해야 해요.
리포지토리 소유 그룹이 subversion이라고 하죠.
/etc/group 파일의 subversion 그룹에 www-data 사용자를 추가하도록 하죠.

sudo vi /etc/group

subversion:x:1001:kjunine,www-data

그리고 아파치를 새로 시작하면 돼요.

sudo apache2ctl restart

사용자별로 접근 권한을 다르게 설정해 보아요.

특정 Location(svn/project)에 대하여 다음과 같이 사용자에 따라 접근 권한을 다르게 설정할 수 있어요.

등록된 사용자만이 읽고 쓸수 있게..

  1. <Location /svn/project> 
  2.     Require valid-user  
  3. </Location> 


아무나 읽을 수 있고 등록된 사용자만이 쓸 수 있게..

  1. <Location /svn/project> 
  2.     <LimitExcept GET PROPFIND OPTIONS REPORT> 
  3.         Require valid-user  
  4.     </LimitExcept> 
  5. </Location> 


등록된 사용자만이 읽을 수 있고 특정한 사용자(kjunine)만이 쓸 수 있게..

  1. <Location /svn/project> 
  2.     <Limit GET PROPFIND OPTIONS REPORT> 
  3.         Require valid-user  
  4.     </Limit> 
  5.     <LimitExcept GET PROPFIND OPTIONS REPORT> 
  6.         Require user kjunine  
  7.     </LimitExcept> 
  8. </Location> 
2008/10/26 18:56 2008/10/26 18:56
이 글에는 트랙백을 보낼 수 없습니다
http://comefeel.dyndns.org

이곳으로 접속해서

아이디 test

비밀번호 1234

이다.

많은 영화들 있으니 사람들과 공유는 하지말고 혼자만 봐라.


ps : 반말한다고 해킹하지마세여 ㅈㅅㅈㅅ
2008/10/17 21:03 2008/10/17 21:03
이 글에는 트랙백을 보낼 수 없습니다
일단 우선적으로 ...

ㅅㅂ -_- 우분투 사용자가 이렇게 없었던 것인가 ??

왜 아무도 !! 포스트가 없냔 말이다 ..

다들 각자 사설 firewall 을쓰나보다 ㄷㄷㄷ;;;

난 프로그래머고 한때 서버 관리자였던 생각에 ..

힘든것도 아닌 oops 설치기를 적어본다 ..

우선 ~ ftp://mirror.oops.org 이곳에서 oops-firewall 을 다운 받는다.
난 oops-firewall-6.2.4 버젼이다.. 이걸로 설명하겠다.

받고 . 압축을 풀고 ..

./configure --perfix=/usr --bindir=/usr/sbin --confdir=/etc/firewall --shareddir=/usr/share/ --initdir=/etc/init.d/

난 이렇게 잡아줬다 . 이게 우분투의 설정에 제일 잘맞는거 같다.

근대 .. 보면 난 3개가 없어서 멈췃다!... 그게 모냐묜 ..
apt-get install gcc+;
apt-get install ipcalc ;
apt-get install gettext ;
apt-get install bridge-utils;
(이것들 찾아보니깐 김정균님이 애내들의 힘을 빌려서 ;;; 쿨럭;; 여튼 설치해야된다.)
해서 .. 돌리면 ...

컹 먼가 configure 에서 오류난다고 씹덕된다...
324 라인.. 멍미 ?
머 어쩌구 저쩌구 tmp 에 CVS 걸린것들은 다 삭제인데 .. 왜있는건지 ?? 난 모른다 . 이딴거 생각할 시간도없다.
난 지금 이게 급한게 아니라고 !!
그래서 주석처리했다 -_-v

이렇게 땡기면 MAKEFILE 이 po 에 있다고 한다 .. 가서 쳐 보면...
사실별거 없다 . -_- 그냥 po 인거 찾아서 1번째 . 인자 찾아서 .mo 를  install 명령어로 넘겨줘서 make 되는거;;;쿨럭 ;; 잘은 모르는데 보니깐 그러네 ;; (졸랭 5년전 서버관리 쟞뉴비일땐 이런거 안보이던데 .. 역시 짬밥은 속일수가 없다;;)

잡설 지버 치고 난 빨리 이거 올리고 다시 플그램 짜야되는데 이따위가 시간 소비하면안되지 ...

여튼 make ; make install 충분히 날려주시고 ~

알아서 아웃풋으로 쳐 나왔다고 알려주고 그경로들에 파일들 잘있나 함 확인해주고 .

바로 !!


/etc/init.d/oops-firewall start  ....
.....
Starting OOPS Firewall:                                    failuer

ㅅㅂ -_- 이딴게 속석이냐...
혹시나 해서 vi /etc/init.d/oops-firewall 보니깐
sh 이었네 -_- bash 로 변경해준다 ...

다시 이얍 ~
/etc/init.d/oops-firewall start  ....
.......
Starting OOPS Firewall:                                    failuer

ㅅㅂ -_- 또 멍미...
이번엔 echo 로 찍어 봤다 -_- 돌아가면서 .
결국 /usr/sbin/oops-firewall 이걸로 돌리는거네 -_-;;
근대 전부 변수선언이 안된다고 한다 .. 역시 sh 로 되어있을거 같은...

vi /usr/sbin/oops-firewall 봤더니.. 역시나 bash 로 바꿔주고 나니 ~

Starting OOPS Firewall:                                    success

자 그럼.. 마지막으로 잘 올라왔나 함 보고 ..

iptables -L

우옷 잘 올라온다 우왕ㅋ굳ㅋ

총 15분 걸렸네 우왕ㅋ굳ㅋ 이글 쓰는데 30분이 걸린다 .. 멍미 ?...
여튼 수고하시고 .. 담에뵈용 ~




ps . 이건 환경 파일이다 . 심심하면 보삼.

/etc/firewall/interface.conf     - firewall 설정 파일(ethernet 설정)
/etc/firewall/application.conf   - firewall 설정 파일(특정 기능 관련)
/etc/firewall/bridge.conf        - firewall 설정 파일(Bridge 기능 관련)
/etc/firewall/filter.conf        - firewall 설정 파일(패킷 필터링 관련)
/etc/firewall/masq.conf          - firewall 설정 파일(공유 기능 관련)
/etc/firewall/forward.conf       - firewall 설정 파일(포트 포워딩 관련)
/etc/firewall/tos.conf           - firewall 설정 파일(고급 설정 관련)
/etc/firewall/user.conf          - firewall 설정 파일(사용자 정의 설정 관련)
/etc/firewall/modules.list       - oops-firewall 구동시 같이 올릴 netfilter module
/etc/init.d/oops-firewall             - 부팅시 실행할 init file
/usr/sbin/oops-firewall               - firewall 구동 sctip
/usr/include/oops-firewall/*.h        - firewall 의 함수 정의
/usr/include/oops-firewall/config.sed - config file parse script
/usr/share/locale/ko/LC_MESSAGES/oops-firewall.mo - i18N 언어 파일

 


2008/10/16 02:00 2008/10/16 02:00
이 글에는 트랙백을 보낼 수 없습니다
가정이나 사무실에서 동적 IP를 할당받아 사용하는 경우 서버를 운영하기가 힘들다.
이럴때 DYNDNS 와 같은 유동 IP의 DNS 서비스를 해주는 사이트에 가입하여 간단한 설정으로 서버를 운용할 수 있다.

우선 www.dyndns.org 에 가서 회원 가입을 한다.
DYNDNS 서비스 페이지로 이동하여
내가 사용하고자 하는 도메인명 에서 호스트이름 부분을 입력하고(예: myserver.xxxxxx.xxxx)
기본적으로 제공되는 도메인 중에서(예: xxxxx.homeip.net, xxxx.dyndns.org 등) 맘에 드는 것을 선택한다.
사용가능한지 확인한 후 허용되면 내가 사용할 도메인 명이 되는 것이다.

그 다음엔 사무실 또는 집에서 사용할 서버의 OS 에 따라 필요한 DNS UPDATE CLIENT 를 다운받는다.
이것의 역할은 내가 운영할 서버의 IP를 DNS 서버에 업데이트 해주는 것이다.
즉, 매번 내 컴퓨터의 IP가 바뀔때 마다 DNS 서버에 이 사실을 알린다. 그래서 내 서버의 도메인 명에 매칭된 IP가 늘 최신 정보로 유지될 수 있게 해준다.

여기서는 리눅스용 클리이언트 설정에 대해서 설명하고자 한다.

1. 우선 클라이언트를 다운받자. 프로그램명은 inadyn 이다.

2. 리눅스 서버의 적당한곳에 다운받아 압축을 푼다. 압축을 풀어보면 리눅스용만 있는것이 아닌걸 알게된다. win32용 소스파일도 있을 것이다.

3. 우리는 linux/bin 폴더에서 필요한 실행 바이너리 파일만 가져다가 /sbin/ 폴더에 복사한다.

4. 설정파일을 꼭 따로 만들어야 하는 것은 아니지만 보안상 나는 따로 만들었다. /etc/inadyn.conf

# Basic configuration file for inadyn
#
# /etc/inadyn.conf

background
update_period_sec 1800
username xxxxxxxx (본인의 계정 아이디)
password xxxxxxx  (해당 계정의 비번)

dyndns_system dyndns@dyndns.org
alias xxxxxxxx.homeip.net (내 서버의 도메인명)


5. 그리고 마지막으로 이 클라이언트 프로그램이 부팅시 실행될 수 있도록 /etc/rc.local 에도 한줄 추가한다.

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

/sbin/inadyn


이렇게 하면 설정 끝이다.

일단 부팅하고 inadyn 을 실행한 후부터는  설정파일의 update_period_sec 값에 따라 주기적으로 업데이트가 실행된다.
2008/10/15 21:22 2008/10/15 21:22
이 글에는 트랙백을 보낼 수 없습니다
1. apt시스템

apt 시스템은 는 패키지의 의존성에 기반하여 많은 양의 패키지를 관리하는 패키지 관리 시스템이다.
이는 저장소를 기반으로 패키지를 가져와 설치하고, 제거하며, 의존성을 보존한다.
apt 기반의 패키지 관리자들은 /etc/apt/sources.list 파일로부터 저장소 목록을 읽어온다.
이 파일의 구성 형식은 sources.list(5) manpage에서 확인 가능하다.



2. 패키지 관리자

- 데비안/우분투 에서는 Command 기반, NCurse 기반, XWindow 기반으로 각각 도구가 갖추어져 있다.

(1) Command 기반 : apt도구, aptitude (인자와 같이 사용할 경우)
(2) NCurse 기반 : aptitude, deselect
(3) XWindow 기반 : Synaptics

-----------------------------------------------------------------------------------------------------

(1) apt 도구  : Console 에서 명령어로 실행할 수 있습니다.

(*허웅* comefeel ) : 이곳으로가봐라 이게 더 잘나왔음

apt-cache               : APT의 바이너리 캐시 파일을 처리하고, 캐시파일에 정보를 질의하는 저수준 도구
apt-cdrom               : CDROM을 APT의 저장소 리스트로 추가하는 도구.
apt-config               : APT 설정 파일을 읽는 간단한 프로그램
apt-extracttemplates : 데비안 꾸러미에서 설정및 템플릿 정보를 뽑아내는 도구
apt-get              : 패키지를 다운로드하고 인스톨하는 간단한 인터페이스. 대부분 사용하는
                               명령어는 update와 install 이다.
apt-key                   : apt-get의 인증키 리스트를 추가, 삭제, 업데이트, 리스트 할 수 있다.
apt- sortpkgs  : 패키지 파일을 정렬하는 간단한 도구

- apt-get Command
update                  : 패키지의 리스트를 새로 받는다.
upgrade                : 업그레이드
install                   : 설치
remove                 : 제거
purge                   : 완전 제거
source                 : 소스를 다운로드 받는다.
build-dep             : 패키지를 위한 빌드 의존성을 구성한다.
dist-upgrade         :  배포판 업그레이드
dselect-upgrade    : dselect로 선택한 항목을 업그레이드한다.
clean                    : 다운 받았던 설치파일들을 지운다.
autoclean              : 오래된 다운받은 설치 파일을 지운다.
check                    : 의존성이 깨졌는지 확인한다.


----------------------------------------------------------------------------------------------------
(2) aptitude :  인자없이 사용할 경우

-> NCurse 기반의 인터페이스를 사용할 수 있게 된다.

첫화면)  : 패키지가 상태별로 분류되어 있다.
--- Upgradeable Packages     : 이미 설치된 패키지 중 새버전이 나와서 업그레이드 가능한 것
--- New Packages                 :  새로 올라온 패키지
--- Installed Packages           :  이미 설치된 패키지
--- Not Installed Packages      :  설치되지 않은 패키지
--- Obsolete and Locally Created Packages    : 곧 지워질 패키지
--- Virtual Packages                : 비슷한 기능을 지닌 패키지끼리 묶은 것.
--- Task                                : 특정 주제를 중심으로 패키지를 한데 묶은 것.


# 메뉴에서 키
F10: 메뉴     U: 업그레이드           g: (작업)실행      q: 종료


# 패키지 선택 창에서 키
/         :  패키지 검색 ( 한번에 나오지 않으므로 \(역슬래시)를 눌러서 나올때까지 계속 검사한다.)
ctrl-U   :  취소 기능



-  패키지 상태 용어
+ : install : 패키지 설치, 추가 선택
+ : upgrade : 업그레이드
- : remove : 삭제 (config 파일은 남긴다.)
_ : purge : 시스템 설정 파일까지 완전히 삭제
= : hold : 설치된 패키지를 건드리지 않도록 잠금
L : reinstall : 설치된 패키지를 지우지 않고, 덮어씀
g : (시작) : 선택한 패키지에 적용한 명령들을 적용한다.
ctrl-u : 취소 : 이전 상태로 되돌린다.


- 설정시 변경할 때 보이는 정보
<설치상태> <명령상태><직/간접 선택 상태> <패키지명> <용량> <현재버전> <새버전>

ex)
  i      u     A     libssl          0.97    0.98
-> 설치된 libssl을 의존성을 위해 0.97에서 0.98로 업그레이드.

----------------------------------------------------------------------------------------------------

(3) aptitude를 인자와 함께 사용하는 경우 - Command 인터페이스로 사용된다.

-> 내부적으로  apt-get을 이용하며, 사용법도 apt-get과 유사하다.
설치        - aptitude install 패키지명1 패키지명2 ....
삭제        - aptitude remove 패키지명1 패키지명2 ....
완전 삭제 - aptitude purge 패키지명1 패키지명2 ....
정보 보기 - aptitude show 패키지명1 패키지명2 ....
검색 하기 - aptitude search 패키지명1 패키지명2 ....
업그레이드          - aptitude upgrade
패키지 정보 갱신  - aptitude update

자동설치 표시 : aptitude markauto   패키지명1, 패키지명2 ...
자동설치 해제 : aptitude unmarkauto 패키지명1, 패키지명2 ...
상태잠금        : aptitude hold  패키지명1 패키지명2 ...     
상태잠금 해제 : aptitude unhold 패키지명1 패키지명2 ...


- 상세 검색
~n 검색어   검색어가 포함된 패키지
~i  : 설치된 패키지
~c : 지운 후에 설정파일이 /etc에 남아있는 패키지
~b : 의존성이 깨진 패키지
~a 작업 : 특정 작업이 계획된 패키지
~s 섹션 : 섹션에 속한 패키지


- 예제
ㄱ. 전체 패키지 목록
aptitude search ~n

ㄴ. sdl 라이브러리의 개발 버전(libsdl-dev)
aptitude search ~nsdl ~ndev

ㄷ. /etc 에 설정이 남아 있는 패키지 목록
aptitude search ~c

ㄹ. game 섹션에 포함된 패키지 목록보기
aptitude search ~s game

---------------------------------------------------------------------------------------------------

(4) dselect  - NCurse 기반의 인터페이스

-  english 위키 피디아에서 보면,  aptitude는 dselect의 다음 버전으로 고려하여 개발되어 졌으며,
console-apt를 사용한 것보다 좀더 객체 지향적인 디자인으로 실행되도록 만들어졌다고 나와 있다.
현재는 dselect는 backward의 융통성을 위하여 요구되어 진다.

- aptitude나 dselect 모두 libCurseW로 설계되어 있지 않으므로 UTF-8을 사용할 경우, 한글이 깨집니다.
   aptitude는 대신 한글 메뉴를 사용하지 않으므로, 이 경우는 aptitude를 사용하는 게 좋을 것입니다.

---------------------------------------------------------------------------------------------------

(5) synaptic : X 기반의 인터페이스
apt-get update - 최신버전의 패키지 목록을 얻어온다.apt-get upgrade - 현재 설치된 모든 패키지를최신버전과 비교해서 업그레이드apt-get install [패키지명] - 패키지설치 apache* 이렇게 와일드문자 입력도가능apt-get remove [패키지명] - 패키지 삭제. 허나 완전히 삭제는 아니다.apt-get aut
2008/10/12 16:58 2008/10/12 16:58
이 글에는 트랙백을 보낼 수 없습니다
원문 : http://www.oracle.com/technology/tech/linux/install/xe-on-kubuntu.html

1. 먼저 apt-get 저장소를 연다.
$ sudo gedit /etc/apt/sources.list
2. sources.list에 다음을 추가한다.
deb http://oss.oracle.com/debian unstable main non-free
3. 인증키를 얻고 오라클 XE를 설치한다.
$ wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle  -O- | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install oracle-xe
 여기까진 쉽다. 만약에 설치 중에 스왑 파티션이 부족하다고 할 수 있다. 오라클 XE는 최소 1G이상의 스왑 파티션을 요구한다. 나는 이것 때문에 포맷을 두 번이나 하고 우분투를 설치했다. -_-;;
 
 근 데 원문 6번 글을 보면 스왑 파티션을 설정하는 방법이 나온다. 직접 해보지는 않았지만 원문 작성자도 별로 추천하지 않는단다. ㅡ.,ㅡ 그냥 포맷하고 반드시 수동으로 해서 스왑 파티션을 잡아준다. 1G라고 해서 1024이런 식으로 했다가는 또 다시 포맷해야하는 불상사가 생길 수 있다. 적당히 1200정도로 잡아줘야 이상 없다. 이것 때문에 두 번이나 다시 깔았다. ㅠ.ㅠ

4. 아무튼 스왑 파티션에 이상이 없으면 터미널에서 다음과 같이 실행하여 root 로 로그인 한다.
$ su -
 아마 패스워드를 입력하라고 할 것이다. 우분투를 처음 설치한 상황에서는 root의 비밀번호가 설정이 되어 있지 않다. 설정하는 방법은 간단하다.
$ sudo bash
# passwd
    또는
$ sudo passwd
 이 명령으로 root 계정 비밀번호를 설정하고 root로 로그인한다. root 비밀번호를 설정하지 않고 그냥 하려면 아래와 같이 입력하고 그 상태에서 작업한다.
$ sudo bash
    또는
$ sudo -i
5. 이제 root 권한 상태에서 다음 명령을 실행한다.
# /etc/init.d/oracle-xe configure
 그럼 아래와 같은 설정 화면이 나올 것이다.
Oracle Database 10g Express Edition Configuration
-------------------------------------------------
Specify the HTTP port that will be used for Oracle Application Express [8080]: Enter
Specify a port that will be used for the database listener [1521]: Enter

Specify a password to be used for database accounts. Note that the same
password will be used for SYS and SYSTEM. Oracle recommends the use of
different passwords for each database account. This can be done after
initial configuration: Enter

Confirm the password: 비밀번호 입력

Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]: y

Starting Oracle Net Listener...Done
Configuring Database...Done
Starting Oracle Database 10g Express Edition Instance...Done    Installation Completed Successfully.
To access the Database Home Page go to "http://127.0.0.1:8080/apex"
6. 이제 설정이 끝났다. http://127.0.0.1:8080/apex 로 이동해서 Username은 "system", Password는 위에서 입력한 비밀번호로 로그인한다.



---- 여기서 부턴 웅자 --- config



난 server 기 때문에 로컬에서 접속이 불가능하다 -_-;; 장난하나 ;;;;
브라우져를 어케 까나;;;
결론은 외부로 접속을 시켜야되는데.
어쩔수 없이 sqlplus 를 쓰자고 생각했다.

** root 로 생각한다 **

*. 루트 쉘 환경변수 추가
# cd ~
# vi .bashrc
source /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh

*. 환경변수 설정
# cd /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin
# ./oracle_env.sh

*. 114: [[: not fount 에러시 쉘 변경
# vi nls_lang.sh
- 첫줄의 #!/bin/sh -> #!/bin/bash 로 변경

그리고 또 위와 같이 했는데
LC TYPE... 어쩌구 저쩌구 나오면

$ apt-get install language-pack-ko
$ locale-gen ko_KR.EUC-KR (root로)
$ dpkg-reconfigure locales
해서 재설정해주고. 해봐라 .. 난 됐다 ...
아참 root 에 .profile 에 LANG=C 이딴게 있는데 이거 다 주석 체크 해버려라.


1. oracle 계정에 .bash_profile , 그리고 /usr/sbin/apachectl 이부분에 .

아래와 같은 허접을 껴둔다.
# oracle path
source /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh
# oracle path end...

아차 맨위에는 무조건 #/bin/bash 를 선언해줘야 된다 . !

후에...

chmod -R 755 $ORACLE_HOME/sqlplus

chmod 755 $ORACLE_HOME/nls

chmod 755 $ORACLE_HOME/nls/data
chmod 744 $ORACLE_HOME/nls/data/*
chmod 755 $ORACLE_HOME/nls/data/lx1boot.nlb
chmod 755 $ORACLE_HOME/oracore
chmod 755 $ORACLE_HOME/oracore/zoneinfo
chmod 755 $ORACLE_HOME/oracore/zoneinfo/timezlrg.dat

이렇게 해주고!!!!

그리고 su - oracle 로 접속을 한뒤

sqlplus 오나클/비밀번호@XE or sqlplus system 후 비밀번호 치던지...
이렇게만 하면 잘 접속 된다.

==================================================================
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE); <= 이거 명령어다.

PL/SQL 처리가 정상적으로 완료되었습니다.

SQL>
===================================================================

우왕ㅋ굳ㅋ 이제 외부에서 접속 가능 !
보안이 후달리니. 설정할때만 잠깐 올리고 다시 닫자 .
SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(TRUE);

자 ~ 외부에서 접속이 될꺼다 ~ ㅋㅋㅋ 아이피:8080/apex 우왕ㅋ굳ㅋ

그럼 ~~ 이번건은 php 에 연동해보자.


1. apt-get install 로 php-pear패키지와 php5-dev패키지를 설치한다.
2. pecl install oci8 한다. (난 /usr/lib/php5/20060613+lfs/oci8.so 여기에 생겨뜸...)
3. /etc/php5/apache2/php.iniextention=oci8.so 혹은 vi /etc/php5/conf.d/oracle.ini 하고 옆에 extention=oci8.so 추가해줘라...그리고 phpinfo(); 로 oci8관련된 항목이 있는지 확인한다.
4.난 이렇게 그냥 검사해봤당.

<?

   //echo PHPINFO();
    $db = "//127.0.0.1/xe";
    $c1 = ocilogon("system","비밀번호",$db);

    echo $c1;

    exit;
?>

잘나오던데 ;;; 난 연동 끝이었다.
2008/10/09 12:36 2008/10/09 12:36
이 글에는 트랙백을 보낼 수 없습니다

1. borland c++ 컴파일러 구하기
http://www.borland.com/products/downloads/download_cbuilder.html 에서 c++ 컴파일러를 다운받습니다.

2. 환경설정
설치가 완료되었다면 제어판 ->시스템 -> 고급 -> 환경변수로 들어가면 Path탭이 있습니다.
마지막 줄에 C:\borland\bcc55\bin; 을 입력합니다.
* xp기준

2. 환경파일 만들기
아래의 내용을 메모장등으로 작성한 후 C:\Borland/BCC55/Bin폴더내에 bcc32.cfg로 저장하세요.

-I"C:\Borland\Bcc55\include"
-L"C:\Borland\bcc55\lib"

3. 컴파일러 설치 확인
제대로 설치되었다면 명령프롬프트에서 bcc32를 치면 옵션목록들이 나옵니다.

4. Editplus와 통합하기

Editplus -> 도구 ->사용자 도구 구성 -> 추가 -> 프로그램으로 들어가서아래와 같이 입력하세요.

메뉴제목 : C compile
명령 : c:\borland\bcc55\bin\bcc32.exe
인수 : $(FilePath)
디렉토리 : $(FileDir)
* 출력내용캡쳐체크

다시 추가 -> 프로그램으로 들어가서 아래와 같이 입력하세요.

메뉴제목 : C execute
명령 : command.com
인수 : /c $(FileNameNoExt)
디렉토리 : $(FileDir)

5. 컴파일 및 실행확인
컴파일하기 원하는 C코드를 입력 후 Ctrl + 1을 눌러보세요.
제대로 설정이 되었다면 하단부에 출력창이 뜨고 결과가 나옵니다.
Ctrl + 2를 누르면 커맨드창이 뜨면서 실행이 됩니다.

P.S. miniwini.com 사이트의 황순호님 글입니다.
참고로 editplus 를 좋아하는 메니아로써 -_-;;;; 괜찮네 ㅋㅋ

근대 vc 사용하는 나로썬 ㅈㅈ

2008/10/02 11:46 2008/10/02 11:46
이 글에는 트랙백을 보낼 수 없습니다
https://translations.launchpad.net/ubuntu/hardy/+source/apt/+pots/apt/ko/+filter?person=eungkyu&start=100


 괜찮은데 -_- ;; 맵핑 가능인데;; ㅋㅋ


또한가지 pt-get 실행시 GPG / NO_PUBKEY error가 발생할 때


가끔 apt 관련 utility 실행시

W: GPG error: ftp://ftp.kr.debian.orgunstable Release: The following signatures couldn't be verified becausethe public key is not available: NO_PUBKEY 010908312D230C5F

와 같은 error message를 만나게 된다.

--force-yes 등의 option을 주면서 넘어갈 수는 있지만 한번 이 error가 발생하면 계속 보게 되므로 좀 귀찮은 일이 된다. 이 때에는 아래와 같은 방법으로 해결할 수 있다.
이것은 apt 관련의 security를 높이기 위해 authenticaion 을 도입했기 때문이라고 한다.
apt에서 key 목록을 관리하고 있는데 여기에 포함되어 있지 않은 key이기 때문이다.
이 작업을 위해서는 물론 gnupg package가 설치되어 있어야 한다.
설치되어 있지 않다면 'apt-get install gnupg' 로 설치하자.

먼저 keyserver를 지정하고 key를 가져온다. (import)

# gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 010908312D230C5F
gpg: directory `/root/.gnupg' created
gpg: new configuration file `/root/.gnupg/gpg.conf' created
gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/root/.gnupg/secring.gpg' created
gpg: keyring `/root/.gnupg/pubring.gpg' created
gpg: requesting key 2D230C5F from hkp server wwwkeys.eu.pgp.net
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 2D230C5F: public key "Debian Archive Automatic Signing Key (2006) <ftpmaster@debian.org>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1

다음에는 가져온 key를 ascii로 export 하고 이것을 apt에서 사용되는 key를 관리하는 utility인 apt-key 로 넘겨 key 목록에 추가한다.

# gpg --armor --export 010908312D230C5F| apt-key add -
OK

이것으로 작업 완료.

지금부터 error message 없이 apt 관련 utility들을 사용할 수 있다.

** 이 내용은 http://www.mepislovers-wiki.org 에서 알아낸 것이다 *
2008/10/01 18:49 2008/10/01 18:49
이 글에는 트랙백을 보낼 수 없습니다
웅쓰:웅자의 상상플러스
웅자의 상상플러스
전체 (379)
게임 (5)
영화 (2)
기타 (23)
맛집 (5)
영어 (2)
대수학 (3)
형태소 (5)
Hacking (9)
Linux (112)
HTML (48)
Application_developing (48)
Web_developing (102)
Window (11)
«   2008/10   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
  1. 2016/01 (1)
  2. 2015/12 (3)
  3. 2015/10 (3)
  4. 2015/03 (2)
  5. 2015/01 (4)