44주차 기록
2020.10.26
powershell wsl ubuntu update upgrade jekyll binding port
10/26(월) ~ 11/01(일)
이번주 작업 (2020-10-31)
- dotfiles 복구 작업
이슈
-
PowerShell에서 Regualr Expression 사용하기
- PowerShell에서 escape 쓰는법
-
참고 링크
1 2 3
> $addPath = 'C:\TopSecret\Bin' > [regex]::Escape($addPath) C:\\TopSecret\\Bin
WSL이 갑자기 안되는 문제 해결 (2020-11-01)
- 오랫동안 WSL을 안쓰다가 접속해보니 다음과 같은 문제로 안됨 (Windows Terminal / Ubuntu-20.04 로 접속)
1 2 3 4 5
> 가상 컴퓨터 플랫폼 Windows 기능을 사용하도록 설정하고 BIOS에서 가상화가 사용하도록 설정되어 있는지 확인하세요. 자세한 정보는 https://aka.ms/wsl2-install을 참조하세요 [코드 4294967295로 프로세스 종료됨]
- 찾아보니 관련 내용이 있음
- WSL 2가 version 2004 부터 Linux Kernel 업데이트를 윈도우즈 업데이트시에 seamless하게 하려고 함.
- 일시적으로 전환 과정에서 Linux Kernel 수동 업데이트를 한번 해줘야함.
- 관련 내용 : Temporary experience of manually installing the Linux kernel in Window 10
- 위 내용에서 나온대로 https://aka.ms/wsl2-install로 접속해서…
-
4단계 - Linux 커널 업데이트 패키지 다운로드
에서.. -
x64 머신용 최신 WSL2 Linux 커널 업데이트 패키지
를 클릭하면… -
wsl-update_x64.msi
를 다운로드 받게된다.
-
- 이 번 한번 수동으로 이
.msi
파일을 업데이트 해주면..- 차후 windows update시에 자동으로 Linux Kernel도 업데이트 된다는 내용인 것 같다.
- 주의할 점은
wsl-update_x64.msi
파일을 실행해서 업데이트하고..- windows system을
다시 시작
해줘야 한다. -
다시 시작
하지 않고왜 안돼냐?
하지 말자.
- windows system을
- 업데이트 후 처음으로 wsl 진입시에 프롬프트가 상당 시간동안 나오지 않는다.
- 업데이트 후 처음 나온 메시지
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Welcome to Ubuntu 20.04 LTS (GNU/Linux 4.19.128-microsoft-standard x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Sun Nov 1 11:43:36 KST 2020 System load: 0.0 Processes: 8 Usage of /: 0.7% of 250.98GB Users logged in: 0 Memory usage: 0% IPv4 address for eth0: 모자이크..읍읍 Swap usage: 0% 92 updates can be installed immediately. 38 of these updates are security updates. To see these additional updates run: apt list --upgradable The list of available updates is more than a week old. To check for new updates run: sudo apt update This message is shown once once a day. To disable it please create the /home/honggaruy/.hushlogin file. 내아이디@컴퓨터이름: /mnt/c/Users/내아이디 $
Ubuntu Linux 최신버전으로 갱신 (2020-11-01)
- 위에서 92개 업데이트가 있다길래 해주기로함.
- 참고링크 : How do I update Ubuntu Linux software using command line ?
-
apt-get update
orapt update
: 인터넷에 접속해서 현재 최신버전의 인덱스 파일만 업데이트함. 패스워드 필요함 -
apt-get upgrade
orapt upgrade
: 업데이트된 인덱스 파일 기반으로 실제 업그레이드를 수행함. 앞에서 패스워드 넣어서 패스워드 입력불필요.
-
-
apt update
와apt upgrade
를 차례로 해주어야 함.
Jekyll serve 에러 (2020-11-01)
- 오늘 왠일인지 여기저기서 서비스 에러가 속출한다.
- 현재 개인위키 서비스를 로컬에서 확인시
bundle exec jekyll serve
로 실행하는데 다음과 같이 에러가 난다. - 분명 1시간전까지 잘 되었던것 같은데…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Auto-regeneration: enabled for 'D:/repository/honggaruy.github.io' Traceback (most recent call last): 24: from C:/tools/ruby27/bin/jekyll:23:in `<main>' 23: from C:/tools/ruby27/bin/jekyll:23:in `load' 22: from C:/tools/ruby27/lib/ruby/gems/2.7.0/gems/jekyll-4.1.1/exe/jekyll:15:in `<top (required)>' 21: from C:/tools/ruby27/lib/ruby/gems/2.7.0/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program' 20: from C:/tools/ruby27/lib/ruby/gems/2.7.0/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go' 19: from C:/tools/ruby27/lib/ruby/gems/2.7.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute' 18: from C:/tools/ruby27/lib/ruby/gems/2.7.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each' 17: from C:/tools/ruby27/lib/ruby/gems/2.7.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute' 16: from C:/tools/ruby27/lib/ruby/gems/2.7.0/gems/jekyll-4.1.1/lib/jekyll/commands/serve.rb:86:in `block (2 levels) in init_with_program' 15: from C:/tools/ruby27/lib/ruby/gems/2.7.0/gems/jekyll-4.1.1/lib/jekyll/command.rb:91:in `process_with_graceful_fail' 14: from C:/tools/ruby27/lib/ruby/gems/2.7.0/gems/jekyll-4.1.1/lib/jekyll/command.rb:91:in `each' 13: from C:/tools/ruby27/lib/ruby/gems/2.7.0/gems/jekyll-4.1.1/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail' 12: from C:/tools/ruby27/lib/ruby/gems/2.7.0/gems/jekyll-4.1.1/lib/jekyll/commands/serve.rb:102:in `process' 11: from C:/tools/ruby27/lib/ruby/gems/2.7.0/gems/jekyll-4.1.1/lib/jekyll/commands/serve.rb:215:in `start_up_webrick' 10: from C:/tools/ruby27/lib/ruby/gems/2.7.0/gems/jekyll-4.1.1/lib/jekyll/commands/serve.rb:215:in `new' 9: from C:/tools/ruby27/lib/ruby/2.7.0/webrick/httpserver.rb:47:in `initialize' 8: from C:/tools/ruby27/lib/ruby/2.7.0/webrick/server.rb:108:in `initialize' 7: from C:/tools/ruby27/lib/ruby/2.7.0/webrick/server.rb:127:in `listen' 6: from C:/tools/ruby27/lib/ruby/2.7.0/webrick/utils.rb:65:in `create_listeners' 5: from C:/tools/ruby27/lib/ruby/2.7.0/socket.rb:763:in `tcp_server_sockets' 4: from C:/tools/ruby27/lib/ruby/2.7.0/socket.rb:227:in `foreach' 3: from C:/tools/ruby27/lib/ruby/2.7.0/socket.rb:227:in `each' 2: from C:/tools/ruby27/lib/ruby/2.7.0/socket.rb:765:in `block in tcp_server_sockets' 1: from C:/tools/ruby27/lib/ruby/2.7.0/socket.rb:201:in `listen' C:/tools/ruby27/lib/ruby/2.7.0/socket.rb:201:in `bind': Permission denied - bind(2) for 127.0.0.1:4000 (Errno::EACCES)
-
bundle exec jekyll serve --port 5000
으로 명령을 바꿔 테스트 해봤는데..- .. 문제가 나오지 않는다. 결국 포트 바인딩이 문제
- 그렇다면, 현재 4000 포트가 busy해서 못쓴다는 얘긴데..
- ..
resmon
이나netstat
명령으로 검색해봤지만 localhost:4000 포트 쓰는 곳이 없었다.. - 위에서 5000 포트로 바꿔서 resmon을 보면
네트워크 > 수신 대기 포트
를 확인했을 때 ..- ..
ruby.exe
가 5000번 포트를 점유하는 것이 확인된다.
- ..
- ..
- 컴퓨터를 껐다가 저녁에 다시 켜서 port 4000으로 접속 해보니 잘된다..뭐가 문제였는지는 오리무중
jekyll serve 기본 포트 설정을 바꾸는 법
- 또 위와 같은 문제가 생길 경우를 대비해 기본 설정포트를 바꾸는 법을 알아 보았다.
- 위에서 적은 것과 같이 이렇게 명령줄에서 바로 바꿀 수도 있지만..
1
> bundle exe jekyll serve --port 4001
-
Jekyll 환경설정 링크를 보면
프로젝트 루트
에 위치한_config.yml
에서도 할 수 있다. - 현재 port 기본값은 Jekyll 환경설정 기본값 링크를 참조하면 된다.
- 이렇게 추가하면 된다.
1 2
# Serving port: 4001