Office 완전 제거

Office, 예전에 MS Office 라고 부르던 소프트웨어를 쓰다보면 버전업이 되면서 기존 제품을 삭제하고 다음 버전을 설치하는 경우가 있다. 예를 들어서 MS Office 2007 을 쓰다가 Office 2010을 설치해서 쓰고, Office 2013이 나와서 Office 2010을 삭제하고 Office 2013을 설치하고 … 이런 식이다. 몇년전에 Office 365가 나오면서 이런 일은 줄어들었지만, 여전히 Office 2019나 Office 2021 등을 단품 구매하여 설치하는 경우도 많다.

이런 경우에 자잘한 문제들이 발생하는 경우가 있다. 멀쩡히 잘 돌아가던 엑셀이 갑자기 좀 큰 파일 불러들였다고 사용중에 증발한다거나 등등 … 물론, 윈도우를 재설치하고 Office 도 다시 설치하면 이런 문제는 덜 하지만, 내 경우처럼 Lenovo ThinkPad X220 에 설치한 Windows 10 에 Office 2007 을 설치하고 쓰다가 다음 버전 나와서 삭제하고 Office 2010 설치해서 쓰고 .. 이렇게 쓰다가 한 3, 4년전부터는 Office 365 를 쓰고 있다. 문제는 바로 앞에서 말한 거다. 완전히 삭제된 게 아니고 찌꺼기 파일들이 남아 있다보니 가끔 문제를 일으킨다. 그렇다고 윈도를 다시 설치하고 그동안 설치했던 애플리케이션들을 다시 설치하자니, 이제는 구하기도 어려운 잡다한 변환툴 (연구자들이 쓰는 건데, 대학원때 만들고 이제는 졸업하고 그 바닥을 떠났다든가 … ) 같은 경우는 …. 나는 아직 필요한데 .. 이걸 언제 또 일일히 설치할 것인가 … 쩝 …

그래서 찾다보니 SetupProd_OffScrub.exe 이라는 프로그램이 있다. 다운로드는 https://support.microsoft.com/ko-kr/office/%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C-office-%EC%A0%9C%EA%B1%B0-9ad57b43-fa12-859a-9cf0-b694637b3b05 에서 받을 수 있다. 이것를 실행시키면 몇가지 부속 프로그램을 다운로드 받은 후, 설치된 Office 애플리케이션의 흔적을 모두 찾아서 지워준다. 한번 돌린 뒤에는 리부팅을 하고, 그 뒤에 다시 Office 를 재설치하면 된다..

이렇게 했더니, 지금은 Office 가 아주 잘 돌아가고 있다.

Redmi Note 11 (spes) 커스텀 롬

2nd phone 으로 쓰는 Redmi Note 11 가 있다. Redmi Note 11 이 씨리즈가 상당히 많은데, 그중에서 Redmi Note 11 Global 이고, 모델명은 spes 다. (specs 아니다.)

이 제품이 나온지 꽤 됐는데, 5G 지원 모델이나 몇몇 모델들은 커스텀 롬이 나온지 꽤 됐는데, spes 모델은 이제서야 하나둘씩 나오기 시작했고, 가장 먼저 나온 것 중 하나가 Pixel Experience Rom 기반의 Evolution X 다. P.E. 소스는 공개 되어 있지만, 아직 빌드된 롬 파일이 올라오지는 않은 상태( https://download.pixelexperience.org/spes ) 인데, P.E. 기반의 Evolution X 는 빌드된 롬파일이 올라왔다.
설치하려면 부트로더가 unlock 되어 있어야 하며, twrp 를 설치해야 한다. twrp 는 공식적으로는 아직 spes 용이 안나와서 https://unofficialtwrp.com/unofficial-twrp-3-6-1-root-redmi-note-11-qcom/ 에서 비공식버전을 다운로드 받아서 설치하면 된다. 그리고 Evolution X 는 https://evolution-x.org/device/spes 에서 다운로드 받아서 설치하면 된다.

P.E. 기반답게 상당히 깔끔하고, 군더더기 없다. 통신사앱은 고사하고 MIUI 등에서 딸려오는 잡다한 앱도 없고 딱 기본적인 앱만 있고, 나머지는 내가 원하는 것을 설치하면 된다.

Home server OS 업그레이드 (?)

집에서 잡다한 데이터들을 저장하고 …. 이런 용도로 쓰는 게 한 10년은 넘게 묵은 HP N54L Microserver 다. 여기에 설치되어 있는 OS 는 CentOS 6.10 이다. (얼마전까지 이 블로그가 돌아가는 서버와 같다.)

켜놓기만 하고 특별히 관리할 것도 없다보니 .. 그랬었는데, 그러다보니 더이상 지원도 안되고 … 뭔가 새로운 패키지를 설치해야 하는데 (예 : homebridge…) 안되는 경우가 나오기 시작했다.

이제는 놔주어야 할 때가 됐다고 생각해서 … Ubuntu 22.04 LTS 로 바꾸려고 설정 백업 받고 있다. ISO 이미지를 어따가 뒀었는데.. 뭐 없으면 다시 받으면 되겠지 …

2000년 10월, 리눅스 매거진 원고 …

2000년 10월, 리눅스 매거진 원고 …

리눅스 발전의 계기… 원동력(?) 리눅스를 처음 어떻게 만났습니까 ? 그리고, 어디에 쓰는지 ? 그리고, 왜 쓰는지요 ?

————————–

조금 지난 얘기부터 꺼내보도록 해보겠다. 1993년 군대에서 막 전역하고 나와서 학교에 놀러 갔다가 원자핵물리를 전공하는 어떤 선배가 졸업논문 쓴다고 좀 도와달라고 해서 밥한끼에 넘어가서 실험실에 앉아서 하안글이나 워드스타인줄 알았는데, ex 라는 편집기로 이상한 것을 입력하고 있는 것을 처음 봤다. 물리과나 수학과가 아니면 유심히 보지 않으면 뭔지 모를 이상한 기호들이 화면에 떠 있고, 확장자도 txt 나 hwp, doc 가 아닌 tex 인 파일들은 하드디스크에서 한 귀퉁이를 차지하고 있었다. 그 선배가 ‘이 파일들이 뭐에요 ?’ 라는 나의 질문에 답 대신 줬던 책은 The TeX Book 라는 책이었고, LaTeX를 ‘라텍스’라고 읽었다가 엄청나게 무식하다는 말도 들었다. – TeX 은 ‘텍’ 이라고 읽고 LaTeX 은 ‘라텍’ 혹은 ‘레이텍’ 이라고 읽는다. 그런데, 당시 도스에서는 문제점이 있었다. 바로 64KB – 640KB 가 아니라 x86 CPU에서 세그먼트 하나의 단위인 64KB – 의 한계를 넘을 수 없다는 것이었다. TeX 파일은 컴파일을 해서 dvi 로 만들어서 그것을 다시 ps 로 변환시켜 인쇄를 해야 하는데, TeX 파일이 조금 커져서 64KB를 넘기면 컴파일이 안되는 것이었다. 나는 그때 좋은 해결책이 있었다. 바로 OS/2 였다. 집에 있는 386 컴퓨터를 학교로 들고 가서 OS/2에서 EMTeX 으로 64KB 가 넘는 파일들도 간단하게 epm 이라는 OS/2 내장 문서 편집기의 도움으로 편집하여 처리하였다. 선배도 OS/2를 깔아서 쓰려고 하는데, 문제점이 있었다. 당시 OS/2 는 AMI 바이오스에서는 키보드 바이오스가 F 버전 이상의 것을 요구했는데, 그 선배의 보드는 8 이었다. 키보드 바이오스가 보드에서 떼어낼 수 있는 것이 대부분이어서 당시에 OS/2 사용자들은 용산이나 청계천에서 바이오스 F 버전을 3천원 정도에 사서 쓰고 있었는데, 선배가 쓰던 보드는 땜질이 되어 있어서 불가능했다. 통신상에서 이리저리 게시판을 뒤지고 다니다가 PC 급에서 기본 메모리 제한을 받지 않는 운영체제 중에 리눅스라는 게 있다는 것을 알게 되었고, 용산으로 뛰어가서 3.5인치 디스켓 60여장에 복사해 왔다. 그전에 학과 서버로 SunOS를 쓰고 있었기 명령어나 그런 것은 그다지 생소하지는 않았다. 그리고… 당연히 TeX 도 가져다가 깔고 – TeX 의 글꼴 파일(메타 폰트) 컴파일 하는데만 3일은 걸렸었다. – 쓰기 시작했다. 그때는 텍스트 환경에서만 쓸 수 있었다. X 가 잡히지를 않았었다. X를 띄우고, 그 위에 한텀을 띄워서 한글을 쓸 수 있게 되고, 그러기까지는 거의 1년이 걸렸다. X를 띄우고, Xeyes를 띄워서 마우스를 이리 저리 빙빙 돌리면서 신기하게 바라보기도 하고 … 그러면서 점점 재미를 느끼기 시작했다.

그렇게 쓰기 시작한 리눅스는 8년이 지났다. 처음엔 TeX에서 메모리 제한없이 작업하기 위해서 쓰기 시작했던 리눅스가 지금은 HWP/X R5 도 깔아서 이 글도 쓰고 있고, 가우로 하이텔에 접속하여 글도 쓰고, xmps 로 동영상도 보고, xmms 로 mp3 도 듣고, 허접하지만, 내 웹페이지도 돌리고 있고, 아직은 영어만 되어서 조금 불만이지만, 스타오피스로 2주에 한번씩 있는 세미나 프리젠테이션 자료도 만들어서 발표하고 있다. 거기에 가끔 퀘이크 류의 게임도 하고, 심심할 때면 시스템 부하를 얼마나 버티나 궁금해서 커널 컴파일에서 make -j 옵션을 줘서 시스템 로드가 50을 넘기는 것을 보면서 ‘음 오래 버티는군.’ 이라고 지켜보기도 하고, 특정한 배포판에 얽매이는 게 싫어서 레드햇의 rpm에서 벗어나 데비안도 깔아 보다가 하드 홀랑 날리고, 그나마 /home 은 백업을 해둬서 살리기도 한다. 이런 것은 모두 재미있어서 하고 있는 일이다. GNU 선언문 혹은 성당과 시장을 읽고 눈물을 흘리면서 밤새 흥분에 휩싸여 ‘와 난 리눅스 쓸 꺼야.’ 라고 했다면 난 거짓말을 하고 있는 것이다. GNU 선언문을 읽은 건 리눅스를 쓰고 난지 한참 뒤인 1998년 여름방학때였다. 읽고 나서도 별로 감동을 받은 것도 없었다. 그저 ‘음 이런 내용이었구나.’라는 생각이 들었을 뿐이었다. 재미난 것을 하다 보니 계속 쓰게 된 것이다.

초등학교 4학년때 Apple II+ 라는 8비트 컴퓨터를 처음 만지면서 컴퓨터를 쓰게 됐지만, 그동안 리눅스만큼 많은 재미와 흥미를 불러 들였던 적은 없었다. 그 ‘재미’ 가 구체적으로 무엇인가 라는 것은 사람마다 다를 것이다. 커널 해킹이나 VGA 카드 등의 해킹을 통해 드라이버 지원이나 성능향상에 기여하는 재미를 느끼는 사람도 있을 것이고, 음악을 듣고, 동영상 보고, 게임하면서 재미를 느끼는 사람도 있을 것이며, 배포판 여러개를 섞어가며 최적의 환경을 만들면서 재미를 느끼는 사람도 있을 것이다. 어쩌면 일주일씩 밤새워서 리눅스를 최적화 시키고 난 다음에 rm -rf / 하는 재미로 리눅스를 깔아보는 재미를 가진 사람도 있을 것이다. – 저렇게 깨끗하게 자기 자신을 지울 수 있는 운영체제도 PC 급에선 만져보기 쉽지 않다.

어느 누구도 리눅스를 쓰라고 강요하지 않는다. 그럼에도 리눅스 개발에 그토록 많은 사람들이 자기 시간을 쪼개가며 도움을 주고, 아직은 불편한 사용자 인터페이스를 개발하기 위해서 노력하고 … 그런 일들을 하는 것을 왜 그러느냐고 한마디로 줄인다면 “재미가 있어서” 라고 할 수 있을 것이다. 사람은 고통, 분노, 힘듦 등은 어떻게든 참을 수 있지만, 심심하다는 것은 어떻게 해볼 수가 없다. 고통이 있으면 아프다고 소리라도 지를 수 있고, 화가 나면 책상에 있는 마우스라도 집어 던질 수 있고, 힘든 일은 투덜거리기라도 할 수 있지만, 심심할 때는 어떻게 할 수 있는 일이 없다. 리눅스는 그러한 심심함을 이길 수 있는 “재미있는 무엇”이다. 그 무엇이 장난감이 될 수도 있고, 도구가 될 수 있으며, 어떤 일거리일 수도 있다. 리눅스를 쓰면서 많은 재미를 느꼈었다. 커널이 새로 나오면 어떻게 하면 덩치를 줄여서 메모리 1byte 라도 더 쓰게 할까 하면서 커널 컴파일 수십번 해 보기도 하고, X윈도에서 글꼴 바꿔 보려고 설정파일 수십번 뒤지고, 사운드 카드에서 소리 나게 하려고 OSS, ALSA 등을 이 잡듯이 뒤지면서 찾아내서 그 사용법을 공유하고, 다른 사람들은 앞서간 사람들의 잘못된 점을 바로 잡고, 더 발전 시켜서 더 편하고 좋게 개발하고… 그러면서 리눅스는 더 쓰기 편하고 강력해졌다고 본다. 재미를 느껴서 리눅스를 쓰게 되고, 쓰면서 불편한 점을 편하게 고치기 위해 노력하고, 그러면서 리눅스는 더 발전하게 될 것이다. 그것이 바로 리눅스의 매력이고, 리눅스 발전의 원동력이다. 단순히 돈으로 환산할 수 없는 “재미”라는 것 말이다.

——— 이랬었군요.

컴퓨터 – 프로그래밍 언어

내가 처음 접한 컴퓨터 언어는 애플 소프트베이식이다. (당시에는 BASIC 을 베이식이라고 읽지 않고 베이직이라고 읽었었다.)

애플 II 프로그래밍 500제 라는 제목으로 기억하고 있는데, 말 그대로 예제가 500개쯤 들어 있는 책이었다. 그 책으로 컴퓨터 프로그래밍을 처음으로 접했다.

컴퓨터를 보유하고 있는 친구네나 친척들은 애플II 보다는 MSX 나 IQ1000 가 많았었고, 그 외에도 호환 기종들이 많이 있었다. 우리집에 있던 애플II도 청계천 호환 제품이었다.

어떤 아이들은 컴퓨터 학원도 다니고 했지만, 오로지 나는 저 책 한권으로 스스로 배웠다. 어쩌다가 보게 되는 컴퓨터 잡지는 저 책에서 얻지 못하는 지식을 얻을 수 있는 몇 안되는 기회였다. 주로 컴퓨터 관련 지식을 접할 수 있는 곳은 제물포역 지하 상가에 있던 파인 시스템이라는 곳이었는데, 컴퓨터 제품을 팔기도 했고, 실제로는 게임을 테이프나 플로피 디스켓에 복사해서 팔던 곳이었다.

중학교에 들어간 이후, IBM 호환기종을 처음 접하였다. 그리고, 몇몇 언어들을 배웠다. Cobol 도 어느 정도 배웠던 것으로 기억하고 있고, 중2 여름 방학때는 그걸로 시험 점수를 입력하면 자동으로 계산해서 평균과 등수를 출력하는 프로그램을 만들어서 학교에서 쓰기도 했었다. (당연히 선생들은 나를 못 믿고 주판으로 또는 손으로 다시 계산해서 성적을 매겼다.)

고등학교 들어가서는 프로그래밍 보다는 게임을 주로 했었다. 집에 있는 애플II는 이미 유행을 어느 정도 지났고, 컴퓨터 잡지에서는 애플II 얘기보다는 IBM 호환 기종들에 대한 내용이 주를 이뤘다. 하지만 그렇다고 해서 완전히 손을 뗀 건 아니었고, 학교 컴퓨터실에 있는 메모리 256KB짜리 컴퓨터들로 GW-BASIC 으로 이런 저런 것들을 짜곤 했었다. 하지만, 고2 2학기때부터는 대입을 위한 공부를 하기 시작하면서 컴퓨터는 잠시 봉인을 했다.

대학교에 들어가서 다시 컴퓨터를 꺼냈고, 대학교 입학 선물로, 386 컴퓨터를 한대 받았다. 무려 모뎀도 달려 있었는데, 이것은 새로운 세상과 만나게 해줬다. 이때부터 다시 몇몇 언어들을 공부했고 주로 당시에는 클리퍼와 Quick-BASIC 을 썼었다. 왠지 C는 다루기 싫었었다. (라기 보다는 포인터 부분에서 좌절하고 반쯤 포기했었다는 게 맞을 거다.)

그리고, 중/고등학교때 상업(남자학교에서는 주로 공업이나 기술과목이었는데, 내가 다닌 학교에서는 상업이었다.) 과목에서 배운 내용으로 남동공단이나 주안공단에 있는 작은 업체들의 전산망에서 요새로 말하면 ERP 고, 실제로는 당시 손으로 쓰던 장부를 컴퓨터로 쓰는 정도의 프로그램을 만들어서 싸게는 몇만원, 비싸게는 20만원쯤에 팔았고, PC 통신에서 알게된 형의 소개로 당구장 관리 프로그램, 비디오 가게 관리 프로그램 등을 제작해서 팔았었다. 그리고 그 돈으로 등록금과 생활비를 마련할 수 있었다.

대학 1학년 마치고 입대를 했는데, 이병에서 일병으로 넘어갈 때쯤 대대 컴퓨터를 관리하게 됐는데, 그때도 클리퍼로 예비군 관리 프로그램을 짜서 돌렸었다. 하지만, 몇달 뒤에 보안 규정에 어긋난다는 이유로 삭제 당하고 영창에 갈 뻔 하기도 했었다.

군복무 후 복학한 후 어느 실험실에 들어가서 이것저것 잡일(…)을 하면서 계산용으로 포트란을 배웠고, 각종 측정장치에서 GPIB(IEEE-488.2 interface) 를 통해서 데이터를 가져오는 것을 C 언어로 작성하는 것을 했었다. 간단한 프로그램 몇개 짜주고 주로 대학원 선배들에게 밥한끼 얻어 먹고 … 그랬었다. 그러다가 대학원으로 갔고, 여전히 GPIB를 통해 데이터를 받아서 그것을 포트란이나 C 언어 등으로 가공해서 데이터를 추출하는 것을 주로 했다.

그리고, 그렇게 데이터를 받아와서 가공하는 것을 계속했고, 그것을 바탕으로 회사도 들어갔고, 지금까지도 어찌 보면 그 일을 계속 하고 있다. 다만, x86 에 ISA 또는 PCI 슬롯에 꽂혀 있는 GPIB 를 통해서 각종 센서나 측정 장치에서 데이터를 받아오던 것을 x86 또는 라즈베리파이 류의 IoT device 에서 USB 나 GPIO 로 센서나 측정 장치와 연결해서 데이터를 받아오고 있고, 데이터는 텍스트 파일로 저장하던 것을 MySQL 이나 MariaDB 같은 데이터베이스로, 센서에서 데이터 읽어오는 프로그램은 주로 C 나 LabView 로 하던 것을 파이썬으로, Origin 으로 하던 데이터 처리는 엑셀이나 R 로 하는 정도가 바뀐 거라면 바뀐 거다. 여전히 그래프는 Origin 이 이쁘게 잘 그리기 떄문에 엑셀이나 R 에서 처리된 데이터를 다시 origin 으로 넘겨서 그래프 그리는 용도로는 계속 쓰고 있지만, data fitting 이나 노이즈 제거 같은 것들은 데부분 파이썬이나 R 로 하고 있다.

6월 20일 정도까지 지금 다니는 회사를 다니고, 그 이후에는 다른 회사로 옮길 예정이다. 이 회사에 와서 작성한 자료중 저런 데이터 처리와 프로그래밍에 대한 것들이 34GB 가 나와서 깜짝 놀랐었는데, 리눅스에서 .cache, .vscode-server, .local 처럼 각종 잡다한 임시 파일(?)을 저장하는 곳을 제외하고 다시 보니 DB, 웹 포함해서 1.5GB 나온다. (vscode 와 pip 로 설치한 python 모듈 임시 파일이 얼마나 많은 거냐 …)

저게 잡다한 임시 파일들과 hwp, ppt, xls 등의 문서파일들을 제외한 순수한 데이터 처리와 관련된 자료의 용량이다. (문서 파일이 저장되는 계정은 swlee 가 아니다.)

나는 자료구조나 앨거리듬 … 이런 것을 정식으로 배워본 적이 없다. 학교 다닐 때 컴퓨터 공학과 강의 듣다가 윈도우 95가 완벽한 32비트 운영체제라는 교수의 말에 욱해서 (당시에 나는 OS/2 를 쓰고 있었다.) 한바탕 해서 F 맞은 뒤로는 그쪽은 쳐다도 안 보고 내가 책을 찾아 가면서 필요한 게 있으면 그때 그때 찾아보면서 했다. 지금도 파이썬으로 뭔가 할 때또 웹 브라우저로 계속 검색하면서 작업한다. 그런데 … 어찌 보면 그게 내가 하는 업무의 1/3 쯤은 되는 것 같다.