Ubuntu 11.10 에 Xen 을 설치 후 GuestOS 로 2.6 버전대를 쓰려고 커널 컴파일을 돌렸는데

못보던 에러가 등장.


gcc: error : elf_i386: No such file or directory 
OBJCOPY arch/x86/vdso/vdso32-int80.so
.......
어쩌구 저쩌구.....



봤더니 gcc 버전의 문제였던거 같다. (gcc-4.6.1)

gcc 가 4.6 에서는 linker-style architecture option 을 제공하지 않는다는 참조 사이트의 이야기.


Solution

arch/x86/vdso/Makefile 을 열어서

VDSO_LDFLAGS_vdso.lds 부분에서 옵션이 "-m elf_x86_64" 라고 되어있는 곳을 "-m64" 로 바꾸고
VDSO_LDFLAGS_vdso32.lds 부분에서 옵션이 "-m elf_x86" 라고 되어있는 곳을 "-m32" 라고 바꾸면 된다.

 

 

블로그 : http://rapperkw.tistory.com/150 에서 퍼왔습니다. 문제가 될시 삭제하겠습니다.

장애증상 : 
     - mysql 컴파일시 에러

 

처리로그 :
     ../depcomp: line 512 exec : g++ : not found

 

원인분석 :
     - 위 메세지는 g++ 컴파일러가 없어서 생기는 문제이다.

 

해결방안 :
     - yum 으로 gcc 에 관련된건 다 받아버린다(무식)

     - yum install gcc*

     - 받고나서 소스가 있는 디렉토리에서 make clean 진행

     - 그 이후 다시 컴파일 진행

 

결과 : 
 - 이상없음(설치 완료) 

 

** 참고 **

아래 장애상황과 해결방법은 각 서버의 환경에 따라 다를수 있기때문에 아래 해결방법이 꼭 정답이라고 볼 수없고, 허접스러운 제가 해결하였던 방법이므로, 각자 상황에 맞게 적절히 도움을 받으셨으면 합니다.

 

 

 

yum으로 httpd 를 설치할려고 #yum install httpd 를 입력했다. 그러자 아래와 같은 에러메시지와 함께 install 이 안됨

 

 http://mirrors.neusoft.edu.cn/centos/5.9/updates/i386/repodata/filelists.sqlite.bz2: [Errno -1] Metadata file does not match checksum
Trying other mirror.
Error: failure: repodata/filelists.sqlite.bz2 from updates: [Errno 256] No more mirrors to try.
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.

 

## 해결방법 ##

#yum clean all

쳐서 yum 캐시를 지움 그후 yum install httpd 하니깐 정상적으로 install 정보를 받아옴.

일반적으로 '랜선'이라고 부르는, 한쪽은 컴퓨터 본체뒤에 연결하고 한쪽은 공유기에 꼽아 인터넷을 연결시켜주는 케이블에 대해서 알아보도록 하겠습니다.

 

명칭은 '랜선','UTP케이블','인터넷선' 다양하게 불리조. 규격 역시 조금만 알아보면 UTP,STP...CAT5 부터시작해서 CAT5E,CAT6,CAT6E 등 다양하게 검색되조. 랜선이야 인터넷만 연결시켜주면 장땡이긴 하지만! 간략하게 알아봄으로 인해

내컴퓨터나 내 환경에 맞는 적절한 랜선을 고를수 있도록 하조ㅎ

 

 

 

우선 가장 대표적인 랜선인 UTP 케이블에 대해서 알아보조!

 

 

Unshielded Twisted Pair (비차폐 연선)

말 그대로 별도의 실드처리 없이 꼬여 있는 랜선입니다. 앞자만 따서 UTP케이블이조


Foil Screened Twist Pair Cable

쉴드 처리가 되어 있지는 않지만, 내부 케이블을 은박이 감싸고 있는 케이블 FTP케이블이라고 합니다.


Shielded Twist Pair Cable (차폐 연선)

쉴드 처리가 되어 있는 케이블, STP케이블 이라고 합니다.


 

우리가 일반적으로 부르는 랜선은 이 모든 규격을 총칭하는 말이기는 하지만, 주변에서 흔히 사용되는건

UTP 케이블 입니다. FTP나 STP는 UTP에 비해 가격이 비싸기 때문에 사무용이나 집에서 사용하기에는 적절하지 않조

 

그럼 가격 규격별로 살펴보면

 

CAT.1(카테고리1)

POST 전화 , IDSN 통신에 쓰임

 

CAT.2(카테고리2)

초당 4메가비트의 토큰 링 네트워크에 자주 쓰인다. 

 

CAT.3(카테고리3)

최대 16 MHz 주파수를 사용하는 데이터망에 쓰임

역사적으로 초당 10메가비트의 이더넷 네트워크 환경에 잘 쓰였다.

 

CAT.4(카테고리4)

20 MHz의 성능을 제공하였고 초당 16메가비트의 토큰 링 네트워크에 자주 쓰였다.

 


 

사실 카테고리 4까지는 현재 잘 쓰이지 않습니다. 과거의 유물쯤으로 생각하시면 됩니다.

현재 주로 쓰이는건 CAT5, CAT5E , CAT6 입니다.

 

CAT.5(카테고리5)

 

 현재 유지&보수 용으로만 사용되고 있으며 CAT.5E의 보편화로 현재는 거의 사용되지 않음

 

  • 별도의 차폐처리 없이 선의 꼬임만으로 외부 간섭보호
  • 최대 100Mbps 지원
  • 저렴한 가격
  • 쉬운 제작
  • 가정/사무실용으로 적합

 

 

 

CAT.5E(카테고리5E)

현재 가장 많이 사용되는 규격으로 주변 케이블은 대부분 이 규격이라고 생각하면 됩니다.

  • 은박쉴드의 유무에 따라 UTP와 FTP로 나뉘며, FTP의 경우 UTP에 비해 전송간 손실을 최소화 하였지만 UTP에 비해 비싸고, 제작이 어려움
  • FTP는 공장과 PC방등 전문적인 장소에 쓰이는 케이블

 

CAT.6(카테고리6)

 

최근에 많이 보급되고 있는 규격으로 기가비트라고 불리는 규격입니다. 기업체 서버라던지 전산망등 좀더 빠른 속도의 안정적인 데이터전송을 위해 쓰이는 규격입니다.

  • 내부 십자형 개재가 각 페어간 간섭을 막아줌
  • 최대 250MHz 대역폭 사용
  • 서버 & 전산망등에서 사용

주의할점은 CAT.6 규격부터는 랜선만 CAT.6 규격이라고 해서 효과를 볼수 없습니다. 연결되는 허브라던가, 랜카드등 연결되는 모든 장비가 CAT.6 규격일때만 효과를 볼수 있으니 주의 하시기 바랍니다.

 

또한 CAT.6보다 약 2배 정도 향상된 기능을 갖고 있는 CAT.6A규격이 나온 상태입니다. CAT.6A의 경우 500MHz의 대역폭을 가지고 있으며 CAT.6에 비해 더욱 간섭을 최소화 한 케이블 입니다.

 

CAT.7(카테고리7)

 

 

CAT.6A와 함께 나오기 시작한 규격입니다. 차세대 규격이라고 할수 있으며 사용가능한 환경이 거의 없다고 하네요

어떤 케이블보다 차폐가 이루어졌고,

CAT.7케이블은 S-FTP 케이블입니다.

즉 STP + FTP 케이블이조, 각 Pair 마다 은박쉴드로 보호해준후 다시한번 편조 쉴드를 통해 케이블을 보호하는 구조입니다.

  • 각 Pair을 은박쉴드로 보호하고 편조쉴드로 다시한번 감싸 외부간섭을 완벽에 가깝게 차단
  • 600MHz 이상 대역폭에 사용
  • 기가비트 인터넷지원(최대10Gbps)
  • 제작과정이 어려움

 

이상 랜선의 종류와 다양한 규격에 대해서 알아보았습니다.

저또한 자료를 준비하면서 많이 배웠고, 다양한 블로거님들의 자료를 참조하였습니다.

 

다시한번 강조하지만 케이블만 좋다고해서 속도를 그만큼 낼수 있는건 아닙니다.

현재 일반 가정집이나 사무실같은 경우 CAT.7선을 써도 공유기나 PC의 랜카드가 CAT.5E 급이면

속도가 올라가지 않습니다 ^^

 

따라서 자신의 현재 컴퓨터,서버 네트워크 환경을 파악한 후 케이블을 구매하는것이 현명한 방법입니다.

 

 

 

 

          참조 & 퍼옴

 

 

** 참고 **

아래 장애상황과 해결방법은 각 서버의 환경에 따라 장애요인이 다를수 있기때문에 해결방법이 꼭 정답이라고 볼 수없고, 허접스러운 제가 해결하였던 방법이므로, 각자 상황에 맞게 적절히 도움을 받으셨으면 합니다.

 

 

 

[root@localhost httpd-2.2.3]# ./configure --prefix=/usr/local/apache
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking build system type... i686-pc-linux-gnu

 

checking for APR... yes
  setting CC to "gcc"
  setting CPP to "gcc -E"
  setting CFLAGS to " -g -O2 -pthread"
  setting CPPFLAGS to " -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE"
  setting LDFLAGS to " "

Configuring Apache Portable Runtime Utility library...

checking for APR-util... reconfig
configure: error: Cannot use an external APR with the bundled APR-util

 

apr-util 문제가 있는것으로 판단되므로, 

#yum install -y apr*

으로 apr에 관련된것을 모두 받았다. 물론 이렇게 되면 필요없는 프로그램까지 받게되었다.

그러나 컴파일은 완료됨.

 

APR 소스 설치 방법

[apr-1.4.2 설치]

 

 #cd /usr/local/src

 wget http://archive.apache.org/dist/apr/apr-1.4.2.tar.gz

tar xvf apr-1.4.2.tar.gz

cd apr-1.4.2

./configure

 

[./configure 시 에러출력]

config.status: executing libtool commands
rm: cannot remove `libtoolT': No such file or directory
config.status: executing default commands
config.status: include/apr.h is unchanged
config.status: include/arch/unix/apr_private.h is unchanged

 

위와같은 에러 출력시 아래처럼 파일을 복사해주고 진행을 계속 해줍니다.

cp -arp libtool libtoolT

./configure

make

 

[make시 에러 출력]

make[1]: Entering directory `/usr/local/src/APM_setup/apr-1.4.2'
/bin/sh /libtool --silent --mode=compile gcc -g -O2 -pthread   -DHAVE_CONFIG_H -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE   -I./include -I/usr/local/src/APM_setup/apr-1.4.2/include/arch/unix -I./include/arch/unix -I/usr/local/src/APM_setup/apr-1.4.2/include/arch/unix -I/usr/local/src/APM_setup/apr-1.4.2/include  -o passwd/apr_getpass.lo -c passwd/apr_getpass.c && touch passwd/apr_getpass.lo
/bin/sh: /libtool: No such file or directory
make[1]: *** [passwd/apr_getpass.lo] Error 127
make[1]: Leaving directory `/usr/local/src/APM_setup/apr-1.4.2'
make: *** [all-recursive] Error 1
 

위와 같은 에러가 나온다면 아래처럼 심볼릭 링크를 걸어주고 진행을 계속 합니다.

# ln -s /usr/bin/libtool /

# make clean

# make

# make install

 

[apr-util-1.4.2 설치]

 

#cd ..

#wget http://archive.apache.org/dist/apr/apr-util-1.3.9.tar.gz

# tar xvzf apr-util-1.3.9.tar.gz
# cd apr-util-1.3.9
# ./configure --with-apr=/usr/local/apr
# make
# make install

 

이글은 http://system.neulwon.com/xe/?mid=linux_os&page=2&document_srl=2472 여기서 도움을 받았습니다.

chmod

chmod는 파일의 퍼미션(permission:허가권)을 조정하는 명령어 입니다.

 

옵션

-R : 하위 디렉토리 및 파일들의 소유권을 모두 변경 

 

-rw-r--r-- 1 leeahnlee leeahnlee 58290  6월  1 03:55 sendmail.cf
[root@localhost leeahnlee]# chmod 650 sendmail.cf
[root@localhost leeahnlee]# ls -l
합계 68
-rw-r-x--- 1 leeahnlee leeahnlee 58290  6월  1 03:55 sendmail.cf 

 

*CRT에서 실행파일인 경우 초록색 형광색으로 나타납니다.(securecrt 기준)

'Linux > Linux 명령어' 카테고리의 다른 글

:: Linux 명령어 scp  (0) 2013.09.29
Linux 명령어 chown  (0) 2013.06.02
Linux 명령어 date  (0) 2013.06.02
Linux 명령어 wc  (1) 2013.06.02
Linux 명령어 split  (0) 2013.06.02

chown

리눅스의 파일이나 그 디렉토리에는 그 파일의 소유권 및 소유 그룹이 지정되어 있습니다.

chown은 소유자를 변경하고, chgrp는 소유 그룹을 변경하는 명령어 입니다. 만약 소유자와 소유그룹 을 동시에 변경하고자 한다면 소유자, 소유그룹 사이에 점(.)을 사용합니다.

 

옵션

-R : 하위디렉토리 및 파일들의 소유권을 모두 변경 

 

[root@localhost leeahnlee]# ls -l
합계 68
-rw-r--r-- 1 root root 58290  6월  1 03:55 sendmail.cf

[root@localhost leeahnlee]# chown leeahnlee.leeahnlee sendmail.cf  
[root@localhost leeahnlee]# ls -l
합계 68
-rw-r--r-- 1 leeahnlee leeahnlee 58290  6월  1 03:55 sendmail.cf 

 

 

'Linux > Linux 명령어' 카테고리의 다른 글

:: Linux 명령어 scp  (0) 2013.09.29
Linux 명령어 chmod  (0) 2013.06.02
Linux 명령어 date  (0) 2013.06.02
Linux 명령어 wc  (1) 2013.06.02
Linux 명령어 split  (0) 2013.06.02

date

형식 : date [옵션] [+포맷]

사용예 : date +%Y%m%d

 

 포맷

(아래 괄호는 2013년 6월 2일 12시를 기준으의 예입니다.

%a : 요일(일)

%A : 요일(일요일)

%B : 월(6월)

%c : 날짜와 시간(2013년 06월 02일 (일) 오후 12시 32분 45초)

%d : 그 달의 날짜(02)

%D : 날짜(06/02/13)

%e : 그날의 날짜(2)

%H : 시간(12)

%l : 시간 (12..오전 오후로 시간체크)

%m : 달(05)

%M : 분(32)

%p : 오전, 오후 (오후)

%r : 12시간 단위의 시간(오후 12시 32분 45초)

%s : 1970년 1월 1일부터 지나온 초(1370144177)

%S : 초(45)

%T : 24시간 단위의 시간(12:37:12)

%U : 일요일을 기준으로 한 그 해의 몇 번째 주인가를 표시(22)

%V : 월요일을 기준으로 한 그 해의 몇 번째 주인가를 표시(22)

%w : 일주일에서 몇 번째 날, 일요일이 0,토요일이 6(0)

%x : 전체 날짜(2013년 06월 02일)

%X : 전체시간(12시 39분 47초)

%y : 년도의 마지막 두 자리(13)

%Y : 년도(2013)

 

date 명령어는 주로 서버에서 백업할대 자주 사용됩니다. 백업하여 만들어질때 이름을 날짜,시간별로 하면 다른파일과

구분이 쉽기 때문입니다.

'Linux > Linux 명령어' 카테고리의 다른 글

Linux 명령어 chmod  (0) 2013.06.02
Linux 명령어 chown  (0) 2013.06.02
Linux 명령어 wc  (1) 2013.06.02
Linux 명령어 split  (0) 2013.06.02
Linux 명령어 find  (0) 2013.06.02

wc

형식 : wc [옵션] "파일명"

사용예 : wc sendmail.cf

 

wc 명령어는 파일 내의 라인, 단어 문자의 수를 출력합니다.

 

 

옵션

-c : 전체 문자의 수를 출력

-l  : 전체 라인의 수를 출력

-w : 전체 단어의 수를 출력

 

[root@localhost leeahnlee]# wc sendmail.cf
 1827  9497 58290 sendmail.cf 

이처럼 아무런 옵션없이 사용하면 위와 같은 결과를 출력합니다. 즉,sendmail.cf 파일이 1827줄로 구성되었고, 9497개의 단어가

있으며, 58290개의 철자(문자)로 이루어졌다는 결과를 알수있습니다.

 

 

[root@localhost leeahnlee]# wc -c sendmail.cf
58290 sendmail.cf 

필요하다면 위처럼 -c 옵션으로 전체 문자의수만 출력할수 있습니다.

 

[root@localhost leeahnlee]# ls -l
합계 68
-rw-r--r-- 1 root root 58290  6월  1 03:55 sendmail.cf
[root@localhost leeahnlee]# ls -l | wc -l
2 

위처럼 ls -l 의 결과(디렉토리내의 리스트출력)를 wc -l 로 측정함으로 디렉토리내 파일의 갯수를 샐수 있습니다.

위에는 '합계 68'까지 라인에 포함시켰습니다. 따라서 하나를 제외하면 디렉토리내 1개의 파일이 있다는걸 알수있습니다.

 

 

'Linux > Linux 명령어' 카테고리의 다른 글

Linux 명령어 chown  (0) 2013.06.02
Linux 명령어 date  (0) 2013.06.02
Linux 명령어 split  (0) 2013.06.02
Linux 명령어 find  (0) 2013.06.02
Linux 명령어 rm  (0) 2013.06.02

split

split 은 파일을 분할하는 명령어 입니다. 파일의 내용을 라인수로 분할할 수도 있고, 용량 단위로 분할 할수도 있습니다.

주로 디스켓에 파일을 나누어 복사하거나, 백업할 때 CD-RW 용량 단위로 분할할 경우에 유용합니다.

 

 옵션

-b : 파일을 byte 단위로 분할

-l  : 파일을 주어진 라인수 단위로 분할

 

'sendmail.cf' 파일은 기존에 56290byte입니다. 이걸 10000byte 단위로 나누어 보겠습니다.

[root@localhost leeahnlee]# ls -l
합계 68
-rw-r--r-- 1 root root 58290  6월  1 03:04 sendmail.cf
[root@localhost leeahnlee]# split -b 10000 sendmail.cf
[root@localhost leeahnlee]# ls -l
합계 164
-rw-r--r-- 1 root root 58290  6월  1 03:04 sendmail.cf
-rw-r--r-- 1 root root 10000  6월  1 03:44 xaa
-rw-r--r-- 1 root root 10000  6월  1 03:44 xab
-rw-r--r-- 1 root root 10000  6월  1 03:44 xac
-rw-r--r-- 1 root root 10000  6월  1 03:44 xad
-rw-r--r-- 1 root root 10000  6월  1 03:44 xae
-rw-r--r-- 1 root root  8290  6월  1 03:44 xaf 

생성될 파일의 이름을 특별히 지정해 주지 않는다면 xaa,xab,xac ... 와 같은 순으로 이름이 정해집니다.

 

 다음은 10kbyte 단위로 나누어 보겠습니다. 끝에 이름도 지정합니다.

[root@localhost leeahnlee]# split -b 10k sendmail.cf send
[root@localhost leeahnlee]# ls -l
합계 160
-rw-r--r-- 1 root root 10240  6월  1 03:48 sendaa
-rw-r--r-- 1 root root 10240  6월  1 03:48 sendab
-rw-r--r-- 1 root root 10240  6월  1 03:48 sendac
-rw-r--r-- 1 root root 10240  6월  1 03:48 sendad
-rw-r--r-- 1 root root 10240  6월  1 03:48 sendae
-rw-r--r-- 1 root root  7090  6월  1 03:48 sendaf
-rw-r--r-- 1 root root 58290  6월  1 03:04 sendmail.cf 

sendaa,sendab,sendac 와 같이 지정한 파일명 뒤에 aa,ab,ac 등이 순차적으로 붙는것을 볼수 있습니다.

 

 다음은 라인별로 나누는걸 보겠습니다. 기존에 test파일에 1,2,3이 3라인에 걸쳐 작성되어있습니다.

이걸 -l 옵션으로 1줄씩 잘라보겠습니다.

[root@localhost leeahnlee]# cat test
1
2
3
[root@localhost leeahnlee]# split -l 1 test
[root@localhost leeahnlee]# ls -l
합계 32
-rw-r--r-- 1 root root 6  6월  1 03:51 test
-rw-r--r-- 1 root root 2  6월  1 03:51 xaa
-rw-r--r-- 1 root root 2  6월  1 03:51 xab
-rw-r--r-- 1 root root 2  6월  1 03:51 xac
[root@localhost leeahnlee]# cat xaa
1 

다음과 같이 한줄씩 잘리는게 확인됩니다. -l 옵션뒤에 수치를 지정하지 않는다면 기본값인 1000라인으로 분할됩니다.

'Linux > Linux 명령어' 카테고리의 다른 글

Linux 명령어 date  (0) 2013.06.02
Linux 명령어 wc  (1) 2013.06.02
Linux 명령어 find  (0) 2013.06.02
Linux 명령어 rm  (0) 2013.06.02
Linux 명령어 mv  (0) 2013.06.02