이번주 작업 (2020-10-31)

  • dotfiles 복구 작업

이슈

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을 다시 시작해줘야 한다.
    • 다시 시작하지 않고 왜 안돼냐? 하지 말자.
  • 업데이트 후 처음으로 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 or apt update : 인터넷에 접속해서 현재 최신버전의 인덱스 파일만 업데이트함. 패스워드 필요함
    • apt-get upgrade or apt upgrade : 업데이트된 인덱스 파일 기반으로 실제 업그레이드를 수행함. 앞에서 패스워드 넣어서 패스워드 입력불필요.
  • apt updateapt 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번 포트를 점유하는 것이 확인된다. resmon 캡춰그림
  • 컴퓨터를 껐다가 저녁에 다시 켜서 port 4000으로 접속 해보니 잘된다..뭐가 문제였는지는 오리무중

jekyll serve 기본 포트 설정을 바꾸는 법

  • 또 위와 같은 문제가 생길 경우를 대비해 기본 설정포트를 바꾸는 법을 알아 보았다.
  • 위에서 적은 것과 같이 이렇게 명령줄에서 바로 바꿀 수도 있지만..
    1
    
    > bundle exe jekyll serve --port 4001
    
  • Jekyll 환경설정 링크를 보면 프로젝트 루트에 위치한 _config.yml에서도 할 수 있다.
  • 현재 port 기본값은 Jekyll 환경설정 기본값 링크를 참조하면 된다.
  • 이렇게 추가하면 된다.
    1
    2
    
    # Serving
    port: 4001