목록Linux (10)
채록채록
진짜 어제부터 잘 되던 커널모듈 예제가 컴파일조차 안되어서 미치는줄 알았다. 오류 내용은 다음과 같다.챗지피티에게 물어봐도 뻔한 대답을 하고(뭐 이것저것 잘 검토해보세요! 같은)검색해서 한 방법도 잘 안되고, 업데이트했다가 재부팅도 해보고...실습 예제가 나와있는 책에서 하란대로 헤더도 설치했는데 안되었다. ㅠㅠ그런데 다른 사이트를 참고하여 linux headers를 '재'설치하니까 되었다.포인트는 '재'설치이다. 그냥 install 하면 안된다.그러니까 이제 드디어 컴파일된 것을 확인할 수 있었다. 내가 저 헬로월드를 출력하기 위해 이런 개고생을 했다니...살짝 자괴감들었지만 그래도 그 과정에서 알게된 것이 많았음에 의의를 둔다.1. 커널모듈 코드를 뜯어보며 모듈이 커널에 insmod될 때 호출되는 i..
뭐.. 하란대로 했는데그랬을 뿐인데..이런 개토나오는것들이 나옴. 그래도 재밌었던건 이론으로마나 보단 메모리주소가 나왔다는 것...난 다른 것들도 즐길려고 노력하고 성공한 경험이 있으니 이제 이것들도 즐길 수 있을거야.
나름 firefox 예뻐서 잘 쓰고 있었는데 사용 빈도와 난이도가 높아져감에 따라 한가지 큰 불편함을 느끼게 되었다. 그것은 바로 번역기 기능이다. 크롬은 구글 번역기 플러그인을 이용하기 쉬워서 그동안 영어로된 자료를 이용하는 것에 큰 불편함을 느끼지 못했었다... 그래서 어떻게든 firefox의 좋은 번역기 플러그인을 찾으려고 했으나, 페이지를 자동번역해주는 플러그인을 잘 못찾았다. 그러다보니 내가 chrome을 이용하기만 하면 끝날 문제를 굳이 시간을 낭비해가며 찾아야하는 이유는 무엇인가, 그렇다고해서 내가 firefox를 완전히 잘 이해하고 쓰고있는가, 하는 의문이 들었다. 심지어는 지금 이 글을 쓰고 있는데도 자꾸 무슨 이유에서인지 한영키를 칠 때마다 이런 firefox 설정창이 떠버려서 화가 ..
git설치도 뭐 별게 없었다. 그러나 한가지 처음 git을 설치했을 때랑 달라진 점이 있다면, git config --global user~ 의 명령어를 완벽하게 이해하고 썼다는 점. 딱히 추가로 학습한 적이 없음에도 명령어를 완전히 이해할 수 있었던 이유는 1. config : webpack설정할 때, apache 설정할 때 지겹도록 봤던 단어이다. 2. --global : 전역변수와 정적변수의 차이가 무엇인지 컴퓨터구조 수업 끝나고 찾아봤던 경험이 도움이 되었다. 둘 다 정적 메모리 영역을 사용하지만 전역변수는 분할 컴파일 환경에서 모든 소스파일과 함수에서 접근 가능하고, 정적 변수는 특정파일스코프/함수내부스코프로 접근이 제한된다는 점을 알게되었는데, 그 개념을 생각하니 --global 옵션을 주고 ..
참고한 블로그에서 하란대로 하고 가상환경도 만들고 거기에 django까지 깔고 startproject 명령어를 쳤는데 저런 난리부르스의 오류가 떴다. 그래서 챗지피티에게 물어보니 가상환경의 파이썬과 django의 버전 호환 문제였다. 생각보다 간단한 문제였어서 그냥 django를 업데이트 하는 것으로 문제를 해결했다. 그런데 여기서 중요했던 것은, 저런 난리부르스의 오류에서 sys.exit(execute_from_command_line()) self.fetch_command(subcommand).run_from_argv(self.argv) 부분이 너무 반가웠다는 것이다. 그 이유는 오늘 풀스택서비스네트워킹에서 argv에 대해서 짤막하게 배웠기 때문이다. 만약 그것을 배우지 않았다면 저런 오류난리부르스도 ..
debian을 쓰고있고, 오픈소스sw개발방법및도구 수업을 듣고있는만큼, Gedit, Atom을 써볼까 했지만 1. 아직 vim도 익숙하지 않다. 2. Atom은 지원종료되었다. 3. 오픈소스sw개발방법및도구에서 오픈소스만큼 여러번 설명하신 것이 '시간'이다. 의 이유로 vscode를 쓰기로 결정했다. vscode 설치는 자료가 많아서 크게 어려움이 없었다. 오늘 풀스택서비스네트워킹 수업에서 교수님께서 터미널에서 명령어로 한글을 실행하는 것을 보여주셨던게 너무 멋있고 따라하고 싶었어서, vscode를 터미널에서 실행해보려고 code .를 쳤다. 그런데 위와 같은 안내가 나왔다. 그래서 챗지피티에게 이게 무엇이냐고 물어보니, 일반적으로 루트 권한으로 gui 응용프로그램을 실행하는 것이 권장되지 않는다고 한다..
블로그에서 하란대로 하면 mysql설정은 금방 끝날 것이라고 생각했는데 원만하진 않았다. 그 이유는 다음과 같다. 1. 심볼릭 링크가 잘 설정되지 않아서 긴 파일명을 일일이 쳐주어야했다. 챗지피티에게 심볼릭 링크에 대해 물어보고 확인도 해보았다. ls -l 명령어로 확인도 해보았으나 여전히 안되어서 일단 설정부터 끝내자, 하고 넘어갔다. +) 엥 근데 mysql 말고 mysqlLink라는 이름으로 심볼릭링크 생성하니까 되었다.. 뭐지 2. mysqld_safe를 백그라운드로 돌리는 명령어가 나왔을 때 살짝 당황했다. 그 이유는 다음과 같다. mysqld_safe가 무엇인지 몰라서 괜시리 겁났다. 백그라운드로 돌리면 계속 돌아간다는 뜻인가 싶어 내 노트북이 그걸 감당할 수 있나..? 싶었다. 루트 사용자에..
사실 바로 내 다른 노트북으로 http://127.0.0.1/index.html하고 싶어서 챗지피티에게 물어봤고, 그 결과 뭐 httpd.conf 설정, 방화벽 설정... 등등을 하라길래 시도는 해보았으나 너무 잘 모르겠어서 다시 그냥 원래 하던거 계속 일단 해보기로 했다 ㅋ apache2가 가리키는 디렉토리(index.html이 있던 곳)로 다시 이동해주고 phpinfo.php에 phpinfo(): 설치된 php정보를 출력해주는 함수 내가 나타나볼게~ 짠! = php 사용 준비 완료~ 이제 mysql을 다운받을 차례이다. 근데 mysql사용도 처음이라 mysql사이트에서도 좀 헤맸다. 그래도 어찌저찌 다운로드 찾아서 다운! 는 사실 구라다. 이렇게하면 추가설정을 수동으로 해줘야하는데 mysql 처음쓰는..
일단 하란대로 apt-get install php하긴 했는데 아직 왜해야하는지는 잘 모르겠다. nano 편집기로 index.html 수정해주고 default.conf 백업해주고 vi 이용해서 conf 파일을 수정해야했다. 브라우저에 보일 파일이 index.html이 되게끔 해주는 작업인 것 같다. 근데 vi 어려워서 엄청 오래걸림.. 그리고 apache2 reload하니까 짜잔~ reference https://mytory.net/archives/3143
이번학기에 또 이성원교수님의 수업을 듣기 시작하면서 작년에 들었던 마이크로서비스 프로그래밍 과목 생각도 나고.. WSL2도 다시 만나게 되었다. 그래서 wsl2와 도커 이것저것 구글링해보다가 읽어보는데 수업들으면서 공부했던 작년보다 다른 배경지식이 조금 쌓이니 이해도가 달랐다. 하지만 역시나 아직 부족한 지식이 더 많아서 다 이해는 하지 못했다. sudoer그룹에 사용자를 추가하는 이유와 원리를 모르겠다. sudo명령어를 사용해본 적이 없기 때문이다. 도커 컨텍스트(docker context)라는건 진짜 처음본다.. 도커 빌드나 배포에 대한 이해가 부족한 채 마이크로서비스프로그래밍 과제들을 했었기 때문이다. 도커 빌드 배포 제대로 해봐야겠다. 그 과정에서 왜 환경변수 설정이 필요한지 모르겠다. wsl/w..