리눅스 - 해당되는 글 2건

다수의 소스 파일로 구성된 큰프로그램중 어떤파일이 변경되어 재 컴파일이 필요한지
판단해서 프로그램 재구성작업을 효율적을 수행하는 역할을 한다.
make는 수정된것을 안다 수정시간등으로 그래서 수정된 파일만 컴파일을 해준다.
예를 들어서  a.0의 수정시간보다 a.c 의 수정시간이 최신이면 다시 컴파일을 해준다.

make파일의 기본적인 형태
먼저 타겟을 적는다 예를 들어서 컴파일을 해서 Test라는 실행 파일을만들고 싶으면
Test 가 make에들어간다.
예) make test a.c b.c c.c
 여기 한줄아래 대상파일을 실행하기 위한 명령을 아래적는다
 위에 공백은 탭키로 해야지만 위에 줄이 명령이라고 인식한다.
예)
test:: test.c
 gcc test.c -o test
clean:                                            => make clean이라는 명령을 주었을때 이것이 실행이된다. 쉽게 말해서 라벨을 찾아서  실행명령을 수행한다.
 rm test.o
======================
의존성
대상과 대상을 생성하는데 필요한 소스 파일의 관계

사용자 삽입 이미지

사용자 삽입 이미지

test::test test1.o test2.o test3.o
test1.o:test1.c a.h
test2.o:test2.c.a.h b.h
test3.o:test3.c b.h c.h
보통 이런식으로 해줘야 다시 재빌드 하는 작업이 줄어든다.
test 1,2,3은 아래 파일에 의해서 만들어지고 test는 test1.o test2.o test3.o 에 의해서 만들어진다.
test: test1.o test2.o test3.o
 gcc -o test test1.o test2.o test3.o
test1.o: test1.c a.h
 gcc-c test1.c
test2.o: test2.c a.h b.h
 gcc -c test2.c
test3.o: test3.c b.h c.h
 gcc -c test3.c
-----------------------------------------------------
make
치면 지가알아서 컴파일
메이크파일은 Makefile이렇게 첫문자를 항상대문자로 만들어야한다.
긴명령을 쓸려면 깔끔하게 보이게 \을 사용해도된다.
test: test1.o \
 test2.o\
 test3.o\
 test4.o\
이런식으로 써도 된다.
------------------------------------------------------------------------------------------------
셸에서는 ;을 사용해서 깔끔하게 보이게 쓸수도 있다.
-------------------------------------------
매크로정의
M_NAME = value
사용할땐 $(M_NAME)

매크로 치환
OBJF=test1.o test2.o test3.o
SRCS=$(OBJF:.o=. c)
-----------------------------------------------------------------------------------------------------------------------
암시적인 규칙을이용한다.
01 OBJF = test1.o test2.o test3.o
02 test: $(OBJF)
03 ??gcc -o $@ $(OBJF)
04 clean:
05 ??rm $(OBJF)

      리눅스  |  2007. 9. 11. 18:05




리눅스에는 최소 3기가 용량

4기가 이상

보통 5기가 잡고 스왑은 1기가

브이엠웨어는 듀얼코어 시피유를 쓸경우에는 5.5버전이상을 설치해야된다.


vm웨어에서 사용하는 네트워크 방식

brige,nat 방식이있다.,

nat이외에 방식은 vm에서는 정상적으로 작동하지 않는다.

ethernet 장치의 이름은 eth0이된다.

2번째는 eth1이된다.


첫번째랜카드 2번째 랜카드가 존재한다.

1 :211169.111.8

2 :220.24.50.2

255.255.255.0

앞에 3자리는 바뀔수 없다.

앞에 3자리는 네트워크 뒤에 1글자가 호스트다.

211.169.111.0이라는 네트워크에 속해있다.

220.24.50.0이라는 네트워크에 있다 통신 불가

중계체인을 활성화해서 쓸수가 있다.


윈도우즈에 이더넷카드 2개 있으면 하나는 공유기

하나는 공인아이피로 쓴다.

192.168.0.0

192.168.255.0

255개의 네트워크를 쓸수 있다.

256-3=253

더많이 컴퓨터를 연결하고 싶으면 아이피를 다음과 같이 한다.

10.0.0.0은 A클래스 앞에 하나가네트웨크 이름 뒤에 0 0 0이 네트워크


중계서버는 2개의 아이피 같을수있다.

공인 아이피 211.169.116.8

사설 아이피 192.168.0.1

이렇게 하면 어떤 이더넷카드가 어떤 이더넷카드로 메인으로 나가는지 알려주어야된다.

이렇게 하기 위해서 두개를 브릿지로연결하면  외부로 나갈수 있다.

Nat사설 네트워크

-------------------------000000000000000                                               ======

                                     0       브리지    0                                -              |

                           211.169.116.8-----192.168.0.1---------------허브--------+------

                                     0                    0                                                |

                                     000000000000000                                                  --------

브이엠웨어를 쓰면 나트랑 호스트방식의 네트워크카드가 존재하는데 호스트는 지원이 잘되지 안아서

나트를 사용한다

브리지방식은 정상적 작동안되고

호스트온리는 지혼자만 쓰겠다는거다 쓸모가 없다.

실제 쓸것은 나트다



중계기능만 설정을 해주면된다

사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지

사용자 삽입 이미지
사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

네트워크 설정은 끝났다.
버철머신으로 돌아가서
마법사 실행해서 설치해보자
 
사용자 삽입 이미지

이렇게 하고 엔터를 치면 파일을 가상으로 만들어서 생성을해준다.

사용자 삽입 이미지


사용자 삽입 이미지



-------------------------
리눅스 설치
-----------------------------
텍스트 모드는
텍스트 하고 엔터
f5눌르면 복구모드인데
나중에 부팅이 안될때.사용한다 rescue하고 엔터치면 복구된다.
깔다보면 시디롬 검사할까요? 하면 노한다
시디롬검사하면 조낸 시간 마니걸려
 

자동파티션 분할하면 지가 알아서 파티션을 분할한다.
디스크 드루이드를 통한 수동 파티션하고
장치초기화 하면 예하고 넘어간다.
파티션 초기화한다.
파티션을 파일의 형태로 존재하고
위치를 알려주면 사용한다.
최소한 루트는설정
/는 최상의 디렉토리라는 루트
루트이하에 존재하는 모든 마티션은 여기에 사용하겠다는것이다.
파일시스템은 파일 저장방법
vfat는 fat31윈도우 swap은 가상메모리
레이드는 여러개의 장치를 하나로 묶어서 쓰는 방법
동일한 크기의 장치를 하나로 묶어서 사용
시리얼 에이티에이의 실제 전송속도 50메가 정도
LVM은 파티션을 묶어서 사용
A:빈공간 1기가
B:빈공간 3기가
C:빈공간 5기가
이렇게 남은 빈공간을 하나로 묶어서 9기가남고 그것을 모아서
하나의 디스크처럼 쓴다 LVM


루트를 포함한 하위디렉코리가 루트에설치 되지만
홈이라는것 만큼은 다른 파티션에 쓴다.

사용자 삽입 이미지


부트로더 설치

사용자 삽입 이미지
루트를 포함한 하위디렉코리가 루트에설치 되지만
홈이라는것 만큼은 다른 파티션에 쓴다.

커널이 모든 장치를관리를 할수 있지만
잘쓰지도 않는장치를 커널에게 부여를 하면
커널자체가 커지고 느려진다.
꼭필요한 방법많넣는것만 좋은방법이다.
그런데 새로운것 생기면 커널컴파일을 다시 해야된다.
필수적인것은 기본으로 커널이 가지고잇고
자주쓰지 않는기능들 외부모듈로서 많들어놓아서 필요할때 쓰게 한다.

사용자 삽입 이미지
호스트네임
seo.itea.co.kr을 사용해서
외부에서 접근할려면
네임서버가 있어야된다.
게이트웨이는 윈도우에 있는 1번주소를 가지고 나가기 때문에
1번적어
사용자 삽입 이미지
 

============
Ip어드레스는 호스트를 찾기 위해서 필요하고
호스트끼리 연결이되면
이더넷카드의 맥어드레스를 주고 받는다.
16진수 6개 필드
앞에 3개 제조사
뒤에서 3개 랜카드 찍는 일련번호
맥어드레스를 주고받고
데이타통신을 하게 나두어두면
해킹을 당할수있다.
그래서 커널이 나가고 들어가는 패킷을 검사를 한다.
이패킷이 어느 호스트에 몇번 포트에서 가는지
검사해서 통과시킨다.
이것을 방화벽
방화벽은 우선 설치할때 사용하지 않는것으로 한다.

---------------------------------------
메인프레임이 존재하고 터미널연결되어서 여러사람이 같이 쓴다.
단 사람이 쓸때는 tpc/ip이용해서 쓴다.
파일이 있으면 파일에 대한 권한을 부여
사용자 계정과 비밀번호를 입력받아서 권한을 부여
리눅스는 어디엔가 사용자에대한 정보가 있다.
어디에 있냐면/etc/passwd파일에 있다.
이것만 가져오면 시스템 조작 할 수가 있다.
그래서 파일내에 있는 비밀번호를 그냥 비밀번호로 적는것이 아니라
암호화를 시킨다. 어떤방식으로하냐면
md5알고리즘으로
암호는 단방향이 있고 양방향이있다
단방향은 복호화가 안됨
양방향은 복호화가 됨
대부분의 알고리즘은 암호롸를 하는 방법을 제공하지만
암호푸는 법을 제공하지 않는다.
만약 1234를 암호화하면 해쉬코드가 나온디(32자리)
2,3,4,5를 만약에 넣으면 1234해쉬코드와 비교해서 같으면
암호가 같은것이고 해쉬코드가 다르면 암호가 다른것이다

/etc/schadow가 있는데 이것은 쉐도우 페스워드는
비밀번호와 비밀번호 정책이 있다.
passwd는 아무나 읽을수 있다.
하지만 schadow는 루트만 읽을수잇다.

============================

리눅스는 이닛트라는 프로세스로 초기화되고

제일마지막으로 구동되는 프로세스가있다

로그온프로세스 터미널 초기화


      리눅스  |  2007. 7. 28. 19:18



sokoban's Blog is powered by Daum & Tattertools