Linux(1)

권영균·2021년 2월 28일
0

Linux

목록 보기
1/2
post-thumbnail

What it Linux?

개발자에겐 Linux와 Terminal이 필수적이다. 그 이유는 프로그램을 배포되고 동작하게 되는 환경이 Linux OS가 설치된 서버이고, 그곳에서 명령어를 전달하는 수단이 바로 Terminal이기 때문이다.

  • 리눅스란 뭔가요?
    - 리누스 토발즈(Linus Benedict Torvalds, 69년생)가 개발한 Unix 기반 운영체제
    - GNU(GNU's Not Unix, 그누)
    자선단체 FSF(Free Software Foundation)에서 설립
    유닉스에 반대하여 누구나 자유롭게 사용할 수 있는 환경을 만들고자 했으나(편집기 emacs, 최적화 컴파일러 GCC, 쉘 Bash, 압축프로그램 GZip 등), 가장 중요한 커널이 빠져있었음
    "1991년 2월 2일, 그는 인텔 80386 기반의 IBM PC를 구입하였다. 한 달 정도 페르시아의 왕자 등의 게임을 하면서 MINIX(Unix 기반 운영체제, Minimal + Unix)의 사본을 기다렸는데, MINIX가 도착한 직후 그는 리눅스 커널을 만드는 일을 시작하였다." - 위키피디아

정겨운 토발즈 아저씨

매운맛 토발즈 아저씨

"컴퓨터는 에어컨과 같아서 창문(!)을 열면 쓰잘데기 없어진다."

매운맛 토발즈 아저씨2

Linux, Git(모두 무료!)을 최초로 개발함 ⇒ 오픈소스 커뮤니티에 크게 기여
구글에서 배포하는 안드로이드 역시 리눅스의 한 갈래

  • 안드로이드 기반 스마트폰, 임베디드 시스템(구글 네스트, 삼성 TV, 테슬라 자동차 등)

  • 서버!
    - 다양한 이유로 서버는 linux 기반으로 운영되고 있음
    - 안정적 (ex. 블루스크린 ⇒ 서버 중단)
    - 유연성 (오픈소스 ⇒ 사용자가 소스코드를 비교적 쉽게 변경 가능)
    - 무료! ⇒ 어른들의 사정💰으로 인하여 많이 사용 ⇒ 오픈소스 활성화 ⇒ 풍부한 생태계 🎉

    우분투는 데비안 계열 리눅스 중 하나의 배포판이다
    원래 CLI(Command Line Interface) 기반
    사용자들을 위해 GUI(Graphic User Interface) 기능 추가 ⇒ 그노움(GNOME, 그놈)
    서버(로컬 서버, AWS 등에 설치된 인스턴스 등)에 설치된 리눅스 환경을 사용할 수 있음 (매우 중요!)

  • 예를 들어 우리가 만든 프로젝트를 AWS EC2 등을 통해 배포하려고 하는데 해당 서버에는 순수한 우분투 외에는 아무 것도 깔려 있지 않은 상태. 만약 git을 GUI를 통해서만 사용할 줄 안다면 여러가지 프로그램과 환경설정, 그 프로그램들의 확장 프로그램을 모두 설치한 후에야 사용 가능. (이 외에 리눅스 기반 가상 컨테이너를 사용하는 기술들

    ⇒ ex. Docker🐳, Kubernetes📦

    ⇒ 윈도우즈와의 호환은 아직 불완전한 상태, 따라서 백엔드분들은 Mac OS, Linux 둘 중 하나 선택하시는 걸로!)

  • 서버의 다양한 동작들을 매뉴얼하게 조작할 수 없음. 쉘 스크립트를 사용한 파이핑, 스케줄링, 유저 그룹 및 파일/폴더에 대한 권한 설정 등.

    그렇기 때문에 개발자들에게(특히 직접적으로 서버, 인프라를 구축해야 하는 백엔드 개발자들에게) 아주아주 중요

profile
공감을 중요시하고 프론트엔드에 강점을 가진 개발자 권영균입니다.

0개의 댓글

관련 채용 정보