리눅스 Zero 베이스 초보자 트러블 슈팅까지 강의 소개
안녕하세요
리눅스 생초보를 위한 입문 강의 제로베이스 강의 OT를 시작하도록 하겠습니다
먼저 이렇게 새로운 강좌에 대해서 관심을 가져주시고
또 제로베이스 선택해 주셔서 정말 감사드리고요
좋은 내용들로 많이 넣어 놨으니까 열심히 한번 마스터해서 우리가 바닥부터 그대로 한번 훈련을 해보면 참 좋을 것 같다는 생각이 듭니다
자 먼저 제 소개를 드리도록 할게요
리얼리눅스라는 교육을 진행한지는 약 4년 정도 진행이 됐고요 현업에서는 임베디드, 서버 관련되서 한 10년 정도 개발 활동을 진행을 했습니다 리눅스 커널 관련돼서도 오픈 소스 컨트리뷰터로 활동을 해서요
퍼프라든지 uft라든지 bpf 라든지 다양한 도구들도 이용하고 또 실제 리눅스 커널 오픈소스 기여도 100여개 정도 진행을 했습니다 그 이외에도 뭐 여러가지 Foundation에서 진행되는 컨퍼런스나 다양한 발표들도 진행하고
기술적인 활동들도 진행을 하는데 현재도 ETRI 연구소라든지 다양한 곳에서 리눅스 관련돼서 연구나 개발
협업 같은 것들도 여전히 진행하고 있습니다
일단은 저희가 원래 진행했던 교육들은 대부분 삼성전자 현대모비스 LG전자 좀 직장인 분들을 대상으로 해서
많이 진행을 했었어요 그런데 이번에는 조금은 난이도를 많이 낮춰서 아예 비전공자나 처음 시작하시는 분들도 설치부터 시작해서 완전히 바닥부터 진행하는 강의를 한번 기획을 해봤습니다
또 많은 분들이 요청을 해주셨던 강의인만큼 좀 열심히 한번 준비해 보고 강의 커리큘럼도 한번 설명을 좀 드려 보도록 할게요
제로베이스 입문 강의 커리큘럼
소개입니다
이것보다는 상세 커리큘럼이 또 저희 강의 소개 안에 있어요
그래서 이렇게 핵심적으로 요약된 커리큘럼 말고 좀 세부적인 것들도 볼 수는 있고요 일단은 총 챕터는 4개로 이루어졌습니다 첫 번째로는 일단 리눅스를 이해하는 부분인데요 좀 고리타분하게 리눅스에 대한 어떤 역사라든지
이론적으로 접근하는 그런 내용들보다는 조금 현실적인 내용들 위주로 좀 담으려고 노력을 했거든요
예를 들어서 뭐 리눅스는 산업에서 또 어떻게 쓰이는지 또 왜 쓰이는지 그리고 또 이런 것들을 기업에서
또 왜 필요한 이런 여러 가지 어디에 있어서 많이 쓰이는지 그리고 이점이 뭔지 뭐 이런 것들부터 시작을 해서
우리가 현실적으로 리눅스를 좀 이해를 해보고 그 다음에 리눅스를 공부를 하는 방법이나 그런 접근 방법도 정말 중요해요
그냥 우리가 그냥 이과 나왔고 그냥 수학 공부하고 막 이렇다고 해서 코딩이랑 똑같이 접근을 하게 되면은
저는 접근방법 별로 맞지가 않다고 생각합니다 완전히 다르다고 생각을 해요 그냥 연역적이고 논리적으로 접근할 문제가 아니라 귀납적이고 경험적으로 접근해야 되는 문제이기 때문에 마치 우리가 수학을 공부할 때는 뭔가 기본을 공부하고 그리고 그 공식을 기준으로 해서 깊은 이해도를 갖춘 다음에 하나씩 하나씩 논리적으로 응용해서 가는 부분하고 영어 같은 경우에는 동일한 영어라고 하더라도 문법을 안다고 하더라도 우리가 콩글리시처럼 하면 안 되잖아요 되게 많은 경험을 해야 되는 거고 그래서 그런 부분들 때문에 되게 경험이 굉장히 위주가 되는 그런 파트들이 있어요 리눅스도 같은 경우라고 생각하고요 어 지식으로 따졌을 때는 거의 무한한 지식들을 포괄하고 있기 때문에 그 모두 다 공부할 수는 없습니다 그렇다면은 우리가 어떻게 접근을 해야 되느냐
뭐 결론부터 얘기하자면 지식을 그냥 쌓는게 아니라 내 머릿속에서 트리 구조를 잡아서 하나씩 하나씩 구체화
나갈 수 있고 그리고 내가 모르는게 있더라도 확인하고 알아낼 수 있는 그런 스킬을 늘리는 거
그게 굉장히 중요한 포인트가 되긴 하겠습니다 그 이외에도 뭐 배포판이나 설치 방법들도
wsl이나 Virtual Box도 사실 우리가 필요할 수 있죠 보통 실무에서는 그렇게 많이 쓰지는 않지만
어쨌든 리눅스 환경을 그대로 구현해 낼 수가 있는 거고 그리고 리눅스 마스터 2급 자격증에서도 그렇고
1급 자격증도 기본적으로 CentOS 7 기준으로 Virtual Box를 기준으로 실습을 진행하거든요
그래서 그런 부분들 때문에 그것도 포함이 돼 있고요 또 aws를 통해서 리눅스를 구성하고 설치하는 부분들
그리고 도커를 통해서 리눅스 설치하고 하는 부분들 이런 것도 다 실습을 해 볼 예정입니다
그 다음에 챕터 2에서는 기초 명령어들을 좀 훈련을 많이 할 건데 파일을 다루는 것들 그리고 이제 챕터 3에서도 또 패키지를 다루는 것들 챕터2하고 3는 완전히 트레이닝 관점으로 접근해야 돼요 그냥 내가 그냥 명령어를 알았어 머릿속에 들어왔어 그걸로는 안 돼요 내가 그걸 필기 시험으로 합격했어 그거로는 안 돼요
내가 그냥 손이 가야 돼 손이 가야 되고 그냥 폴더를 이동하고 cd,ls 한번이라도 들어보신 분들도 있을 거고
뭐 안 들어봐도 상관없어요 아주 기초적인 거긴 하지만 이거는 내가 알고 있는 거랑
완전히 뛰어놀 수 있는 건 전혀 다른 얘기 이게 생각보다 복잡한 경우의 수가 많고요
그리고 문제 상황들도 많이 벌어져요 우리가 초보 입장에서 정말 많이 틀리는게
파일 경로라든지 현재 경로로 문제들 파일명문제를 여러가지 그런 부분들 때문에도 많이 틀리거든요
근데 그런 것들부터 시작해서 다른 문제들이 같이 겹쳐 버리니까 멘탈이 나가 버리는 거죠
그래서 이런 부분들을 훈련이 굉장히 많이 필요해요 그리고 말씀드린 것처럼
접근방법 자체를 그냥 우리가 한 땀 한 땀 그냥 그 공부를 다 하고 나면
실제로 리눅스에 접근했을 때 다 할 수 있을 거야
이렇게 접근하는게 아니라 리눅스는 어떻게 보면은 그냥 자연과학처럼 무슨 일이든지
벌어질 수 있는 경우의 수를 항상 가지고 있다고 생각을 하고 물론 우리가 개념적인 부분들을 흔들리지 않는
개념적인 것들을 다 공부를 하긴 하겠지만 그냥 계속 연역적이고 논리적으로만 모든 걸 풀어갈 수가 없어요
애초에 경험적이고 기납적인게 훨씬 많은 영역이기 때문에 그래서 그런 훈련을 계속 반복해서 할 겁니다
그래서 우리가 그런 훈련들이 됐을 때 나머지 것들도 더 나아갈 수 있을 거고요
특히나 4챕터에서는 우리가 이제 파일이나 패키지 다루는 것들이 어쨌든 제일 기본기예요
이런 것들만 잘해도 나머지를 나아가기가 훨씬 쉽습니다
근데 여기서 우리의 발목을 잡는게 있죠 문제의 상황입니다
이런 것들은 사실 리눅스의 어떤 특성이죠 그러니까 무슨 말이냐면 우리가 이제 코딩을 하는 관점에서는 자바코딩을 한다 C언어 코딩을 한다 뭐 자바스크립트를 한다 사실 1에서부터 100까지를 통제할 수가 있어요
사실 물론 어느 정도의 사이드 임펙트가 있겠지만 코딩 같은 경우에 특히나 교육을 하는 과정에서는
이게 1에서부터 100까지를 다 통제할 수 있습니다 근데 리눅스는 아니에요 왜 그러냐면
어쨌든 교육대로 한다고 하더라도 이게 조금만 응용되고 내가 이렇게도 쳐보고
저렇게도 치다 보면은 경우의 수가 정말 많은 것이 리눅스에요 그래서 리눅스는 어찌 됐든 심지어는 강사님들도 모를 정도의 문제 상황이 벌어질 수도 있어요
변수가 왜 버전도 너무 많고 설정도 너무 많고 그렇기 때문에 애초에 코딩 같은 똑같이 접근을 하면 안 된다는 공부
방법 자체를 그래서 그런 관점으로 보면서도 또 문제 상황을 했을 때 어떻게 우리가 대처하고 대응할 것인지
그래서 요런 부분들을 많이 공부를 할 겁니다 그래서 좀 상세하게 설명을 좀 드려봤는데요
전체적으로는 우리가 그냥 책 보듯이 그냥 일반적인 공부를 하듯이 이론적으로 접근하거나
연역적으로 접근하는 부분들에 대한 발상을 바꿔서 굉장히 경험적으로 훈련하는 접근을 많이 할 거고요
그래서 접근하는 거 그리고 내가 단순히 지식을 쌓는게 아니라 트레이닝을 해서
그리고 또 지혜를 쌓아서 몰라도 나아갈 수 있게끔 훈련하는 방식으로 한번 많이 트레이닝을 시켜 보도록 할게요
그래서 여러분들도 어쨌든 열심히 한번 완강을 진행해보면 참 좋을 것 같습니다 예 감사합니다