OS&기타: 83개의 글

[리눅스공통] 리눅스의 특징 (장점, 단점)

Posted by nkjok
2019. 4. 27. 14:36 OS&기타/Linux
반응형

1. 리눅스의 특징

 


① 다중 사용자 및 다중 처리 시스템

하나의 시스템에 다수의 사용자들이 동시에 접속하여 사용할 수 있고(Multi-User), 각 접속자들은 다수의 응용 프로그램을 실행할 수 있다.(Multitasking)

② 완전히 공개된 시스템

운영체제의 핵심인 커널(Kernel) 뿐만 아니라, 같이 내장되어 배포되는 대부분의 응용 프로그램이 소스가 공개된 프로그램이다.

③ 뛰어난 네트워크 환경

가장 널리 쓰이는 이더넷(Ethernet), SLIP, PPP, ATM 등의 다양한 네트워크 환경을 지원하여 TCP/IP, IPX, AppleTalk 등 대부분의 네트워크 프로그램을 지원한다.

④ 다양한 파일 시스템 지원

DOS의 FAT, Windows의 FAT32 및 NTFS, CD-ROM에 사용되는 ISO 9660, OS/2의 HPFS, SCO 및 제닉스 등의 상용 유닉스, 파일 시스템을 지원한다.

⑤ 뛰어난 이식성

리눅스는 약간의 어셈브리와 대부분의 C언어로 작성되어 있다. C를 컴파일 할 수 있으며, 어셈블리 부분만 새롭게 만들고 C부분을 다시 컴파일 함으로써 쉽게 다른 시스템에 이식 할 수 있다.

⑥ 유연성과 확장성

리눅스는 상업용 유닉스(UNIX)의 모든 특성을 가지며 유닉스의 표준인 포직스(POSIX)를 준수하고 있다. 커널, 장치드라이버, 라이브러리, 응용프로그램, 개발도구 등 리눅스의 원시코드를 쉽게 접할 수 있다.

⑦ 뛰어난 안전성과 보안성

리눅스는 커널 소스가 공개되어 있어 Windows와 같은 폐쇄형 운영체제에 비해 보안상의 취약점이 쉽게 노출된 가능성은 있으나, 공개용 소프트웨어를 지지하는 수많은 전문 프로그래머들이 상용 운영체제보다 빠르게 오류 수정과 보안 관련된 패치를 발표하고 있다.

⑧ 우수한 가격대 성능비

기업환경에서 서버로 사용되는 유닉스를 x86 시스템에 최적화시켜 효율적인 방식으로 설계하였기 때문에 PC급 서버에서도 엔터프라이즈 급의 성능을 발휘 할 수 있다.

⑨ 다양한 응용 프로그램의 제공

리눅스에는 운영체제의 핵심인 커널을 비롯하여 다양한 응용 프로그램을 제공한다. 셀(Shell)과 기본 명령어, X Window 시스템(Xorg, KDE, GNOME 등의 그래픽 유저 인터페이스), 편집기(vi, emacs 등), 서버 및 클라이언트 프로그램(웹, 메일, FTP 등), 개발도구(C, C++, Java, Python 등), 보안도구(nmap, tcpdump 등), 게임 등을 포함하여 배포하고 있다.

⑩ 다양한 배포판의 존재

리눅스는 서버, 개발용, PC용 등 다양한 목적으로 사용 가능하고, 이에 따른 다양한 배포판이 존재한다. 국외에는 레드햇(Redhat), 데비안(Debian), 우분투(Ubuntu), 수세(SUSE) 등이 있고, 국내에는 한컴리눅스, SULinux 등이 있다.

 

 

 

 

2. 리눅스의 기술적인 특징

 


① 계층적인 파일 구조

리눅스의 파일 구조는 /(root)를 기준으로 그 하위 디렉터리에 usr, var, bin 등이 존재하고 다시 usr 디렉터리 밑에는 local, src 등의 디렉터리가 존재하고 이러한 구조를 계층적 파일 구조라 하고 트리(Tree) 구조라고도 한다.

② 장치의 파일화

장치(Device)란 하드디스크, 키보드, 프린트, 화면 출력 장치 등 시스템에 설치된 여러 가지 하드웨어적 자원을 말한다. 리눅스는 이러한 장치들을 모두 파일화하여 사용한다. 특정 하드웨어에게 명령을 수행하려면 해당하는 장치 파일에 명령을 내리면 된다.

③ 가상 메모리 사용

가상 메모리(Virtual Memory)란 하드디스크의 일부를 메모리처럼 사용되는 것을 말한다. 하드디스크는 데이터가 저장되는 공간이고, RAM(메모리)는 작업공간이라 할 수 있다. 프로그램을 실행시키면 작업공간에 해당하는 메모리로 공간이 이동되는 데, 메모리의 공간이 작으면 큰 프로그램은 실행시킬 수 없게 된다. 이러한 문제점을 극복하기 위해 사용되는 것이 가상메모리이고, 리눅스에서는 이 영역을 스왑(SWAP)라고 부른다.

④ 동적 라이브러리 지원

프로그램에서 특정한 기능을 하는 루팅(Routine)들을 모아 놓은 것을 라이브러리(Library)라 하여, 프로그램 개발 시 라이브러리중에서 필요한 루틴들을 받아서 링크(Link) 시킨다. 그래서 같은 루틴들을 공유하는 것이 공유 라이브러리(Shared Library)라 한다.

동적 공유 라이브러리는(Dynamic Shared Library)는 실행 파일 내부에 넣어두지 않고, 프로그램을 실행할 때 가져다 사용하므로 메모리의 효율성이 아주 높다.

⑤ 가상 콘솔

가상 콘솔(Virtual Console)은 하나의 모니터를 장착한 시스템에 여러 개의 가상 화면을 제공해서 사용하게 하는 기능이다. 리눅스는 기본적으로 6개의 가상 콘솔을 제공한다. [CTRL] + [ALT] + [F1] ~ [CTRL] + [ALT] + [F6] 까지 총 6개의 텍스트 기반의 로그인 창을 제공한다.

⑥ 파이프

파이프는 프로세스의 통신을 위해 도입한 것으로 어떤 프로세스의 표준 출력이 다른 프로세스의 표준 입력으로 쓰이게 하는 것을 말한다. 파이프는 '|' 기호를 사용한다.

⑦ 리다이렉션(Redirection)

리다이렉션은 어떤 프로세스의 입/출력을 표준 입출력이 아닌 다른 입출력으로 변경할 때 사용한다. 출력 결과를 파일로 저장하거나 파일의 내용을 프로세스의 입력으로 사용하는 기법이다.

 

 

 


3. 리눅스의 단점

 


① 기술 지원의 부족

리눅스에서 사용되는 대부분의 응용 프로그램들이 비상업적인 제품이다. 전 세계에 흩어져 있는 개발자들이 일일이 기술지원을 하는 것이 불가능하다.

② 특정 하드웨어에 대한 지원이 부족

리눅스가 다른 운영체제에 비해 이식성, 확장성 등이 뛰어나지만, 여전히 특정한 하드웨어에 대한 설치가 어렵고 모든 플랫폼에서 작동하지 않는다.

③ 사용자의 숙련된 기술 요구

현재 리눅스에서는 X-Window 기반 환경이 보편화 되면서 초기 텍스트 기반의 명령어를 입력하는 환경에 비해 쉬워졌지만, 아직도 중요한 설정은 명령어를 입력하거나 관련 환경 설정 파일을 편집기를 사용해서 수정하여야 한다.

반응형

[리눅스공통] tar 사용법 (gz, bz2, xz)

Posted by nkjok
2019. 4. 5. 11:50 OS&기타/Linux
반응형

샘플 : [root@localhost /]# tar cvfz 123.tar.gz /bin /var
tar cvfz 파일이름.tar.gz /압축경로 /압축경로
= /bin + /var 압축한 123.tar.gz 생성

 

샘플 : [root@localhost /]# tar xvfz 123.tar.gz -C /test
tar xvfz /경로/압축파일.tar.gz -C /원하는위치
= 특정경로에 풀기

 

형식 : gzip

gzip은 파일 압축에 쓰이는 응용 소프트웨어이다. gzip은 GNU zip의 준말이며, 초기 유닉스 시스템에 쓰이던 압축 프로그램을 대체하기 위한 자유 소프트웨어이다. gzip은 Jean-loup Gailly와 마크 애들러가 만들었다. 버전 0.1은 1992년 10월 31일에 처음 공개되었으며, 버전 1.0이 1993년 2월에 뒤따라 나왔다. 오픈BSD의 gzip 버전은 더 오래된 압축 프로그램을 기반으로 하고 있으며, 오픈BSD 3.4에 추가되었다.

묶기 : [root@localhost /]# tar cvfz 123.tar.gz /bin

풀기 : [root@localhost /]# tar xvfz 123.tar.gz

 

 

형식 : bzip2

bzip2는 버로우즈-휠러 변환 기반의 압축 알고리즘 및 압축 소프트웨어이다. 줄리안 시워드(Julian Seward)가 개발하였으며, 1996년 7월에 0.15 버전을 처음 공개했다. 소프트웨어는 오픈 소스이며, BSD 허가서와 비슷한 라이선스를 갖는다.

묶기 : [root@localhost /]# tar cvfj 123.tar.bz2 /bin

풀기 : [root@localhost /]# tar xvf 123.tar.bz2

 

 

형식 : xz

xz는 무손실 데이터 압축 프로그램 및 LZMA2 압축 알고리즘 파일 형식이다.

묶기 : [root@localhost /]# tar cvfJ 123.tar.xz /bin

풀기 : [root@localhost /]# tar xvfJ 123.tar.xz

반응형

[CentOS-6.X] 리눅스를 NTP 서버로 만들기 (시간동기화 서버)

Posted by nkjok
2019. 4. 5. 10:32 OS&기타/Linux
반응형

1. 설치한다.

[root@localhost ~]# yum -y install ntp

 

2. 설정을 수정한다

[root@localhost ~]# vi /etc/ntp.conf

# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap (NTP 행위를 허용할 IP 범위 설정)
restrict 192.168.3.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 127.127.1.0 #local clock

vi에디터로 ntp.conf를 열어서 IP 범위를 지정하고 Server 리스트를 주석(#) 처리한다.

 

3. 서비스를 시작한다.

[root@localhost ~]# service start ntpd

 

4. 서비스를 부팅 시 자동으로 시작하게 설정한다.

[root@localhost ~]# chkconfig ntpd on 

 

이제 시간을 동기화할 컴퓨터에 이 리눅스의 IP를 NTP서버로 지정해주면 된다.

 

끝 !

 

 

 

참고용. 

[root@localhost ~]# chkconfig --list ntpd
ntpd 0:해제 1:해제 2:활성 3:활성 4:활성 5:활성 6:해제 (init로 부팅됬을때 자동 활성화 여부)

반응형

[리눅스] 로그/LOG 경로

Posted by nkjok
2019. 2. 12. 12:59 OS&기타
반응형
=> /var/log/kern.log : 커널로그

=> /var/log/auth.log : 인증관련 로그

=> /var/log/daemon.log : 현재 실행중인 서비스들에 대한 데몬

=> /var/log/dmesg : 부팅하는동안 커널의 기록을 남겨 놓은 로그

=> /var/log/dpkg.log : 패키지 관리에 관련된 로그

=> /var/log/user.log : 모든 유져레벨의 로그들

=> /var/log/faillog : 로긴실패 관련 로그

=> /var/log/xorg.0.log : Xorg 관련

=> /var/log/fsck/* : fsck 명령어 로그

=> /var/log/apport.log : 프로그램 에러 관련

로그파일의 설정 : /etc/syslog.conf

gui상에서 로그확인하는 명령

gnome-system-log &
반응형

[CentOS] VNC 사용법 (TigerVNC)

Posted by nkjok
2019. 2. 5. 23:40 OS&기타/Linux
반응형

1. TigerVNC 패키지 설치

su -c 'yum -y install tigervnc-server'

 

2. TigerVNC 설정 파일 복사

su -c 'cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@\:1.service'

 

3. TigerVNC 설정 파일 수정 (유저명=abc)

su -c 'vi /etc/systemd/system/vncserver@\:1.service'

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l abc -c "/usr/bin/vncserver %i"
PIDFile=/home/abc/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

 

4. 방화벽 허용

su -c 'firewall-cmd --add-service=vnc-server'

su -c 'firewall-cmd --permanent --add-service=vnc-server'

su -c 'firewall-cmd --list-all'

public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp4s0f0
  sources:
  services: dhcpv6-client ssh vnc-server

 

5. VNC 실행

[abc@localhost] : vncserver

- 패스워드 설정하고 클라이언트 PC에서 접속하면 된다.

#. VNC 공식홈페이지에서 자신의 OS용 클라이언트 파일을 다운받아 실행한 후 '서버IP:1' 라고 접속 하면된다.

 

6. 트러블슈팅

rm -rf /tmp/.X11-unix/X1 

rm -rf /tmp/.X1-lock

VNC 실행 중에 디스플레이 번호가 계속 증가하여 곤란하다면 위의 파일 등을 삭제하면 된다.

# 재부팅 후 자동 실행 설정

systemctl list-unit-files | grep vnc (활성화 정보)

systemctl enable vncserver@:1.service (활성화 설정)

systemctl daemon-reload (활성화 즉시 반영) 

반응형

[CentOS] CLI 방화벽 정책 추가

Posted by nkjok
2019. 2. 5. 13:39 OS&기타/Linux
반응형

방화벽 정책 추가

firewall-cmd --permanent --add-service=ftp

firewall-cmd --permanent --add-port=21/tcp

 

방화벽 정책 보기

firewall-cmd --list-all

 

방화벽 정책 제거

firewall-cmd --remove-service=ftp

firewall-cmd --remove-port=21/tcp

반응형

[윈도우] CMD 필터방법 find/findstr

Posted by nkjok
2019. 2. 1. 14:21 OS&기타/Windows
반응형

C:\Windows\system32>netstat -ano |findstr ESTABLISHED |find "443"
  TCP    192.168.3.6:50461      x.x.251.103:443    ESTABLISHED     23132
  TCP    192.168.3.6:54143      x.x.12.24:443       ESTABLISHED     10380
  TCP    192.168.3.6:58557      x.x.83.250:443      ESTABLISHED     5696

 

C:\Windows\system32>netstat -ano |findstr EST |findstr 443
  TCP    192.168.3.6:50461      x.x.251.103:443    ESTABLISHED     23132
  TCP    192.168.3.6:54644      x.x.91.11:443       ESTABLISHED     7016
  TCP    192.168.3.6:58557      x.x.83.250:443      ESTABLISHED     5696

 

C:\Windows\system32>netstat -ano |find "EST" |find "443"
  TCP    192.168.3.6:50461      x.x.251.103:443    ESTABLISHED     23132
  TCP    192.168.3.6:54649      x.x.239.28:443     ESTABLISHED     25708
  TCP    192.168.3.6:54653      x.x.25.98:443      ESTABLISHED     16596

 

 

find : 파일에서 텍스트 문자열을 찾습니다.

findstr : 파일에서 문자열을 찾습니다.

 

"텍스트 문자열" 과 "문자열" 의 차이점을 아시는 분은 댓글 부탁드립니다.

구글링 해도 모르겠어요.

반응형

[리눅스] NTP 서버에서 시간 받아오기

Posted by nkjok
2019. 1. 29. 17:11 OS&기타/Linux
반응형

rdate -s time.bora.net

반응형