Linux 머신에서는
CD-ROM/DVD를 /dev/sr0로 인식한다.
HDD를 /dev/sda, /dev/sdb식으로 인식하고, /dev/sda를 파티션하면 /dev/sda1식으로 바뀐다.
=>만일 /dev/sda1, /dev/sda2식으로 나오면 첫번째 HDD가 2개로 파티션되어 있다는 의미이다.
먼저 시스템이 HDD를 인식하고 난 뒤>Partition을 통해서 디스크를 분할하고>각각의 파티션된 분할공간을 format 한 뒤>이어서 mount point를 생성해서>이를 마운트 시킨 뒤>데이터를 저장한다.
Linux에서는 CL/UI(Command Line/User Interface)/GUI(Graphic User Interface)를 사용할 수 있는데 이는 Runlevel로 구별한다.
CLI(콘솔에서의 명령어 입력)는 Runlevel 3이고, GUI(그래픽 입력)는 5이다. 이들 간의 이동은 init 3 OR init 5식으로 해주면 된다.
처음부터 runlevel 3으로 Linux를 설치할 수도 있고, runlevel 5로도 설치할 수 있는데, runlevel 5로 설치하면 runlevel 3은 자동으로 실행된다. 하지만 runlevel 3으로 설치했다면 추가적인 Graphic 모듈들을 설치해야 runlevel 5가 된다.
* 서버는 서비스를 제공하는 머신을 말한다.
클라이언트는 서비스를 요청하는 머신이다.
* 서버는 서버 운영에 필요한 최소 설치를 한 뒤 필요한 서비스를 그때 그때 추가해서 운영하는 것이 원칙이다.
=>서버에 PDF, Excel, VNC, ...식의 여러 프로그램들이 설치되면 이들을 통해서 해킹 일어나기 때문이다.
* 컴퓨터는 용도에 따라서
computer : 일반인들이 의미하는 컴퓨터
workstation : 도메인에 가입된 클라이언트 컴퓨터
host : NIC(Network Interface Card)를 가지고 있는 컴퓨터
node : NIC를 가지고 네트워크에 가입된 컴퓨터, 프린터, 라우터, 스위치... 등의 장치(device)/장비(equipment)들
can, box, machine : 일반적인 컴퓨터
* domain : premise, zone, area의 의미로 '영역'이라는 뜻이다. 특정 집단에 속하는 사람, 서버, 서비스 등을 묶어놓은 가상의 공간이다.
kim@naver.com, http://www.naver.com, ....식으로 naver.com이라는 도메인에 속한 사람, 웹서버를 의미한다.
* legacy는 오랜된(out-of-date)이라는 의미이다.
* 다운로드 받거나 설치할 때 정체되는 시간이 오래되면 해당 프로그램에 마우스를 올리고 흔들어 주면 작업이 빨라진다.
=>해당 작업의 IRQ(Interrupt ReQuest)가 CPU에서 draw attention을 수행하기 때문이다. CPU는 어느 장치의 IRQ를 보고 해당 장치를 인식해서 필요한 작업을 해준다.
전통적으로 메모리는 Conventional memeory/extended memory/expanded memory식으로 1M를 기본으로 하고 여기에 DOS가 실행된다.
Linux는 두 개의 양대산맥이 있다.
RedHat 계열 : RedHat(유료), CentOS, Fedora, Rocky =>GUI Desktop이 GNOME
Debian 계열 : Debian, Ubuntu, Kali/BackTrack =>GUI Desktop이 KDE
기타 Suse, Turbo, Oracle, 한컴, ..... 등이 있다.
** 조직에서는 RedHat 계열을 웹, 메일, 데이터베이스, ,,, 등의 서버로 주로 사용한다.
천체, 기상, 클라우드, 실험/실습 용으로 Ubuntu를 주로 사용한다. 그리고 Mail, Database, Web 등은 메인 서버로써 하나의 머신에서 단독으로 실행되고, DNS, DHCP, Proxy, .... 등 작은 보조역할의 서버는 Ubuntu에서 동시에 실행시키는 식으로 사용하기도 한다.
=>전세계 Linux의 50%는 Ubuntu이다.
Rocky를 설치할 때에는 별도의 사용자와 root의 패스워드를 생성하게 했는데,
Ubuntu를 설치할 때에는 사용자만 생성하게 하고, root의 패스워드를 나중에 별도로 설정하게 한다. <=안 해도 된다.
관리자 root가 할 수 있는 일과 일반 사용자 rocky1/ubuntu1가 할 수 있는 일은 매우 차이가 크다.
=>Ubuntu에서는 일반 사용자가 sudo 명령어 뒤에 일반 사용자의 패스워드를 넣고 관리자적 작업을 수행하게 한다.
* Linux/Router/Switch 등의 CLI 명령어 입력에서 CPU가 이해할 수 있을 정도로 명령어의 일부만 입력한 뒤 Tab 키를 누르면 자동완성이 된다.
명령어가 너무 길어서 오타가 있을 수 있고, 해당 경로에 원하는 파일이 없을 수 있기 때문에 이 방법이 매우배우 요긴하다!!!
* port forward는 가상머신 안의 특정 서버를 두고 외부에서 이 가상머신으로 들어가게 해준다.
예를 들어서 집에서 NAS 서버에 영화등을 넣어두고 외부에 휴대폰 등으로 집에 있는 서버에 접속해서 영화를 볼 수 있다.
*RedHat 계열에서는 yum -y install / Debian 계열에서는 apt -y install '원하는_패키지' 해서 특정 패키지를 설치하면 해당 패키지와 연관된 종속적인 패키지(dependencies)들까지 모두 한번에 설치하므로 매우 편리하다.
종속적이라함은 문서 작성 프로그램이라고 하면 문서 작성 프로그램뿐만 아니라 작성 시 사용되는 글꼴도 함께 있어야 문서가 작성된다. 이럴 때 메인인 문서 작성 프로그램(패키지, 번들(bundle))을 설치하면 이에 종속적인 글꼴 프로그램도 자동으로 설치된다.
Solaris라는 UNIX는 서버 시스템(컴퓨터)에 Solaris 운영체제가 탑재된 채로 판매된다.
네트워크에서의 인증서버(Authentication Server), 네임서버는
∎ Kerberos : Linux/UNIX 네트워크에서의 사용자 인증 서버
∎ RADIUS : Windows 네트워크에서의 (원격 접속) 사용자 인증 서버
∎ LDAP : Linux/UNIX와 Windows가 섞여있는 네트워크에서의 사용자 인증 서버
∎ NIS : 다양한 서버에 사용자들이 일일이 크레덴셜(credential: Username+Password)을 넣고 인증받는 대신 이 NIS 서버가 대신 인증 받아주는 서버이다. 하지만 보안상 취약점이 있어서 현재는 널리 사용되지 않는다.
리눅스
Linux는 Windows와 같은 운영체제로써 개인용뿐만 아니라 서비스를 제공하는 서버용으로 사용되는 빠르고 안정적인 오픈 소스(무료) 운영체제로써 전문가적인 인터넷 서비스,
개발 도구, 그래픽 사용자 인터페이스를 제공하며 기본적인 오피스 계열로부터 멀티미디어까지 광범위한 응용 프로그램을 지원해준다.
Linux는 Windows나 Mac과 다르게 GUI(Graphic User Interface) 데스크탑으로 GNOME과 KDE를 모두 지원하는데 둘 중에 하나를 선택해서 사용할 수 있으며 판넬, 애플릿, 가상 데스크탑,
그리고 메뉴 등을 사용자 임의로 지정해서 사용할 수 있다.
Free Software Foundation에 의해 특화된 GNU(GNUs Not UNIX)의 GPL(GNU Public License)에 의해서 사용자, 프로그래머,
그리고 개발자들에게 무료로 소프트웨어를 제공하고 있어서 Linux 사용자는 표준화된 소프트웨어를 유료로 사용하는 것처럼 정당하게 가격을 지불하고 사용하는 셈이다.
Linux가 무료라서 유료 운영체제보다 열등하다고 생각할 수도 있지만 Linux는 기술적으로 거의 완벽한 운영시스템이다.
Linux 운영체제에서의 핵심적인 기능이 커널(Kernel)인데 오직 한 가지 공식적인 커널만 존재한다. Linux는 PC(Personal Computer)이자 UNIX 서버(Server)이면서 도메인의 호스트인 워크스테이션(Workstation)이 될 수 있다.
IT에 종사하는 많은 기술자들은 Linux가 Windows 시스템보다 특히 네트워크에서 더 안정적이고 강력하다고 말한다.
Helsinki 대학의 컴퓨터 학도이던 Linus Torvalds가 Intel 기반 PC 시스템에서 Minix라는 프로그램을 구동하기 위해서 연구를 했는데 Minix는 Andrew Tanenbaum 교수가 만들어서 인터넷을 통해서 전 세계적으로 배포한 UNIX 계열의 운영체제 프로그램이다.
Linus의 관심은 Minix 사용자를 위한 PC 기반 UNIX를 만드는 것으로 UNIX와 다른 버전으로 시스템을 발전시켜 나아가는 연구를 진행했다. 드디어 1991년에 Linux version 0.11을 발표 했고 이 시스템의 소스가 인터넷을 통해서 급속도로 퍼져 나갔다.
다음 해에는 다른 프로그래머들이 현재의 표준 UNIX에 들어있는 대부분의 응용 프로그램과 특성들을 Linux에 추가해서 운영체제 시스템으로써의 면모를 갖추게 했는데 여기에는 GUI를 관리하는 창 매니저(Window Manager)와 FTP, Web 브라우저,
그리고 Email, DNS, DHCP와 같은 네트워크 서비스 도구들과 C++ 컴파일러나 디버거 등 개발 도구들이 함께 탑재되게 되었다. 이런 모든 기능을 가지고 있음에도 Linux 운영체제는 가볍고, 안정적이며, 빠르다.
Linux는 커널만 조절하면 예전의 플로피디스크 1.44MB의 HDD, 1MB의 RAM에 넣어져서 실행될 수도 있다! IoT, Embeded system, Drone, Cloud, ... 모두 Linux를 운영체제로 사용한다.
비록 Linux가 무료로 인터넷을 통해서 개발되고 있고, 지난 수십 년 간 다양한 Linux 버전(이를 flavors로 부름)들이 난무했지만 여전히 Linux가 공식 UNIX 표준을 지킬 수 있는
이유는 바로 국제적인 IEEE(Institute of Electrical and Electronics Engineers[I triple E])에서 권고하는 ANSI(American National Standards Institute)가 제정한 UNIX 표준 모듈 규약인 POSIX(Portable Operating System Interface X[파직스])를 Linux가 계속 따르고
있기 때문이다. 최상위 디렉터리가 /이다.
UNIX
다른 운영체제와 달리 UNIX는 연구와 학문적인 목적인 환경에서 개발되었다. 지난 수십 년 간 대학과 연구소, 데이터 센터, 그리고 기업체에서 UNIX를 사용했고 대부분 UNIX를 통해서 컴퓨터와 통신 분야에서 발전을 이뤄냈다.
인터넷과 같은 컴퓨터의 신기술은 UNIX에서 실현되었다. UNIX는 처음부터 비록 복잡하긴 하지만 유연함이 있어서 사용자들이 쉽게 시스템을 수정해서 다른 버전으로 만들 수 있었다.
UNIX의 이런 면으로 인해서 IBM, Sun, HP, 그리고 Apple과 같은 기업체에서 자신들만의 UNIX 버전을 가질 수 있게 되었고,
기상관측이나 우주연구 등 특수 목적을 위한 연구에서는 그런 목적에 맞도록 UNIX 시스템을 변형해서 연구를 수행할 수 있었다. UNIX의 이런 타고난 유연성은 어느 목적의 환경에도 적합한 최적화된 시스템이 되므로 사용처가 무궁무진하다.
이런 UNIX의 속성을 그대로 가지고 태어난 운영체제가 바로 Linux이다. 따라서 Linux는 UNIX의 또 다른 버전이면서 PC의 또 다른 버전이다.
UNIX는 AT&T Bell Lab의 Ken Thompson, Dennis Ritchie이 1969년에 개발했다고 공식적으로 되어 있지만 원래 UNIX는 연구를 위한 시스템 개발에서 시작되었기 때문에 실제 운영체제 설계에 많은 개발자들이 함께했었다.
AT&T Bell Lab뿐만 아니라 General Electric, MIT의 MULTICS 엔지니어들의 협조를 받아서 여러 상황에도 최적의 유연성을 가지는 시스템을 주요 개발목표로 두었었다. 하드웨어의 효율성보다 보다
하드웨어의 유연성이 더욱 중요한 이슈였기 때문에 UNIX와 같은 부류의 Linux도 여러 사용자들이 직면할 수 있는 다양한 상황에 맞게끔 유연성이 크다AT&T Bell Lab의 주도로 여러 연구소와 대학에서 연구개발을 위한 목적으로
다중 사용자(multi-users)와 다중 작업(multi-tasks)이 가능한 운영시스템으로 UNIX의 효시가 되는 Minicomputer를 만들었다. 이 시스템은 곧 대학이나 기업체 등 연구가들 사이에서 애용되기 시작했고 1973년에 Dennis Ritchie는 Ken Thompson과
C 언어로 UNIX 운영체제를 다시 써서 운영체제로써의 면모를 갖추게 되었으며 IBM, Novell 등과 같은 거대 벤더들의 호감을 샀다. 초기에 UNIX는 여러 대학과 연구단체에 무료로 제공되었는데 그중 Berkeley 대학에서 나중에 인터넷의 표준이
되는 많은 특성을 이 시스템에 첨가해서 1975년에 Free BSD(Berkeley Software Distribution)이라는 배포판을 만들었다.
이 BSD UNIX 버전은 곧 오리지널 AT&T Bell Lab UNIX와 중요한 경쟁자가 되었다. 1983년에 AT&T Bell Lab에서 몇 가지 특성을 더해 최초의 상업용 UNIX 버전인 System 3을 발표했고,
때를 맞춰 BSD UNIX도 몇 가지 버전을 내놓은 뒤 DARPA(Department of Defense's Advanced Research Projects Agency)에서 BSD를 기본 시스템으로 채택하면서 BSD release 4.2를 발표하는데
여기에 중요한 파일 관리와 인터넷 프로토콜 등 네트워킹의 기본 개념들이 탐재되어있었다. 이 BSD release 4.2는 대단히 호평을 받고 Sun Microsystems와 같은 벤더에 의해 더욱 수정되어 제품화되었다.
1980년대 중반 UNIX 세계에서는 두 개의 표준화가 진행되었는데 하나는 AT&T 버전이고 다른 하나는 BSD 버전이었다. 이어서 AT&T는 System-V release 4를 만들었고, IBM이나 HP 등과 같은 벤더들은 BSD와 손잡고
OSF (Open Software Foundation)을 설립해서 자신들만의 UNIX 버전을 만들었다. 현재도 이들의 상업용 버전인 OSF와 원조 AT&T의 System-V release 4가 시장에서 대립하고 있다.
Oracle SUN의 Solaris, HP의 HP-UX, 그리고 IBM의 AIX를 3대 상용 UNIX로 부르고, Free BSD가 무료 UNIX이다.
소프트웨어 리포지터리(repository)
많은 배포판은 온라인 저장소나 소프트웨어 업데이터를 통해서 최신의 소프트웨어로 업데이트하게 하는데 정식 라이센스 제약이 있는 MP3, DVD, DivX와 같은 멀티미디어 소프트웨어들은 받을 수 없지만
배포와 관련된 fluendo.com 사이트에서 무료 MP3 gstreamer 플러그인을 다운받으면 멀티미디어 프로그램도 다운받을 수 있을 수 있다. 또 다운받기 어려운 Nvidia-released나 ATI-released와 같은 Linux용 Nvidia와 ATI 그래픽 드라이버도
X.org에서 다운받을 수 있다.
Rocky를 FTP, HTTP 등을 통해서도 설치할 수 있지만, 최근 CentOS 8 이후에는 Text 모드로만 설치는 권장하지 않고 있다. 꼭 CLI 텍스트 모드로 사용한다면 런레벨을 3으로 해서 사용하면 된다.
일반적으로 서버는 유동 IP(floating IP)가 아니라 '고정 IP'(fixed IP)를 사용하기 때문에 설정할 수 있어야 한다.
rocky는 /etc/sysconfig/network-scripts/ifcfg-ens160에서 설정하면 된다.
ubuntu는 /etc/network/interfaces에서 설정하면 된다.
이어서 /etc/hostname에서 '머신_명'을 지정하고
이어서 /etc/resolv.conf 파일에서 'DNS 서버'를 설정하고
필요하면 /etc/hosts에서 'IP_주소와 호스트_명'을 매칭해준다.
'Linux' 카테고리의 다른 글
리눅스 과정5일차 (0) | 2025.02.26 |
---|---|
리눅스 과정 4일차 (0) | 2025.02.26 |
리눅스 과정 3일차 (0) | 2025.02.26 |
리눅스 과정 1일차 (0) | 2025.02.25 |
VMware (0) | 2025.02.18 |