본문 바로가기

서버 관리

(23)
계정 추가. useradd, adduser [1. 개요] 리눅스 서버에 신규 계정 발급 시 자주 사용하는 명령어 조합 정리 [2. 명령어] 사용자 계정을 추가하는 명령어는 아래와 같이 두가지가 있다. adduser useradd 두 명령어의 차이점은 아래와 같다. adduser 계정 생성 시 별도 옵션 없이, 홈 디렉토리를 포함한 사용자 관련 설정을 자동생성한다. useradd adduser 처럼 동작하려면 별도의 옵션을 추가로 기입해야 한다. 여기서는 useradd 사용법을 정리한다. [3. 옵션] 옵션 설명 기타 -d, --home 로그인 시 사용 할 홈 디렉터리 경로, 해당 경로에 폴더가 없어도 만들지 않는다. -m, --create-home 사용자 홈 디렉터리가 없는 경우 생성한다. -M 사용자 홈 디렉터리를 만들지 않는다. -r, --s..
df 와 du 와 디스크 용량 차이 발생 및 해결 방법 [1. 개요] 서버 디스크 확보 중, 분명 불필요한 파일을 삭제하였는데, df 로 확인 시 디스크가 충분히 확보되지 않는 문제가 있었다. 그러나, du 로 mount 된 디렉터리의 총 용량 확인 시, 전체 파일 사이즈가 줄어들어 이에 대한 내용을 정리한다. [2. df vs du] df는 파일 시스템의 디스크 블록을 조회하여 총값과 자유 블록의 수를 계산 du 는 입력으로 주어진 파일 혹은 디렉터리가 사용하는 전체 파일 용량을 계산한다. [3. 문제 원인] df 와 du 는 사용중인 용량을 계산하는데 있어서 근본적인 차이가 있다. 따라서 아래와 같은 이유가 원인이 된다. 파일 디스크립터가 열린 상태에서 파일이 삭제된 경우입니다. df는 dirty buffer에 있는 용량을 계산에 포함하지만 du는 계산하..
윈도우 서버 cpu 클럭 문제 보호되어 있는 글입니다.
윈도우 서비스 관리 [1. 개요] 리눅스에서 systemctl 로 관리되는 데몬과 같이 윈도우에서는 서비스로 데몬을 관리 하는데, 여기서는 서비스 생성 및 삭제 등에 대해서 정리하도록 한다. 서비스 관련 명령어는 관리자 권한에서만 실행 가능하다. [2. 서비스 생성] sc create 라는 명령어를 이용하여 진행하는데, 아래와 같은 형식이다. sc create {"서비스 이름"} binPath={"exe 파일 경로 및 파일 실행 인자"} [3. 서비스 제거] sc delete 라는 명령어를 사용하도록 한다. sc delete {"서비스 이름"}
File encoding [1. 개요] 윈도우 환경에서 파일의 인코딩을 변경하여 저장하는 명령어 사용법을 정리한다. [2. 명령어] 파워 쉘 환경에서 사용 할 수 있는 Set-Content 라는 명령어가 있다. 예제) Get-Content example.txt | Set-Content -Encoding utf-8 example2.txt # example.txt 파일에 저장 된 내용을, utf-8 로 인코딩 하여, example2.txt 에 저장한다.
batch, for 문 [1. 개요] 윈도우 환경에서 batch script 작성 시 유용한 for 문 활용 방법을 정리한다. for 문의 기능 List 에 대한 iterate 증감에 대한 iterate 재귀적인 실행 directory 내 file 에 대한 iterate 명령어 결과에 대한 iterate 문자열 파싱 / tokenize cmd 에서 실행할 때는 % 를 한번만 작성 script 로 작성 할 때는, % 를 두번 작성해야 한다. for 문에 사용하는 변수명은 한글자만 가능하다. 보통, %a ~ %z, %A ~ %Z 대소문자 구분함. 자세한 사항은 for /? 로 확인 가능하다. [2. List 에 대한 iterate] for %a in (a b c) do echo %a # 출력 # a # b # c for %a in..
shell script 정리 [1. 개요] 리눅스에서 윈도우 배치파일에 대응되는 shell script 작성 및 사용법 정리 [2. 기본적인 작성법] [3. 변수] 기본적인 변수 작성 myvar = 5 myvar = $(ls -l | grep mylog) # 명령어 결과를 저장 디폴트 값이 있는 변수 NPROC = ${BUILD_CONCURRENCY:-$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1)} BUILD_CONCURRENCY 가 정의되어 있다면, 이 값을 NPROC 에 할당하고, 정의되어 있지 않다면, 명렁어 결과를 NPROCE 에 할당 여기서도, 표준출력이 없다면 1을 사용한다. => stderr 을 전부 null 에 버리므로, stdout 이 없다면, 1 을 사용할 수 밖에 ..
window app 작성 시 유의 할 점 [1. 개요] Winsock 프로그래밍에서 32bit 로 빌드하다가 64bit 로 빌드 시 유의할점을 정리한다. window thread 관련 주의 사항 [2. SOCKET type] SOCKET 자료형 32bit 에서는 4byte unsigned 정수형 64ibt 에서는 8byte unsigned 정수형 단순히 SOCKET 을 사용한 입출력은 크게 문제가 되지 않지만, 내부 구현등으로 인해 bit mask 를 통해 다른 데이터와 bit 연산을 통해 값을 전달 하는 경우 문제가 될 수 있다. [3. Thread] __beginthreadex() 등으로 thread를 생성하고 반환되는 핸들은 반드시 닫아주어야 하는데, 생성한 thread 종료 후 닫아줄 필요는 없다. 스레드가 정상적으로 생성되었음을 알았다..
jq 명령어 [1. 개요] 터미널에서 사용 가능한 json parser
커널 매개변수 [1. 개요] 리눅스 서버 작업 중 간간히 접하는 시스템 매개변수와 관련한 내용 정리 대표적인 세가지 /proc/sys sysctl /etc/sysctl.d [2. /proc/sys] /proc 파일 시스템 내 sys 디렉터리에서 현재 커널 파라미터를 디렉터리 계층 형태로 확인 할 수 있다. /proc - sys/ - vm/ - max_map_count - net/ - ipv4/ - ipv6/ - fs cat 등으로 경로 내 파일을 읽어서 현재 설정 값을 확인 할 수 있고, 해당 파일에 기록 된 값을 변경하여 설정 값을 변경 할 수 있다. [3. sysctl] 부팅 후, 사용자가 이 명령어를 통해 커널 파라미터를 변경 할 수 있다. 특히, # sysctl --system 으로 명령어를 실행한 경우 /et..