vi를 사용하다가 emacs로 넘어왔다. 그동안 vi를 터미널의 기본 에디터로 오랜 세월을 사용하고 있었는데, 사용하면서 크게 불편한것 없었으나 vi의 visual mode / edit mode 등의 mode 전환에 대해서 당연하게 생각하고 써왔던 것에 대해 한두번쯤은 왜 이런게 있어서 커스텀 키매핑할때 더 불편하게 만드나,.. 이런 생각을 가끔식 하곤 했다. 대안에 대해서 따고 고민하지는 않았는데, Emacs를 알고 나서 부터 […]
Gentoo Apache Suexec 설정
Apache suexec 설정 Gentoo에서 Apache 설정중에 SUEXEC를 이용하여 특정 디렉토리의 스크립트 권한을 apache가 아닌 다른 소유자 및 그룹의 권한으로 실행시키게 할수 있는 방법이 있는데, 매번 apache:apache 권한으로 CGI 스크립트를 실행되도록 하다가 실제 해당 User의 권한으로 실행되도록 설정하다가 몇가지 문제점에 부딪혀서 그 해결방법을 메모해 둔다. Suexec는 Apache에서 예제로 아래와 같은 방식으로 설정한다. 위의 내용을 보면 알겠지만, […]
systemd에 reactjs 실행/중지 서비스 추가
Next.js로 구현된 서비스를 systemd에서 실행/중지 하는 daemon service 추가 방법 react.service를 systemd 서비스에 등록 status의 내용중에 Active 상태 정보를 보면 running중인지 여부를 알수 있는데, 만일 running중이면 ‘systemctl start react’로 다시 커맨드를 쳐봐도 ‘ExecStart’의 실행 커맨드를 진행해 주지 않으므로, start했으면 stop을 처리하고 다시 start를 하도록 한다. /root/bin/react.sh 파일내용 스크립트 내용중 start부분의 내용은 runuser 명령어를 사용하면 root로 […]
Gentoo에서 systemd & timedatectl 날짜 sync 하기
date 커맨드로 확인해 보고 시간이 맞지 않을 경우에는 NTP를 이용해서 시간 동기화를 맞춰야 하는데, systemd를 사용하고 있는 젠투에서는 시간을 맞추기 위해 아래처럼 설정해야 한다. NPT는? What is an NTP?NTP is an abbreviation for Network Time Protocol. It is a standard Internet Protocol (IP) for synchronizing computer clocks over a network. This protocol synchronizes all networked […]
Gentoo에서 rst2html5.py 관련 컴파일 에러 해결
emerge 중에 아래와 같이 에러가 나는 경우가 있는데, 원인은 알수 없으나 해결한 과정을 기록해둔다. 직접 rst2html5 파일을 찾아 실행을 시켜보았는데, 역시나 에러는 동일하게 내고 있었다. equery를 통해 어떤 패키지 인지 찾아서 다시 한번 패키지를 설치해보기로 한다. equery가 없다면 gentoolkit 패키지를 설치해야 한다. 패키지는 python-exec라는 걸 가르키고 있는데, 이것도 이전에 잘 설치되었었는데, 일단 다시 설치한다. 두 […]
Gentoo에서 !!! Error: Can’t load module python
젠투에서 emerge 중에 break로 빌드 중단을 했을때, 그 이후부터 python-exec가 제대로 동작하지 않아 아래처럼 문제가 될때가 있다. eselect도 되지 않고 컴파일시에는 no python-exec wrapped executable found in /usr/lib/python-exec. 이런 에러를 내고 더이상 진행이 되지 않을때이다. 이때에는 eselect-python을 다시 설치해 줘야 한다. 업그레이드 확인시에 기존버전에 의한 패키지 block이나 구버전의 의존성 패키지들은 죄다 지워서 업그레이드를 해주도록 한다. […]
Gentoo에서 emerge @world 할때 흔히 보이는 의존성 에러
아래는 흔히 보는 emerge 할때 나오는 에러이다. 의존성에 관련된 문제인데 해결하는 방법을 알아보자. 충돌이 나는 이유 일단 Perl의 업데이트 시에 생기는 문제는 virtual/perl-File-Path 버전은 perl-5.36.1이 필요한 상태이며, TimeDate 버전은 perl-5.34.1 버전을 필요로 하는 것이다. 이걸 해결하려면 당연한 이야기 이지만 TimeDate를 없애면 된다. gutils 패키지를 업데이트를 하려는데, gnutils-3.78 패키지는 net-libs/glib-networking-2.76.0 패키지를 업데이트로 설치할때 의존성을 갖고 있고 […]
nc(netcat)으로 웹페이지 요청해 보기
nc로 웹사이트에 직접적으로 소켓에 붙어 HTTP 메세지를 보내서 통신해 볼수 있다. -c의 옵션은? CRLF 라인 종료를 직접 쳐서 보낸다는 의미 -c Send CRLF as line-ending -c 옵션없이 접속하면 엔터를 치자마자 send 해버린다. HTTP로 80포트로 google.com 소켓에 붙으면 http://www.google.com 으로 Redirection 되는 것을 확인할수 있다.
Gentoo에서 wifi 콘솔용 매니저 nmcli 사용해 보기
nmcli 의미 : network manager command line interface CLI : A command-line interface (CLI) is a text-based user interface (UI) used to run programs, manage computer files and interact with the computer. Command-line interfaces are also called command-line user interfaces, console user interfaces and character user interfaces. CLIs accept as input commands that are entered […]
MacOS에서 locale LC_CTYPE=C로 설정하기
위의 터미널의 Settings의 Profiles > Advanced 탭에 보면 가장 하단에 “Set locale envionment variables on startup” 설정하는 체크박스가 있다. 이 설정을 해제하게 되면 LC_CTYPE이 “C”로 설정되면서 터미널이 시작되게 된다. Text Encoding 설정값인데 이 설정값을 사용하지 않겠다는 것이다. 둘의 차이는 이렇게 다르다. 아래의 캡처 화면을 보자
Android 기기를 통해 연결된 PC 특정 Port로 터널링 하기
안드로이드 기기를 연결한 PC에 특정포트를 외부로 터널링하는 과정을 기술함 아래의 이해를 위해 필요한 지식 인터넷이 안되는 PC에 ReactJS으로 웹서비스를 로컬로 하나 돌리고 있다고 치자. PC에서는 http://localhost:3000으로 접속하면서 자신의 PC 브라우저로 개발을 열심히 하고 있는 상황이다. PC에서 개발용 서버가 동작되고 있는 3000포트를 외부 정상 도메인을 이용하여 http://outside.com:33080 처럼 접속할수 있게 해주는 과정을 설명하는 것이다. PixelExperience가 설치된 […]
Xiaomi Note 7, PixelExperience ROM 설치와 루팅 과정
내가 좋아하는 샤오미 홍미노트 루팅과정에 대해서 기술한다. PixelExperience를 즐겨 쓰기전에는 LineageOS를 줄곧 사용해 왔는데, 지금은 UI가 다소 끌리는 Pixel 디자인의 롬으로 갈아탔다. https://get.pixelexperience.org/lavender 위의 링크로 들어가면 바로 Xiaomi Note 7 Pro의 롬파일을 구할수 있다. 폰 데이터와 기존 롬을 이제 날려버리자.이 작업이 진행되기 전에 사전적으로 롬이 언락이 되어 있어야 한다. 샤오미 계열은 롬이 락이 걸려 있는데 […]