목록Unix&Linux (11)
khstar
CentOS7에서 고정 IP를 설정하는 방법입니다. 우선 /etc/sysconfig/network-scripts 로 이동해서 파일 리스트를 확인하면 ifcfg-xxxxx 로 파일이 있습니다. (ifcfg-lo 파일은 아닙니다.) 이 파일을 vi로 수정해야 합니다. 해당 파일은 관리자 권한으로 수정해 주세요. # vi ifcfg-xxxxx 파일을 열면 다음과 같이 설정 정보가 보입니다. 위 정보에서 BOOTPROTO="dhcp"를 주석 처리 해주고 다음과 같이 입력합니다. 주의 : 주소를 잘못 입력하면 오류가 발생할 수 있습니다. 주의 해서 입력하세요. BOOTPROTO="static" IPADDR=192.168.0.2 GATEWAY=192.168.0.1 DNS1=168.126.63.1 DNS2=168.1..
터미널에서 ip route 명령어를 통해 Gateway를 확인합니다. # ip route DNS는 /etc/resolv.conf 파일에서 확인할 수 있습니다. # cat /etc/resolv.conf 두 가지 정보는 이외에도 확인 가능한 방법이 많습니다. 참조 : https://llnote.tistory.com/473 https://m.blog.naver.com/PostView.nhn?blogId=jsky10503&logNo=220745689461&proxyReferer=https%3A%2F%2Fwww.google.com%2F
요즘 빅데이터 관련 모듈 설치한다가 그동안 안하던 서버도 보고 나름 정신이 없다. Java 설치를 위해 yum을 돌리니 아래와 같은 로그가 주기적으로 찍힌다. 요는 다른 애플리케이션에서 yum에 lock을 걸었다는 거다. Another app is currently holding the yum lock; waiting for it to exit... The other application is: PackageKit Memory : 190 M RSS (603 MB VSZ) Started: Wed Apr 24 15:51:49 2019 - 1:09:59 ago State : Sleeping, pid: 3477 위에 로그를 보면 pid 3477이 슬립중이란다. ps -ef | grep 3477 하면 프로세스가 ..
시작 포인터를 얘기할 때, 꼭 배열이란 것을 다시 언급하게 됩니다. 사실 C에서 포인터(Pointer)와 배열(Array)은 꽤 닮은 점이 있습니다. 결론부터 말하면, 배열이 내부적으로 포인터로 구현되어 있기 때문입니다. 1. 배열(Array) 배열이란 동일한 타입을 가지는 일련의 변수군을 정의한 겁니다. 가령 int A[5]; 이라고 선언하면 정수(int)형 변수 5개를 만들고 그것을 A 라는 하나의 이름으로 통합해서 관리하게 됩니다. 그러면 메모리상에서 배열은 어떤 모습일까요? 일단 배열의 각 원소가 할당받는 어드레스를 살펴봅니다. ──────────────────────────────────────── #include void main() { int A[5]; printf("%d %d %d %d %..
서론 C Language를 공부하면서 가장 이해하기 어려운 것이 무어냐고 물어본다면, 아마도 거의 대부분 "바로 포인터(Pointer)라는 녀석이다!" 라고 말할 것입니다. C에서 다른 건 다 이해가 되어도 "포인터 만큼은 죽어도 모르겠다" 라고 말하는 경우를 제 주변에서도 심심치 않게 봐왔습니다. 사실 C는 어려울 수밖에 없습니다. C를 그저 프로그래밍의 기초 과정에서 배우는 옛날 언어라고 생각하고 가볍게 볼만큼 만만한 녀석이 전혀 아닙니다. C는 어셈블리(Assembly)의 사촌입니다. 다시 말하면, C는 하드웨어 - 특히 마이크로프로세서(CPU)와 친한 녀석입니다. 때문에 하드웨어에 대한 기반 지식없이는 C를 제대로 이해할 수가 없습니다. 포인터라는 녀석이 특히 그렇습니다. C를 강력하게 만드는 무..
SOCKET PROGRAMMING TUTORIAL Contents What is a socket? How do I get a socket? The bind function Call Server Process The listen function Call Accepting a new connection Client Process Connecting to the server For Talk sending data receiving data When leaving closing the socket 소켓의 동작 모드 select() Tip for Chatting Server and Client What is a socket?Socket 이란 서버와 서로 특정한 규약을 사용하여 데이터를 전송하기 위한 방식이다. 소..
select 를 이용하면 여러개의 파일지시자를 동시에 다룰수 있다. 원리는 간단한데, 우리가 관심있어하는 파일지시자의 그룹을 fd_set 이라는 비트배열에 집어 넣고 일정시간마다 이 비트배열에 어떠한 변화가 있는지 확인하는 방법을 사용한다. 우선 이 비트배열에 파일지시자 값을 입력하고, 비트배열의 맴버 값을 초기화 시키고, select 를 적용하면, select 는 해당 파일지시자에 어떠한 상황 (읽을 데이타, 쓸데이타가 있거나 기타 예외 상황)이 발생하면 이를 fd_set 의 비트배열중 해당 파일지시자를 가리키는 비트의 값을 1로 세팅한다. 우리는 나중에 비트배열의 값을 확인해 봄으로써, 어떠한 파일지시자 에 변경이 있었는지 확인할수 있고, 이에 대한 적절한 조치를 취할수 있게 된다. 가장 많이 사용하..
FTP( File Transfer Protocol )의 사용 일반적으로 Windows 98이나 Windows NT, 2000에서는 FTP 프로그램들이 많이 있어서, 프로그램을 내에서 명령어를 치지 않고 마우스로 드래그 앤 드롭을 하면 되지만 Unix나 Linux등의 Telnet 모드에서 FTP를 사용한다고 하면 막히기 쉽상이다. 여기에서는 명령행으로 FTP를 사용하여 화일을 보내고 받는 것을 이야기 하고자 한다. ftp는 리모트 서버측에 ftpd라는 데몬 프로그램이 서비스를 담당한다. ftp의 실행$ ftp remote_ip [port] 여기서 remote_ip는 일반적인 ip가 될 수 있고, 도메인명이 될수도 있다. 일반적으로 ftp 데몬이 사용하는 포트(port)는 21번이다. 명시하지 않으면 디폴트..
유닉스 UNIX 나, 리눅스 Linux 에서, 파일이나 디렉토리(폴더)를 찾는 검색 명령어는 "find" 입니다. find 명령으로 파일이 아닌, 디렉토리를 검색하려면 명령어 맨 끝에 "-type d" (따옴표 제외) 라는 옵션을 붙여 주어야 합니다. 가령 하드 전체에서 즉 루트 디렉토리 아래에서, et 로 시작하는 모든 디렉토리를 찾으려면 find / -name 'et*' -type d 이렇게 합니다. 위의 명령어에서 "/" 는 루트 디렉토리 즉 최상위 디렉토리를 의미합니다. 출처 : http://mwultong.blogspot.com/2007/06/unix-find.html
chown 으로 해당 디렉토리의 소유자를 변경하고 chmod 로 각 디렉토리의 퍼미션을 설정하여 파일의 보안 설정을 높일수 있음. chmod : 파일의 소유자/소유그룹/다른사용자의 파일 권한(읽기/쓰기/실행) 변경 chown : 파일의 소유자와 소유 그룹을 변경 ● chown [옵션(cfvR)] 소유자:소유그룹 파일명 ex) chown -R user1:group1 aaa -> aaa 및 하위 파일까지의 모든 소유자를 user1 / 소유그룹을 group1 로 변경 chown user1 aaa.txt -> aaa.txt 파일의 소유자를 user1로 변경 chown :group1 aaa.txt -> aaa.text 파일의 소유 그룹을 group1 로 변경 ● chmod [옵션(cfvR)] [퍼미션설정] 파일명..