툴 같은 것들을 테스트하기 위해서 Ubuntu 여러 버전을 만들어 놓고 있는데

잊을만하면 나오는 기분나쁜 메시지 !!!



대체 Avahi 라는 놈은 뭔데 나를 기분 상하게 하지!?

심지어 이것때문인지 오류 보고까지 하겠다고 한다. 아! 기분나빠!






Avahi가 뭔지 열심히 검색을 해보았더니,

Zeroconf(Zero configuration networking)의 Linux 환경을 위한 구현체라고 한다.


Zeroconf라는 놈은 또 무엇일까 열심히 검색을 해보았더니,

DHCP가 없는 환경에서도 수동 설정 없이 자동으로 네트워킹을 할 수 있는 환경을 만들어주는 것을 말한다고 한다.

(Apple의 Bonjour와 같은 놈!)


뭐 지금 이 놈에 대해서 깊이 공부하는 시간은 아니니...여기까지만 하기로 하고...



결론적으로,

이러한 Avahi의 알려진 버그로 인해서 특정 ISP 환경에서는 위와 같은 에러 메시지(?)를 보인단다.


그래서 저런 메시지가 나오지 않게 하려면 다음과 같이 하면 된다.



$ sudo nano /usr/lib/avahi/avahi-daemon-check-dns.sh


AVAHI_DAEMON_DETECT_LOCAL=1


AVAHI_DAEMON_DETECT_LOCAL=0


하나 더!


$ sudo nano /etc/default/avahi-daemon


AVAHI_DAEMON_DETECT_LOCAL=1


AVAHI_DAEMON_DETECT_LOCAL=0



그럼 이제는 재부팅~


반응형


예전에 컴파일 시간 비교를 위해서 만만한(?) 커널을 가지고 테스트를 했었다.

그 때 메모해놓은 커널 컴파일 방법을 찾게되어서... 포스팅을 마무리 하고자 한다.



1. 사전 준비

    - 미리 설치해야하는 것들이 좀 있다.

$ sudo apt-get install build-essential kernel-package libncurses5-dev libgtk2.0-dev libglib2.0-dev libglade2-dev libqt3-mt-dev bin86 libssl-dev



2. 커널 다운로드

    - Ubuntu 패키지가 아니라 직접 다운로드 받아서 해보겠다.
    - 커널 소스가 있는 곳은 /usr/src 이다.

$ cd /usr/src

$ sudo wget https://cdn.kernel.org/pub/linux/kernel/v4.x/testing/linux-4.3-rc4.tar.xz

$ sudo xz -d linux-4.3-rc4.tar.xz

$ sudo tar -xvf linux-4.3-rc4.tar

$ cd ./linux-4.3-rc4

    - 특이하게(?) xz 타입으로 배포하는 커널이다.


3. 옵션 설정

    - 나름 Graphical 화면이 등장한다.

$ sudo make menuconfig

    - Save는 ".config" 파일로 하면 된다.



4. 빌드

   - 그냥 하면 된다.

$ sudo make


상황에 따라 다음과 같은 명령어도 사용할 수 있다.

설치 및 활용은 다음에 기회를 봐서 포스팅하겠다.

$ sudo make clean

$ sudo make bzImage install

$ sudo make modules modules_install




반응형

리눅스 서버를 가지고 놀다보면 종종 Shell Script를 작성해야하는 일이 발생한다.
아니면, 남이 만들어놓은 Script를 분석해야하는 경우거나...

이럴 때에 종종 부딪히는 문제가 내부 변수들에 대한 이해이다.
그러다가 찾은 너무나 잘 정리되어 있는 자료 발견~!!!

    - https://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/internalvariables.html


내부 변수에 대한 내용뿐만 아니라 Bash shell script에 대한 전반적인 사항 모두 훌륭하다.

    - https://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/index.html

Bash shell script의 기본 템플릿은 다음과 같이 하면 된다.

#! /bin/bash

blah blah

exit 0



반응형

집에서 혼자서 리눅스를 사용하다가 Apache2를 사용하다보면 아래와 같은 경고(?) 메시지를 보곤 한다.

 


$ sudo service apache2 restart
 * Restarting web server apache2                                                                                                          apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
 ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
                                                                                                                                   [ OK ]

Apache2 구동에는 별 지장이 없지만, 괜히 저런 메시지를 보면 기분이 나쁘니... 없애보자.

 


$ sudo nano /etc/apache2/httpd.conf

ServerName localhost

[ /etc/apache2/httpd.conf ] 파일을 수정하여 ServerName을 적어주면 된다.

 


$ sudo service apache2 restart


그리고, apache2를 재시작하면 기존에 보이던 마음에 안드는 메시지가 사라졌을 것이다!!!

 

위와 같이 해도 여전히 에러메시지가 나올 때가 있다.

그럴 때엔 앞에서 만든 "/etc/apache2/httpd.conf" 파일 삭제하고,

"/etc/apache2/apache2.conf" 파일의 제일 뒤에 "ServerName localhost" 적어주고 나서

"sudo service apache2 restart" 해주면 된다.

 

 http://hosts.tistory.com/448


 

반응형

여러 버전의 JDK를 사용하고 싶은 경우 때문에 알게된 명령어가 바로 "update-alternatives" 이다.

기본적인 사항을 한 번 살펴보기 위해서 java를 살펴보자.

$ whereis java
java: /usr/bin/java /usr/bin/X11/java /usr/local/java /usr/share/java

여기저기에 위치하고 있는 java 중에서 "/usr/bin/java"에 대해서 조금 더 자세히 살펴보면,

$ ls -al /usr/bin/java
lrwxrwxrwx 1 root root 22  6월  7 22:10 /usr/bin/java -> /etc/alternatives/java

잘 살펴보면, 일반적이지 않은 경로의 링크가 보인다. 바로 "alternatives" 경로가 바로 그것이다.
이러한 설정을 알아보기 위해서 "--config" 옵션을 사용해보면 전체 목록을 보면서 설정도 해볼 수 있다.

$ update-alternatives --config java
대체 항목 java에 대해 (/usr/bin/java 제공) 2개 선택이 있습니다.

  선택       경로                                            우선순위    상태
------------------------------------------------------------
  0            /usr/local/java/jdk1.7.0_60/bin/java   1         자동 모드
* 1            /usr/local/java/jdk1.7.0_60/bin/java   1         수동 모드
  2            /usr/local/java/jdk1.8.0_05/bin/java   2         수동 모드

기본 사항[*]을 사용하려면 엔터, 다른 것을 사용하려면 번호를 입력하십시오:

$

위의 화면을 보면, 설정에 대해서 전반적으로 살펴볼 수 있다.
사실 정보만 보기 위해서는 "--display" 옵션이 맞는 것이지만, 예쁘게 보여주는 것은 "--config" 옵션인 것 같다.



[ 등록하기 ]

특정 패키지를 설치한 후 다음과 같은 명령어로 등록을 할 수 있다.

sudo update-alternatives --install <link> <name> <path> <priority>

각 항목에 대한 설명은 다음과 같다.

옵션 설명
<link>   실행파일 이름으로 /etc/alternatives/<name> 을 가리킨다.
 (예: /usr/bin/pager) 
<name>   해당 링크 그룹의 대표 이름으로, 여러 가지 버전의 패키지들을 대표하는 이름으로 보면 될 것 같다.
 (예: pager)
<path>   alternatives 로 실제 연결할 실행파일 이름으로, 시스템에 설치한 패키지의 실행파일 이름이다.
 (예: /usr/bin/less)
<priority>   automatic 모드에서 어떤 것을 자동으로 선택해서 사용할지 결정할 때 사용되는 우선순위로, 높은 수가 더 높은 우선순위이다.



[ 삭제하기 ]

설정한 내역을 지워버리고 싶을 때에는 다음과 같이 하자.

sudo update-alternatives --remove <name> <path>




[ 설정하기 ]

등록한 내역을 설정하기 위해서는 다음과 같이 하면 된다.

sudo update-alternatives --set <name> <path>



반응형

어렷을적 슬렉웨어(Slackware)를 설치하면서 무수히 커피를 마셨고,
레드헷(Red Hat)에 빠졌다가 페도라(Fedora)가 나오면서 왠지 배신감에 다른 배포판을 찾게 되었고...

젠투(Gentoo)의 빌드 매력에 잠시 빠져 허덕이기도 하고
필요에 의해서 솔라리스(Solaris), 수세(SUSE), 센트(CentOS), 아치(Arch) 等도 잠시 사용을 했었다.


물론 지금 필자의 블로그를 보신 분이라면 알겠지만, 최근에는 우분투(Ubuntu)에 푸욱~ 빠져 있다.
거의 지배적인 위치에 있다보니 너무나 많은 레퍼런스가 있고, 사용하기에도 편하고
업무에서도 거의 표준으로 사용하기에 개인적인 취향과 업무와 일치하기도 쉽고.... ^^


그러다가 갑자기 떠오른 생각!

   "전세계적으로 가장 많이 사용되는 배포판이 무엇일까?"


그런데 가만히 생각해보니, 이러한 순위를 종종 봤던 기억이 떠올랐다. 다른 블로그 또는 기사로 접했던 것이다.
그 아티클에서 인용을 하던 사이트는 다음과 같다.

   - http://distrowatch.com/



이 사이트에서 방문자들이 검색하는 내용을 가지고 순위를 제공해주고 있다.



필자는 당연히 Ubuntu가 1위를 하고 있을 것이라 생각했다. 하지만... 2위?!

사실 순위표 전체를 가지고 평가하면 Ubuntu가 1위가 맞다!!!
Ubuntu 기반의 배포판들을 모두 더하면 탁월하게 1위다! Mint, kubuntu, xubuntu, Lubuntu 等 모두 Ubuntu 가족들이다.

뭐 여하튼, 위에서 보는바와 같이 글로벌하게 가장 많이 사용하는 리눅스 배포판은 바로 "Mint"이다!



그래서인지, Mint 홈페이지에 보면 세상에서 3번째로 많이 사용되는 가정용 운영체제라고 자부하고 있다.
윈도우즈, Mac 다음으로 Mint ~ !!


Ubuntu 기반이다보니 당연하게도 Debian을 뿌리로 두기 때문에,
데비안 패키지와 우분투 패키지를 사용할 수 있다는 장점은 물론이고 커뮤니티 기반으로 활발한 괜찮은 배포판이다.



Mint 배포판도 한 번 국내에 많은 보급이 되도록 한 번 살펴보도록 해야겠다!
(이미 많이 알려져있을 수도 있지만, 업무에서 사용하는 용도로는 아직 아닌 것 같기에...)

반응형

hostname 우리말로는 "호스트명"이라고 부르면 될 것 같다.

일반적으로는 네트워크에서 특정 컴퓨터(서버)를 인식할 수 있는 이름을 의미하게 되며,
같은 네트워크에서는 유니크한 이름을 갖도록 해야 한다.

만일, 동일한 네트워크에서 같은 호스트명을 사용하게 된다면
단순한 혼란이 발생하는 것이 아니라 충돌상황이 발생할 수도 있다.

FQDN(Fully Qualified Domain Name)과 관련한 부분에 대해서는 이번에는 제외하도록 하겠다.


1. hostname 확인하기

   - 지금 현재 설정되어있는 호스트명을 확인하기 위해서는 다음과 같이 실행해보면 된다.
   - 물론, 대부분의 사용자들은 프롬프트에 표현되어 있기도 하다.

$ hostname

   - "2014.08.16" 기준으로 Ubuntu 12.04에서 hostname 버전은 3.06이고, 14.04에서는 3.15 이다.
   - hostname 버전에 따라서 약간의 옵션 차이가 있기에 12.04/14.04 모두에 적용되는 내용으로 설명하겠다.



2. hostname 변경하기

   - Linux 배포판에 따라 차이가 있는 부분인데, 우리는 여기에서 Ubuntu 기준으로 설명하도록 하겠다.

$ sudo nano /etc/hostname

변경하고 싶은 호스트명

   - 다른 내용은 필요없고, 호스트명을 수정하면된다.

$ sudo hostname -F /etc/hostname

   - [ hostname ] 명령으로 확인하면 변경된 것을 확인할 수 있지만, 터미널을 다시 실행하는 것이 깔끔하다.



3. 뒷정리하기

   - 위와 같이 하면, 기본적으로 호스트명을 변경할 수 있지만 다른 부분도 손봐주는 것이 바람직하기에...

$ sudo nano /etc/hosts

127.0.0.1         localhost
127.0.0.1         변경한 호스트명
...


필자의 경험으로... 네트워크와 관련된 사항들은 재부팅을 해주는 것이 가장 깔끔하다!

반응형

그 동안 계속 한글 입력기로 "nabi"를 사용해왔지만,
Ubuntu 14.04에서 시스템 트레이를 지원하지 않고 있어서 조금 짜증이 나던 차에
최근 Chrome에서 계속 한글 입력 문제가 계속 되면서 더더더욱 짜증이 나서.... 바꿔 보기로 했다.

Ubuntu 12.04에서는 기본 환경에서 아래와 같이 진행할 수가 없다.
Chrome 한글 문제는 Ubuntu 12.04에서는 그냥 ibus 한글 입력기를 사용하는 것이 속편하다.

발음하기도 힘든 fcitx라고 하는 한글입력기를 사용해보고자 한다.
공식 홈페이지는 https://fcitx-im.org/wiki/Fcitx 이고, 여기에서 발음은 "파이틱스"(?)라고 한다.

설치는 바로~ ^^

$ sudo apt-get install fcitx-hangul

한글입력기는 설치하고 사용하려면 재부팅을 요구한다.
재부팅을 안해도 된다고 하면 방법을 누가 알려주기 바란다.

재부팅 후에 "시스템 설정"을 하고선 "언어 지원"을 실행하자.




"언어 설치/제거" 부분을 보면 fcitx를 선택할 수 있다.



상세한 설정을 위해서는 상단 시스템 트레이에서 키보드 모양을 선택하고 Configure를 실행하자.



그러면 아래와 같은 화면이 나온다.


한영키 설정을 하려면 "Global Config"를 선택하면 된다.


필자는 이렇게 해서 한글 입력 잘 되었다~!!! 성공~!!!

반응형
  1. yunis 2014.10.23 21:20

    감사합니다! 많은 도움이 되었습니다~~~

  2. nicezic 2015.06.22 10:45

    전 Trigger Input Method 에서 한글키 설정 안되더라요. ㅠ

+ Recent posts