지금이야 Swift(iOS 앱 개발용 언어) 할 거 아니면 걍 윈도우 쓰세요~ 하지만 본이 노트북 2호 살때 OS 추천이 크게 두개였다. 리눅스랑 맥. 당시 예산이 100만원이라 맥북은 패스... 토익 없어서 수리받으러 갔다가 입구컷당한다 아무튼, 그런 이유로 우분투를 사서 깔게 됐고 지금까지 잘 쓰고 있다.
노트북 2호도 어언 6년... 아직까지 살아있는게 용하지만 아무튼... 윈도우와 비교했을 때 리눅스는 어떤 특징이 있는지 대충 알아보자.
공짜다
보통 어느정도 컴잘알인 분들은 노트북을 FreeDOS(아무것도 안 깔림)로 사서 거기다가 본인이 필요한 OS를 직접 깔아서 사용한다. 이건 나도 마찬가지 아니냐... 그러려면 일단 OS를 사든가 해서 깔아야 하는데, 이 때 윈도우 CD가 없어서 같이 사게 되면 추가요금이 나가게 된다. 윈도우 포함된 노트북은 FreeDOS보다 윈도우 값이 껴서 더 비싸기도 하고.
아니 근데 윈도우 몸값이 얼만데?
걍 마소 홈페이지 쳐들어가서 봤음. 근데 이놈들은 윈도를 항체로 만드나 왜이렇게 비싸... ㅡㅡ 아무튼 현재 가장 최신버전인 윈도우 11은 가격이 대충 이렇다.
그럼 리눅스는 얼마일까? 공짜라서 걍 깔면 된다.
GUI가 있긴 한데 CUI 위주라고 보면 된다
윈도우 쓰면서 cmd 열 일은 잘 없다. 바탕화면에서 아이콘 누르면 되고 실행파일 누르면 알아서 실행해주고 설치하면서 바로가기 ㄱㄱ? 까지 알아서 찰떡같이 물어보니까. 근데 리눅스는 바로가기 만들어주는 프로그램이 거의 유니콘이다. 없다. 걍 없다고 보자.
또한 리눅스를 쓰기 위해서는 터미널에 익숙해져야 한다. 일부 폴더는 파일 복사 삭제 이런거 하려면 그냥 들어가서 하면 권한이 없다고 거부한다. 파일 이동조차도 안되기때문에 터미널을 열고 sudo를 붙여줘야 한다. 매우 당연하게도 자기 계정 비밀번호를 알고 있어야 모든 작업이 가능하다. 윈도우처럼 PIN을 강요하지는 않지만.
전에도 썼지만 파이참은 윈도우에서는 설치하고 바로가기 누르면 되지만 리눅스(특히 우분투)에서는 압축 파일을 받아서 압축을 풀고 그 폴더로 들어가서 쉘 스크립트 파일을 실행해야 한다. 당연하게도 쉘 스크립트 파일을 마우스로 누르는 게 아니라, 터미널 들어가서 그 경로로 들어가서 sh pycharm.sh를 해 줘야 한다. 이거 관련해서 폴더 안 들어가고 걍 할 수 있게 설정하는 법도 있고, 파이참 아이콘 안 보이는것도 설치할 수 있다.
한글 자판을 따로 설정해줘야 한다(우분투)
윈도우는 포맷하고 프로그램 설치 문제로 골치아파서 포맷을 잘 안하고(실제로 노트북 1호도 7년동안 포맷 한번도 안했다), 우분투는 세팅하기가 귀찮아서 포맷을 안 한다. 다른 리눅스는 어떤지 모르겠으나 노트북 2호는 무선랜 칩셋 파일도 따로 넣어줘야 하고(이건 얘가 특이케이스), 한글 자판도 따로 설정해줘야 하고, 일본어 자판도 따로 설치 및 설정을 해 줘야 한다. 본인 윈도우에도 일본어 자판이 있는데 지금은 걍 깔고 추가만 하면 되서 편해지긴 했다.
일단 우분투에 비해서는 세팅면에서 윈도우가 압도적으로 편한 건 맞다.
일부 프로그램은 리눅스에서 안된다.
프로그램에 대해 나눌 때 본인의 기준은 세 가지가 있다. 첫번째는 어떤 OS건 설치 및 사용이 가능한 것, 두번째는 일부 OS에서 설치는 안되지만 쓸 수는 있는 것, 세번째는 윈도우에서'만' 설치가 가능하고 실질적으로 윈도우에서'만' 쓸 수 있는 것.
이게 무슨 소리냐고? 여기서는 세 가지 프로그램을 예시로 들어볼건데 첫 번째 예시가 디스코드이다. 디스코드는 윈도우는 물론 맥에서도 되고, 안드로이드, iOS용도 있고, 웹으로도 되지만 리눅스에서도 된다. 어떤 프로그램을 리눅스에서도 다운로드 및 설치가 가능하다면
이렇게 .deb, .tar.gz 두 개가 있기때문에 그걸 다운받아서 터미널 열고 명령어 쳐서 설치하면 된다. 업데이트는 버전 차이가 얼마 안 나면 알아서 해주는데 오랜만에 노트북 켠다 그러면 새로 deb건 tar.gz건 받아서 압축 풀고 설치해야 한다. 대부분 개발용으로 사용하는 프로그램(예: 깃크라켄(응?), 파이참, VScode)은 윈도우 맥 리눅스를 다 커버하고 리눅스 버전을 설치할 때 다운로드 페이지에서는 deb나 tar.gz파일을 받게끔 되어 있다. 리눅스 계열에 따라 달라진다고 하니 본인이 사용하는 리눅스가 어떤 계열인지는 알아두자. (레드햇/데비안 이런 식으로 나뉘는데 나도 뭘로 나뉘는지는 정확히 모름)
두번째 예시는 노션이다. 요즘 어째서인지 급부상한 노션은 윈도우와 맥, iOS, 안드로이드용 프로그램은 있지만 리눅스용 프로그램은 따로 없는데(예전에 관련 문의를 했더니 만들고 있다는 답변은 받음), 대신 웹 브라우저에서도 노션 계정으로 로그인하면 사용이 가능하기때문에 노트북 2호에서는 웹 노션으로 쓰고 있다. 프로그램으로 설치만 안됐다 뿐이지 그냥 노션이랑 별로 다를 바 없어서 편하다.
세번째 예시는 카카오톡이랑 스팀이다. 카카오톡은 윈도우, 맥, 모바일 외에 리눅스 버전도 없고 웹 브라우저에서도 안되기때문에 와인을 쓰거나 아예 못 쓰거나 둘 중 하나이다. 본인은 후자. 관련 문의에서도 리눅스용은 만들 생각 없다고 카카오가 못박았다. 그리고 본인이 카톡을 깔 때 디코를 예시로 드는 이유가 이것 때문이기도 하다.
스팀은 스팀 자체는 리눅스에서도 설치가 된다. 로그인도 된다. 근데 문제가 뭐냐면 게임을 설치 못 한다. 요즘은 좀 많아졌다지만 그럼에도 리눅스에서 돌아가는 게임이 생각보다 없기 때문에 내 컴퓨터가 리눅스다 그러면 게임은 글렀다고 보면 된다.
유지보수가 빡세다
윈도우 업데이트... 그런 친절함은 리눅스에서 기대하면 안된다... 얘는 LTS 풀린 것 업데이트 하는 것부터가 일단 극한직업이다... 새 LTS 풀리면 님아 이거 풀렸는데 까실? 하기는 한다. 근데 뭐 자잘한 업데이트 떴다고 윈도우처럼 업데이트 후 종료 이런건 없다. (알림은 있긴 함)
구글 참고를 잘 해야 한다
뭐 안풀리면 구글이 국룰이긴 한데, 글 작성 날짜를 잘 봐야 한다. 버전에 상관 없이 범용으로 먹히는 해결책도 있지만, 오래된 버전에서만 먹히는 해결책도 있다. 이게 어떤 느낌이냐면 윈도우 10에서 뭐가 뻑나서 찾아보니까 윈도우 Me에서 쓰는 해결법이 나오는 상황인겨...
글 작성 날짜 뿐 아니라 설치된 우분투 버전에 맞는 해결책인지도 잘 봐야 한다. 22.04 LTS 깔아놓고 16.어쩌고 버전꺼 보면 안될수도 있다.
그럼에도 불구하고 왜 리눅스인가
적응하면 일단 편하다. 마우스 드래그 할 필요도 없고 걍 터미널에서 명령어만 치면 알아서 다 해준다. 그것만 다를 뿐이지 쌍팔년도 DOS처럼 완전히 CUI인 것도 아니고 GUI도 있다. 체감상 윈도우에 비해 가볍다 싶은 건 있는데 그럴수밖에 없는 게 여기서 프리미어를 돌릴 것도 아니고 그래픽카드를 부려먹는것도 아니니... (개발용으로 쓸 거라 램만 추가했다)
일단 노트북 2호에서 할 수 있는 딴짓이라고 해봐야 웹서핑이랑 유튜브 보기가 끝이다. 카톡은 아예 안되니까 PC에서 확인을 못하고(핸드폰으로는 볼 수 있는데 귀찮고...), 게임은 일단 본인 스팀 라이브러리에 있는 것들 중에서 돌아가는 게 거의 없다. 그래서 일단 스터디카페에서 공부할때는 유튜브 틀어놓고 가끔 플레이리스트 영상 넘어가는 정도의 딴짓 하는 거 외에는 음료수 리필하고 화장실 간 게 다였다.
그리고 이건 집에 조카몬 많은 분들도 해당되는 사항인데, 알아서 애들이 못 만지게 할 수 있다. 로그온 했더니 윈도우랑 비슷해보이는데 일단 작업표시줄이 화면 왼쪽에 붙어있고(이게 기본), 게임은 안 깔리고, 할 수 있는 게 유튜브랑 인터넷, 음악감상이 다다. 그것도 설치 파일을 실행하려면 터미널로 들어가야 하니까 '내'가 터미널 켜고 설치까지 해 줘야 한다. 애들이 잘못 만져서 커널 패닉 온다? 안에 중요한 자료 들어있는데 날아갔다고 하면 완전 무개념이 아닌 이상에야 애들이 혼난다.
어떤 게임 개발자는 게임을 리눅스 버전으로 내놓았을 때 이점이 한 가지 있다고 했는데, 다른 OS를 사용하는 사람들은 여기서 이런 버그가 터졌어요가 끝인데 리눅스를 사용하는 사람들은 여기서 이런 버그가 어떨 때 터졌고 이렇게 하면 재현이 된다 이런 식으로 상세하게 제보하더란다. 일단 리눅스 쓰는 양반들은 다 고인물 중에서도 개쌉고인물이라 가능한거지만 아무튼.
'Coding > 코딩잡담' 카테고리의 다른 글
해시 테이블 (0) | 2023.08.02 |
---|---|
알고리즘과 시간복잡도 (0) | 2023.07.04 |
GUI vs CUI (0) | 2022.11.17 |
컴파일러와 인터프리터 (0) | 2022.10.21 |
SI 접두어와 컴퓨터 용량 (0) | 2022.10.10 |