반응형

1. 패키지 설치

rpm -ivh [package]                  # 패키지 설치

rpm -Uvh [package]                # 설치된 패키지가 있으면 삭제하고 설치

rpm -Uvh [package] --force     # 버전에 상관없이 강제 설치

rpm -Uvh [package] --nodeps  # 의존성 무시하고 설치

 

 

2. 패키지 삭제

rpm -e [package]                     # 패키지 삭제

rpm -e [package] --nodeps      # 의존성 무시하고 패키지 삭제

 

 

3. 패키지 확인

rpm -qR [package]                  # 의존성 확인

rpm -qa | grep [package]        # 설치된 패키지 확인

rpm -qi [package]                    # 패키지 정보 확인

반응형

'Linux > 공통' 카테고리의 다른 글

리눅스 PING 차단&허용  (0) 2015.05.07
SVN 사용법 정리  (0) 2015.04.28
SCP 명령어 사용법  (2) 2015.04.27
하드디스크 쓰기 속도 측정 방법  (0) 2015.04.23
랜선 연결 확인하는 방법  (0) 2015.04.23
반응형

외부에서 리눅스 시스템으로의 PING을 차단하거나 허용할 수 있다.

 

 

1. proc 파일시스템을 직접 수정하는 방법

[PING 차단]

# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

 

[PING 허용]

# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

 

 

2. sysctl 커맨드를 사용하는 방법

[PING 차단]

# sysctl -w net.ipv4.icmp_echo_ignore_all=1

 

[PING 허용]

# sysctl -w net.ipv4.icmp_echo_ignore_all=0

 

두가지 방법중 어떤 방법을 사용해도 결과는 동일하다.

 

차이가 있다면,

1번 방법은 반드시 root 사용자가 사용해야 한다.

2번 방법은 root권한을 가진 사용자가 사용할 수 있다.

 

즉, 2번 방법은 sudo 명령으로도 사용이 가능하다.

 

 

 

  

 

 

 

 

 

 

반응형

'Linux > 공통' 카테고리의 다른 글

유용한 RPM 명령어  (22) 2024.06.17
SVN 사용법 정리  (0) 2015.04.28
SCP 명령어 사용법  (2) 2015.04.27
하드디스크 쓰기 속도 측정 방법  (0) 2015.04.23
랜선 연결 확인하는 방법  (0) 2015.04.23
반응형

1. 소스 내려받기

svn checkout[co] http://192.168.0.128/svn/sandbox (sandbox 디렉토리에 체크아웃받음)
svn checkout[co]
http://192.168.0.128/svn/sandbox source (source 디렉토리에 체크아웃받음)

 

 

2. 소스 최신버전으로 업데이트

svn update[up]

 

 

3. 소스 변경사항 적용하기

svn commit[ci] -m "수정사항에 대한 메시지 입력"

* 주의점 - 커밋전에는 update를 실행하여 최신소스로 변경하고, make를 실행시켜 컴파일이 성공했을 경우에만 커밋해야함.

 

 

4. 소스 차이점 비교

svn diff
svn diff -r 4 (리비전 4와 비교)
svn diff -r 4 test.c (리비전 4의 test.c 파일비교) 

 

 

5. 소스의 리비전 로그 보기

svn log
svn log -r 4 (리비전 4의 변경사항 로그 보기)
svn log -r 4 test.c (리비전 4의 test.c파일의 변경사항 로그 보기)
svn log -r 4:5 (리비전 4~5의 변경사항 로그 보기)

 

 

6. 파일 import 하기

* 아무것도 들어있지 않은 저장소에 맨 처음 소스를 넣을때 사용.

 

 

7. 파일 export 하기

* 체크아웃과는 달리 버전 관리 파일들을 뺀 순수한 소스 파일을 받아옴.

 

 

8. 새로운 파일 추가하기

svn add newfile.c

* 실제 변경사항은 커밋시에 적용됨.

 

 

9. 새로운 디렉토리 만들기

svn mkdir newdir

* 실제 변경사항은 커밋시에 적용됨.

 

 

10. 파일/디렉토리 삭제하기

svn delete[del, rm, remove] newfile.c

* 실제 변경사항은 커밋시에 적용됨.

 

 

11. 파일 이동하기

svn move[mv] test.c ./src/

* 실제 변경사항은 커밋시에 적용됨.

 

12. 파일 리스트 확인하기

 

 

13. 이전 작업들 되돌리기

svn revert (현재 디렉토리의 작업들 되돌리기)
svn revert newdir (newdir에 작업했던 내용들 되돌리기)

* 커밋전의 작업내용들을 되돌림. 커밋후에는 되돌릴 수 없음.

 

 

14. 소스 파일에 작업한 내용 확인하기

svn blame test.c
svn blame -r 4 test.c

* 한 소스파일을 대상으로 각 리비전에 대해서 어떤 행을 누가 수정했는지 알아보기 위한 명령.
* 출력 순서는 리비전, 커밋한 사용자의 ID, 소스 순임.

 

 

15. 파일 이름 변경하기

svn rename[ren] test.c sample.c

* 실제 변경사항은 커밋시에 적용됨.

 


16. 소스 서버 변경하기

svn switch --relocate [이전주소] [새로운주소]

 

 

 

 

 

 

 

 

 

 

반응형

'Linux > 공통' 카테고리의 다른 글

유용한 RPM 명령어  (22) 2024.06.17
리눅스 PING 차단&허용  (0) 2015.05.07
SCP 명령어 사용법  (2) 2015.04.27
하드디스크 쓰기 속도 측정 방법  (0) 2015.04.23
랜선 연결 확인하는 방법  (0) 2015.04.23
반응형

리눅스에서 FTP를 사용하지 않고 간편하게 파일을 복사하는 방법으로는 SCP 커맨드를 사용하는 방법이 있다. SCP는 Secure CoPy의 약자로 보안이 강화된 복사를 뜻한다.

FTP를 자주 사용해봤다면 FTP를 이용해 디렉토리를 복사하는게 쉽지 않다는 것을 알고 있을 것이다. (주로 스크립트를 만들어 사용한다.)

반면, SCP는 파일뿐만 아니라 디렉토리까지 깔끔하게 복사할 수 있다는 장점이 있고, SSH와 동일한 포트(22)를 사용하여 SSL기반의 세션 보안 프로토콜을 사용하므로 보안측면에서도 FTP보다 뛰어나다고 볼 수 있다.

FTP를 사용하기 위해서 21번 포트가 OPEN되어 있어야 하는것처럼 SCP를 사용하려면 22번 포트가 OPEN되어 있어야 한다.

 

SCP 커맨드를 사용해 파일을 복사하는 명령은 아래와 같다.

# scp [File Name] [User Name]@[Dest Addr]:[Dest Path]

 

File Name은 복사하려는 파일 이름을 지정한다.

User Name은 복사하려는 목적지의 계정에 대한 유저이름을 지정한다.

Dest Addr은 복사하려는 목적지의 주소를 지정한다. (IP Address 또는 Domain Name)

Dest Path는 복사하려는 목적지의 파일 저장 경로를 지정한다.

 

예를 들어, 192.168.0.10번 서버의 testuser 계정의 홈디렉토리로 testfile 파일을 전송하는 커맨드는 아래와 같다.

# scp testfile testuser@192.168.0.10:~/ 

 

마지막으로 SCP 커맨드를 사용해 디렉토리를 복사하는 명령은 아래와 같다.

# scp -r [File Name] [User Name]@[Dest Addr]:[Dest Path]

 

파일복사 커맨드에 -r만 추가해 주면 된다.

 

예를 들어, 192.168.0.10번 서버의 testuser 계정의 홈디렉토리로 testdir 디렉토리와 하위의 다렉토리/파일들을 전송하는 커맨드는 아래와 같다.

# scp -r testdir testuser@192.168.0.10:~/  

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

'Linux > 공통' 카테고리의 다른 글

리눅스 PING 차단&허용  (0) 2015.05.07
SVN 사용법 정리  (0) 2015.04.28
하드디스크 쓰기 속도 측정 방법  (0) 2015.04.23
랜선 연결 확인하는 방법  (0) 2015.04.23
리눅스 캐쉬 메모리 삭제하는 방법  (0) 2013.12.20
반응형

리눅스에서 하드디스크의 읽기/쓰기 속도를 측정하는 방법으로는 dd 커맨드를 사용하는 방법이 있다.

 

# dd if=/dev/zero of=/testfile count=4000 bs=1024k

 

if는 Input File을 의미하며 보통 리눅스 설치시 기본적으로 생성되는 제로파일을 사용한다.

of는 Output File을 의미하며 Input File을 복사하여 저장할 파일의 위치를 지정한다.

bs는 Block Size를 의미하며 Input File을 한번에 읽을 사이즈를 지정한다. (보통 1024k 사용)

count는 Input File을 Block Size만큼 몇번을 읽어서 Output File에 저장할지를 지정한다.

 

즉, 위의 커맨드대로 실행하면 약 4GB의 파일에 대한 쓰기 시험이 되는 셈이다.

(1024k X 4000번 = 1024000 X 4000 = 4096000000 = 약 4GB)

 

마지막으로 위의 커맨드로 두 종류의 하드웨어에서 시험한 결과는 아래와 같다. (4GB에 대한 쓰기 속도 측정)

 

1. 320G 5400RPM 노트북 하드 1개를 장착한 시스템

# dd if=/dev/zero of=/testfile count=4000 bs=1024k
4000+0 records in
4000+0 records out
4194304000 bytes (4.2 GB) copied, 101.293 seconds, 41.4 MB/s

 

2. 500G 서버용 하드 4개로 RAID5 구성된 서버 시스템

# dd if=/dev/zero of=/testfile count=4000 bs=1024k
4000+0 records in
4000+0 records out
4194304000 bytes (4.2 GB) copied, 5.70978 s, 735 MB/s

 

속도의 차이는 실로 어마어마하다~!!!

 

 

 

 

 

 

 

 

 

 

반응형

'Linux > 공통' 카테고리의 다른 글

SVN 사용법 정리  (0) 2015.04.28
SCP 명령어 사용법  (2) 2015.04.27
랜선 연결 확인하는 방법  (0) 2015.04.23
리눅스 캐쉬 메모리 삭제하는 방법  (0) 2013.12.20
VirtualBox에 CentOS 6.4 설치하기  (4) 2013.07.24
반응형

리눅스에서 실제 물리적인 랜선이 이더넷카드에 연결되어 정상적으로 동작중인지를 확인해야할 경우가 경우가 종종 있다. 이럴 경우 mii-tool 커맨드를 사용하여 연결 상태를 쉽게 확인할 수 있다.

 

/sbin/mii-tool [인터페이스]

 

인터페이스에는 eth0, eth1 등등의 eth 인터페이스와 bond0, bond1과 같은 bond 인터페이스등의 모든 인터페이스를 지정할 수 있다.

실제 랜선이 연결되어 있다면 아래와 같은 결과가 출력된다.

 

# /sbin/mii-tool eth0
eth0: negotiated 100baseTx-FD flow-control, link ok 

 

실제 랜선이 연결되어 있지않다면 아래와 같은 결과가 출력된다.

 

# /sbin/mii-tool eth0
eth0: no link

 

해당 커맨드는 root계정에서만 실행할 수 있다.

 

 

 

 

 

 

 

 

 

반응형
반응형

리눅스 시스템에서 작업을 하다보면 간혹 메모리가 부족하여 시스템이 버벅거리는 경우가 발생한다.

그럴때 free 명령어로 메모리 상태를 출력해보면 보통 캐쉬쪽에 메모리가 많이 할당되어있는것을 볼 수 있다

# free
                    total        used       free    shared     buffers    cached
Mem:      16425800    1786268   14639532          0     147028    1052388
-/+ buffers/cache:     586852   15838948
Swap:            0          0          0 

 

 

캐쉬 메모리를 해제하여 다른 프로세서에서 메모리를 바로 사용 가능하도록 하기 위해

캐쉬 메모리를 강제로 해제하려면 root에서 아래의 커맨드를 입력해보자.

# echo 3 > /proc/sys/vm/drop_caches

 

 

cached가 줄고, free가 늘어난것을 볼 수 있다.

# echo 3 > /proc/sys/vm/drop_caches
# free
                    total       used       free    shared     buffers    cached
Mem:      16425800     738168   15687632          0       1036     331852
-/+ buffers/cache:     405280   16020520
Swap:            0          0          0

 

 

 

 

 

 

 

 

반응형
반응형

1. CentOs 파일 다운로드 

redhat은 유료기 때문에 무료버전인 cenos 파일을 다운로드 합니다. 


 http://www.centos.org/modules/tinycontent/index.php?id=32











한국내 미러사이트중 땡기는 곳에서 최신 버전 경로로 이동합니다.(6.4 -> isos -> i386

32비트 컴퓨터일경우이고 64비트일경우, 6.4 -> isos ->x86_64로 이동하면 되겠습니다. 








다음파일을 다운받습니다. 

 CentOS-6.4-i386-bin-DVD1.iso 









2. virtaulbox 가상머신 만들기



virtaulbox실행후, 새로 만들기 클릭후, linux-> Redhat 선택합니다. 






gui모드를 사용하기 위해 메모리를 늘려줍니다.

이 다음부턴 defualt로 선택합니다. 

































3. VirtualBox 가상머신 설정




금방 만든 가상머신을 선택후 설정 버튼을 클릭합니다. 












gui 모드를 사용하기 위해 디스플레이 선택후, 48 MB 로 늘려줍니다. 












좌측에 저장소 선택후, IDE하부에 비어있음 클릭후 cd모양을 선택하여, 디스크파일 선택









다운로드 받은 centos iso파일을 선택합니다. 






4. 가상머신 시작후 centOS설치




install or upgrade an existing system을 선택합니다. 











디스크 검사는 pass후

사용언어는 영어로 선택합니다.  











키보드 언어는 us를 선택합니다. 









Basic Storage Devices를 선택합니다. 












추후, 서버에서 수정가능하므로 host name은 우선 디폴트로 설정합니다. 












시간은 아시아/서울을 선택합니다. 











root계정(관리자)의 비밀번호를 입력합니다. 










가상머신의 메모리 공간을 그대로 사용합니다. 










write changes to disk

설치를 시작합니다. 









설치가 진행중입니다. 










재부팅을 합니다.






5. CentOS 서버의 환경설정 수정 





재부팅이 된 화면에 root계정과 계정의 비번을 입력합니다. 








네트워크 설정파일을 수정해야 합니다. 

다음 파일을 열고

cd /etc/sysconfig/network-scripts/


vi ifcfg-eth0

ONBOOT를 yes로 수정해줍니다. 










네트워크를 리스타트를 해줍니다. 

 /etc/rc.d/init.d/network restart










 ifconfig

virtualbox의 외부포트를 열어주기 위하여 게스트ip를 알아야 하는데

inet addr을 적어두셨다 잠시후에 쓰면 됩니다. 









6. 가상머신 네트워크 설정 수정 




이제 virtualbox관리자의 해당 가상머신의 설정에 들어갑니다. 

거기서 네트워크를 선택하고 

- 다음에 연결됨 : NAT

- 케이블연결됨 : 체크

- 포트 포워딩을 선택합니다. 









아까 적어놓은 게스트ip를 적어주고 ssh접속을 위하여 

다음과 같이 적어줍니다. 추후 개방할 포트를 추가하면 됩니다. 








마지막으로 127.0.0.1 22번포트로 ssh접속을 하면 됩니다. 





















반응형
반응형

nohup을 사용시, nohup.out 파일이 생기게 되는데 

이 파일이 차지하는 디스크용량이 아까워 지워버리게 되면, 디스크 용량은 계속 증가하게 됩니다. 

-> 해당 프로세스를 종료 할때까지 


nohup실행시, 처음부터 nohup.out파일이 생기지 않게 실행하는게 최선입니다. 

다음과 같이 실행하면 됩니다. 

 

nohup 실행파일 1> /dev/null 2>&1 &














반응형
반응형

1. svn폴더 위치

/source/svn


2. svn Repository 생성 방법

- root로 로그인하여 저장소 생성 (2가지 중 택1)

 

# 일반 파일시스템으로 생성 

$ svnadmin create --fs-type fsfs /source/svn/project1


# berkeley db 형식으로 생성

$ svnadmin create --fs-type bdb /source/svn/project1



- 생성된 Repository에 대한 계정설정파일 수정

  /source/svn/project1/conf/svnserve.conf

  # 인증받지않은 사용자에 대한 권한 (none)

anon-access = none

# 인증받은 사용자에 대한 권한 (write)

auth-access = write


# passwd 파일로 패스워드를 관리한다.

password-db = passwd



/source/svn/project1/conf/passwd

# 유저계정정보

user = password


- trunk, branches, tags 디렉토리 생성

$ svn mkdir svn://localhost/project1/trunk --username user

$ svn mkdir svn://localhost/project1/branches --username user

$ svn mkdir svn://localhost/project1/tags --username user

















반응형
반응형


터미널 프롬프트상에서 아래의 커맨드를 입력하면 에러 코드에 대한 정보가 출력됩니다.

cat /usr/include/bits/errno.h
cat /usr/include/asm-generic/errno.h
cat /usr/include/asm-generic/errno-base.h

참고사이트 : http://www.basiclinuxcommands.com/2008/07/linux-error-codes-basic-linux-command.html

반응형
반응형

SVN 백업 및 복구는 관리자 명령이기 때문에 슈퍼유저(root) 권한으로 실행해야합니다.

1. 백업 방법
 (1) 백업하고자 하는 저장소의 상위 디렉토리로 이동합니다.
 (2) 아래의 명령어를 사용하여 덤프파일을 생성합니다.
svnadmin dump [저장소 경로(상대경로가능)] > [덤프파일이름]
 (3) 저장된 덤프파일을 잘 관리하면 됩니다.

2. 복구 방법
 (1) 복구하고자 하는 저장소의 상위 디렉토리로 이동합니다.
 (2) 아래의 명령어를 사용하여 복구합니다.
svnadmin load [저장소 경로(상대경로가능)] < [덤프파일이름]

※ 주의 : 꺽쇠(-_-)의 방향은 백업시에는 [경로] > [파일], 복구시에는 [경로] < [파일]
반응형
반응형
리눅스에서 프로그램을 만들다 보면 Memory Leak 체크를 할 필요성을 느낍니다.
이럴경우, Memory Leak을 찾는 툴이 valgrind입니다.
프로그램은 사이트(http://valgrind.org/)에서 받을 수 있구요~ ^^

다운받은 파일을 압축을 풀고 그 폴더에 들어간 뒤, valgrind파일을 실행시킵니다.

제가 가장 편하게 사용하는 메모리릭 체크 방법은 다음과 같습니다.
 
valgrind --leak-check=full --log-file=memcheck.txt -v --error-limit=no [프로그램경로] [인자]
 
--leak-check=full : 메모릭에러가 날 경우 소스파일명과 라인위치 출력

               이 옵션을 사용할려면 디버깅컴파일을 해야합니다. (컴파일시 -g 옵션)
--log-file : 체크결과를 저장할 로그파일명

이렇게 실행하고 나면 로그파일이 만들어지는데 이 두 부분만 보면 됩니다.


LEAK SUMMARY ( Memory Leak 요약 )
==18431== LEAK SUMMARY:
==18431==    definitely lost: 1,025 bytes in 1 blocks
==18431==    indirectly lost: 0 bytes in 0 blocks
==18431==      possibly lost: 12,749,264 bytes in 112 blocks
==18431==    still reachable: 4,240 bytes in 16 blocks
==18431==         suppressed: 0 bytes in 0 blocks
==18431== Reachable blocks (those to which a pointer was found) are not shown.
==18431== To see them, rerun with: --leak-check=full --show-reachable=yes
1블록에서 1,025만큼의 메모리 Leak이 발생했다는 걸 알 수 있습니다.
definitely lost외에 항목은 불분명한 것이므로 굳이 볼 필요는 없습니다.

LEAK DETAIL
definitely lost로 로그파일을 검색하게 되면 상세내용을 찾을 수 있습니다.
==18431== Thread 1:
==18431== 1,025 bytes in 1 blocks are definitely lost in loss record 2 of 9
==18431==    at 0x4C2179E: malloc (vg_replace_malloc.c:236)
==18431==    by 0x40A16F: make_friend_best(char*, int, int) (friend_srch.c:798)
==18431==    by 0x406A45: Friend(int, int, int, int, int, int, int, char*, char*, char*, char*, char*, int, char*, char*) (friend_thread.c:600)
==18431==    by 0x4052C6: main (friend_srch_main.c:75)
이 로그를 보게되면, 동적할당 하는 부분에서 릭이 발생했고
friend_srch.c소스에 798라인이 그 부분이라는 걸 알 수 있습니다.


메모리 릭 찾기 참 쉽죠잉?  














 
반응형
반응형

※ 스왑 파일 생성 조건
 (1) vi로 파일을 open할 경우 동일한 파일명의 스왑 파일이 숨김 파일 형태로 생성됩니다.
   - 단, 읽기전용 모드(-R)로 파일을 open할 경우에는 스왑 파일이 생성되지 않습니다.
 (2) vi로 open한 파일을 정상적으로 닫을 경우 스왑 파일이 자동으로 삭제됩니다.

하지만, vi로 파일을 열어 작업하는 도중 네트워크 상태가 불안정하거나 끊겼을 경우, 다시 동일 파일을 vi로 open 하려하면 아래와 같은 메시지가 출력됩니다. 
E325: ATTENTION
Found a swap file by the name ".test.c.swp"
          owned by: oyh dated: Tue Oct 25 23:06:24 2011
         file name: ~oyh/test/test.c
          modified: no
         user name: oyh host name: linux
        process ID: 1255 (still running)
While opening file "test.c"
             dated: Mon Oct 24 10:35:05 2011
(1) Another program may be editing the same file.
    If this is the case, be careful not to end up with two
    different instances of the same file when making changes.
    Quit, or continue with caution.
(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r test.c"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file ".test.c.swp"
    to avoid this message.
Swap file ".test.c.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort:

해당 파일이 이미 open 되어있다는 내용입니다.
일단, 해당 메시지가 출력되면 다른 누군가가 파일을 열어 사용하고 있지는 않은지 반드시 !!! 확인을 해야합니다.
(누군가 정말로 파일을 사용중이라면 아래의 작업은 피하시기 바랍니다......)
누군가 파일을 사용하고 있지 않을 경우, 이전에 작업하던 코드로 복구하려면, 위의 메시지에서 (Q)를 눌러 나간 후 아래의 커맨드를 입력하여 다시 파일을 open합니다.
vi -r [파일명 or 스왑파일명]           (ex) vi -r test.c

수정 작업이 완료되면 저장하고 나간 후 스왑 파일을 삭제해주면 됩니다.


반응형

+ Recent posts