'우분투'에 해당하는 글 63건

우분투 <=> 윈도우 의 경우는 심볼릭링크가 크게 상관없을 듯 하다.

그런데, 우분투 <=> 우분투 의 경우 samba 마운트 시에 symlink 유지여부가 SMB 버전마다 차이가 있는 듯 하다.

결론부터 이야기 하면 vers=1.0 으로 해야 유지가 되는 듯 하다.

//ubox-serv/data  /data/   cifs uid=ccex,gid=ccex,username=guest,password=,iocharset=utf8,vers=1.0  0  2
#//ubox-serv/data  /data/   cifs uid=ccex,gid=ccex,username=guest,password=,iocharset=utf8,noserverino 0  2

fstab 에 설정에서 위처럼 vers=1.0 으로 하는 경우만 symlink 유지됨.

SMB버전은 올리고, noserverinfo 등의 옵션은 안되는 듯 하다.

 

다른 해결 방법이 있을지는 추후 필요하면 정리.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

우분투 배포판은 지원기간이 있다. LTS 버전은 좀더 오래 지원한다.
(지원 기간은 https://wiki.ubuntu.com/Releases 참조)

ubuntu 12.04 를 사용할 일이 생겨 - 설치를 했는데, 패키지가 깔리지 않아 한글도 안보이고 이상한 부분이 있었다.

추가적인 보안 지원같은 것은 안되지만, 마지막 패키지까지는 사용할 수 있다.

deb http://old-releases.ubuntu.com/ubuntu/ precise universe
deb-src http://old-releases.ubuntu.com/ubuntu/ precise universe
deb http://old-releases.ubuntu.com/ubuntu/ precise-updates universe
deb-src http://old-releases.ubuntu.com/ubuntu/ precise-updates universe

/etc/apt/sources.list 를 위처럼 old-releases 주소로 바꿔준다.

보통 다음 주소로 되어 있을 것이다.

http://kr.archive.ubuntu.com

주소를 바꿔주면, apt-get 으로 패키지를 설치해서 사용할 수 있다.(한글 언어 패키지 등 설치 가능)

 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

동일한 환경의 서버에 ssh 접속하는데, 5초가량 늦는다. (차이점은 동일버전의 서버용/데스크탑용 의 차이)

ssh server -vvv 로 접속해보면

debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50

위 부분에서 5초가량 늦게 접속이 된다.(다른 서버는 거의 바로 접속)

구글링을 해보니, avahi-daemon 이라는 용의자가 보인다.

service avahi-daemon stop
or
systemctl stop avahi-daemon

정지하고 접속하니 해결.

여러 서버/데스크탑을 사용해봤지만, 이런 상황은 처음 겪어본다.
우분투 12.04 지원까지 끊긴 서버라 그런가? 확인해보니 최근 배포판은 그런 현상은 없었다.

 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

간만에 우분투를 데스크탑 용도로 활용하려고 한다.(주로 서버용으로 많이 썼다.)
맥미니를 쓰면서 더욱 원격으로 사용하게 된다.

놀고(?)있는 컴이 있어서, 데스크탑 용도로 써보기로 하고, 최근 배포판 22.04 를 설치했다.

1. 처음에는 우분투 기본 공유를 써보기로 했다.

이런 메세지가 보이면서 화면이 검정이 된다.

/etc/gdm3/custom.conf

# uncomment
WaylandEnable=false

위 라인을 설정해주고, 재부팅.

접속을 RealVNC 로 접속했는데, 역시나 검정화면

화면 퀄리티를 High 나 Medium 으로 해주면 정상으로 보이긴 한다.

그런데, 느리다. 참고 쓸만한 정도가 아니다. 느리다. 못쓰겠다.

 

2. 더욱 문제인 것은 재부팅 하면 접속암호가 계속 바뀐다.

키인증 관련 문제인 듯 싶다.(https://askubuntu.com/questions/1396745/21-10-make-screen-share-password-permanent )

설정을 잘 못 했는지, 해결이 되지는 않는다.
이걸 해결해도 느려서 못 쓰겠다.

 

3. 그래서 고전적인(?) 방법으로 하기로 한다.

x11vnc 를 사용하기로 한다. https://blog.1day1.org/561 예전에 실패한 gdm3 (기본) 를 다시 시도해봤다.
이번에도 동일하다. 접속이 안된다. 그래서 다시 lightdm 으로 해결.

1804 버전 이후로는 저 문제는 해결이 안된다.(나중에 다시 시도해볼지는 모르겠지만...)
점점 우분투가 이상해(?)지는 부분이 있다.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

우분투 20.04 에서 기본 패키지로 phpmyadmin 을 설치했다. ( apt install phpmyadmin )
(DB 관리툴은 여러가지가 있지만, 손에 익어서 그런지 phpmyadmin 이 제일 낫다.)

설치 / 설정은 구글링 해보면 잘 나와 있다.(세팅후 접속시 이슈를 정리한다)

그런데, 설정 후 접속해보면 다음처럼 로고까지만 나오고 나오지 않는다.

아래에 로그인 화면이 나와야 하는데, 안나온다.

개발자 도구에 보니 , jquery 등을 불러오지 못한 현상이다.

사실 OOO도메인/phpmyadmin 등으로 접속하면 잘 나오는데, 문제는 phpmyadmin 을 다른 이름으로 바꿀때 나오는 이슈이다.

phpmyadmin / pma 등 자주 쓰는 이름은 무작위 공격에 노출되게 되어 , 가능하면 안쓰는 이름으로 바꿔서 하려고 한다.
즉, OOO도메인/db-secure 등과 같은 자신만의 이름으로 바꾼다.

ln -s /usr/share/phpmyadmin /{nginx-document-root}/db-secure

{nginx-document-root} 는 OOO도메인 을 설정한 위치이다.

저렇게 심볼릭링크만으로 완료되면 좋겠는데, 저렇게 하면 js 파일등이 /db-secure/js/vendor/jquery/jquery.min.js 위치에서 불러와야 하는데, nginx 기본설정으로는 해당위치에 파일을 로딩하지 못한다.
실제 접근하는 주소를 /usr/share/phpmyadmin/js/vendor/jquery/jquery.min.js 가 되도록 설정해줘야 한다.

location /db-secure/ {
    root /usr/share/;
    index index.php index.html index.htm;
    location ~ \.php$ {
        root /usr/share/;
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_read_timeout 300;   
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    location ~* ^/db-secure/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
        root /usr/share/;
    }
}

위 설정 후에 systemctl restart nginx 로 설정을 적용한다.

그러나 접속해도 동일한 현상이 발생. js 파일 접속주소가 이상하게 되어 있다.
/usr/share/db-secure/js/vendor/jquery/jquery.min.js 로 접근한다.

다음처럼 해서 해당 경로를 만들어 줬다.

cd /usr/share
ln -s phpmyadmin db-secure

위 설정후에 nginx 를 재시작 하면 다음처럼 정상으로 나온다.

 

뭔가 설정이 찜찜한 구석이 있지만, 위와 같이 해결.

추후 좀더 깔끔한 설정을 찾으면, 추가 메시지를 남기겠다. 일단 끝.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

우분투 데스크탑의 디스크유틸리티로 파티셔닝(포맷)을 하니 디스크전체를 하나로 잡아버린다.

그냥 sdb 로 통채로 잡아버렸다

fdisk 로 봐도 뭔가 이상하다.

파티셔닝 정보가 보이지 않는다

그래서 다시 파티셔닝을 한다.

예전에 parted 를 이용한 파티셔닝을 했었다.( https://blog.1day1.org/621 )

해당 방법으로 해도 크게 문제는 없지만, fdisk -l 으로 봤을때 뭔가 찜찜한 메시지가 보인다.

참고 : https://www.digitalocean.com/community/tutorials/how-to-partition-and-format-storage-devices-in-linux

위 글을 참조해서 이렇게 하면 해당 메시지가 없어진다.

parted /dev/sdb

(parted) mkpart primary ext4 0% 100%

위 방법이 제일 깔끔해보인다.(더 나은 방법이 있다면, 추후 보완)

 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

ubuntu 22.04 로 업그레이드 후에 기존 autossh 로 설정해놓은 터널링이 안된다.
그래서 확인해보니. autossh 가 실패되었다.

더 확인해보니 ssh 로 접속이 안되고, 암호를 물어본다.

ssh -vvv 로 접속해서 메시지를 확인해봤다.

다음과 같은 메시지가 보인다.

ssh send_pubkey_test no mutual signature algorithm
or
sign_and_send_pubkey: no mutual signature supported

검색해 보니, 보안관련 이슈인듯 싶다.

일단 해결방안은 아래 링크로

https://transang.me/ssh-handshake-is-rejected-with-no-mutual-signature-algorithm-error/

https://confluence.atlassian.com/bitbucketserverkb/ssh-rsa-key-rejected-with-message-no-mutual-signature-algorithm-1026057701.html

위 방법중 임시방편? 으로 일단 해결해본다.

.ssh/config 에 접속설정을 추가한다.

Host server-nickname
        hostname servername.com
        User root
        Port 2222
        PubkeyAcceptedKeyTypes +ssh-rsa

추천하는 방법은 보안성에 좋은 key 를 재생성해서 사용하는 것 같다.
추후 시간내서 조치해야 겠다.

 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

우분투 20.04 에서 openssl 을 사용할 때 , 기본값이 TLS v1.3 인 듯 하다. (그 이전 어느버전 부터 바뀐듯)

imap 등을 접속할 때, 1.3 버전을 지원하지 않는 서버의 경우 다음과 같은 에러를 보인다.

TLS/SSL failure for imap.naver.com: SSL negotiation failed

openssl 으로 아래처럼 접속시 안되는 경우가 있다.

openssl s_client  -connect imap.naver.com:993

아래 부분의 (NONE) 부분.

New, (NONE), Cipher is (NONE)
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: 
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1635870017
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no

정상적인 경우 아래와 같다.

New, TLSv1.2, Cipher is DHE-RSA-AES256-GCM-SHA384

 

우분투 20.04 버전의 설정을 TLS v1.2 이하 버전도 가능하게 활성화(?) 시켜본다.

파일은 /etc/ssl/openssl.cnf 으로, 아래 설정값을 추가한다.

# openssl.cnf 앞 부분에 추가
# system default
openssl_conf = default_conf



# openssl.cnf 뒷 부분에 추가
[ default_conf ]
ssl_conf = ssl_sect

[ ssl_sect ]
system_default = system_default_sect

[ system_default_sect ]
MinProtocol = TLSv1.2
CipherString = DEFAULT:@SECLEVEL=1

재부팅 해보면, 설정이 적용된다.

 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

우분투에서 윈도우10 의 공유폴더가 마운트 되지 않는다.

# mount win10-share
mount error(112): Host is down
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

위와 같은 메시지가 나오면서 연결이 안된다.

로그기록은 다음처럼 나온다.

 CIFS VFS: cifs_mount failed w/return code = -112

smbclient 로 연결해도 표시가 되지 않는다.

# smbclient -L win10-pc
WARNING: The "syslog" option is deprecated
Enter root's password: 
protocol negotiation failed: NT_STATUS_CONNECTION_RESET

윈도우10 에 삼바1 프로토콜이 기본 비활성화 되서 그런것이다.

실행 => appwiz.cpl 명령 실행  / 또는  설정 => 앱및기능 => 프로그램 및 기능

실행창 => 윈도우키+R
Windows 기능 켜기/끄기

위 이미지의 SMB 1.0 관련 설정을 켜준다.

ps. 우분투 버전에 따라 기본 samba 2 를 사용할 수도 있겠지만, 기존 사용하던 컴에서 연결이 안된 경우이다.

 

[추가]
위 단계를 처리하고, 다음과 같은 에러가 나온다면, https://blog.1day1.org/602 를 참조.

mount error(127): Key has expired

 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

우분투 데스크탑을 사용하면서, 보통 계속 켜두고 쓴다.

그런데, 왜 그런지, 잠금화면이 마우스는 움직이는데, 키보드가 안 되는 듯 하다. 또한 상단 메뉴등이 클릭이 되지 않는다.

아예 멈춘것은 아닌데, 이상하다. 그래서 ssh 로 접속해보니, 정상적으로 동작하고 있었다.
lock screen 만 이상한 것이다.

이런경우 ssh 로 root 접속한 후 다음 명령을 입력한다. (또는 sudo 명령으로 )

# loginctl unlock-sessions

 

일단 해결은 했는데, 왜 그런 현상이 발생했는지는 모르겠다.

현상 중 하나가 잠금화면의 암호 입력부분이  마치 키보드의 특정키가 눌린 것처럼  여러개가 눌려져 입력되어 있다는 것이다.
(어디서 이상한 입력이 들어온다? - 해킹?)
위 원인으로 인한 다른 현상은 잠금화면이 되면, 모니터도 잠자기(?) 모드로 가는데, 모니터도 켜져 있다.

좀더 현상을 지켜봐야 겠다. (18.04 등으로 업그레이드를 해야할려나?)

 

[추가]
현상 재연을 확인했다. 키보드가 로지텍 무선 키보드인데, usb 리시버의 이상인지.
무선키보드 전원 껐다 다시 키면 , 특정문자가 여러개 입력이 되버린다.

켜져있는 상태에서 드라이버 문제인지, 키보드 자체문제인지, 혹은 usb 리시버, 혹은 메인보드 이상 현상으로 인한 문제일 듯 하다.

우선 재부팅 등으로 조치해보고, 추후 키보드 교체 등을 해볼 예정.

 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

공유기 등 내부망에 있어서 외부 접속이 어려운 환경에서 접속할 수 있게 할 수 있다.

터널링을 통해 가능하다. ssh 로 접속해 있을 수 있는 호스팅 환경이 있으면 된다.

apt install autossh

설치는 쉽다.

systemd / upstart 방식에 따라 자동 실행 설정이 조금 다르다.

# systemd 방식 (최근 배포판)

# vi /etc/systemd/system/autossh.service
[Unit]
Description=AutoSSH service for a reverse tunnel 
After=network-online.target

[Service]
ExecStart=/usr/bin/autossh -M 0 -q -N \
-i /root/.ssh/id_rsa \
-o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" your-externel-server \
-R 5991:127.0.0.1:5901 \
-R 5922:127.0.0.1:22 \
-R 5989:192.168.11.19:5900

[Install]
WantedBy=multi-user.target

위 설정처럼 하면 된다. 자신의 맞는 환경에 따라 수정해서 사용하면 된다.
내부 서비스(5901 , 22) 로 접속가능하고, 또는 동일네트워크 다른 서버로도 접속가능하다.

위 파일 생성 후 다음 명령으로 실행해준다.

systemctl enable autossh
systemctl start autossh

 

# upstart 방식 (예전 방식)

# vi /etc/init/autossh.conf 
description "autossh daemon for ssh tunnel"

start on net-device-up IFACE=eth0
stop on runlevel [01S6]

#setuid autossh

respawn
respawn limit 5 60

script
export AUTOSSH_FIRST_POLL=30
export AUTOSSH_GATETIME=0
export AUTOSSH_POLL=60
/usr/bin/autossh -M 0 -q -N \
-i /root/.ssh/id_rsa \
-o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" your-externel-server \
-R 5991:127.0.0.1:5901 \
-R 5922:127.0.0.1:22 \
-R 5989:192.168.11.19:5900
end script

설정 방식만 조금 다를 뿐 사용법은 동일하다.

 

그럼, 제 3의 위치에서 터널링으로 뚫어 놓은 내부서버에 접속해본다.
당연히 바로 접속 할 수는 없다.

다음의 ssh 명령으로  {로컬PC} => 외부 서버 => 내부망(터널링)  으로 접속한다.

ssh your-externel-server -L 5991:127.0.0.1:5991 -L 5922:127.0.0.1:5922 

위 설정은 로컬PC 의 포트로 터널링한 내부망의 서비스 포트와 연결하는 것이다.

ssh root@localhost -p 5922

내부에서 다음 처럼 접속하면 된다. (위 예시는 내부망의 22번 ssh 포트로 접속하는 명령)

조금 복잡해 보일 수 있지만, 흐름을 이해하면 크게 어렵지는 않다.

내부망에 포트포워딩으로 접근할 수 없는 경우, 보안접속이 필요한 서비스 등에 사용할 수 있다.
기본적으로 ssh 를 이용한 것이라 vpn 처럼 보안접속이 필요한 경우등에 유용할 듯 싶다.

 

[추가]

systemd 방식 설정 후 재부팅했는데, autossh 가 실행이 안되는 경우

다음과 같은 에러가 날때 (systemctl status autossh 로 확인)

ssh exited prematurely with status 255; autossh exiting

구글링 해보니, After=network-online.target 대신에

After=network.target
After=NetworkManager-wait-online.service

등등 여러개로 바꿔가며 해봐도 안된다. 네트워크가 정상 접속되는 시점이 차이가 있는 듯 하다.

 

# vi /etc/systemd/system/autossh.service 에 다음 항목을 추가해준다.

[Service]
ExecStartPre=/bin/sh -c 'until ping -c1 google.com; do sleep 1; done;'

 

위 처럼 네트워크가 동작하는지 체크 후에 실행하도록 한다. ( 완료 후 systemctl daemon-reload 로 설정을 재로딩 해준다)

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

우분투에서 윈도우의 공유폴더를 연결해 사용하고 있다.
그동안 별 이슈 없이 사용했던것 같다.

그런데, 윈도우 업데이트 후에 다음과 같은 에러가 발생하면서 연결이 안된다.

mount error(127): Key has expired

"키가 만료되었습니다" / NT_STATUS_ACCOUNT_DISABLED 등의 메시지가 보일 수도 있다.

mount 할때 guest 계정으로 연결하는데, 윈도우 업데이트 후에 해당 계정설정이 바뀐 듯 하다.

위 그림은 조치한 후에 화면이다.   활성계정 부분이 "예" 로 되어 있어야 하는데, "아니오" 로 되어 있었다.

net user guest /active:yes

로 활성화 해준다.

 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

LG 그램을 사용중이다. 윈도우가 기본 설치가 되어 있지만, 개발에 필요해서 우분투를 설치해서 사용하려 한다.

USB 부팅(설치) 디스크를 만들고 부팅을 시도 했는데. 다음과 같은 에러가 나면서 부팅이 되지 않는다.

Failed to open \EFI\BOOT\NULL - Not Found
Faild to load image \EFI\BOOT\NULL : Not Found
start_image() returned Not Found

위와 같은 에러가 나는 경우. USB 설치 디스크의 해당 위치를 보면

grubx64.efi
mmx64.efi
bootx64.efi

등의 파일이 있는데.

난 grubx64.efi 를 복사해서 NULL 파일로 이름을 바꿔줬다. (NULL.efi 가 아닌 그냥 NULL )

다시 재부팅을 해보니 정상적으로 부팅화면으로 넘어갔다.

ps. 여러가지 그램 바이오스 세팅을 바꾸는 방법이 구글링 하면 나오는데.
난 위 방법으로 했다. (secure boot : disable 등 몇가지는 설정했다.)

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

ubuntu 에서 squid3 설정.

- 설정은 간단하다.

- curl 을 이용해 해당 proxy 서버를 사용할때 주의점.

 

# 설치

apt-get install squid3 
또는
apt install squid

끝. 쉽다.

 

# 설정

/etc/squid3/squid.conf 을 설정 (다른 위치 : /etc/squid/squid.conf )

(원래 파일은 복사하고, 새로 생성한다)
  => 원래 파일을 주석제거하고 복사하고 싶을때

mv squid.conf squid.conf.old     # backup
cat squid.conf.old | egrep -v '^[[:space:]]*(#.*)?$' > squid.conf

acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT

 

# digest

auth_param digest program /usr/lib/squid3/digest_file_auth /etc/squid3/squid3.digest.passwd

auth_param digest realm proxy

acl sq_digest proxy_auth REQUIRED

http_access allow sq_digest

 

# basic

auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/squid3.basic.passwd

auth_param basic realm proxy

acl sq_basic proxy_auth REQUIRED

http_access allow sq_basic

 

cache deny all

 

http_port 4128

 

#http_port 3128

coredump_dir /var/spool/squid3

 

refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880
refresh_pattern .               0       20%     4320

 

진한 부분이 추가한 부분이다. 기본파일에는 http_access 관련 설정이 있는데 삭제했다.

 

# 포트 변경

그리고 추천하는 부분은 기본포트인 3128 을 다른 포트로 바꾸길 권장한다.
언제나 그렇듯이 공격 대상이 될 수 있다. (ssh 도 필수로 바꾸는 것이 좋다. 22 -> 다른 포트)

 

# 캐시 비활성화

cache deny all 

캐시를 비활성화 했는데, 필요하면 삭제 또는 주석처리한다.

 

# 인증 모드

인증 모드는 digest 와 basic 이 있는데 설정은 위와 같다. 동시에 써도 되는지는 모르겠다.

암호파일 생성은 htpasswd / htdigest 를 사용한다.

사용법은

htpasswd -c /etc/squid3/squid3.basic.passwd {username}

htdigest -c /etc/squid3/squid3.digest.passwd proxy {username}

암호화는 digest 방식을 추천한다.

 

모두 설정이 완료되었으면 재시작해서 바뀐 설정을 적용한다.

service squid3 restart

 

 

 

# curl 에서는 다음처럼 사용한다. ( php 기준 설명 )

php curl 은 아쉽게도 digest 모드를 아직 지원안하는 듯 하다.

$proxyserv = '123.123.123.123:4128' ;
$proxyauth = 'username:password';

 

curl_setopt($ch, CURLOPT_PROXY, $proxyserv );

curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyauth );
 

위와 같이 써준다.

curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_DIGEST ); 

위 옵션이 되면 좋겠는데, 아쉽게도 현재는 안된다.( 현재는 CURLAUTH_BASIC , CURLAUTH_NTLM 만 지원)

 

 

 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

sublime text 를 쓰던 환경을 그대로 복사하거나 옮길경우

1. 계정폴더의 .config/sublime_text_3 폴더를 그대로 복사하면 된다.

해당 폴더 자체를 dropbox 등으로 동기화를 해도 될 듯 하지만,
충돌 가능성이 있으니 일단 배제.

2. license 파일은 그대로 복사해도 안된다. 다시 키 입력해서 새로 생성한다.




반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

목적은 다음과 같다.

우분투 14.04 vino-server <==> ssh 터널링(putty) <==> 윈도우 vnc

이와 같은 목적으로 세팅을 했다. putty 에서 ssh 터널링 설정은 많으니 패스.

그런데, 윈도우에서 vnc 로 접속시 다음과 같은 메시지가 나온다.

Error in TightVNC Viewer: No security types supported. Server sent security types, but we do not support any of their.

tightvnc 먼저 테스트.

Unable to connect to VNC Server using your chosen security setting.
Either upgrade VNC Server to a more recent version from RealVNC, or select a weaker level of encryption.
혹시나 해서 realvnc. 둘다 마찬가지.


ssh 를 통과해서 security 관련 문제가 나타나는 듯 하다.

결국은 vino-server 대신 x11vnc 를 사용하기로 했다.

설치/설정 방법은 http://blog.1day1.org/561 를 참조한다.


x11vnc 로 바꾸고, 접속해보니 정상적으로 접속한다.



반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

우분투에서 vino-server 보다 x11vnc 가 나은듯 하다.

x11vnc 를 설치해보자

apt-get install x11vnc xinetd

로 설치해준다.

그리고, xinetd 는 x11vnc 를 자동실행시켜주기 위해 사용한다(취향에 따라 gdm 로그인시 자동실행시켜도 된다.)

/etc/xinetd.d/x11vnc 로 다음 내용을 저장한다.

service x11vnc
{
   port = 5901
   type = UNLISTED
   socket_type = stream
   protocol = tcp
   wait = no
   user = root
   server = /usr/bin/x11vnc
   server_args = -inetd -o /var/log/x11vnc.log -display :0 -auth /var/lib/gdm/:0.Xauth -xkb -repeat -many -bg -noxdamage -rfbauth /etc/x11vnc.passwd
   disable = no
}


여기서 조심할 항목은 /etc/x11vnc.passwd 의 암호를 지정하는 것이다.

x11vnc -storepasswd /etc/x11vnc.passwd


로 하면 암호를 물어보고, 해당 파일로 저장이 된다.

server_args 부분설명
  -noxdamage :  compiz 상에서 화면갱신등의 성능이 좋지 않는데, 저 옵션을 주면 좋아진다.

  -xkb -repeat  : shift 키가 안먹을때 넣어 준다.

  -auth {xauth} : ps aux | grep auth  명령으로 위치를 찾아준다.

/usr/bin/X -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch

ubuntu 14.04 에서는 위와 같다. lightdm 부분 /var/run/lightdm/root/:0 을 -auth 옵션뒤에 넣어준다.

 

설정 완료 후에는 xinetd 를 재시작 해준다.

service xinetd restart

 

[추가-2020-03-31]

우분투 18.04 에서는 lightdm 대신에 gdm 을 사용한다.(auth 부분이 /run/user/121/gdm/Xauthority 이다 )
특정 시스템의 문제인지 모르겠지만, 로그인 하면 검정화면이 된다.

해결 방법이 있을듯 하지만, 그냥 lightdm 을 설치해서 해결했다.

apt install lightdm

 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

관리하는 서버 대수가 많아지다 보니 모니터링이 쉽지 않다.

서버 호스팅 업체를 통한 기본관리도 가능하지만, 부족한 부분이 있고, 여러 호스팅 업체를 사용하다보면 그것도 불편하다


icinga 로 모니터링 서버를 구축해본다.

웹 모니터링 화면을 접속하면 이런식으로 나온다.

관련글 : https://www.digitalocean.com/community/tutorials/how-to-use-icinga-to-monitor-your-servers-and-services-on-ubuntu-14-04

설정은 위 링크를 참조하기로 하고 특이사항 들을 추가한다.


관련 패키지를 설치하면 몇가지 설정단계를 거친다.

1) 처음에는 mysql root 계정 암호를 넣을 것이다. 적당한 암호를 넣는다.


2) 메일 설정 부분

메일 설정을 해준다. 메일로 알람을 받을 때 쓰는 듯 하다.


3) 관리자 화면에 쓸 icingaadmin 계정 설정

관리용 웹화면의 암호를 입력한다.

다음처럼 추가 패키지들이 설치된다.


다음은 그냥 No 로 넘어가고,


4) icinga-idoutils 관련 설정

icinga-idoutils 의 설정 : 모니터링 데이터에 쓰이는 듯 하다.

여기에서는 mysql 을 쓸 것이다.


초기데이터 설정을 위해 관리자 암호를 물어본다(처음에 설정한 값)


icinga-idoutils 가 쓸 mysql 계정암호를 넣는다.

여기까지 기본설정 완료. 추가로 패키지들이 마저 설치된다.



5) 모니터링 관리자 화면 접속.

난 설정을 포트포워딩 해서 http://localhost:8800/icinga/ 으로 접속했다.

아이디는 icingaadmin 이고, 암호는 설정시 입력한 값을 넣는다.




참고로 난 vagrant 로 가상머신을 만들고, icinga 를 세팅했다.
vagrant 로 세팅후 box 의 80포트를 포트포워딩 하고, 부팅시 자동실행하도록 설정했다.

1) 포트포워딩(Vagrantfile)

config.vm.network :forwarded_port, host: 8080, guest: 80

2) 부팅시 자동실행(vagrant box) : http://blog.1day1.org/543




반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

우분투 14.04 시스템에 btrfs 를 사용하고 있다.

SSD raid 에 LVM 으로 나눠서 쓰고 있다. 일반적인 사용형태보다는 좀 복잡할 것이다.
(물론 아주 특이한 케이스는 아니다)

docker 를 테스트 하던 중.

docker pull 로  이미지 몇개 설치하지 않았는데, 디스크가 꽉차는 현상이 발생했다.
크롬이 비정상 종료되길래 왜 그러지 싶었다. 그냥 아무 생각없이 재부팅하니. 정상부팅되지 않았다.

순간 멘붕.

허걱! 다시 OS를 깔아야 하나. 데이터 만이라도 살려야 하는데.
중요데이터는 Dropbox 로 동기화 하고 있으니 별 상관은 없지만, 또 세팅을 다시하려니 힘이 쭉.

single 모드로 다시 부팅을 해보고 점검을 해봤다.

주요 메시지는

Incrementally starting RAID arrays...
mdadm: CREATE user root not found
mdadm: CREATE group root not found
Incrementally started RAID arrays.

이런식의 메시지가 계속 무한루프 된다. 위 메시지를 검색 해봤는데, 별다른 원인을 못찾겠다.


docker 를 테스트 하던중 용량 관련 메시지 No space left on device  => 디스크 full 일때 나오는 익숙한(?) 메시지
를 봤었다. 그것과 관련이 있을 것 같다.

# df -h
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root  131G   46G   84G  36% /
none                         4.0K     0  4.0K   0% /sys/fs/cgroup
udev                         3.9G  4.0K  3.9G   1% /dev
tmpfs                        791M  1.3M  789M   1% /run
none                         5.0M     0  5.0M   0% /run/lock
none                         3.9G  156K  3.9G   1% /run/shm
none                         100M   44K  100M   1% /run/user

그러나 시스템 용량은 충분했다. 어떤 다른 이유인것 같다.


docker pull dockerfile/mongodb

등의 명령을 내리면, 이미지를 다운로드하고 컨테이너를 생성한다.

# docker pull dockerfile/mongodb
Pulling repository dockerfile/mongodb
6c03df111896: Download complete
511136ea3c5a: Download complete
5e66087f3ffe: Download complete
4d26dd3ebc1c: Download complete
d4010efcfd86: Download complete
99ec81b80c55: Download complete
b261bc65cd23: Download complete
42404685406e: Download complete
6cc69450fe19: Download complete
efc4fbcd007f: Download complete
2baeb2edbf92: Download complete
ecd5c1cc18ac: Download complete
1f089cc15e82: Download complete
9c1219bb985c: Download complete
d5885db18d17: Download complete
f1b2b4374c6b: Download complete
c0cda6b780cd: Download complete
42f2a60d100f: Download complete

이때 docker 는 btrfs 인 경우 subvolume (스냅샷?) 기능 을 이용하는 것 같다.

/var/lib/docker/btrfs/subvolumes 에 생성이 된다.

btrfs subvolume list /

을 해보면 아무것도 없어야 한다. 그런데, docker pull 후에 다시 명령을 해보면.

# btrfs sub list /
ID 386 gen 94278 top level 5 path var/lib/docker/btrfs/subvolumes/511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158
ID 387 gen 94278 top level 5 path var/lib/docker/btrfs/subvolumes/5e66087f3ffe002664507d225d07b6929843c3f0299f5335a70c1727c8833737
ID 388 gen 94279 top level 5 path var/lib/docker/btrfs/subvolumes/4d26dd3ebc1c823cfa652280eca0230ec411fb6a742983803e49e051fe367efe
ID 389 gen 94280 top level 5 path var/lib/docker/btrfs/subvolumes/d4010efcfd86c7f59f6b83b90e9c66d4cc4d78cd2266e853b95d464ea0eb73e6
ID 390 gen 94281 top level 5 path var/lib/docker/btrfs/subvolumes/99ec81b80c55d906afd8179560fdab0ee93e32c52053816ca1d531597c1ff48f
ID 391 gen 94282 top level 5 path var/lib/docker/btrfs/subvolumes/b261bc65cd23e8399c39ef0b77d732ddf6ca9679d4cea0ad1cdaca715c4a0d81
ID 392 gen 94283 top level 5 path var/lib/docker/btrfs/subvolumes/42404685406e72d29e3b349605d34cb88590cfcfabb06b9925628f2949c2eb89
ID 393 gen 94284 top level 5 path var/lib/docker/btrfs/subvolumes/6cc69450fe1990579c13d444495dcfec342955712481647fcb73d5a8e6184f33
ID 394 gen 94285 top level 5 path var/lib/docker/btrfs/subvolumes/efc4fbcd007ff7a202ead05932a48f62301464b8f1bc1449f3a8f9b5c26d9515
ID 395 gen 94286 top level 5 path var/lib/docker/btrfs/subvolumes/2baeb2edbf92488d7bbd4723368aeb2e86045f7ed6310b5924cec2d3c3ff8710
ID 396 gen 94287 top level 5 path var/lib/docker/btrfs/subvolumes/ecd5c1cc18ac86e88dd6420161d5812ef6cd31c1a0ce252d071d4481996502fc
ID 397 gen 94288 top level 5 path var/lib/docker/btrfs/subvolumes/1f089cc15e82571690524c3633dc361ba526d25fed072e09607fac7ee1178098
ID 398 gen 94289 top level 5 path var/lib/docker/btrfs/subvolumes/9c1219bb985cb5ceb0a602ad943c9dd5b83cf0f16d3cd05730113fe0af37d0be
ID 399 gen 94290 top level 5 path var/lib/docker/btrfs/subvolumes/d5885db18d17c3e473f310ab7723a1c6b4c29a14b9a8db54bfd795466bee1da3
ID 400 gen 94291 top level 5 path var/lib/docker/btrfs/subvolumes/f1b2b4374c6b1813549a4436c190f4e0ab04168eee3244e08931b63c96b943c1
ID 401 gen 94292 top level 5 path var/lib/docker/btrfs/subvolumes/c0cda6b780cdb2c400b470371baea2149ac4caef980d4685465f0ef13eb2af6c
ID 402 gen 94293 top level 5 path var/lib/docker/btrfs/subvolumes/42f2a60d100fcbda388b76bb69270fc057565ab4bdf5d68072b30b225669e5f4
ID 403 gen 94293 top level 5 path var/lib/docker/btrfs/subvolumes/6c03df11189668e549ac34464dbdbef563144f92eeb89246afaa1029b92cfd7d

위 처럼 많은 subvolume 이 생성된 것을 볼 수 있다.
ID 값이 동일한 것(진한부분)을 보니 ID 당 서브볼륨을 생성해서 관리하나 보다.


파일용량을 체크해보면 다음과 같다.

# btrfs file df /
Data, single: total=127.21GiB, used=44.64GiB
System, DUP: total=8.00MiB, used=20.00KiB
System, single: total=4.00MiB, used=0.00
Metadata, DUP: total=1.50GiB, used=1.02GiB
Metadata, single: total=8.00MiB, used=0.00

서브볼륨은 어느 부분에 영향을 주는지 확인해봐야 겠다.

아무튼.

docker rmi dockerfile/mongodb

명령으로 docker 이미지를 삭제하면 해당 subvolume 도 삭제된다.


개별적으로 subvolume 을 삭제하려면

btrfs sub del var/lib/docker/btrfs/subvolumes/6c03df11189668e549ac34464dbdbef563144f92eeb89246afaa1029b92cfd7d

으로 삭제해준다.( 부팅이 안되서 usb 우분투 로 부팅하고, 해당 서브볼륨을 위 처럼 하나씩 삭제해줬다)


btrfs 에 좀더 알기전까지는 조심해야 겠다.

다음부터 docker 는 vagrant 기반의 vm 내에서 테스트 해봐야 겠다.



반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

docker 를 설치해본다.

우분투 14.04 에서는 간편하다. 이미 우분투 공식패키지로 등록이 되어 있다.

apt-get install docker.io


그러나 공식패키지는 버전업이 느리다.

# docker.io --version

Docker version 0.9.1, build 3600720


빠르게 버전업하는 패키지는 공식사이트의 배포버전을 사용하면 좋다.

echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list

apt-get update

apt-get install lxc-docker

한번에 끝내기

curl -s https://get.docker.io/ubuntu/ | sudo sh

위 스크립트를 받아서 실행하는 방법이다.

Docker version 1.0.1, build 990021a

최신버전으로 설치된다.


간단한 테스트.

# docker run ubuntu:14.04 /bin/echo 'Hello World'

다음과 같은 명령을 내리면.. 로컬이미지를 찾고,
없으면 저장소에서 찾아서 설치한 후 echo 'Hello World' 를 실행하게 된다.

Unable to find image 'ubuntu:14.04' locally
Pulling repository ubuntu
e54ca5efa2e9: Download complete
511136ea3c5a: Download complete
d7ac5e4f1812: Download complete
2f4b4d6a4a06: Download complete
83ff768040a0: Download complete
6c37f792ddac: Download complete
Hello World


하위 버전은 다음을 참조.

http://docs.docker.io.s3-website-us-west-2.amazonaws.com/installation/ubuntulinux/



반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,


우분투 - samba 로 설정한 파일을 수정시 다음과 같은 에러가 발생하는 경우.

파일 작업 실패.
"다른 프로세스가 파일의 한 부분을 잠갔으므로, 프로세스가 해당 파일을 액세스할 수 없습니다."

우분투 8.04 를 사용하다가 10.04 로 업그레이드 했을때 위와 같은 에러가 발생하였다.

samba 옵션에 다음을 추가한다.

/etc/samba/smb.conf 의 global 섹션에 추가하면 된다.

strict locking = no



반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

우분투 10.04 에서 samba mount 사용하기(fstab)


저의 개발환경 구성을 이렇게 하고 있다.(사정이 있어 기존 구성된 환경을 유지하려다 보니 복잡해 보인다)

                                                     [개발서버(소스)]  => 개발VM(nfs)    => web-dev
외부작업환경1)               윈도우 네트워크 드라이브 -> vm (smb)
외부작업환경2) (remote) -> sftp -> smb_mount -> vm (smb)

그에 맞게 작업환경을 꾸미다보니 sftp 로 직접 붙이려니 애매한 부분이 있었다.
그래서 중간에 smb mount 해서 사용하기로 했다.


1. samba 관련 설정. /etc/samba/smb.conf (설치 부분은 생략)

[httpd]
   comment = working dev httpd
   path = /work/httpd
   browseable = yes
   hosts allow = 127.0.0.1
   force user = www-data
   force group = www-data
   public = yes
   guest ok = yes
   writable = yes
   printable = no
   create mask = 0765
   directory mask = 0755

2. mount 에 필요한 패키지 설치

# apt-get install smbfs

  최신 우분투 버전은 cifs-utils 로 설치하는 듯 함.

3. /etc/fstab 에 다음처럼 항목 추가

//linux/httpd  /smb_mount/httpd  smbfs uid=user,gid=adm,password=,iocharset=utf8,noauto  0  2

예전버전에 codepage=cp949 등이 쓰였는데, 언제부터인가 옵션이 빠졌음. iocharset 만 추가

uid , gid 는 서버의 접근계정 아이디/그룹
password 옵션은 암호가 있으면 넣고, 없으면 그냥 빈란

4. 마운트

# mount /smb_mount/httpd

크게 어려운 부분은 없다.(자신에 맞게 환경설정은 변경)

해당위치로 /smb_mount/httpd 로 sftp 접근해서 파일을 직접 수정해서 작업한다.




반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

노트북의 터치패드의 좋은 부분중 하나가 가로 스크롤이 편하다는 것이다.

그래서 데스크탑용 터치패드를 사볼까 하는 생각도 한다.

우분투에서 마우스로 가로스크롤이 되도록 설정하고자 한다.

관련정보 : http://askubuntu.com/questions/404737/horizontal-scrolling-in-firefox-to-shiftmouse-scroll-instead-of-back-forward

위 링크에 나와있다.

크롬에서는 기본적으로 되나 보나, 위 링크를 적용하지 않고 해보니 잘 된다.(Shift - scroll )


요약해서 설명하자면,

1) 관련패키지 설치

$ sudo apt-get install xautomation xbindkeys

2) .xbindkeysrc.scm 파일 생성  후 xbindkeys 실행.

; bind shift + vertical scroll to horizontal scroll events
(xbindkey '(shift "b:4") "xte 'mouseclick 6'")
(xbindkey '(shift "b:5") "xte 'mouseclick 7'")

3) firefox - shift scroll 세팅 비활성화(기본 명령은 뒤로가기/앞으로가기 )

주소창에서 about:config 명령을 내려서 아래의 두가지 '사용자 설정' 값을 변경한다.

mousewheel.with_shift.action
mousewheel.with_shift.action.override_x

두값을 각각 0 , 1 으로 변경.


- 위 설정 문제점

파이어폭스에서 shift + scroll 이 되긴하는데, 너무 조금씩 스크롤이 되서 불편하다.

그냥 직접 FF 에서 설정하는 방법이 있다.

관련출처 : https://coderwall.com/p/xnez3g

about:config 에서 설정변경함.

general.autoScroll = true
mousewheel.with_shift.action = 1

위 두값을 변경하고, 스크롤되는 speed 는

mousewheel.with_shift.delta_multiplier_x = 1000

값을 변경한다. 1000 정도가 편한것 같다. (값은 본인 취향에 따라)


브라우저에서만 사용한다면, 위 xbindkeys 는 설정 안해도 된다.




반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

간만에 우분투 체제로 다시 돌아왔다. 그동안 주로 윈도우8 을 써왔다.

윈도우8 / 우분투 둘다 괜찮다. 난 어느 한쪽만 지지하자는 주의는 아니다.
어느 한쪽 OS 에 종속되지 않고 쓰자라는 컨셉.

이번에 우분투14.04 가 나오고, 노트북을 새로 장만해서 다시 메인으로 써볼까 해서 당분간 테스트 중이었다.

먼저 13.10 을 설치해서 쓰고 있었다. 그 당시 한글 버그가 있어서 좀 안정화 되면 넘어갈려고 했었다.
그런데, 13.10 의 compiz 세팅이 꼬였는지 설정이 이상하고, 느린감이 있었다.

그냥 화김에 14.04로 올렸는데, compiz 문제가 해결되어 한글버그를 감수하고 쓰게 되었다.
속도도 더 빨라져서 만족하고 있다. 그 사이 한글 버그도 해결이 되었다.

듀얼로 써서 스크린샷이 아래처럼 나온다.

작업용 virtualbox 머신 을 세팅했고, 간단하게 conky 세팅해서 꾸며봤다.

가급적 심플하게 사용하려고 한다.

주요 파일은 dropbox 로 동기화해서 윈도우8 / 우분투 모두 사용가능하게 해놨다.
프로그램 개발을 위해서 sublime text 를 세팅해서 사용한다. 이것도 윈도우8 도 같은 환경.
dropbox + git + ST3 환경으로 세팅하니, OS 에 종속되지 않고 쓸 수 있다.

그러나 우분투에서 해결이 잘 안되는 부분은 가상머신으로 돌린다.(예전 보다는 많이 나아졌다. 진짜 가끔 쓴다)
간혹 OS X 용으로 나오는 프로그램들이 몇가지 있어서, 맥북프로를 마련해볼까 생각중이다.
당장은 아닐 듯 한데, OS X 요세미티가 얼마전에 소개가 되어서, 써보고 싶은 마음이 생긴다.
적응 기간이 필요할테니 맥미니 를 먼저 마련할지도 모르겠다.


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

# 우분투(리눅스) 에서 하드용량이 없다고 나오는 문제(No space left on device)

다음과 같은 문제가 발생하는 경우가 있다.

# touch /tmp/check
touch: cannot touch `/tmp/check': No space left on device

파일을 생성하는 명령을 내렸을때 용량이 없다는 메시지가 나온다.

하드용량을 확인해보면.

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       19G  3.0G   15G  17% /
udev            236M  4.0K  236M   1% /dev
tmpfs            98M  180K   98M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            245M     0  245M   0% /run/shm
none            100M     0  100M   0% /run/user

아직 용량은 충분한데 이상하다.

# df -i
Filesystem      Inodes   IUsed IFree IUse% Mounted on
/dev/xvda1     1253376 1253376     0  100% /
udev             60266     385 59881    1% /dev
tmpfs            62675     261 62414    1% /run
none             62675       2 62673    1% /run/lock
none             62675       1 62674    1% /run/shm

none             62675       1 62674    1% /run/user

바로 inode 의 갯수가 꽉 찬것이다.

분명히 어딘가에서 너무 많은 파일이 등록이 되어 있는 것이다.


범인을 찾아라.

# for i in /home/*; do echo $i; find $i |wc -l; done

=> 해당 위치를 찾아라.

# for dir in *; do [ -d "$dir" ] && echo "$dir" && find "$dir" | wc -l; done

둘다 명령은 동일.(디렉토리를 지정하거나 현재디렉토리를 기준)
의심되는 위치를 위 명령으로 해본다.

결과

session
1194823

=> 찾았다 범인.

너무 많은 세션파일이 생성되어 하드 용량이 남았어도 inode 갯수가 꽉 차서 더이상 파일을 생성할 수 없게 된 것이다.

저 파일들을 정리해주면 된다.

파일이 너무 많으니 rm -rf session 등으로 해주는게 좋다.(각자 알아서)

정상.

# df -i
Filesystem      Inodes IUsed   IFree IUse% Mounted on
/dev/xvda1     1253376 58729 1194647    5% /
udev             60266   385   59881    1% /dev
tmpfs            62675   261   62414    1% /run
none             62675     2   62673    1% /run/lock
none             62675     1   62674    1% /run/shm
none             62675     1   62674    1% /run/user

 => 이제 정상으로 나온다.



반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

mariaDB 가 여러곳에서 칭찬이 자자하다는 소문이 많다.

한마디로 "써본사람은 압니다. 좋은데 말로 설명할 방법이 없네?" 인것 같다.


그러나 이미 난 MySQL 에 익숙해져 있다. 바꾸면 또 배워야 하는거 아니야? 귀찮아!!
등등 나로 하여금 스스로 옮겨가지 못하게 막고 있었다.

그러다가 써야하는 상황이 생겼다. 그래서 소문이 사실인지 확인해봐야 겠다.



1. 설치 방법

https://downloads.mariadb.org/mariadb/repositories/

에서 각 배포판별로 패키지 설치방법이 잘 나와있다. 이거 한방이면 끝이다.

기초작업

sudo apt-get install software-properties-common sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db sudo add-apt-repository 'deb http://ftp.kaist.ac.kr/mariadb/repo/5.5/ubuntu raring main'

설치

sudo apt-get update sudo apt-get install mariadb-server


여긴 수동 - /etc/apt/sources.list 파일에 내용을 추가하거나, sources.list.d 디렉토리에 파일로 추가하거나 입맛대로.

# MariaDB 5.5 repository list - created 2013-11-07 11:51 UTC # http://mariadb.org/mariadb/repositories/ deb http://ftp.kaist.ac.kr/mariadb/repo/5.5/ubuntu raring main deb-src http://ftp.kaist.ac.kr/mariadb/repo/5.5/ubuntu raring main


2. MariaDB 패키지 설치하는데 기존 MySQL 이 설치되어 있으면.

설치 명령을 내리면 다음처럼 나오게 된다.

# apt-get install mariadb-server

패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다
상태 정보를 읽는 중입니다... 완료
다음 패키지를 더 설치할 것입니다:
  libmariadbclient18 libmysqlclient18 mariadb-client-5.5 mariadb-client-core-5.5 mariadb-common mariadb-server-5.5  mariadb-server-core-5.5 mysql-common

제안하는 패키지:
  tinyca mailx mariadb-test

다음 패키지를 지울 것입니다:
  mysql-client-5.5 mysql-client-core-5.5 mysql-server mysql-server-5.5 mysql-server-core-5.5

다음 새 패키지를 설치할 것입니다:
  libmariadbclient18 mariadb-client-5.5 mariadb-client-core-5.5 mariadb-common mariadb-server mariadb-server-5.5  mariadb-server-core-5.5

다음 패키지를 업그레이드할 것입니다:
  libmysqlclient18 mysql-common

2개 업그레이드, 7개 새로 설치, 5개 제거 및 3개 업그레이드 안 함.
31.7 M바이트 아카이브를 받아야 합니다.
이 작업 후 17.6 M바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까 [Y/n]?

위와 같이 패키지를 지울것이라는 무서운 문구.

어떡하지. 무서우면 n 으로 중지. 그러나 우린 용감하잖아요. 과감하게 엔터를 누릅니다.
내 데이터. 또 설정바꿔줘야 하나. ㅠㅠ

그러면 설치하는 화면이 나온다 중간에 기존 mysql 도 지우는 것도 보이고
좀 지나면 mariadb 계정 암호 넣는 화면이 나온다.(mysql 설치할때 나오던 그대로)

그런데, 중간에 좀 이상한 것이 있다.

 * Stopping MariaDB database server mysqld                                                                                   [ OK ]
131108  0:57:51 [Warning] Using unique option prefix myisam_recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
131108  0:57:51 [Note] Plugin 'InnoDB' is disabled.
131108  0:57:51 [Note] Plugin 'FEEDBACK' is disabled.
 * Starting MariaDB database server mysqld                                                                                   [ OK ]
 * Checking for corrupt, not cleanly closed and upgrade needing tables.
어! 뭐지 정상적인건가?


3. 내 데이터. 솨라있네~~
 위까지 하고 다른 설정을 건드리지 않고, 바로 phpMyAdmin 을 살펴봤다.

어. 서버 버전 부분만 mariaDB 로 바뀌고 다른 부분은 똑같다.

신기하다. 너무 똑 같아서.
웹서비스들도 잘 동작한다.(처음에 살짝 느린감이 있었는데, 아마 캐시때문?)

mysql console 도 명령은 동일한것 같다. (아래처럼 바뀌어 있다)

# mysql --version
mysql  Ver 15.1 Distrib 5.5.33a-MariaDB, for debian-linux-gnu (x86_64) using readline 5.1

# mysql -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 115
Server version: 5.5.33a-MariaDB-1~raring-log mariadb.org binary distribution

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>



일단 성능등은 돌려보면서 느껴봐야 겠다.
최소한 설치까지는 정말 쉽게 끝났다.




반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
구글톡이 윈도우,맥,리눅스 를 모두 지원한다.
우분투에서 구글톡 플러그인을 설치할 수 있다.

1. gmail -> settings -> Chat 에서 두번째 항목
  Voice and video chat 항목을 보면 구글톡 플러그인을 다운받는다.
  직접링크 : http://www.google.com/chat/video?hl=ko 에서 다운받아 설치한다.
  리눅스(우분투)에서는 deb 파일을 다운받아 설치하면 된다.
  dpkg -i google-talkplugin_current_i386.deb
  설치하면 /opt/google/talkplugin 에 설치된다.

2. firefox 를 실행해서 도구 -> 부가기능 -> 플러그인 항목을 보면
  정상적으로 구글 플러그인 에 나와야 한다.

우분투 버전에 따라 다르겠지만, 쓰고 있는 ubuntu 10.04 에서는 정상적으로 나오지 않았다.

이유는 apparmor 때문이다.
/var/log/kern.log 나 message.log 등을 확인해보면
kernel: [77536.598461] type=1503 audit(1295939125.913:24):  operation="open" pid=4565 parent=4561 profile="/usr/lib/firefox-3.6.13/firefox-*bin" requested_mask="::r" denied_mask="::r" fsuid=1000 ouid=0 name="/opt/google/talkplugin/libnpgoogletalk.so"
이런 메세지를 볼 수 있다. 우분투의 보안강화를 위해 적용된 기술인데, 불편하지만 가급적 따라 주는것이 좋다고 본다.

3. /etc/apparmor.d/usr.bin.firefox  파일에 다음을 추가한다.
  # for google talk
  /opt/google/talkplugin/* mr,
  /opt/google/talkplugin/GoogleTalkPlugin Uxr,
  /opt/google/talkplugin/lib/* mr,
  /dev/ati/card0 rw,
  /proc/ati/major r,
   위 3줄은 플러그인을 사용할 수 있는 권한을 추가한 것이다. 그 밑의 ati 나오는 부분은 사운드카드를 사용하기 위한 것인데, 사용자의 보드에 따라 다른 값이 나올 수 있을 듯 하니 kern.log 에 나오는 메세지를 확인해서 추가해준다.

gmail -> settings -> chat 항목에서 비디오,사운드 등을 확인해본다.
실제 영상채팅을 테스트해보진 않았지만, 테스트시 화면과 사운드가 정상적으로 나오는 것 까지 확인했다.


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
그동안 주로 8.04 LTS 를 써왔다. 얼마전부터 10.04 LTS 로 업그레이드 하고 있다.
그렇다보니, 설정이 바뀐것이 꽤 된다.
8.10,9.04,9.10 등 3단계를 뛰어 넘어서 언제 바뀌었는지는 정확하지 않다.
(https://wiki.ubuntu.com/LucidLynx/ReleaseNotes 여기를 참조)

1. /etc/inittab 이 어디로 갔지?
  inittab 에서 runlevel 설정을 하게 된다. 그런데 없어졌다. 어리둥절.

  부팅설정등이 init 이라는 디렉토리로 바뀌었다.
 /etc/init/rc-sysinit.conf 에서 기본런레벨을 설정한다.
env DEFAULT_RUNLEVE=2
라는 항목이다. (이놈은 9.04, 9.10 부터 바뀐것 같다)

2. 키보드, 모니터 를 빼면 부팅이 안되요.
http://ubuntuforums.org/showthread.php?t=1452600

grub 을 콘솔로 부팅하는 것이 좋다.
/etc/default/grub

GRUB_TERMINAL=console
GRUB_CMDLINE_LINUX="nomodeset"

gdm 은 모니터,키보드 kvm 체크를 하지 않는다.
http://ubuntuforums.org/showthread.php?t=1452600&page=3
echo options nouveau modeset=0 > /etc/modprobe.d/nouveau-kms.conf
xorg.conf 설정 변경( http://ubuntuforums.org/showthread.php?t=1297815)
Section "Device"
  Identifier "VNC Device"
  Driver "vesa"
EndSection

Section "Screen"
  Identifier "VNC Screen"
  Device "VNC Device"
  Monitor "VNC Monitor"
  SubSection "Display"
    Modes "1024x768"
  EndSubSection
EndSection

Section "Monitor"
  Identifier "VNC Monitor"
  HorizSync 30-70
  VertRefresh 50-75
EndSection

BIOS 도 손봐야 하나?
Halt On 이라는 옵션을 No errors 로 해도 별 차이가 없어 보인다.
[All , But keyboard]
[All errors]
[No errors]
키보드/모니터 어댑터를 연결한다.(하드웨어적 해결방법 - 이건 좀.)


3. gdm 은 자동으로 실행이 안되나?
  위 2번의 xorg.conf 설정을 바꿔서 해결한다. /etc/init/gdm 으로 설정이 바뀌었다.

4. fsck 검사가 민감해 졌나?
보통 /etc/fstab 에서 하드디스크를 마운트 시킨다.
마운트 옵션에서 파일시스템을 체크하도록 하는데, 이게 좀 민감해졌나?
계속 하드디스크에 에러가 있다면서 부팅이 멈춘다.

UUID=0685beb5-ac3f-4308-8cb1-bc1a70a05a42 /user  ext3 defaults 0 0
(정확한 원인을 아직 찾지 못했다.)
일단 뒤의 맨 숫자를 0 으로 해서 파일시스템을 체크하지 않도록 했다.(수동으로 해줘야 겠다)

5. php , ereg 함수는 사용하지 않아.
php 새 버전은 ereg 함수등 deprecate 된 함수들이 있다. 소스를 수정하는 것이 좋다.
그렇지만 임시적으로
/etc/php5/apache2/php.ini  에서
mbstring.func_overload = 4
로 임시조치한다.



ps. 사용하면서 이상한 부분을 클린설치한 시스템과 비교해 보면서 추가 작성할 예정이다.


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
얼마전부터 우분투 10.04 LTS 버전으로 업그레이드 하고 있다.
데스크탑, 프린터/팩스 서버, 개발서버 등..

데스크탑쪽에서는 별 문제 없었다.

프린터/팩스 서버에서 좀 문제가 되는 부분이 있었다.
서버를 업그레이드하고, 프린트 테스트를 해보니. cups 로는 넘어갔는데, 프린트를 하지 못하는 것이었다.
혹시나 해서 /dev/lp0 를 보니, 디바이스가 만들어져 있지 않았다.
프린터를 구형 레이저를 쓰는데(패러렐 포트를 쓰는) 이 것이 제대로 잡히지 않은 것이다.

정상적으로는 이런식으로 나와야 한다.
# lpinfo -v
network beh
network socket
direct scsi
network lpd
network http
network ipp
direct parallel:/dev/lp0
serial serial:/dev/ttyS0?baud=115200
serial serial:/dev/ttyS1?baud=115200
network smb
direct hp:/par/HP_LaserJet_1100?device=/dev/parport0
direct hpfax
그런데, 문제가 생긴 부분은 위의 진한 부분이 제대로 나오지 않는 것이었다.

문제는 
# lsmod | grep par
parport_pc             25962  1
parport                32635  3 lp,ppdev,parport_pc
parport_pc 모듈이 올라오지 않는 문제였다. 10.04 의 버그인지는 모르겠지만, 기본적으로 로딩이 되지 않았다.
그래서  /etc/modules 에 parport_pc 를 한줄 추가해줬다.

재부팅해보면 정상적으로 로딩되는 것을 볼 수 있다.


팩스쪽도 자동으로 모듈이 올라오지 않았다.
http://blog.1day1.org/306 에서는 기본으로 드라이버가 있었던것 같은데, 이번에는 기본드라이버가 없었다.
http://linmodems.technion.ac.il/packages/ltmodem/kernel-2.6/
에서 ltmodem-20100102.tar.gz 의 최신버전으로 컴파일후 설치했다.
10.04 출시전인 1월경의 파일이라 안될지도 몰랐지만 시도했는데, 정상적으로 로딩이 되었다.

예전과는 모듈이 좀 달라진것 같다.( 예전에는 ltmodem , ltserial 이었다)
# lsmod | grep lt
ltmodem               554956  0
ungrab_serial           1075  1 ltmodem
v8250                   9643  3 ltmodem
일단 모듈이 올라오면 성공이다.
/dev/ttySV0  디바이스가 생겼을것이다.(예전과는 이름이 달라졌다. 예전은 ttySLTM0 )

hylafax , minicom 등에서 사용하기 위해 /dev/modem 을 심볼릭링크 시켜주는것이 좋다.
udev 로 자동 링크시켜주는 방법을 사용한다.

/etc/udev/rules.d 에 92-ltmodem.rules  이런식으로 파일을 만들어주고 내용에는
KERNEL=="ttySV[0-9]", NAME="%k", MODE="0660", GROUP="dialout", SYMLINK="modem"
처럼 넣어준다. KERNEL 다음에 == 을 넣어줘야 한다. ( = 가 두개이다. )
부팅해보면,
# ll /dev/modem
lrwxrwxrwx 1 root root 6 2010-09-28 18:17 /dev/modem -> ttySV0
이런식으로 자동으로 링크가 되어 있을 것이다.

ps. 참고로 팩스를 테스트 하는데, 인터넷팩스 제공업체에 가입해서 테스트를 했다.
 보통 가입시 포인트를 주어서 무료로 테스트 해볼 수 있었다.


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
우분투가 벌써 10.10 버전이 나오는구나.
아직 베타버전이지만, 곧 나올겠구나.

virtualbox 에서 테스트로 설치해봤다.
virtualbox 를 기본적으로 지원하나 보다.

게스트확장(guest additions) 설치도 패키지로 제공한다.

apt-get install virtualbox-ose-guest-x11
으로 바로 적용된다.

아직 10.04 와의 차이점은 모르겠다. (좀더 써보면서...)

ps. 혹시 설치가 안된다면 다음 명령을 해본다.
apt-get install build-essential linux-headers-$(uname -r)



반응형

'잡다한일' 카테고리의 다른 글

우분투, 프린터 hp laserjet 1100 세팅하기  (0) 2011.01.03
모토로이 - 프로요 루팅방법  (0) 2010.12.29
아이폰4 예약가입  (0) 2010.08.17
모토로이는 괴물폰?  (0) 2010.08.08
텍스트큐브 닷컴을 버리다.  (0) 2010.05.21

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,