'리눅스'에 해당되는 글 8건

  1. 2012.05.11 REDHAT yum repository 설정 2
  2. 2008.10.29 ssh시 Connection refused 에러 처리
  3. 2008.10.29 scp암호 물어보지 않고 사용하기
  4. 2008.07.24 semaphore (세마포어) 2
  5. 2008.02.29 라이브러리 종속성 문제
  6. 2008.01.31 rcp 1
  7. 2008.01.31 chown
  8. 2008.01.31 동적라이브러리 실행시 링크 설정

REDHAT yum repository 설정

|

레드햇 Enterprise 6 의 yum repository를 셋팅한다

/etc/yum.conf 에 추가한다

[base]

name=CentOS-$releasever - Base

baseurl=http://ftp.daum.net/centos/6/os/$basearch/

gpgcheck=1

gpgkey=http://ftp.daum.net/centos/RPM-GPG-KEY-CentOS-6


[updates]

name=CentOS-$releasever - Updates

baseurl=http://ftp.daum.net/centos/6/updates/$basearch

gpgcheck=1

gpgkey=http://ftp.daum.net/centos/RPM-GPG-KEY-CentOS-6


[extras]

name=CentOS-@releasever - Extras

baseurl=http://ftp.daum.net/centos/6/extras/@basearch

gpgcheck=1

gpgkey=http://ftp.daum.net/centos/RPM-GPG-KEY-CentOS-6


[centosplus]

name=CentOS-@releasever - Plus

baseurl=http://ftp.daum.net/centos/6/centosplus/@basearch

gpgcheck=1

gpgkey=http://ftp.daum.net/centos/RPM-GPG-KEY-CentOS-6


And

ssh시 Connection refused 에러 처리

|
ssh: connect to host 192.168.0.35 port 22: Connection refused
위와 같은 에러가 날경우 192.168.0.35 서버에 sshd가 떠있는지 점검한다
/etc/rc.init/sshd start 하게 되면 된다 (root계정으로)
And

scp암호 물어보지 않고 사용하기

|

scp 를 사용할 때 암호를 물어보게 되면 스크립트로 사용할때는 상당히 난감해진다
ssh는 공개키 개인키를 사용해서 통신하기 때문에
이러한 것을 제거하기 위해서는 상대방의 공개키를 적어놓으면 된다.
방법은 다음과같다.

예제: scp xxx 10.10.10.10:~
일경우 명령어를 친 서버의 홈디렉토리에
id_rsa.pub 안에서 공개키를 카피해서

10.10.10.10서버의 .ssh/authorized_keys파일에 추가한다
그러면 scp할때 암호를 물어보지 않는다


ssh 암호 생성하기
원하는 계정의 홈디렉토리에서
ssh-keygen -t rsa  명령어를 통해서 해당 계정에 암호를 만들 수 있다

And

semaphore (세마포어)

|
open시에 O_EXCL플래그를 사용하면 파일을 원자적으로 접근할수 있다.
open시에 사용되는 플래그들
O_RDONLY : 읽기전용 엑세스를 위해 파일을 연다
O_WRONLY: 쓰기전용 엑세스를 위해 파일을 연다
O_RDWR: 읽기와 쓰기 전용엑세스를 위해 파일을 연다
O_CREATE: 파일이 존재하지 않으면 생성한다
O_EXCL: 파일이 이미 존재하면 실패한다
O_NOCTTY: 열고자 하는 tty와 프로세스가 제어하는 tty를 가지지 않았다면 즉 같은 제어권이 없으면 제어하는 tty
                  가 되지 못한다
O_TRUNC: 파일이 존재하면 길이를 0으로 줄인다
O_APPEND: 현재 파일의 포인터를 파일의 마지막에 위치하게 한다
O_NONBLOCK: 프로세스가 지연없이 완료되지 않으면 완료되기 전에 반환한다
O_NODELAY: O_NONBLOCK과 같다
O_SYNC: 기록이 완료되는 경우 반환
O_DIRECTORY: 디렉토리가 아니면 open함수는 실패된다
O_LARGEFILE: 32-bit 시스템의 매우 큰파일형태


세마포어
대기를 위한 P(세마포어 변수) : critical section들어갈때 호출
신호를 위한 V(세마포어 변수) : critical section에서 나갈때 호출

함수정의
#include <sys/sem.h>
#include <sys/types.h>
#include <sys/ipc.h>
int semctl (int sem_id, int sem_num, int command, ...);
int semget (key_t key, int num_sems, int sem_flags);
int semop (int sem_id, struct sembuf *sem_ops, size_t num_sem_ops);


1. setmget
    sem_flags : open함수의 플래그와 같고 추가로 IPC_CREATE, IPC_EXCL를 함께사용가능
And

라이브러리 종속성 문제

|

라이브러리 내부에 종속성이있을경우
종속되는 라이브러리가 먼저 나와야한다.
예) a라이브러리에 b가 종속되어있을경우
     -lb -la  순서로 링크해야한다.

And

rcp

|

현재 내 ip   : 1.1.1.1    (데이터를 보내는 ip)
전송 받을 ip : 2.2.2.2

전송 받을 ip에 /etc/hosts.allow 에 (원격접속을 허락하는 ip를 적는 곳이다.)
in.rshd:1.1.1.1 입력

자신의 계정의 .rhost에 ip를 적어줌 (두개의 서버가 서로다른 계정일 때는
ip뒤에 전송하는 서버의 유저아이디를 적어준다)
xinetd를 kill -SIGHUP을 통해서 죽였다 살려줘서
hosts.allow파일을 리로드하게 해준다

명령어..
/usr/bin/rcp -rp a.tar.gz 2.2.2.2:/home/my

가능하면 압축해서 보내자. 여러파일을 한꺼번에 보내려고하면 느림

And

chown

|

파일의 소유권을 변경하는 명령어
 - 파일의 소유자만 바꿀경우
    chown 소유자 파일이름

 - 파일의 소유자, 그룹명 변경시
    chown 소유자:그룹명 파일이름

 - 옵션
   -c : 실제로 파일의 소유권이 바뀐 파일만 기술
   -v : 명령어결과를 자세히 출력
   -R : 하위디렉토리의 소유권도 변경

And

동적라이브러리 실행시 링크 설정

|

동적라이브러리 (.so)파일이 있는 위치가 기본 링커가 정해진 위치이외에 있을경우는
환경 변수에 다음을 추가해야한다.
LD_LIBRARY_PATH=:/usr/local/lib:/usr/lib:$(LD_LIBRARY_PATH)
이유는 동적라이브러리를 포함하는 실행파일을 링크할때 링크 옵션인 -L(라이브러리위치) -l (lib과 .xx를 제외한 이름)을 걸어줘도 실제로 동적라이브러리가 실행중에 링크되는 경로는 LD_LIBRARY_PATH에서 찾는다.

위 환경변수를 /etc/profile 에 넣어주면 모든 계정에 적용되고
각 호스트의 .bashrc 또는 .bash_profile에 등록을 하면 해당 계정에만 적용이된다.


참고 : 아파치에서 실행할 fastcgi에서 동적라이브러리를 포함한 실행파일을 실행할 경우           
         http.conf 파일에 실행할 cgi파일이름뒤에 -initial-env LD_LIBRARY_PATH를 지정해줘야한다

         예) FastCgiServer /home/kim/xx.fcgi -processes 10 -initial-env
              LD_LIBRARY_PATH=/usr/local/lib

         참고사이트 :  http://www.systinet.com/doc/ssc-55/waspc/html/index.html?embedding.apache.fast.cgi.html


참고 : ldd 실행파일명 -> 명령어를 치면 해당 실행파일이 가지고 있는 동적라이브러리 이름과 주소를 알수 있다.

And
prev | 1 | next