테크매니아
아치리눅스를 쓰면서 궁금했던 리눅스의 궁금한 점 - 1) 본문
1. alias 설정 시 'sudo ' 로 설정해줘야 하는 이유
아치 리눅스를 쓰면서 alias를 쓰고 싶었다. 그런데 수퍼유저 권한이 필요한 파일을 편집할 때 sudo가 붙으면 alias가 먹히지 않았다.
그래서 .bashrc 파일에
alias sudo = 'sudo'
alias v = 'vim'
이라고 설정을 해줘도 안 먹었다. ㅠㅠ
그래서 검색을 해보니 ask ubuntu 홈페이지에 자세히 설명해주신 분이 있었다.
그분의 말을 대신 해석해보면
'별칭을 사용하면 간단한 명령의 첫 단어로 사용할 때 문자열을 단어로 대체 할 수 있습니다. 셸은 별칭 및 unalias 기본 명령을 사용하여 설정 및 설정 해제 할 수있는 별칭 목록을 유지 관리합니다. 따옴표로 묶지 않으면 각 간단한 명령의 첫 번째 단어에 별칭이 있는지 확인합니다. 그렇다면 그 단어는 별칭의 텍스트로 대체됩니다. '/', '$', '' ','= '및 위에 나열된 쉘 메타 문자 또는 인용 부호는 별명에 표시되지 않을 수도 있습니다. 대체 텍스트에는 쉘 메타 문자를 포함하여 유효한 셸 입력이 포함될 수 있습니다. 대체 텍스트의 첫 번째 단어는 별칭에 대해 테스트되지만 확장되는 별칭과 동일한 단어는 두 번 확장되지 않습니다. 이것은 예를 들어 ls를 ls -F로 별명을 지정할 수 있으며 Bash는 대체 텍스트를 재귀 적으로 확장하려고 시도하지 않는다는 것을 의미합니다. 별명 값의 마지막 문자가 공백 또는 탭 문자 인 경우, 별명 다음의 다음 명령 단어도 별명 확장에 대해 점검됩니다.'
라고 구글 번역기가 얘기 하는데... 쉽게 말하면 alias가 첫 단어는 치환을 하는 반면
두번째 alias는 치환시도를 하지 않는다는 말이다. 두번째 단어도 alias를 멕이고 싶으면
첫번째 alias에 공백문자를 넣으면 두번째 명령어도 alias인지 체크된다는 말이다.
따라서 sudo = 'sudo ' 라고 해주어야 sudo 뒤에 나올 명령어도 alias 체크를 하게 된다
2. 데몬이란 무엇인가
사용자가 직접적으로 제어하지 않고, 백그라운드에서 돌면서 여러 작업을 하는 프로그램을 말한다. 시스템 로그를 남기는 syslogd처럼 보통 데몬을 뜻하는 ‘d’를 이름 끝에 달고 있으며, 일반적으로 프로세스로 실행된다.
데몬은 대개 부모 프로세스를 갖지 않으며, 즉 PPID가 1이며, 따라서 프로세스 트리에서 init 바로 아래에 위치한다. 데몬이 되는 방법은 일반적으로 자식 프로세스를 포크(fork)하여 생성하고 자식을 분기한 자신을 죽이면서 init이 고아가 된 자식 프로세스를 자기 밑으로 데려가도록 하는 방식이다. 이러한 방법을 ‘fork off and die’라 부르기도 한다.
라고 설명한다.
한마디로 서버 프로세스다. 계속 백그라운드에서 서비싱 하기 위해 메모리에 상주하고 있는 데몬의 예로써 ibus-daemon 이 있었다.
한글 입력기 ibus 라는 프로그램인데, 이 데몬이 항상 백그라운드에 항상 돌고 있어야 한글 입력이 언제든 가능하다.
데몬에는 종류가 있다. standalone과 inetd 두 가지가 있다.
standalone는 실행시키면 항상 상주하며 독립적으로 작동하다. 따라서 응답속도가 빠르다.
그에 반해 inetd(internet service demon)은 슈퍼데몬이라는 놈의 통제를 받는다. 필요한 경우, 클라이언트 요청이 있을 경우만
메모리에 적재된다. /etc/xinetd.d/ 아래에 보면 텔넷과 ftp 가 있는데, 이런 놈들이 inetd 타입이다.
이 부분에 대해 공부하면서 떠오른게 동기랑 비동기 개념이었다.
뭐... 비슷한 맥락일 듯 싶다.
pstree 명령어로 확인할 수 있다.
이쯤 되면 시작되는 삽질...
데몬을 차차 만들어보려고 한다...
3. 콘솔에서 창 띄우지 않고 프로그램 실행방법
명령어 & 으로 백그라운드로 실행한다
4. 무선랜 터미널로 연결하는 법 - wifi-menu
- netctl 명령어
- iw 명령어 이용. 그러나 iw의 경우 보안이 없거나 wep 방식의 보안만을 먹는다. wpa-supplicant라는
유틸을 같이 사용해야 한다.