'centos'에 해당되는 글 4건

  1. 2017.06.11 [CentOS7] FFmpeg Setup Script
  2. 2013.05.08 xargs, find 명령어
  3. 2013.04.06 CentOS 6.4 NVIDIA GeForce Graphic Driver Install 3
  4. 2013.03.24 [CentOS] centos 6.4 Net Install 1

ffmpeg를 설치하기 전에 아래의 패키지를 설치해야 한다.

# yum-config-manager --add-repo http://www.nasm.us/nasm.repo

# yum install nasm

# yum install autoconf automake bzip2 cmake freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel


로컬 계정에 설치가 되도록 작성한 스크립트이다. 기본적으로 로컬계정 $HOME에 설치된다. 

최종적으로 설치가 될 디렉토리 : $HOME/ffmpeg


디렉토리 변경을 원한다면, 스크립트에서 ROOT_DIR, ROOT_SUB_DIR 바꿔주면 된다.


1. 실행 방법.

ffmpeg_setup.sh


위의 ffmpeg_setup.sh script 파일을 다운받는다.

$ sh ffmpeg_setup.sh --download-install 

-> 컴파일 파일들은 다운로드 후 설치한다.

$ sh ffmpeg_setup.sh --install

-> 컴파일 파일들이 있다는 가정하에(ex: $HOME/ffmpeg/ffmpeg_sources), ffmpeg만을 설치한다.

$ sh ffmpeg_setup.sh --update

-> 컴파일 파일들이 있다는 가정하에(ex: $HOME/ffmpeg/ffmpeg_sources), 모든 파일들을 업데이트 후 설치한다. 

$ sh ffmpeg_setup.sh --remove

-> ffmpeg를 제거한다.


2. 스크립트 설치 도중, 만약 not found opus Error가 발생한다면, PKG_CONFIG_PATH 잡아주고 .bashrc 갱신 후 다시 진행한다.

ex) PKG_CONFIG_PATH=$HOME/ffmpeg/ffmpeg_build/lib/pkgconfig:$PKG_CONFIG_PATH


3. 끝.



'Linux > CentOS' 카테고리의 다른 글

[CentOS7] Anaconda Setup  (0) 2017.06.10
[CentOS7] Java 설치  (0) 2017.06.07
[CentOS7] NVIDIA Driver 설치  (0) 2017.06.06
Centos7 Media 설치  (0) 2017.06.06
[CentOS6] R setup  (0) 2016.04.05
Posted by scii
:

xargs, find 명령어

Linux/Common 2013. 5. 8. 01:58 |


xargs 

xargs 명령은 입력된 데이터를 라인 단위로 읽어서 argument화하는 명령이다.

find 명령을 사용하여 검색한 파일에 대한 처리를 위해 파이프로 연결하여 사용한다.


위의 명령은, which 명령에 의해 출력되는 bash 실행 파일의 경로가 /bin/bash인데, 이 결과 값이 파이트와 xargs에 의해 ls -l 아규먼트로 대입되어 결국 ls -l /bin/bash 명령을 수행한 결과를 출력하게 된다.



find

find 명령은 디렉토리 계층에서 파일을 검색하기 위한 명령이다. 

find 명령으로 검색한 결과 값은 하나의 라인에 하나의 파일명이 출력되는데, 이 결과 값을 파이프로 연결하여 여러가지 명령의 아규먼트로 전달하여 원하는 명령을 실행하고 그 결과 값을 얻어낸다.


형식

1) -exec를 사용하여 검색된 결과를 명령의 아규먼트 ({})로 사용한다.

# find ... -exec 명령 {} \;

2) xargs 명령을 사용하여 파이프로 전달된 결과를 표준 입력 아규먼트로 받아서 명령을 실행한다.

# find ... | xargs 명령


find 옵션


 find 옵션

의        미 

 -name 파일명 

 파일명으로 검색한다. 

 -user 유저명 

 유저명 또는 UID로 검색한다. 

 -group 그룹명 

 그룹명으로 검색한다. 

 -perm nnn 

 퍼미션이 nnn인 파일을 검색한다.

 예) -perm 755

 # find . -perm -100 -print

 실행 가능한 --x------ 파일을 찾는다.

 -perm 인자가 마이너스(-) 부호를 가지게 되면 setuid 설정 비트를 포함한 모든 퍼미션 비트들이 검사된다.

 -type x 

 파일 타입이 x인 파일을 검색한다.

 b(블럭 특수 파일), c(문자 특수 파일), d(디렉토리), p(파이프), f(정규표현 일반 파일), l(심볼릭 링크 파일), s(소켓) 

 -atime +n 

 접근 시간이 n일 이전인 파일을 검색한다. (access) 

 -atime -n 

 접근 시간이 n일 이내인 파일을 검색한다. (access) 

 -ctime +n 

 n일 이전에 변경된 파일을 검색한다.

  (change: 내용 수정이 아니라 모드 변경 또는 접근 시간 변경)

 -mtime +n 

 n일 이전에 내용이 수정된 파일을 검색한다. (modify) 

 -mtime -n 

 n일 이내에 내용이 수정된 파일을 검색한다. (modify) 

 -empty

 파일이 비어있고 (0 bytes) 일반 파일, 디렉토리를 검색한다. 

 -newer 파일명 

 파일명의 파일보다 최근에 수정된 파일을 검색한다. 

 -size n 

 파일 블록 크기가 n 이상인 파일을 검색한다.

 b(블럭 -기본값), c(bytes), k(kbytes), w(2바이트 단어) 

 -links n 

 링크된 개수가 n인 파일을 검색한다. 

 -print 

 표준 출력 

 -exec 명령

 검색된 파일을 찾으면 command 명령을 실행한다.

 명령 인자(검색된 파일)는 {}으로 사용하며, 이때 명령 끝은 \;(;이 아님)을 사용해야 한다.

 즉, 명령구분 문자인 ';'을 이스케이프(\) 시켜 주어야 한다.  

 -operator 

 -a: and 연산, -o: or  연산, !: not 연산 

 -path 패턴

 path가 패턴과 일치하는 path에 대해서 검색한다.  

 -regex 패턴 

 파일명이 패턴과 일치하는 정규 표현식에 대해서 검색한다. 



find 명령에서 사용하는 -atime, -ctime, -mtime 옵션에서의 시간들은 일(하루 24시간) 단위이다. 

부호 없는 숫자, 예를 들어 3은 정확하게 3일 전에 끝난 24시간을 의미한다. 다시 말하면 96시간과 72시간 이전 사이를 의미하는 것이다.


마이너스(-) 부호를 가진 숫자는 그 시간 이후에 기간을 가리킨다. 예를 들어, -3은 지금과 3일 전 사이의 모든 시간을 의미한다. 

다시 말하면 0시간 이전과 72시간 이전 사이를 의미하는 것이다.


플러스(+) 부호를 가진 숫자는 그 시간 이전의 기간을 가리킨다. 예를 들면, +3은 3일 이상된 시간을 의미한다.

다시 말하면 72시간 이상 지난 파일을 의미하는 것이다.



# find . -type f -exec file '{}' \;

쉘이 위치한 현재 디렉토리 아래에서 모든 파일을 검색하고 file 명령을 실행한다. 

'{}', 작은따옴표로 둘러싸인 브레이스는 쉘 스크립트에 의해 해석되지 않도록 하기 위한 것이며, find 명령으로 찾은 파일을 의미한다.

세미콜론(;)은 쉘에서 해석되지 않기 위해 백슬래시(\)를 사용하고 있다. 

만약 현재 디렉토리 아래의 grep 디렉토리에서 검색하려면 ./grep 를 지정하면 된다.


# find $HOMe -mtime 0

현재 쉘에 접속해 있는 자신의 홈디렉토리 아래에서 24시간(-mtime 0) 안에 수정된 파일들을 검색하여 출력한다.


# find . -name 'fi*'

현재 디렉토리부터 모든 하위 디렉토리까지 파일명이 fi로 시작하는 모든 파일을 검색하여 출력한다.


# find . -perm 755

현재 디렉토리부터 모든 하위 디렉토리까지 퍼미션이 755인 파일과 디렉토리를 검색한다.

위의 명령은 모든 파일과 디렉토리를 검색하였지만, -type f 옵션을 추가하면 일반 파일만 출력할 수 있다.

# find . -type f -perm 755


# find /home -newer here.sh

/home 디렉토리 아래에서 here.sh 파일보다 최근에 수정된 파일을 검색하여 출력한다.


# find /home -size +1024 -print

/home 디렉토리 아래에서 파일의 블록 크기가 1024 이상인 파일을 검색하여 출력한다.


# find ~/ -type d -print

홈 디렉토리 아래에서 디렉토리들만 검색하여 출력한다.


# find /home \( -name a.out -o -name '*.o' \) -atime +7 -exec rm '{}' \;

/home 디렉토리 아래에서 파일명이 a.out 또는 .o로 끝나는 파일을 검색하고, 7일 동안 사용하지 않은 파일(생성/변경 날짜가 7일 이상된 파일)이면 rm 명령을 사용하여 삭제하도록 하는 명령이다.


# find /tmp -name core -type f -print | xargs /bin/rm -f

/tmp 디렉토리 아래에서 파일명이 core인 파일을 검색하여 출력한다. 이때 검색된 파일 목록은 하나의 라인에 하나의 파일명이 출력되는데, 파이프로 연결된 xargs 명령에 의해 라인 단위로 /bin/rm -f 명령의 아규면트로 전달되어 검색된 모든 파일들을 삭제하게 된다.


# find . -type f -mtime +1 | xargs -n 100 rm -f

find 명령을 사용하여 현재 디렉토리 아래에서 현재 시간보다 하루(+) 전(24시간 내에 작성/수정된 파일만 제외) 에 작성/변경된 파일을 찾으면 라인 단위로 파일 리스트가 쉘에 출력된다.

이 파일 리스트는 하나의 라인당 하나의 파일명이 출력되기 때문에 각 라인의 파일명을 아규먼트화하기 위해 xargs 명령을 파이프로 연결한 다음 -n 100, 즉 100라인 (100개의 아규먼트) 을 한 번에 읽어서 rm -f [아규먼트] 로 치환하여 100개 단위로 검색된 파일들을 삭제하는 명령이다.


'Linux > Common' 카테고리의 다른 글

vim 업데이트 및 gvim 설치  (0) 2014.02.01
분할 압축  (0) 2013.05.26
Linux Theme  (0) 2013.04.28
Linux Theme Settings  (2) 2013.04.07
터미널에서 멀티태스킹하기  (0) 2013.02.02
Posted by scii
:

CentosOS 6.4 에서 NVIDIA 그래픽 드라이버 설치하기.

centos 에는 nouveau 라는 nvidia 그래픽 카드용 프레임버퍼 모듈이 들어가 있다. 이것의 용도는 부팅 시 멋지게 연출이 가능하도록 한다.

그런데, 문제점이 있다. 그것은 nvidia에세 제공하는 그래픽카드의 드라이버와 충돌을 일으킨다는 점이다. 그래서 이것을 없애야 그래픽 드라이버를 설치할 수 있다.


1. http://www.nvidia.com 에서 자신의 시스템에 맞는 드라이버를 다운로드하여 적당한 곳에 저장한다.


2. NVIDIA 그래픽 드라이버를 설치(컴파일 후 설치) 하려면 현재 사용중인 CentOS 의 커널 소스가 필요하다. 만약 커널 소스가 설치되어 있지 않다면 아래의 명령으로 커널 소스를 설치해준다.

# yum install -y kernel-devel


3. 작업은 root에서 해야 하기때문에 su - 로 권한을 준다.


4. modprobe.d 디렉토리로 이동한 후 disable-nouveau.conf 파일을 만든다.(확장자가 conf로 끝나면 되고 파일이름은 어떤것이든 상관없음)


5. 이것은 centos에서 기본으로 내장된 nvidia 드라이버를 Disable시키는 것이다.


6. 재부팅할 때, nouveau를 disable 해야 하므로, /boot/grub/으로 이동 후 grub.conf를 수정한다.


7. 본인이 사용하는 커널 버전의 맨 끝 행에 다음의 명령을 입력한다.

rdblacklist=nouveau

저장한 후 컴퓨터를 reboot 한다.


8. X-server 에서는 그래픽카드 드라이버를 설치할 수 없으므로, TUI 환경으로 가서 설치를 진행해야 한다.


9. 드라이버파일이 있는 곳으로 가서 관리자모드로 설치를 진행한다.


10. sh ./해당드라이버파일명


11. 설치하는 도중에 거의 막바지에 이렇게 선택하는 화면이 나올 것이다. 여기서 Yes를 눌러주어야 한다. 이것은 X11.conf 파일 그리고 x-server 설정을 생성 및 수정할 것인지에 대한 것인데 Yes를 해주어야 한다.

NVIDIA 그래픽카드 드라이버가 온전히 설치된 모습



※ 주의 사항:

NVIDIA 드라이버를 설치한 다음, disable-nouveau.conf 를 삭제하거나 grub.conf 의 수정사항을 원래대로 되돌리면 안된다.

이후에 어떤 프로그램이 이 수정사항을 건드렸다면, 다시 작업해주어야 한다. 그렇게 하지 않았을 때는 nouveau와 nvidia 드라이버가 서로 충돌이 일으킨다.


※ 새로운 버전의 커널 또는 새로운 버전의 X 시스템이 설치될 때마다 6단계부터 끝까지 반복하여 NVIDIA 그래픽 드라이버를 다시 install 해줘야 한다.

그리고 새로운 버번의 NVIDIA 그래픽 드라이버를 인스톨하면 인스톨 과정에서 구버전 드라이버는 자동으로 uninstall 된다. 

만약, 드라이버를 삭제하고 싶다면 sh ./드라이버파일명 --uninstall 명령으로 uninstall 할 수 있다.


'Linux > CentOS' 카테고리의 다른 글

CentOS 7 - media repository  (0) 2014.08.24
CentOS 7 NTFS FileSystem Mount  (0) 2014.08.16
RPM (Redhat Package Manager)  (0) 2013.08.11
[CentOS] How to install Python 2.7 and 3.3 Install  (0) 2013.04.07
[CentOS] centos 6.4 Net Install  (1) 2013.03.24
Posted by scii
:


centos 를 받으면 4.1기가 정도된다. 근데 그 정도의 usb를 가지고 있지 않다.

그래서 url 방식으로 network install을 진행하였다. net install을 진행하려면 당연히 인터넷이 되어야 한다. (LAN 선 꽂혀있어야 함)


centos 6.4 버전을 기준으로 작성함.

필자의 저장소:

C 드라이브(128GB) SSD -> Windows 7 설치되어있음.

D 드라이브(100GB) HDD -> 여기에다 CentOS 설치.



CentOS ISO Download & ISO To USB


1. centos를 설치하려면 iso가 있어야 한다. 

centos iso download:

http://www.centos.org/

여기 들어가서 미러사이트 아무곳이나 가서 netinstall 파일을 받는다.



2. centos iso 파일을 USB에 담을 수 있게 만드는 프로그램이 있어야 한다. 여러가지가 있지만, CentOS를 할 때는 이것이 좋은듯하다.

ISO2USB download:

http://iso2usb.sourceforge.net/

위의 url에서 받던지, 밑의 파일을 받던지해서 프로그램을 실행한다.

iso2usb-v0.7.zip


ISO2USB 프로그램으로 CentOS Install:



3. BIOS에서 USB로 첫 번째 부팅을 셋팅한 후 재부팅하면

어떻게 설치할 지 묻는다. 그냥 제일 첫 번째 것으로 선택 후 진행하면 된다.






USL설정 후 net install


1. Language: English



2. Keyborad Type: us 를 선택해야 영어, 한국어가 된다.



3. 인스톨 방식에 대해 묻는다. 미러사이트를 통해 Net Install 을 하려는 것이기 때문에 URL을 선택한다.



4. URL 방식을 선택하면, 네트워크 설정을 해야 하는데 Enalbe IPv6 support 을 해제하고 ok를 누른 후 진행한다.

IP 주소 공간인데 공유기를 사용하거나 내부 네트워크 환경이 구축 되어있다면 보통 IPv4 DHCP를 선택하면 된다.

IPv6 를 설정 하는 유저는 할당된 IPv6 에 맞는 IP를 설정하면 된다.

만약, 잘 모르겠다 싶으면 Enable IPv4 support 만 선택하고 Dynamic IP configuration을 선택 후 진행하면 된다.



5. 세번째 것이 잘 되었다면 URL 셋업 화면이 나온다. 여기서 아래 주소만 적고 ok누르면 된다.

http://mirror.centos.org/centos/6.4/os/x86_64/



6. 위의 작업이 모두 완료되면 본격적인 Net Install이 시작된다.





CentOS 본격적인 설치


1. Net Install이 완료된 후, 설치 시작!! 



2. 컴퓨터 이름이다. 영어로 써야 함. 그리고 루트 계정 암호를 설정하고 넘어간다.



3. Create Custom Layout을 선택하여 사용자가 파티션을 수동으로 나눌 수 있도록 한다.



4. C:\는 SSD이다. 그리고 여기에는 Windows 7이 설치되어있다. 필자는 D:\ 1000GB HDD에 CentOS를 설치할 것이다.

설치할 D드라이브를 Delete를 눌러 free space로 만든다. 그 다음, Create 를 눌러서 Standard Partition을 클릭하여 진행한다.



5. 리눅스에 swap은 꼭 필요하다. 일단 가장 먼저 swap 파티션을 나눠준다. swap 공간은 ram이 모자랄 때 물리적공간을 설정한 만큼 떼어내어 그 만큼을 ram처럼 쓰는 메커니즘이다. 보통 자기 램의 1~2.5 배 정도를 할당해준다. 

필자는 본인 램크기의 2배를 할당하여 주었다. (32기가 할당)



6. Root 파티션을 나눠준다. 보통 15기가 정도만 할당하지만, 필자의 HDD 용량이 크므로 100기가를 할당하여 주었다.



7. 리눅스는 swap공간과 /(root) 만 할당해주어도 된다. 하지만 필자는 /home 디렉토리 파티션을 할당해주었다.

나머지 공간을 /home 디렉토리에 모두 할당 해 주려고했기때문에 Fill to maximum allowable size를 체크 후 진행하였다.



8. 파티션을 모두 나눈 모습



9. 그냥 Default로 하고 넘어간다.



10. 그래픽 모드(X-Window) 를 사용하려면 Desktop 을 선택 후 진행하여야 한다.

그리고 다운받을 패키지를 지금 선택하려면, Customize now를 선택하고 진행한다.



11. 설치 완료 후 CentOS로 부팅한 모습


Posted by scii
: