linux
-
파일 로깅을 위한 필수 명령어 teeIT/DevOps 2016. 2. 7.
일반적으로 Shell script에서 화면 출력은 echo나 printf등의 명령어를 사용하면 된다. #! /bin/bash echo 'Hello World' 이 결과물을 파일로 로그를 남기기 위해서는 매끄럽지 않지만 echo를 두번 남기는 방법도 있다. #! /bin/bash echo 'Hello World' echo 'Hello World' > /var/tmp/tmp.log 하지만 위와 같이 코드를 작성하면 실수하기 좋고 심지어 코드 중복 작업이다. 물론 실수를 줄이기 위해 함수로 만들어주어도 되겠지만 이러한 상황에 편하게 사용하기 좋은 명령어를 소개하려 한다. tee 명령어 TEE(1) BSD General Commands Manual TEE(1) NAME tee -- pipe fitting SYN..
-
rpm 명령에 대해 응답이 없으면 어떻게 해야할까?IT/DevOps 2015. 10. 19.
rpm 패키지에 대해서 설치/업데이트를 실행할 때 중간에 터미널을 닫아버리거나 알 수 없는 오류가 발생할 경우 그 다음부터 rpm 명령에 대해서 응답이 없는 상태를 계속 유지하게 된다. 원인이 무엇이든간에 rpm 명령에 대해서 아무런 응답이 없는 상태가 되어버리는 것은 매우 불편한 일이다. 결론적으로 rpm 명령은 절차상 파일 lock을 활용하기 때문에 이런 문제점을 만나게 된다. 해결방안으로 파일 lock을 삭제하고 rpm에 대해서 rebuilddb를 하면 문제가 대부분 해결된다. 이런 문제점 때문에 더 이상 시스템을 재 설치하지 말자. rm /var/lib/rpm/__db*rpm --rebuilddb
-
가상화를 지원하는 CPU인가요?IT/DevOps 2014. 6. 16.
linux에서 시스템 cpu의 스펙과 특성을 확인할 수 있는 방법이 있다.직관적이고 매우 간단하다. cat /proc/cpuinfo 명령으로 정보를 확인할 수 있다. morenice@ubuntu-morenice:~$ cat /proc/cpuinfo processor : 0vendor_id : AuthenticAMDcpu family : 16model : 4model name : AMD Phenom(tm) II X4 925 Processorstepping : 2cpu MHz : 2731.284cache size : 512 KBphysical id : 0siblings : 2core id : 0cpu cores : 2apicid : 0initial apicid : 0fpu : yesfpu_exception ..
-
linux 시스템의 하드웨어 사양 확인하기IT/DevOps 2013. 12. 14.
Windows에서는 하드웨어 사양을 확인하는데 CPU-Z라는 프로그램만(심지어 무료) 있으면 CPU부터 시작하여 마더보드와 그래픽카드까지 모두 확인할 수 있다. 하지만, linux에서는 CPU-Z와 같은 프로그램이 없기 때문에 하드웨어 사양을 확인할 수 있는 방안을 소개한다. lshw, lspci lshw 명령어를 통해서 하드웨어 정보를 알 수 있다. 아래는 가상화 환경에서 실행한 하드웨어 정보이다. morenice@ubuntu-morenice:~$ sudo lshw [sudo] password for morenice: ubuntu-morenice description: Computer product: VirtualBox () vendor: innotek GmbH version: 1.2 serial: 0..
-
Disk fragmentation defragmentationIT/DevOps 2013. 12. 11.
오래전부터 windows를 사용하면서 디스크 조각 모음(defragmentation)을 PC가 느려졌다고 느끼거나 혹은 한해를 마무리 할 때마다 한번씩 실행하곤 했었다. 확실히 디스크 조각모음을 하게 되면 속도가 다시 빨라지는걸 느낄 수 있었지만, 문득 궁금한게 생겼다. linux에서는 왜 디스크 조각 모음을 하지 않을까? 이 답을 찾기 위해서 일단 디스크 조각 모음의 원인과 정체를 찾아보았다. fragmentation, defragmentationwindows에서의 디스크 조각 모음은 파일들을 사용/수정/삭제를 반복하면서 생기게 되는 단편화(fragmentation)를 해결하기 위한 프로그램이다. 예를 들어 하나의 파일이 디스크에 연속적으로 있으면 좋겠지만 여기저기 나눠서 저장하게 된다. 이렇게 나눠진..
-
Disk usage analyzeIT/DevOps 2013. 12. 10.
디스크 용량은 이상하게도 항상 부족하다. 처음에는 여유있었겠지만 결국 가득 찬 디스크의 파일들을 삭제할 것인지 또는 디스크를 증설할 것인지를 결정해야 할 시점이 올 것이다. 보통은 첫 번째로 낭비되고 있는 파일들이 있는지를 가장 먼저 알아보게 되는데, 사람이 직접 찾는 것은 꽤 어려운 일이다. 필자도 어느날 갑자기 디스크 사용률 100%에 가까이 되서야 정리를 시작했는데 그 과정에서 도움을 받았던 몇 가지 툴들을 소개한다. Ubuntu Disk usageUbuntu에서는 디스크 사용량을 분석해주는 프로그램이 내장되어 있다. "디스크 사용량 분석"이란 프로그램을 실행하면 분석시간이 다소 걸리지만 아래처럼 디렉토리 단계별, 유형별로 확인할 수 있다. 또한 오른쪽 이미지는 파일 유형별 어떤 파일이 크게 자리잡..
-
Disk wipeIT/DevOps 2013. 11. 5.
Disk wipe란 disk에 있는 데이터를 파티션 고려없이 있는 그대로 완전 삭제를 의미한다. Raid 구성을 위해 디스크 전체(partition 정보, MBR 데이터 포함)를 초기화를 해야 하거나, 보안상의 이유로 복구가 되지 않도록 완전 삭제를 하고 싶을 경우가 있을 것이다. 일반적으로 사용하는 disk format은 disk 사용을 위한 설정(partition, file system type)을 기반으로 데이터를 초기화하기 때문에 disk wipe와는 다르다. linux dd 리눅스에서는 프로그램을 다운받을 필요 없이 dd 명령어로 간단히 disk wipe를 할 수 있다. 1. 0 숫자값으로 모두 채우기dd if=/dev/zero of=/dev/sda bs=1M 2. random 숫자값으로 모두 ..
-
library linkingIT/Linux C 2013. 7. 27.
linux librarylinux는 windows와 달리, 시스템에서 동일 library의 여러 버전을 가지고 있는 것을 권장하지 않는다. 그래서 yum 또는 apt같은 패키지 배포에서는 library 의존성에 맞게 설치하게 되어 있다. 배포판 관리입장에서는 정교하게 library와 프로그램을 지원해주는 일을 하고 있고, 호환성을 위해 바로 이전 버전의 library를 함께 설치가능하게 지원>하는 등의 배려는 하고 있다. library force link 그런일이 일어나지 않아야 하지만, 제품의 호환성과 준비 시간의 문제로 하나의 시스템에 여러 library 버전을 설치해야 하는 경우도 있다. 여기서 문제는 동일 library의 다른 버전으로 두 개 설치되었다고 해서 우리가 원하는 버전을 참조하지 않을 ..