ldd(List Dynamic Dependencies) 리눅스 명령어 ldd는 지정한 프로그램의 공유 라이브러리(shared libraries) 의존성을 확인할 때 사용하는 명령어입니다. 경로 /usr/bin/ldd 사용법 ldd [옵션] 파일명 ldd /bin/java or [root@localhost bin] # ldd java linux-vdso.so.1 => (0x00007ffd0af56000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa007820000) libz.so.1 => /lib64/libz.so.1 (0x00007fa00760a000) libjli.so => not found libdl.so.2 => /lib64/libdl.so.2 (0..
cannot find a valid baseurl for repo base/7/x86_64 Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 알 수 없는 오류" One of the configured repositories failed (Unknown), and yum doesn't have enough cached data to continue. At this point the only safe thing yum can do is fail. The..
리눅스에 물리적인 하드디스크를 추가하신 후 자동으로 인식되는 경우도 있지만 대부분의 경우 장착한 하드디스크를 인식시키고 마운트 하는 작업이 필요합니다. VMWare, VirtualBox 같은 경우도 마찬가지로 가상머신 디스크 용량을 늘린 후에 인식 시켜주는 과정이 필요합니다. 먼저 가상 머신에 디스크를 추가하시려면 아래의 글을 참고해 주세요 [IT/리눅스(Linux)] - [VirtualBox] 버추얼박스 가상머신 디스크 용량 늘리기 /dev/sdb /dev/sdc 디스크 추가하는 방법 fdisk -l 명령어로 보시면 내 디스크들의 현황을 파악할 수 있습니다. /dev/sda는 부팅 디스크로 Boot 부분에 * 체크 표시가 되어 있고 사용 중으로 나타나 있습니다. 제가 꽂은 2TB 용량의 디스크는 /de..
가상메모리란 메모리를 관리하는 방법 중 하나로 실제 메모리(RAM)를 사용하지 않고 보조 기억장치, 디스크를 활용한 방법입니다. RAM은 속도 측면에서는 빠르지만 상대적으로 가성비가 디스크 보다 떨어져 부족하게 들어가는 경우가 많습니다. 이럴 때 디스크의 여유 공간을 활용하는 방법입니다. 가상메모리 추가 방법 dd if=dev/zero of=/swapfile bs=1024 count=2097152 -->가상메모리용 2gb 파일 생성 mkswap /swapfile -->파일을 가상 메모리로 포맷 swapon /swapfile --> 가상메모리 활성화 swapon -s --> 가상메모리 용량 확인 if(input file) of(output file) bs 한번에 읽을 수 있는 바이트수 1024 지정 가상메..
클럭소스는 회로나 부품의 심장부라고 할 수 있습니다. 임베디드 보드에서 일정한 클럭을 제공하는 발진 회로입니다. 클럭이 서로 상호 작용하는 방식과 CPU 주파수 조정 또는 에너지 절약 모드 진입과 같은 시스템 이벤트에 반응하는 방식은 클럭이 실시간 커널에 적합한 클럭 소스인지 여부를 결정합니다. 선호하는 클록 소스는 TSC(타임 스탬프 카운터)이지만 사용할 수 없는 경우 HPET(고정밀 이벤트 타이머)가 다음으로 사용할 수 있는 옵션이 될 수 있습니다. 그러나 모든 시스템에 HPET 시계가 있는 것은 아니며 일부 HPET 시계는 신뢰할 수 없습니다. TSC 및 HPET가 없는 경우 ACPI 전원 관리 타이머(ACPI_PM), 프로그래밍 가능한 간격 타이머(PIT) 및 실시간 시계(RTC)가 다른 옵션에 ..
DHCP(Dynamic Host Configuraion Protocol) 서버라는게 있습니다. 자신의 네트워크 안에 있는 클라이언트 컴퓨터가 부팅될 때 자동으로 IP주소, 서브넷 마스크, 게이트웨이주소, DNS 주소를 자동으로 할당해 줍니다. 수동으로 하나하나 넣어주지 않아도 되는 장점이 있습니다. DHCP를 잘 이해하시려면 먼저 공인, 사설, 고정 IP의 개념을 알아야 합니다 공인IP : 전세계 인터넷상에서 1개 밖에 없는 IP 주소입니다. 할당된 IP주소를 통해 세계 어디서든지 접근할 수 있는 IP입니다. 사설IP : 내부 네트워크 안에서만 사용되는 IP 입니다. 예를 들어 vmware 안에 설치된 가상머신들은 모두 사설 네트워크 안에 위치하므로 사설 IP입니다 192.168.xxx.xxx 대역이 주..
ldconfig 공통적인 라이브러리를 사용하는 것을 동적 라이브러리라고 하는데, 바이너리를 실행할 때 shared object 등의 동적 라이브러리를 연결해 주는 링커 설정 명령어입니다. 리눅스에서 .so 파일을 제대로 인식하지 못할 때 공유 라이브러리 캐시를 재설정합니다. /etc/ld.so.conf.d 경로에 conf 파일을 추가하거나 LD_LIBARARY_PATH를 변경하게 되면 ldconfig 명령을 통해 라이브러리를 재설정해주시면 됩니다. ldconfig 명령어 사용 방법 /etc/ld.so.cache 캐시파일을 설정하여 필요한 라이브러리들을 로드하고 심볼릭 링크를 만들어 줍니다. /etc/ld.so.conf.d 경로에 .conf 파일을 추가, 수정 하거나 LD_LIBRARY_PATH 추가/설정..
exec 명령어는 원래 프로세스를 멈추고 새로운 프로세스(PID가 같음)를 실행하게 되는 명령어입니다. 비슷하게 fork() 명령어가 있는데 이는 새로운 PID 프로세스를 생성하게 됩니다. 리눅스 exec 명령어 사용방법 -exec ; ; 까지 수행하라 라는 명령어 만약 cd .. ; ls 라고 하면 하위 디렉토리로 이동 후 ls가 실행됩니다. 다른 명령어들은 ;를 인식하지 못합니다. find 같은 일반 명령어와 혼합해서 사용하려면 백슬래시(\)를 이용해서 ;를 무력화 해야 합니다. \; {}는 찾은 파일을 의미 find . -name "a" -exec rm {} \; find: missing argument to -exec 오류 발생시 a 라는 파일을 찾아서 삭제 {} 다음에 \;를 입력할 때 {} 다..
Wget은 웹 서버로부터 콘텐츠를 가져오는 컴퓨터 프로그램으로, GNU 프로젝트의 일부입니다. 이 프로그램의 이름은 월드 와이드 웹(www 또는 web)과 get에서 가져온 이름입니다. HTTP, HTTPS, FTP 프로토콜을 통해 콘텐츠들내려받기를 지원합니다. wget 패키지 설치 확인하기 wget : command not found wget 명령어가 실행되지 않는다면 먼저 wget 패키지를 설치해 줘야 합니다. # yum -y install wget 리눅스의 패키지 파일을 wget을 통해 가져오는 것을 해보겠습니다. wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz wget http://www.example.com/ wget ..
서비스 마스킹 설정하기 서비스 등록 systemctl mask 서비스이름 /etc/systemd/system/httpd.service에서 /dev/null로 심볼릭 링크를 생성했습니다. 나오는 메시지를 보시면 아시겠지만 mask는 /dev/null이 서비스로 심볼릭 링크 되는 구조입니다. ln -s /dev/null httpd.target 파일이 생성됩니다. 서비스 확인 sysctlctl status 서비스이름 서비스 마스크 제거 systemctl unmask 서비스이름 rm httpd.target 이 됩니다. mask를 하게 되면 서비스가 실수로 구동될 일이 없게 됩니다. 부팅 시 자동으로 서비스를 실행하게 하려면 systemctl enable 서비스이름 명령어를 이용해 주시면 됩니다. vendor p..
리눅스에서 Java 모듈을 실행할 때 jar 파일을 많이 사용하게 됩니다. 가끔 jar 안에 있는 버전 정보나 파일 정보를 확인해 봐야할 일이 있는데 그럴 때마다 IDE 개발 툴을 열어서 확인할 수 없기 때문에 리눅스에서 명령어로 확인하는 방법을 알려드리도록 하겠습니다. META-INF 디렉토리에서 MANIFEST.MF 해당 파일에 버전 정보 등이 기록됩니다. jar 파일은 zip 파일 형식으로 패키지 되어 있는 형태이기 때문에 압축 해제하는 유틸리티가 필요합니다. unzip 이 있으면 해당 파일을 압축 해제하거나 임시적으로 해제해서 내용을 확인할 수 있습니다. unzip 명령어를 사용하셨는데 unzip : command not found 위와 같은 메시지가 나오게 되면 # yum -y install u..
마운트(mount)란? mount 명령어를 이용해서 현재 마운트된 장치들을 확인할 수 있습니다 /dev 안에 마운트된 장비를 umount명령어로 제거할 수 있습니다 umount /dev/sdb1 먼저 확인해야 하는데 장치의 이름이 종종 변할 수 있으니 /dev/sd* 로 확인해야합니다 가끔 NTFS 파일 시스템이 있는데 NTFS는 Windows 에서 사용하는 파일 시스템 입니다 리눅스에서 NTFS 파일 시스템을 인식하려면 따로 패키지를 설치해 주셔야합니다 # yum -y install ntfs-3g fuse USB 를 마운트하는 순서 mkdir /media/usb - 마운트할 디렉토리 생성 mount /dev/sd* /medua/usb - USB 마운트 fdisk -l 을 사용하면 USB를 꽂았을 때 나..