11월, 2017의 게시물 표시

Ubuntu 로그인 할때 시스템 정보 출력

Ubuntu 에 로그인을 하면, 단순하게 Welcome 문구만 출력되는게 일반적일 것이다.

Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.10.0-38-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

Last login: Tue Nov 28 17:55:46 2017 from 121.133.176.6
하지만, 좀 더 많은 정보를 제공해 줄 수도 있다.

Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.10.0-38-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Tue Nov 28 22:39:25 KST 2017

  System load:     0.46                    Processes:                 119
  Usage of /:       13.7% of 38.26GB   Users logged in:         1
  Memory usage: 29%                     IP address for eth0:     172.30.1.104
  Swap usage:     4%                      IP address for docker0: 172.17.0.1

  Graph this data and manage this system at:
    https://landscape.canonical.com/

Last login: Tu…

Ubuntu 에서 diff (차이점) 보여주는 프로그램

이미지
작업을 하다 보면, 파일의 diff(차이점) 을 봐야할 때가 있다.

그것이
소스 파일의 변경 내용일 수도 있고,
환경 설정 파일의 차이 일수도 있고,
의외로 꽤 자주 필요하다.

diff 를 보여주는 훌륭한 무료 프로그램들이 많이 있다.
잘 사용하면 큰 도움이 될 것이다.

tkdiff
예전에 svn 을 주로 이용할 때는, tkdiff 를 많이 이용했었다.

설치
% sudo apt-get install tkdiff wish

사용
% tkdiff 1.txt 2.txt

diffuse
tkdiff 를 사용하기 힘든 환경일 때, 대안으로 사용했던 프로그램이었다.

설치
% sudo apt-get install diffuse

사용
% diffuse 1.txt 2.txt

meld
사용은 거의 안 해봤지만, 종종 사용해봤던 프로그램이었다.

설치
% sudo apt-get install meld

사용
% meld 1.txt 2.txt


각 프로그램 마다 인터페이스와 기능이 다르다는건 당연한 이야기이고,
셋 다 골고루 사용해 보고,
더 마음에 드는걸 사용하면 된다.

늘 그랬듯이 선택은 자신의 몫.


PostgreSQL 소스 설치 (Ubuntu Server 16.04)

PostgreSQL 를 Ubuntu Server 16.04 에 설치할 때,
에러 없이 한번에 주루룩 설치하면 좋겠지만,
현실은 에러 메세지를 몇번 해결해 줘야 한다.

설치 진행 중에 나타나는 에러와 해결 방법을 적어보았다.

PostgreSQL 을 다운로드 하자.
% wget https://ftp.postgresql.org/pub/source/v9.6.5/postgresql-9.6.5.tar.gz

압축을 해제 하자.
% tar vxzf postgresql-9.6.5.tar.gz

디렉토리로 이동 하자.
% cd postgresql-9.6.5

설정을 진행 하자.
% ./configure --prefix=$HOME/postgresql --enable-debug

checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking which template to use... linux
checking whether to build with 64-bit integer date/time support... yes
checking whether NLS is wanted... no
checking for default port number... 5432
checking for block size... 8kB
checking for segment size... 1GB
checking for WAL block size... 8kB
checking for WAL segment size... 16MB
checking for gcc... no
checking for cc... no
configure: error: in `/home/ck0911/postgresql-9.6.5_3':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
컴파일러…

X 윈도 시스템 (X Window System) 그리고 VcXsrv (Windows X Server)

이미지
X 윈도 시스템 (X Window System)은 주로 유닉스 계열 운영체제에서 사용되는 윈도 시스템이다.
.
.
.
라고 정의되어 있다.

정의만으로는 그것이 무엇인지 알기 어렵다.
그래서 인터넷 이곳 저곳 찾아보고, 사용도 해보면서 개인적으로 내린 결론은,
쉽게 말해서 리눅스(유닉스 그 외)에서 사용 가능한 GUI 이다.

빌게이츠 횽이 만든 Windows OS 에서 볼 수 있는 그래픽 인터페이스를,
리눅스에서도 사용할 수 있게 만든것이 X Windows System 이다.

응? GUI 사용 가능하다는게 무슨 말이여?
리눅스는 원래 command(CUI) 로 동작하는 OS 아닌가?

맞다. 리눅스는 원래 CUI 로 동작하는 OS 이다.
당연한 얘기겠지만, CUI 방식을 불편해 하는 사용자가 있을것이고,
GUI 에 대한 요청이 있었을 것이다.
그래서 만들어진 것이다.

우리가 리눅스 서버 버전 말고, 리눅스 데스크탑 버전을 다운 받아서 설치하면,
마치 윈도우와 비슷하게 바탕화면도 있고 아이콘도 있고 GUI 환경에서 리눅스를 사용할 수 있다.

출처 : https://ko.wikipedia.org/wiki/X_윈도_시스템
이곳에서 그래픽 유틸리티를 사용할 수 있고, 마우스를 사용해서 리눅스를 컨트롤 할 수 있다.
그래서 일반 사용자들도 손쉽게(아마도) 리눅스를 사용할 수 있게 되었을 것이다.

사실 윈도우가 더 편하긴 하겠지만.....아무튼,
X Window 에는 아주 아주 중요한 기능이 있다.
그것은 바로, X Window 가 Server-Client 구조로 동작한다는 것이다.
그래픽 화면을 뿌려줄때 Server-Client 구조로 뿌려준다는 말이다.

무슨 말인고 하니,
Server 는 리눅스 본체라고 생각하면 되고
Client 는 그래픽 화면이라고 생각하면 된다.

그래서....?

그래서~ 저 Client 를 다른 컴퓨터에 나타나게 할 수 있다는 말이다.
아직까지도 아리송 할 수 있으니, 직접 눈으로 보는게 나을거 같다.

아래 링크에 들어가서 vcXsrv 를 다운로드 …

VcXsrv Windows X Server 한글 깨짐

이미지
개인적으로 회사에서든 집에서든, ubuntu 를 자주 사용하는 편이다.

ubuntu 를 데탑처럼 사용할 때도 있지만,
주로 원격으로 사용을 많이 한다.
원격이라는건 뭐~ 흔히들 사용하는 ssh 를 주로 사용하는 편이다.

콘솔(CUI) 작업만으로는 한계가 있는 경우가 있어서,
그래픽(GUI) 작업을 병행할 때가 점점 많아지고 있다.

ssh 를 사용하면 그래픽 인터페이스를 직접 사용할 수 없으니,
당연히 x-windows 를 끌어와서 사용한다.

그래픽을 끌어오는 프로그램은 여러 종류가 있다.
그 중에서 VcXsrv 를 사용중인데, 그래픽을 끌어올때 한글이 깨져나온다.
VcXsrv 에 대해 더 자세한 내용은 아래 링크에서 얻을 수 있다.
http://kimchki.blogspot.kr/2017/11/x-x-window-system-vcxsrv-windows-x.html


한글 폰트가 없어서 깨져나오는 현상이었다.
물론 나는 ubuntu server 를 설치해서 사용중이라서,
한글 폰트가 설치되어 있지 않았다.
한글 폰트를 설치해 보자.

$ sudo apt-get install fonts-nanum-coding

다른 폰트를 원한다면, 물론 다른걸 설치해도 된다.

그리고 다시 실행해보면,
한글이 정상적으로 잘 나온다.






출처
http://clien-achive.blogspot.kr/2016/08/bash-on-ubuntu-on-windows-1.html

윈도우10 업데이트 강제 재부팅 막기

이미지
개인적으로 윈도우를 사용해서 서버를 돌리고 있다.

거창하게 뭔가 대단한 그런 서버를 돌리는건 아니고,
지극히 개인 용도로 사용하기 위해 돌리고 있는 수준이다.

그렇기 때문에, 서버용 윈도우를 사용해서 돌리는게 아니라
그냥 가정용 윈도우7을 사용하고 있다.

그렇게 지금까지 윈도우7을 잘 사용해오다가,
이제는 흐름에 맞춰서 윈도우10으로 갈아탔다.

그런데 어느날 보니, 서버가 재부팅이 되어 있었다.
어라? 뭐여?

순간 엄청 놀랬다.
공격당한건지, 잠깐 정전이 된건지, 부품이 노후화 된건지,,,,

윈도우 알림 tray 에 업데이트 되었다는 알림이 뜬걸 보고,
어라? 자동업데이트 하고 재부팅 했나보네....

구글링을 해보니, 역시나~
나 처럼 빌게이츠 횽한테 한방 먹은 사람들의 불만과 조치 방법들이 많이 검색되었다.


자동 업데이트? 그렇지. 좋지. 업데이트는 항상 하는게 좋지.
그런데 사용자 계정이 로그인 되어 있는데도 불구하고 자동 재부팅?
그건 좀 아니지 않나?

그래서 아래와 같이 하면 자동 재부팅을 막을 수 있다.

"로컬 그룹 정책 편집기" 를 실행시킨다.
"시작 - 실행 - gpedit.msc"

여러가지 셋팅들이 tree 형식으로 구성되어 있다.
업데이트와 관련된 곳으로 이동하자.
"컴퓨터 구성 - 관리 템플릿 - Windows 구성 요소 - Windows 업데이트"


오른쪽에 업데이트 관련 설정 항목들이 보인다.
"자동 업데이트 구성" 항목을 더블클릭한다.
어떤 블로그들을 보면, "사용 안 함" 으로 설정하면 된다고 설명하고 있다.
물론 그렇게 하고, 수동으로 업데이트를 실행해도 된다.

그 방법만 있는건 아니고, "자동으로 다운로드하고 설치할때 알림" 으로 설정해도 된다.


"예약된 자동 업데이트 설치 시 로그온한 사용자가 있을 경우 자동 다시 시작 사용 안 함"
항목을 "사용" 으로 설정한다.
이렇게 하면 자동으로 재…

우분투(Ubuntu) 컴퓨터 이름 변경

이미지
우분투(ubuntu) 에서 컴퓨터 이름을 변경하고 싶을 때가 있다.

기본적으로 ubuntu 라고 되어 있다.

그래서 프롬프트에도 ubuntu 라고 표기되고, 네트워크에도 ubuntu 라고 표기된다.

ID@ubuntu:~$
아래 2개의 파일을 수정하면 컴퓨터 이름을 변경할 수 있다.

sudo vi /etc/hosts
sudo vi /etc/hostname

"ubuntu" 문자열을 다른 문자열로 수정하면 된다.



수정 후 서비스를 다시 시작해주면 적용이 된다.

sudo service hostname restart
물론 재부팅 해도 된다.
개인적으로 그냥 재부팅을 한다.

sudo reboot


출처
http://radiation.tistory.com/entry/Ubuntu-설치-후-컴퓨터host-이름-바꾸기

PostgreSQL psql 접속시, query 자동으로 실행시키는 방법

이미지
PostgreSQL 에 psql 을 통해 접속할때, 원하는 쿼리(혹은 명령어) query(or command) 를 자동으로 실행시킬 수 있다.

~/.psqlrc 파일에 query(or command) 를 추가하면 된다.
(만약 존재하지 않다면, 새로 생성해 주면 된다.)

개인적으로 timing 이라는 옵션을 즐겨 사용한다.
timing 은 query 수행에 시간이 얼마나 걸리는지 출력해 주는 명령어이다.

그런데 session 을 연결할때마다 \timing 을 입력하는것이 번거롭기도 해서,
psql 을 사용해서 session 에 연결할때 자동으로 실행하도록 하고 싶었다.

% vi ~/.psqlrc

이 텍스트 파일에 실행하고 싶은 query(or command) 를 기록하면 된다.
그러면, psql 이 실행되면서 위 파일내 query(or command) 를 실행해준다.
이제 힘들게 매번 타이핑 하지 않아도 된다.




출처
https://serverfault.com/questions/282046/how-can-i-have-timing-default-to-on-with-postgresql

PostgreSQL query 실행 시간 표시

이미지
PostgreSQL 에서 query(or command) 실행 시간을 알고 싶을 때가 있다.
timing 를 사용하면 수행시간을 출력해 준다.

postgres=# \timing
Timing is on.
이제부터 모든 query 에 대해 수행시간이 출력된다.

postgres=# select * from pg_class;
                 relname                 | relnamespace | reltype | reloftype | relowner | relam | relfilenode | reltablespace | relpages | reltuples | relallvisible | reltoastrelid |
relhasindex | relisshared | relpersistence | relkind | relnatts | relchecks | relhasoids | relhaspkey | relhasrules | relhastriggers | relhassubclass | relrowsecurity | relforcerowsecu
rity | relispopulated | relreplident | relfrozenxid | relminmxid |                relacl                 |       reloptions
-----------------------------------------+--------------+---------+-----------+----------+-------+-------------+---------------+----------+-----------+---------------+---------------+-
------------+-------------+----------------+---------+----------+-----------+------------+------------+-------------+----------------+----------…