Lenovo Ideapad S405라는 좀 오래된 집을 구입하여 방을 리뉴얼하고 방이 2칸이 비어있었다.
그 방 한 칸에 Windows 10이라는 세입자가 들어왔다. 처음 방을 보러 왔을 때의 인상은, 도시 생활을 오래 하였는지 나름 깔끔하고 세련되어 보였으며 파란색을 좋아 하는 것 같았고 특히 말이 좀 많은 편이었다.
그런데 같이 살다 보니 이 세입자가 몇 가지 문제를 가지고 있다는 것을 알게 되었다.
건강에 대해 신경을 많이 쓰는지 헬스장도 다니고 영양제도 골고루 챙겨먹는데도 불구하고 가끔 새파랗게 질려서 쓰러져 있을 때도 있고, 어떤 때는 갑자기 심장마비로 쓰러질 때도 있는데 이럴 때마다 긴급히 앰블런스를 불러 응급실도 여러 번 간 적이 있다.
하지만, 평상시에는 언제 그랬냐는 듯 멀쩡하다. 가끔 전단지를 가져와서 장황하게 설명을 하기도 하고, 자기 친척이나 아는 지인들의 제품을 홍보 하기도 하고 그리고 필요 없는 자기 회사의 제품을 홍보하기도 하고 암튼 피곤한 세입자이다.
암튼 Windows 10이라는 세입자가 신경이 많이 쓰이기도 하고, 불안해서 외출하기도 겁이 나고 하여 Windows 10의 방보다는 작지만 남은 방 한 칸을 세를 놓기로 했다.
어느 날 Linux mint 18(Sarah)라는 세입자가 방문을 하였는데, 체구는 왜소하지만 까무잡잡한 피부에 다부지고 눈이 초롱초롱하고 선해 보였으며 동네 사람들의 평도 좋았다. 더구나 말수도 적고 붙임성이 좋아 까탈스럽지 않고 마치 오래전부터 알고 있었던 같은 느낌이 들었다.
Windows 10이 있는 방보다 작지만 흡족해하며 입주를 하였다.
Linux mint 18(Sarah) 세입자는 짐도 많지도 않고, 없는 듯 하면서도 필요한 것은 다 있고 소탈하면서도 나름 깔끔하고 실속 있는 살림으로 방을 꾸미고 있었다.
그렇게 Linu mint 18(Sarah)와 Windows 10의 동거 생활이 시작되었고, 그 뒤로도 Windows 10의 응급 사태는 몇 번 있었지만 Linux mint 18(Sarah)세입자는 아무 문제가 없었다.
하지만, 나중에 동네 사람들한테 들은 바로는 Windows 10 세입자가 Linux mint 18(Sarah) 세입자를 은근히 무시하고 깔본다는 애기를 들었다. 그럼에도 불구하고 Linux mint 18(Sarah)가 꿋꿋하고 기죽지 않으며 쾌활하게 살아가는 것을 보면 대단하다는 생각이 든다.
그렇게 살다 보니 Linux mint 18(Sarah)는 좋은 환경으로 이사를 하고, 후배인 Linux mint 20(Ulyana)이 들어왔다. Lenovo Ideapad S405 환경이 난방이 잘 안 되다 보니 Windows 10이 감기도 잘 걸리고 해서 좀 더 좋은 집으로 이사를 하기로 했다.
Lenovo Thinkpad T480라는 Lenovo Ideapad S405보다 좋은 환경의 집을 구했고 Linux mint 20(Ulyana)과 Windows 10도 같이 이사를 했다.
2. Windows 11과의 만남 그리고 Linux mint 22.2(Zara)
Windows 10이 이제부터는 전원 생활을 하게 되었다며 Windows 11을 소개해주고 떠났다.
어느 화창한 날 Windows 11이라는 세입자가 방문을 하였는데, 성격은 어떤지 모르지만 Windows 10보다 깔끔하고 세련되어 보였다.
오래전에 DOS, Windows 3.1, Windows 95, Windows 98, Windows ME, Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1 들을 알고 있던 터이기도 하고 Windosw 10이 전원 생활을 한다고 하여 소개해 준 Windows 11 이었다.
그런데 이 Windows 11이라는 세입자가 참 가관이다.
자기는 보안에 예민하니 현관문에 도어락 2개를 설치 해달라고 한다. 도어락이 없어도 안되고 한 개만 있어도 안 된다고 한다. 그렇게 첫 번째 문을 열고 들어가면 두 번째 문에 자물쇠를 달아야 하고 문패는 자기 회사 제품을 사용해야 한다고 한다. 어이가 없어서 동네 사람들에게 물어보니 다른 사람들은 가짜 도어락을 달아서 그 상황을 넘어갔다고 한다.
빈방으로 두기가 그래서 세를 놓으려 했더니 아주 까탈스러운 세입자가 들어왔다. 좋은 것이 좋은 것이라고 요구 사항 맞춰서 계약을 했더니 점입가경이 펼쳐진다.
짐이 별로 없다고 하더니, 무슨 짐을 계속 들여와서 이제 거실 까지 자리를 잡고 어디에 사용하는 것인지도 모르는 것들을 여기저기에 쌓아놓는다. 그러려니 하고 넘어 가려고 하는데 말이 안 나오는 상황이 계속 발생한다.
가끔 Windows 11이 필요하다며 온라인으로 구입한 신제품이 들어오는 날은 정리하는 시간이 오래 걸린다. 이리 쌓고 저리 쌓고 분주하게 정리하는 모습을 Linux mint 20(Ulyana)와 함께 보고 있자니 답답할 때도 있다. 심지어 거실까지 쌓아놓고 정리를 하다 보니 다니기에 불편하다.
고집은 어찌나 쎈지 한번에 해도 될 것을 두 번에 하고, 처음 보는 물건을 한쪽에 쌓아놓고 그렇게 정신없이 정리를 하다 보면 시간이 많이 지난다. 어떤 때는 물건이 많이 왔는지 아예 물건을 문밖에까지 쌓아놓고 정리를 30%정도하고 또 나머지 70%를 정리한다. 그렇게 다 끝나면 이제 청소를 하는데 또 시간이 많이 걸린다. 물건만 오면 정리할 때 문을 열어놓고 정리를 하다 보니 외출도 못하고 기다려야 할 때가 많다. 더구나 뭘 그리 들락 날락을 하는지 신경이 많이 쓰인다.
그런 북새통에서도 Linux mint 20(Ulyana)는 불평 한마디도 안 한다.
하물며 중요한 물건은 집에 있는 개인금고에 보관하고 싶은데 자기네 회사 금고에 한번에 보관을 하라고 강요를 하고, 인터넷 검색을 할 때는 자기네 회사 검색 프로그램을 사용하라고 하며 인터넷 브라우저도 자기네 회사 제품을 꼭 사용하라고 한다. 참 어이없는 상황으로 주객이 전도되었다.
사실 Windows 11은 게임도 잘 하고 문서편집도 잘 해서 도움을 받기는 한다. 하지만 Linux mint 20(Ulyana)도 아기자기하고 꼼꼼하게 나름 잘 하기 때문에 번갈아 도움을 받고 있지만 Linux mint 20(Ulyana) 와 작업을 같이 하는 것이 정신 사나운 Windows 11보다 마음이 편하다.
어느 날은 뜬금없이 집주인의 생활 패턴을 어찌 알았는지, 이것을 찾으십니까? 거기에 가실 겁니까? 저것을 추천 해드리겠습니다 하며 간섭을 하는데 솔직히 기분이 좋은 것이 아니라 감시 당하고 있는 것 같아 기분이 좀 나빳다.
그렇게 지내던 어느 날 동네 사람들한테서 이상한 소문을 들었다. Windows 11이 주인 몰래 CCTV를 설치하여 감시를 하기 때문에 그렇게 집주인의 행동을 잘 안다는 것 이었다. 충격이었다.
Oh my got !!!
그렇게 심란한 나날을 보내는 중 Linux mint 20(Ulyana)도 좋은 곳으로 이사를 하고, 그 뒤로 Linux mint 21(Vanessa), Linux mint 21.1(Vera), Linux mint 21.2(Victoria), Linux mint 22(Wilma) 그리고 Linux mint 22.1(Xia)형제들이 입주해 살다 이사를 가고 지금은 Linux mint 22.2(Zara)살고 있지만, 곧 Linux mint 22.3(Zena) 형제가 입주를 할 것이라고 한다.
지금 생각해보면, 그동안 어수선했던 Windows 형제들에 비해서 Linux mint형제들과는 탈 없이 잘 지내 왔던 것 같다. 집안 청소도 수시로 해서 항상 깔끔하고, 새로운 형제들이 입주를 해도 소란 없이 조용히 마무리하고 끝난다.
Linux mint도 Linux조상으로부터 시작해서 여러 파와 형제들이 있지만 소소한 의견 충돌은 있어도 큰 다툼은 없는 것 같다. 더구나 Linux mint 주변 지인들은 재주꾼들만 있는지 필요한 생활용품이 있으면 오픈소스로 만들어 감사하게도 GNU정신으로 무료로 제공해주고 그리고 전세계 친구들이 문제가 있으면 바로바로 해결을 해 준다.
Linux mint 주변 지인들 중에는 게임, 문서 편집, 그래픽 편집 그리고 음악 제작 및 편집 등 많은 부분의 전문가들이 있고 Windows 형제들처럼 까탈스러운 조건을 요구하지 않아서 좋다.
Windows는 특별한 보안 장치가 겹겹으로 쌓인 으리으리한 집에서만 살고 싶은가 보다.
3. 이 집은 내 집 이라고 ~
지금은 문패도 집주인 이름으로 하고, 개인 금고를 사용하며, 불필요한 간섭은 하지 말아 달라고 한 상황이고, 신경을 나름대로 써야 하겠지만 현관의 도어락은 기본으로 설치하고 나머지 자물쇠들은 모두 철거했으며 CCTV도 테이프로 막아버린 상태이다. 이제 외출해서 돌아와도 바로바로 들어올 수 있어서 아주 흡족하고 누군가 지켜보는 듯한 느낌이 덜해서 아주 좋다.
Windows 11이 요새 삐졌는지 말수도 적어지고 뭔가 골똘히 생각 중인 것 같다. 그래도 한 집에 살고 있으니 새파랗게 질려 쓰러졌는지, 기절해있는지 그리고 Windows 11 앞으로 택배가 온 것은 없는지 신경은 쓰고 있지만 생각 같아서는 확 방 빼고 Linux mint에게 방 두 개를 다 주고 싶은 생각이 굴뚝같다.
지금까지 잘 사용하던 2011년 경 출시된 Nvidia Gforce GTX-550Ti 드라이버를 Linux mint 22부터 지원을 안 한다고 한다. 오래 사용하기도 했고, 고 사양 그래픽 카드는 아니지만 나름 듀얼링크 모니터를 지원하기 때문에 구입을 해서 사용해왔는데 아직 까지도(Linux mint 21.3까지는) 아무런 문제가 없다.
Windows 11에서도 문제가 없지만 추세가 그러하니 새로운 그래픽 카드를 찾아보기로 했다. 무거운 게임을 안 하므로 고 사양은 아니더라도 듀얼링크를 지원하는 DVI가 있는 모델이어야 해서 여러 방면으로 알아본 결과 Nvidia Geforce GTX-1050Ti 가 가격 대비 성능으로 적격이었다.
듀얼링크가 지원 되야 하는 이유는 사용하는 모니터가 “PCBANK PBM-V300W”이라는 30인치 모니터로 좀 오래된 기종인데 포트는 HDMI와 듀얼링크가 지원되는 DVD단자밖에 없다. 그런 이유로 듀얼링크가 지원되는 그래픽 카드를 장착해야 2560x1600의 해상도를 사용할 수 있기 때문이며, 그래픽 카드가 아무리 고 사양이라 하더라도 듀얼링크를 지원 안 하면 1920x1080의 해상도밖에 안되므로 아이콘도 크고 문서 편집이나 인터넷을 사용할 때 폰트도 초점이 안 맞아서 그대로 사용하면 눈이 아프다.
참고로 듀얼모니터는 한 개의 그래픽 카드에 한 개 이상의 모니터를 연결하여 사용하는 것이고, 듀얼링크는 한 개의 그래픽 포트에서 두 배의 해상도를 한 개의 모니터가 받아드린다고 생각하면 쉬울 것 같다.
인터넷 검색을 해보니 중고 Nvidia Gforce GTX-1050Ti가 많이 보였는데 평균 가격이 10만원 ~ 15만원 정도 이었다. 한때 채굴 사태로 품귀 현상이 일어나 가격이 많이 올랐던 적이 있었는데 그때의 카드들이 시장에 나온 것일 수 도 있겠다. 더구나 Nvidia Gforce GTX-1050Ti같이 전원 공급이 필요 없는 모델들은 채굴하는 입장에서 보면 전기 요금 문제에 많은 도움이 되었을 것 같다.
좀 더 검색을 해보니 새 제품도 있었는데 17만원 정도였고 듀얼 팬이며 길이는 약 18cm정도라서 사용하는 컴퓨터의 케이스에 장착하기에도 충분할 것 같았다. 노역에 많이 시달려 골병이 들었을 것 같은 중고를 사용하기보다는 좀 더 보태서 새 제품을 사용하는 것이 좋을 것 같다.
Nvidia Gforce GTX-1050Ti 출시한 때가 2016년 정도 인 것 같은데 채굴 사태로 인하여 품귀 현상이 발생하자 Nvidia에서 추가로 더 생산을 했다고 하며 생산일 을 확인해보니 2023년이라고 되어있다. 그래서 바로 구입을 했다.
비록 구 버전이라 하더라도 드라이버가 아직 까지는 지원이 되는 모델이고 새 제품이니 설치하기에 별 무리는 없을 것이라 생각을 했는데 그것은 희망 사항 이었을 뿐이었다.
Nvidia Gforce GTX-1050Ti를 언박싱하여 새 제품에서 나는 냄새를 맡으며 기존 Nvidia Gforce GTX-550Ti를 제거하고 장착을 하여 듀얼링크 모니터인 PCBANK PBM-V300W에 연결을 하였다.
컴퓨터 전원을 켜자 화면이 나온다. C-MOS Setup도 정상적으로 작동하였다. 이제 미리 만들어둔 “Linux mint 22.2 (Zara)” USB를 꼽고 F11을 눌러 USB로 선택하여 부팅을 하면 된다. Linux mint의 GRUB 화면이 나오고 계속 부팅을 진행하였다.
GRUB 메뉴화면
1분 5분 10분이 지나도 더 이상의 진행 상황이 화면에 안 보인다. 모니터의 램프가 녹색 인 걸 보면 신호는 들어 오는 것 같은데 화면이 안 나온다. 머리 속이 복잡해지기 시작한다. 카드를 잘못 꽂았나 확인도 해보고, DVI케이블도 다시 조여보고, 모니터를 다시 켜 보기도 하고, 카드가 불량인가 하는 생각도 해보고 별 오만 가지 생각이 머리 속을 헤집고 다닌다.
기본적인 점검을 다시 해봐도 마찬가지 증상이라 Windows 11로 부팅을 해보았는데 정상적으로 부팅도 되고
최신 드라이버로 설치도 잘되고 아무런 문제가 없다. 그렇다면 카드의 문제는 아닌 것이라 카드와 제조사에 대한 불신은 없어졌다. 결국 리눅스 쪽에서 해결을 해야 하는 것이다.
방법은 다음과 같이한다.
Highlight your Mint install in grub (probably first entry) and press 'e' to add options (for this boot only).
Find the line with ..."quiet splash"... and add "nomodeset" to that line. Press F10 to continue booting.
Linux mint 22.2 USB로 부팅을 하여 나오는 GRUB 메뉴 화면에서 “E”키를 눌러 나오는 화면에서 “quit splash”부분을 “nomodeset”으로 수정하고 F10으로 부팅을 진행하니 바탕 화면이 나온다. 이제 “Install Linux mint”로 설치를 시작한다.
Linux mint 22.2 바탕화면
기존 “Linux mint 21.3”가 설치된 상태라서 파티션을 그대로 두고 설치를 해도 되지만, 그렇게 설치를 하면 기존 데이터들이 그냥 남아있는 경우가 있어서 파티션을 지우고 수동으로 파티션을 재 설정하여 깨끗하게 클린 설치를 진행하였다.
진행 중에 “Multimedia codecs” 설치는 나중에 해도 되지만 어차피 또 설치를 할 것이라 설치할 때 같이 하는 것이 좋을 것 같다. 보안 부팅(Secure Boot)을 사용하면 다음처럼 암호를 입력하는 창이 나오며 설치 종료 후 재 부팅 할 때 암호를 묻는 창이 나오면 입력하면 되는데 안 나오더라도 차후 MOKUTIL을 통해야 할 경우가 있으므로 MOKUTIL용 보안키 등록 용으로 만들어두면 좋을 것 같다 .
Linux mint 22.2 설치중 Mutimedia codecs 설치
쭉 진행을 하여 설치를 마무리하고 재 시작을 하였다.
아~ 이런 제길슨 !!!
GRUB메뉴는 보이는데 바탕 화면이 안 나온다 !!!
다시 Linux mint 22.2 로 부팅을 하여 나오는 GRUB메뉴에서 “E”키를 눌러 “quit splash”부분을 “nomodeset”으로 수정하고 F10으로 부팅을 진행하니 바탕 화면은 나오지만 Windows 11의 안전 모드같이 아이콘도 크고 폰트도 선명 하지가 않다.
GTX-1050Ti 드라이버를 설치를 안 해서 그런가 하여 “드라이버 관리자”를 실행하여 독점 드라이버를 확인해보니 권장 드라이버로 “Nvidia-535.274.02” 드라이버를 추천하는데 GTX-1050Ti는 “Nvidia-580.95.05”를 지원하므로 “Nvidia-580.95.05”드라이버를 설치하고 재 시작을 하였다.
독점 드라이버 설치
아~ 바탕 화면이 나온다. 그런데 “nomodeset”와 똑같이 해상도도 낮고 아이콘도 크고 폰트 초점도 안 맞는다.
$ nvidia-smi 로 확인을 해보니 비디오 카드와 통신이 안된다고 한다.
$ nvidia-smi
“NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver.
Make sure that the latest NVIDIA driver is installed and running.”
‘NVIDIA-SMI가 NVIDIA 드라이버와 통신할 수 없어서 실패했습니다. 최신 NVIDIA 드라이버가 설치되어 실행 중인지 확인하세요.”
“Nvidia Server Setting”에서도 정상적인 인식이 안된다.
Nvidia Server Setting
머리에서 김이 모락모락 피어올라 잠시 바람을 쐬러 밖에 나가 커피 한잔 마시며 도대체 뭐가 문제일까 하나님 부처님 알라신 모두에게 물어봐도 답변이 없다.
다시 자리에 앉아 모니터를 쳐다보며 여러 경우를 생각해봅니다. 혹시? 지금 컴퓨터가 “보안 부팅(Secure Boot)상태라서 GTX-1050Ti 얘가 보안 검문에 걸려 들어오지 못하는 것인가?
그래서 BIOS에서 보안 부팅(Secure Boot)을 비활성화 하고 재 시작을 하니 해상도도 2560x1600으로 제대로 잡히고 모든 것이 정상적으로 인식이 된다. BIOS에서 보안 부팅(Secure Boot)을 다시 활성화하고 부팅을 하면 마찬가지로 정상적인 인식이 안된다. 결국 보안 부팅(Secure Boot)이 문제였다. 이제 원인을 알았으니 GTX-1050Ti의 보안키를 등록해야겠다.
보안 부팅(Secure Boot)은 UEFI(Unified Extensible Firmware Interface) 펌웨어에 있는 보안 기능으로, 제조업체가 신뢰하는 소프트웨어만 사용하는 장치 부팅을 보장하고, 부팅 로더 및 운영 체제의 디지털 서명을 확인하기 전에 실행할 수 있도록 하므로 부팅 과정에서 무단 또는 악성 소프트웨어가 로드되는 것을 방지할 수 있다. 즉 부팅 과정에서 서명된 신뢰할 수 있는 소프트웨어만 실행할 수 있도록 설계된 보안 기능으로 멀웨어 및 승인되지 않은 OS 수정으로부터 보호하기 위해 작동하는 것이다,
보안 부팅(Secure Boot)은 결국 사용해야 하므로 다시 BIOS에서 “보안 부팅(Secure Boot)”을 활성화하고 재 시작을 하여 GTX-1050Ti 의 서명을 등록 해야 한다.
먼저, 보안 부팅(Secure Boot)이 작동하는지 확인
$ mokutil –sb-state
$ SecureBoot enabled : 활성화 상태로 인식이 된다
키가 존재하지만 등록된 것으로 표시되지 않는 경우 키를 등록할 수 있도록 재 부팅 후 사용할 비밀번호를 묻는 화면이 나오는데, 8자리 이상으로 MOKUTIL에 사용할 암호를 설정하고, 재 부팅을 하면 MOKUTIL 창이 나온다.
MOKutil 화면
Enroll MOK(LIST)를 확인하고 재 부팅을 하면 이제 Nvidia Gforce GTX-1050Ti이 정상적으로 인식이 된다.
암호를 입력하면 시스템이 정지되는데( OK를 안 눌러서 그런듯함) 재 시작을 하면 적용은 된다.
다른 사람들은 MOKUTIL화면에서 “TAB” Key로 이동을 하면 “OK”가 보인다고 하는데 안 보인다.
이제 BIOS에서 보안 부팅(Secure Boot)이 활성화된 상태인데도 Nvidia Gforce GTX-1050Ti는 정상적으로 인식이 되어 부팅이 된다.
제대로 인식이 되는지 확인
$ nvidia-smi
nvidia-smi
Nvidia Geforce GTX 1050 Ti 그리고 드라이버는 580.95.05버전으로 설치되었다고 나온다.
다음은 메뉴→ 관리 → “Nvidia Server Setting”에서도 정상적으로 설치가 된 것으로 나온다.
Nvidia Server Setting
시스템 정보에도 정상적으로 나온다.
시스템 정보
이로써 약 7시간에 걸친 Linux mint 22.2 (Zara)에 Nvidia Gforce GTX-1050Ti을 안전하게 정착시키는 작업이 끝났다. 지금부터 백업한 개인 파일들과 프로그램을 복원 시키면 마무리가 된다.
복원이 진행되는 동안 커피 한잔하며 하늘을 쳐다본다. 오늘 따라 하늘이 청명한 것은 기분 탓일까?
간략하게 정리하자면 이렇다.
Nvidia Gforce GTX-1050Ti 가 보안 검문을 하는 컴퓨터의 Linux mint 22.2(Zara)라는 동네에 무 비자로 입국하여 어찌어찌 하다 보니 불법 체류자가 되었고, 그로 인하여 제대로 활동을 못하던 상황에 이제 정식으로 비자 발급 및 입국 수속 처리가 되어 Linux mint 22.2(Zara)동네에서 정상적인 생활을 하게 되었다는…
Windows 11과 Linux mint 22.2 (Zara)를 듀얼부팅으로 사용하고 있는데주로 사용하는 OS는 Linux mint이다.
Windows (Lenovo T480은 메인 보드 디지털 인증이라 자동으로 정품 인증이 된다)을 설치한 이유는, Linux에서도 거의 사용할 수 있지만 Windows에서 사용할 수 있는 프로그램 때문인데 그리 많지는 않다.
Windows에는 백신(Virus chaser 10), 방화벽(COMOD) 그리고 안티랜섬웨어 웹 체크(CheckMAL) 정도가 설치 되어있으며 모든 업데이트는 주기적으로 하고 있다. 만일을 대비하여 깨끗한 OS를 보험 성격으로 준비한 것이다.
Windows를 사용하며 느끼는 불편한 점은 업데이트가 느리다는 것인데, 거의 백 그라운드로 진행이 되고 시간이 얼마나 걸리는지 얼마나 남았는지를 알 수 가 없다. 작업 중 시스템이 느려지면 거의 백 그라운드로 업그레이드 할 때이다. 다운로드 중, 설치 중 끝나면 재 시작 하기 전 30%까지 진행하다 재 시작 후에 나머지가 마무리가 된다. 어떤 때는 재 시작 후에 또 자동으로 재 시작을 해서 마무리를 하는 경우도 있다.
심지어 급한 작업을 하고 컴퓨터를 끄고 나가려고 하는데 업데이트가 자동으로 진행이 되면 참 난감하다.
컴퓨터를 끌 수도 없고, 그냥 나가려니 재 시작하여 컴퓨터는 켜져 있을 것이고 그대로 집을 비우면 컴퓨터는 계속 켜 있으니 전기 계량기 눈금은 계속 올라 갈 것이고… 아무튼 그러하다...
사족으로 이야기하자면 과거에는 게임을 하기 위해 컴퓨터를 업그레이드를 했지만, 요즘은 Windows를 쓰기 위해 컴퓨터를 업그레이드를 하는 시대가 되었다. 업그레이드를 안 하면 구형이라 Windows 사용에 걸림돌이 된다.
반면 Linux에서는 Windows의 자동 업데이트 라는 것이 없다. 왜냐하면 Linux에서는 사용자 Login을 했더라도 기본적으로 일반 사용자이지 관리자가 아니기 때문에 어떤 업데이트든 관리자로 로그인을 해야 할 수 있다. 한가지가 있다면 Bios가 어떤 이유로( 사용자가 구 버전으로 다운그레이드 했을 경우 등)구 버전으로 변경이 되었다면 Linux는 부팅 중에 원래의 Bios로 업그레이드를 하여 최신 상태로 유지하도록 한다.
또한 Linux에서 업데이트는 시스템 관련 중요한 업데이트가 아닌 이상 재 시작 없이 바로 적용이 되며, Linux 시스템에 관한 피드백이 있을 때는 빠른 시일 내에 수정이 되어 업데이트가 수시로 된다.
Linux에서 업데이트를 해야 할 경우는, 바탕 화면 시작 줄에 방패 모양의 “업데이트 매니저”에 표시가 되므로 그때 “업데이트 매니저”에 들어가 전체 선택을 하던 부분 선택을 하여 설치를 하면 되는데 수동으로도 할 수 가 있다. Type의 방패 모양 아이콘에 마우스를 올리면 어떤 종류의 업데이트인지 표시가 된다.
업데이트 매니저
수동으로 하려면 다음과 같이 하면 되는데 “sudo”가 들어가는 명령은 관리자 로그인을 해야 한다.
$ sudo apt update : 최신 패키지를 받을 수 있도록 저장소를 업데이트
$ sudo apt upgrade : 최신 패키지를 받아 업그레이드
=
$ sudo apt update && sudo apt upgrade : 한 줄로 하려면 이렇게 한다
또는, 다음과 같이 할 수 도 있다.
$ sudo apt-get update
$ sudo apt-get upgrade
=
$ sudo apt-get update && sudo apt-get upgrade : 한 줄로 하려면 이렇게 한다
“Apt update”를 하는 경우는 몇 가지가 있는데, 새로운 업데이트가 있는지 확인할 때와 새로운 프로그램을 설치하기 전 미리 관련 업데이트가 있는지 확인할 때 그리고 프로그램 설치 후 추가로 설치해야 할 것이 있는지 확인할 때 주로 사용하며 apt-get 보다 apt를 많이 사용한다. 그 이유는 “2. Apt와 Apt-get 의 차이점”에 정리했다.
1. Apt(Advanced Package Tool)
APT는 Advanced Package Tool의 약자이며 Ubuntu, Linux Mint 및 Kali Linux와 같은 데비안 기반 Linux 배포판의(설치, 업데이트, 제거 등) 패키지를 처리하는 데 사용되는 명령줄 도구로서 저장소에서 사용할 수 있는 최신 버전으로 패키지 인덱스를 업데이트하는 패키지 관리 시스템이다.
일반적으로 많이 사용하는 Apt의 여러가지 사용 예
1. 패키지 설치
$ sudo apt install <package-name> : 지정된 패키지와 해당 종속성을 설치
예를 들어 “VLC 미디어 플레어”를 설치할 경우
$ sudo apt install vlc 를 실행하면 저장소에 있는 최신 패키지를 설치한다
$ sudo apt install ./file.deb : 다운로드 받은 디렉터리에 있는 특정 파일을 설치
$ sudo apt install -y <package-name> : 자동으로 "예"를 프롬프트에 응답 (스크립트에 유용)
2. 패키지 제거
$ sudo apt remove <package-name> : 패키지를 제거하지만 구성 파일을 유지
$ sudo apt remove package1 package2 : 여러 패키지를 제거
$ sudo apt autoremove : 더 이상 필요하지 않은 자동으로 설치된 패키지를 제거
remove명령은 주어진 패키지를 제거하지만 일부 구성 파일을 남길 수 있다
3. 모든 구성 파일을 포함하여 패키지를 제거
$ sudo apt purge <package-name> : 패키지 및 구성 파일을 제거
4. 패키지 업데이트 및 업그레이드
$ sudo apt update : 저장소에서 사용할 수 있는 최신 버전으로 패키지 인덱스를 업데이트
$ sudo apt upgrade : 현재 시스템에 설치된 모든 패키지의 최신 버전을 설치하는데, 제거해야 하는
패키지는 업그레이드하지 않는다
$ apt list –upgradable : 사용 가능한 업그레이드가 있는 패키지를 나열
5. 패키지 검색
apt list --installed : 설치된 모든 패키지를 나열
6. 청소
$ sudo apt clean : 로컬 캐시에서 모든 패키지 파일을 제거
$ sudo apt autoclean : 캐시에서 오래된 패키지 파일만 제거
$ sudo apt autoremove : 종속성으로 자동으로 설치된 사용되지 않는 패키지를 제거
$ sudo apt autoremove –purge : 사용하지 않는 패키지와 구성 파일을 제거
$ sudo apt list : 사용 가능한 모든 패키지를 나열
$ sudo apt list --installed : 설치된 패키지만 나열
$ sudo apt list --upgradeable : 업그레이드 가능한 패키지 목록
9. 패키지 이름의 의미
“vlc_3.0.11-0ubuntu1_amd64.deb” 는 패키지 이름은 “VLC 미디어 플레이어”이며 버전은 3.0.11-0ubuntu1 이고 amd64(64 비트 x86) 플랫폼이라는 뜻이다.
[ 용어 설명 ]
패키지(Package)
일반적으로 프로그램이라고 생각하면 되는데, 패키지는 컴파일 된 파일들과 어디에 설치해야 하는지에 대한 정보, 해당 패키지를 설치하기 전에 먼저 설치 해야 하는 패키지 정보가 담겨있는 꾸러미로 *.deb의 형식으로 되어있다.
저장소(repository)
패키지들은 개발자 홈페이지에서 직접 다운로드하여 설치할 수도 있지만 일반적으로 저장소라고 불리는 공간에 업로드 되어 있는데 앱스토어(App store)와 같은 공간으로 보면 된다. Linux에서는 이 저장소에서 패키지를 다운로드하여 설치하고 패키지를 설치하는 데, 필요한 패키지들이 있다면 저장소에서 같이 다운로드하여 설치한다. 또한 저장소 패키지 버전이 개발자 홈페이지의 패키지보다 버전이 낮을 수 도 있지만안전하다고 검증이 되면 저장소에 업로드 되고 차후 자동으로 업그레이드에 추가되어 업데이트가 된다.
의존성(Dependency:종속성)
패키지들은 각 해당 패키지를 설치하기 전에 먼저 설치해야 하는 패키지에 대한 리스트 정보를 갖고 있는데 이것을 의존성(종속성)이라고 하며 필요한 구성 요소가 설치되지 않은 채 시스템에 설치되는 것을 방지하고 패키지 간의 충돌을 방지하는 역할을 한다. Windows의 DLL 라이브러리를 생각하면 되겠다.
PPA(Personal Packages Archive)
Linux 개발자들이 운영하는 서드파티 저장소이며, 패키지 업데이트를 받을 수 있다.
PPA를 추가하려면 터미널에서 다음 명령문으로 추가할 수 있으며, 형식은 다음과 같다.
$ sudo add-apt-repository ppa:repository_name
PPA를 제거하려면 터미널에서 다음 명령문으로 추가할 수 있으며, 형식은 다음과 같다.
$ sudo add-apt-repository --remove repository_name
예를 들어,배터리 관리 프로그램인 TPL의 PPA를 추가할 경우는 다음과 같으며
$ sudo add-apt-repository ppa:linrunner/tlp
PPA를 제거할 때는
$ sudo add-apt-repository --remove ppa:linrunner/tlp
2. Apt와 Apt-get 의 차이점
무심코 사용하는 apt와 apt-get 명령어가 있는데, 두 명령어로 실행을 해도 결과는 같아 보이지만 “apt”와 “apt-get”은 둘 다 Linux 패키지 관리 시스템 도구로 유사점을 가지고 있지만 다르다.
APT(Advanced Package Tool)는 데비안 기반 Linux배포판에 사용되는 패키지 관리 시스템으로 소프트웨어 설치 및 제거 과정을 단순화하는 도구 집합이다. 이러한 도구는 운영 체제 패키지를 관리, 업데이트, 설치 및 제거하는 데 유용하며 검색, 표시, 목록 및 편집 소스와 같은 추가 명령이 포함되어 더 사용자 친화적인 버전의 apt-get이다.
Apt-get은Linux에서 패키지를 관리하기 위한 명령줄 유틸리티이며, 주요 기능은 패키지 설치, 업데이트,업그레이드, 퍼지 및 제거 및 패키지 및 해당 패키지에 대한 종속성에 사용하기 위해 신뢰할 수 있는 소스에서 데이터 및 패키지를 검색하는 것이다. apt-get은 프로젝트 내에서 개발 된 첫 번째 프런트 엔드 (명령 - 라인 기반)이다.
apt와 apt-get의 주요 차이점은 apt의 사용자 편의성을 향상 시키는 시각적 차이점 일 뿐만 아니라 패키지 관리를 단순화하는 기능적 개선이다. apt는 진행률 표시 줄과 간단한 구문을 제공하여 더 쉽게 기능의 차이를 보여 주는데 유사한 종속성 메커니즘이 있음에도 불구하고 설계 향상으로 인해 패키지를 보다 효과적으로 처리 할 수 있다.
APT는 항상 가장 높은 우선 순위 패키지를 설치하며, 두 패키지가 동일한 우선 순위를 갖는 경우 APT는 최신 패키지 (버전 번호가 가장 높음)를 설치한다. 동일한 버전의 두 패키지가 동일한 우선 순위를 가지고 있지만 콘텐츠가 다른 경우 APT는 설치되지 않은 버전을 설치한다.
1) 시각적 차이
apt로 패키지를 설치하거나 제거하면 apt-get에 볼 수 없는 진행률 표시 줄이 표시되며 백분율(40%)의 진행 상황을 보여 준다.
업그레이드해야 하는 패키지의 갯수가 표시되지 않는다. 이외에도 차이점이 있으며 요약하면 다음과 같다.
4) Apt와 Apt-get의 특징 비교
- apt
호환성 : apt-get의 최신 버전이므로 apt-get 및 기타 오래된 도구를 대체한다.
옵션 : 더 큰 유연성을 위해 더 많은 옵션과 하위 명령어를 사용할 수 있다.
문제점 : 패키지를 설치하는 동안 종속성 충돌이 자동으로 해결된다.
병렬 다운로드 : 병렬 플래그를 사용하여 설치 프로세스를 가속화 할 수 있는 시간에 다중 패키지를 다운로드 할 수 있다.
상호작용 모드 : 패키지 설치 중 충돌을 해결하거나 옵션을 선택하는 데 도움이 되는 모드를 제공한다.
- apt-get
호환성 : 호환성 목적으로 사용되며 널리 사용되며 최신 Ubuntu 버전에도 포함되어 있다.
옵션 : apt와 비교하여 옵션과 하위 명령이 적다.
문제점 : 종속성 충돌을 자동으로 해결할 수 없으므로 패키지를 설치하지 못할 수 있다.
병렬 다운로드 : 병렬 플래그가 없으므로 동시에 여러 패키지를 다운로드하는 것은 불가능하다.
상호작용 모드 : 패키지 설치 중 충돌을 해결하거나 옵션을 선택하는 데 도움이 되는 모드가 없다.
5) 결론
apt 패키지 관리 도구는 apt-get보다 다운로드 및 설치 중에 설치가 완료될 수 있는 시간을 알 수 있는 진행률 표시 줄을 보여 준다. 이러한 이유로 많은 사용자들이 사용하고 있으나, 이전 버전과의 호환성과 보다 자세한 제어로 인해 apt-get에 의존하는 일부 사용자가 여전히 있다.
3. Nala : APT 패키지 관리자의 프론트 엔드
Nala는 APT의 무료 오픈 소스 대안 프론트 엔드이며 그 자체가 dpkg 프론트 엔드의 일부이고 APT 기능의 거의 모든 것을 아니 조금 더 많은 것을 할 수 있다.
Nala는 명령 줄에서 APT 사용을 용이하게 하기 위해 설계된 APT 패키지 관리자 프론트엔드 이며, 이 도구는 APT와 상호 작용하기 위한 보다 사용자 친화적 인 인터페이스를 제공하여 여러 기능을 제공한다. 기능 중에는 컬러 출력, 탭 완료 및 패키지 목록 검색 및 필터링 지원이 포함된다.
하지만 모든 APT 명령이 Nala에서 작동하는 것은 아니기 때문에 Nala 명령으로 실행이 안될 경우는 Apt명령을 사용하면 된다.
Nala는 Debian 및 Ubuntu 저장소(소프트웨어 매니저 이용)에서 사용할 수 있지만, DEB 파일을 직접 다운로드하거나 공식 Git 저장소에서 사용할 수 있는 소스 코드에서 도구를 컴파일 할 수도 있다.
1) 소프트웨어 매니저에서 설치
2) 터미널에서 설치
$ sudo apt update
$ sudo apt install nala : apt시스템에 없는 모든 종속성과 함께 기본 패키지를 다운로드하고 설치
$ nala –version : 설치 후 Nala가 올바르게 작동하는지 확인
Nala는 미러의 상태를 모니터링 하여 다운로드 속도를 향상 시키고 미러가 실패하면 도구는 자동으로 작업용 도구로 대체한다.
빠른 미러 선택
거리 및 네트워크 대역폭과 같은 다양한 요소가 다운로드 미러의 속도에 영향을 미치므로 Nala는 각 미러의 대기 시간을 측정하고 사용자가 가장 빠른 미러를 선택할 수 있게 하여 다운로드 속도가 향상된다.
패키지 작업 History
Nala가 APT의 기능을 향상 시키는 또 다른 방법은 사용자가 시스템에서 패키지 트랜잭션의 기록을 볼 수 있도록 하는 것이다. Nala가 패키지를 설치, 제거 또는 업데이트하는 것과 같은 새로운 트랜잭션을 수행할 때마다 고유한 ID 아래에 JSON 파일에 등록하는데 사용자는 트랜잭션을 나열하고 필요한 경우 취소 할 수 있다.
6) Nala를 사용하는 방법
패키지 설치
$ sudo nala install [package-name]
설치 프로그램에는 패키지를 다운로드하고 설치하기 위한 두 개의 별도의 섹션이 있으며, 각 섹션에는 진행률 표시 줄이 있다. 설치가 완료되면 Nala는 확인 메시지를 표시한다.