/home
, /usr
와 같은 것들은 별도 파티션을 마운트한 것일수도, 일반 폴더일 수도 있다.이번 스터디에서는 ROS melodic 버전을 사용한다.
장점 | 단점 |
---|---|
매우 가볍다. | Windows만큼 하드웨어 드라이버 지원이 안정적이지 않아, 고사양 컴퓨터는 그 성능을 100% 끌어내지 못할 수 있다. |
매우 자유롭다. 바탕화면 구성부터 보이지 않게 구동되는 서비스까지, 시스템 깊숙한 곳까지 내 입맛에 맞게 설정할 수 있다. | 깊숙한 곳이 아예 건들 수 없거나 잘못된 설정을 거부하는 Windows와 달리, 잘못 설정하면 사전 경고 없이 시스템이 망가질 수 있어 주의가 필요하다. |
소프트웨어 설치가 매우 편리하다. apt 패캐지 관리 툴을 이용하면 원하는 프로그램의 대부분을 명령어 한 줄로 설치/업데이트/삭제할 수 있다. | apt 툴을 통해 시스템 필수 패키지를 삭제할 경우 패키지 재설치만으로는 문제가 해결되지 않을 수 있으니, 패키지 삭제 시 주의가 필요하다. |
개발 친화적이다. 개발에 필요한 도우(컴파일러 등) 설치가 매우 자유롭고, 시스템에 통합이 잘 되어있다. Windows에서는 일일이 설치파일을 찾고 설정해주어야 하는 것들이, Linux에서는 설치 없이도 사용할 수 있는 경우가 있다. | 명령어 기반인 툴이 많으므로 Linux 명령에 익숙해질 필요가 있다. |
공짜다. 소스코드까지 모두 공개되어 있어 누구나 확인하고 수정하고, 전 세계가 공유하는 이 소스코드에 기여할 수도 있다. | |
안전하다. 사용자/그룹 권한 등 어떤 파일에 대한 모든 권한을 통제할 수 있어 원치 않는 프로그램이 실행될 우려가 없고, Windows에 차고 넘치는 악성코드들은 Linux에서 열리지조차 않아 청정구역이다. | 프로그램 설치 시 사용하는 sudo 명령은 이러한 권한 시스템을 무력화시킬 수 있는데, 이 경우 Windows에서 사용하는 악성코드보다 치명적일 수 있다. 내가 실행하려는 파일이 실행해도 안전한지 확인하는 습관 필요. |
Linux와 Windows의 파일 관리 방식을 비교하면 다음과 같다.
구분 | Windows | Linux |
---|---|---|
드라이브 구분 | C: , D: , … | / 1) |
권한 | 있음: 사용자별 읽기,쓰기,실행 | 있음: 사용자별 읽기,쓰기,실행 |
대소문자 | 구분하지 않음 | 엄격히 구분 |
CLI 환경
)하는 경우가 있으며, 이 때 Linux 이용을 위해서는 명령어를 통해서만 가능for
문을 이용한 반복적인 명령처리 등)Ubuntu는 Linux를 이용한 종합세트 패키지 중 하나다. 컴퓨터 소프트웨어를 이루는 요소를 대강 나누어보면, 다음과 같이 나타낼 수 있다(정확하지는 않다).
응용 프로그램 | 프로그램1 | 프로그램2 | 프로그램3 | 프로그램4 | 프로그램5 | … |
OS | 라이브러리1 | 라이브러리2 | … | |||
커널 | ||||||
하드웨어 | 하드웨어(BIOS) |
Windows의 경우, 대체로 우리가 사용하는 “응용 프로그램”은 위 표의 “응용 프로그램” 줄에 해당하고, 나머지는 Windows 시스템이 맡는 구조이다. 이와 달리, Linux는 커널이며, 그 이상의 기능은 없다. Linux가 OS의 형태를 갖추기 위해서는 커널에 연결된 필수적인 라이브러리(ex. 하드웨어 드라이버)가 함께 필요하며, 이런 것을 모두 모아 한 번에 설치할 수 있도록 한 것을 Linux 배포판이라고 부른다. Ubuntu는 바로 이 Linux 배포판 중 한 종류이다. Ubuntu는 마치 Windows처럼 설치하자마자 바로 실사용하는 데 무리가 없도록 하는 것을 목표로 하고 있다. 웬만한 하드웨어의 경우 이미 드라이버가 모두 잡혀 있거나, 쉽게 다운받아 설치할 수 있도록 해 두었다. 필요하다면 본인이 필요한 드라이버를 골라서 수동으로 설치할 수도 있다.
/home
, /usr
와 같은 것들은 별도 파티션을 마운트한 것일수도, 일반 폴더일 수도 있다.