리눅스에서 실행 중인 서비스를 확인하려면 systemctl list-units 또는 service --status 명령어를 사용합니다. 어떤 명령어를 사용할지는 운영체제의 기반 시스템이 systemd인지, SysVinit인지에 따라 결정됩니다. 리눅스 실행 중인 서비스 확인 1. 기반 시스템 확인 보통 CentOS 7버전 이상, RHEL 8버전 이상 등의 비교적 최신 버전에선 대부분 systemd 기반으로 systemctl 명령을 이용합니다. CentOS 6버전 이하, RHEL 6버전 이하 등에선 통상 sysvinit 기반입니다. 이를 확실하게 확인하는 방법은 아래의 pstree 명령어입니다. 프로세스의 구조를 출력해주는 명령어인데, 출력 시 맨 왼쪽 상단에 systemd 또는 init처럼 사용하고 있는..
WinDbg는 프로세스의 강제 종료(크래시)가 발생하는 경우 덤프(dump) 파일을 생성할 수 있습니다. 이때 타깃 프로세스를 정하고 windbg를 붙여서 디버깅하는 방법이 있습니다. 이전에 한번 포스팅했던 방법입니다. winDbg 덤프 파일 생성 방법 : https://change-words.tistory.com/entry/winDbg-%EB%8D%A4%ED%94%84-%ED%8C%8C%EC%9D%BC-%EC%83%9D%EC%84%B1-%EB%B0%A9%EB%B2%95 그러나 프로세스를 특정하지 않고 크래시가 발생하는 이벤트 자체에 반응하도록 설정하는 것도 가능합니다. 그 방법을 설명드리겠습니다. WinDbg 크래시 덤프 수집 방법 1. 관리자 권한으로 cmd 실행 후 WinDbg 폴더 이동 windb..
FTP로 파일을 전송 시 아스키(ASCII) 모드와 바이너리(Binary) 모드 두 가지가 있습니다. 아스키 모드로 전송하는 경우 수신 컴퓨터에서 파일을 읽지 못하는 문제가 발생할 수 있습니다. ftp로 전송했는데 파일에 문제가 있다면 혹시 아스키 모드로 보냈는지 확인해보세요. FTP 전송 모드 바이너리 모드로 보내야 하는 경우 바이너리 모드는 파일을 0과 1로 구성된 원시 데이터로 전송하는 모드입니다. 가공되지 않은 원본 데이터이기 때문에 발송자가 보내는 파일과 수신자가 받는 파일이 정확히 같습니다. 반드시 바이너리 모드로 전송해야만 하는 파일들이 존재합니다. 이미지 파일(.jpg, bmp, png), 사운드 파일(.mp3, .avi, .wma), 비디오 파일(.flv, .mkv, .mov, .mp4)..
윈도우에 리눅스를 설치하려면 가상머신(VM) 프로그램을 사용하면 됩니다. 가상머신 서비스가 몇 군데 있습니다. 그 중 무료로 사용할 수 있는 VMware Workstation Player을 통해 리눅스를 설치하는 방법을 설명드리겠습니다. 윈도우에 리눅스 설치 방법 1. VMWARE PLAYER를 다운로드합니다. 아래 링크를 클릭하시면 다운로드 페이지로 연결됩니다. VMWARE PLAYER 다운로드 페이지 2. CentOS 7 iso 파일을 다운로드합니다. VM에 올릴 운영체제를 다운받는 과정입니다. 리눅스 배포판은 우분투, 레드헷, CentOS 등이 있습니다. 이 글에선 CentOS를 기준으로 설명드리겠습니다. 아래 링크로 CentOS 다운로드 페이지에 들어간 후 내 시스템과 일치하는 아키텍처를 선택합니..
PuTTY 같은 원격 연결 툴을 이용해서 리눅스에 SSH 연결 시 루트(root) 계정으로 직접 접속을 시도하면 로그인이 되지 않을 가능성이 높습니다. 기본 설정이 루트 계정 직접 로그인 비허용이기 때문입니다. 루트 계정 접속이 가능하도록 설정 변경이 가능합니다. 그러나 추천드리는 방법은 아닙니다. SSH 루트 계정 접속 허용 방법 1./etc/ssh/sshd_config 경로에서 vi 명령어로 sshd_config를 편집합니다. 2. / 명령어로 PermitRootLogin 설정이 있는 부분을 찾습니다. PermitRootLogin는 주석 처리되어 있거나 prohibit-password으로 설정되어 있을 겁니다. 주석 처리되면 기본 값인 no가 적용됩니다. PermitRootLogin yes // 직접..
컴퓨터는 멀티태스킹이 불가능합니다. 그러나 가능한 것처럼 보입니다. 왜냐하면 운영체제에 인터럽트(interrupt) 기능이 있기 때문입니다. 인터럽트란? 인터럽트는 CPU가 하던 작업을 중단하고, 먼저 처리할 다른 작업을 수행하고 다시 원래의 작업으로 복귀하도록 하는 신호입니다. 인터럽트가 필요한 이유 운영체제는 동시에 여러 작업을 처리할 수 없습니다. 그러나 사용자는 한 번에 여러 작업을 처리하길 원합니다. 멀티태스팅이 가능하려면 먼저 시작한 작업이라 할지라도 우선순위가 더 높은 작업을 먼저 처리하도록 지시할 수 있어야 합니다. 그 기능이 인터럽트입니다. 인터럽트가 필요한 이유를 설명하는 예시로 프린터의 인쇄 작업을 들 수 있습니다. 사용자가 인쇄 기능을 사용하면 CPU는 프린터에게 문서 인쇄를 지시합..
리눅스에서 파일을 검색하려면 find 명령어를 사용합니다. 윈도우의 검색만큼 직관적이진 않지만 알고 보면 상당히 세세한 검색을 지원하는 명령어입니다. 리눅스 find find 구문 find [옵션] 경로 파일명 구문은 대략 이렇습니다. 이보다는 예시를 바로 확인하시는 게 더 이해하기 쉽습니다. 예시 1) 시스템의 모든 파일을 출력 find / 최상단 경로인 /부터 모든 하위 경로의 파일을 검색해서 출력합니다. 아마 쓸 일은 없으실 겁니다. 예시 2) 현재 디렉토리부터 text.txt 파일 검색 find . -name "test.txt" .기호로 현재 디렉토리부터 하위 디렉토리까지를 검색 범위로 둔다는 걸 표시합니다. -name은 주어진 패턴과 일치하는 파일을 찾을 때 사용합니다. -iname을 사용하면 ..
쉘(Shell)이란 운영체제에서 작동하는 텍스트 기반의 명령어 해석기입니다. 사용자가 텍스트로 운영체제에 명령을 하면 그 명령을 해석하고 필요한 시스템을 실행하거나, 프로그램 명령을 지시해주는 역할을 합니다. 즉, 쉘은 사용자와 운영체제 커널 사이의 인터페이스 역할을 하는 프로그램입니다. 이런 프로그램이 하나만 있는 것은 아닙니다. 개발된 쉘 별로 특징이 있으며 그에 따라 많이 특정 쉘은 자연스럽게 가장 많이 사용하는 쉘로 활용되고 있습니다. 윈도우 운영체제에서 쉘은 cmd와 PowerShell로 나눠집니다. 이 글에서 주로 다루려는 리눅스의 쉘은 아래에서 자세히 설명드리겠습니다. 리눅스 Shell 종류 1. Bourne shell (sh) 본쉘은 최초의 유닉스 쉘입니다. 모든 Solaris 시스템 관리..
윈도우 폴더에는 소유자와 사용 권한이 있습니다. 폴더에 대해 읽기, 쓰기, 수정 등의 권한이 없는 사용자 계정으로 작업을 할 경우 삭제를 원하는 프로그램을 지우지 못하거나, 파일을 이동시킬 수 없는 등의 문제가 생깁니다. 이런 경우 폴더에 사용자 권한을 부여해야 합니다. 일반적인 폴더의 경우 이런 문제는 거의 발생하지 않고, 윈도우 시스템 관련 폴더들에서 주로 발생합니다. 참고로 윈도우키 + R로 실행 앱을 열고 %windir%을 실행하시면 관련 폴더 경로를 확인할 수 있습니다. 윈도우 폴더 사용 권한 1. 윈도우 폴더 소유자와 사용자 사용자에게 폴더 사용 권한을 부여하기 위해서는 해당 폴더의 소유자 거나 관리자 계정(administrator)이어야 합니다. 소유자는 폴더에 대해 사용 권한을 지정할 수 ..
서버 컴퓨터는 켜둔채로 줄곧 사용됩니다. 24시간 동안 다수의 클라이언트와 통신을 주고받아야하기 때문입니다. 그러나 서버도 가끔은 재부팅을 해줘야 불필요한 리소스를 제거할 수 있습니다. uptime 부팅이 된 후 얼마나 지났는지를 나타내는 지표가 바로 uptime(시스템 가동 시간)입니다. uptime을 통해 재기동에 대한 기준을 세울 수 있습니다. 윈도우 uptime 확인 방법 윈도우 업타임을 확인하는 방법은 여러 가지입니다. 우선 cmd에서 net statistics workstation, systeminfo 등의 명령어를 입력하면 시스템이 부팅된 시간이 22/9/2022 21:23:00 PM처럼 정확히 출력됩니다. 1. 윈도우 + R로 실행앱을 열고 cmd를 입력해 실행합니다. 2. net stat..