2018의 게시물 표시

PostgreSQL RHEL(RedHat) 7.4 설치

이미지
RHEL(RedHat) 은 유료 프로그램이다.
CD 이미지 (iso 파일) 은 무료로 배포하고, 기술지원을 돈을 받는 형태이다.
또한 yum 을 돈을 받고 사용할 수 있도록 하고 있다.
그걸 sub scription 이라고 부르고 있다.

결국,,,, 뭐, 설치 및 사용은 자유롭게 해도 되지만,
yum 은 돈 내고 해라 라는 의미라서,
yum 을 사용할라면, 아래 처럼 명령어를 실행해 줘야 하는거 같다.

# subscription-manager register --username <username> --password <password> --auto-attach

만약 그게 싫다면 rpm 을 알아서 설치해 줘야 하는 삽질을 해야 한다.
dependencies 때문에 이게 좀 골치가 아프다.
aaa.RPM 설치하려고 하면 bbb.RPM 이 필요하다고 하고.....
bbb.RPM 설치하려고 하면 ccc.RPM 이 필요하다고 하고.....

일단 내 목적은 RHEL(RedHat) 에 PostgreSQL 이 정상적으로 돌아가도록 하는것이므로, 거기에만 촛점을 맞춰서 시도를 해봤다.
redhat 은 아래 경로에서 download 가능하다.
https://access.redhat.com/downloads/content/

부팅을 해보면, 아래처럼 설치화면이 나온다.


"설치소스"는 건드리지 말고,
"설치대상"은 입맛대로 하면 되고,
"네트워크 및 호스트명"은 입맛대로 하면 되고,
"최소설치"를 클릭한다.


"선택한 환경의 기능"에서 "디버깅도구, 호환성 라이브러리, 개발용 도구, 보안 도구"를 선택한다. "보안 도구"는 안해도 상관없다.


"설치 시작"을 클릭해서, 설치를 진행하고 마무리 한다.

RHEL(RedHat) 설치가 완료되었으면, PostgreSQL 을 설치해 보자.


https://www.postgresql.org

Thunderbird 기부

이미지
현대사회의 사람들은 email을 많이 사용한다.
나도 현대사회의 사람이므로 email을 많이 사용하고 있다.

개인적으로 사용하기도 하고,
회사에서 사용하기도 하고.

email을 사용할때 일반적으로 email client 프로그램을 사용한다.
세상에는 수 많은 email client 프로그램이 존재한다.

Microsoft Outlook
Mail for Windows 10
eM Client
Mailbird
Inky
TouchMail
Thunderbird
Opera Mail
........ (더 많이 있다)
등등 너무 많다.

그 중에서 아무래도 사람들에게 가장 널리 알려진건 Outlook일 것이다.
아무래도 Windows, Office 가 널이 보급되어 있으니 당연한 현상일 것이다.

개인적으로 Thunderbird를 많이 사용했었다.
공짜이기도 하고,
왠지...... "공돌이는 이런거 써야 해~" 라는 마음가짐 때문에?
암튼.

저번 Ubuntu 기부 이후 문득,
또 다시 너무 신세만 지고 살아온게 아닌가 라는 생각이 들었다.
http://kimchki.blogspot.com/2017/10/ubuntu.html

Thunderbird는 나에게 많은 것을 아낌없이 주었는데, 나는 해준것도 없이 받기만 한거 같았다. 그래서, 기부를 하기로 했다.
기부 하는 방법은 간단하다.
"https://www.thunderbird.net/ko - 기부하기" 로 이동한다.

기부하고 싶은 금액을 선택하거나,
직접 금액을 입력할 수 있다.


\11,160 기부하기로 했다.


대략 $9.78 정도 되는거 같다.


기부자의 정보를 입력한다.


뭔가 작업이 빙글빙글 되더니, 고맙다고 ㅋㅋ


email에서도 고맙다고 ㅋㅋ


카드 명세서에도 나온다.
환율이랑 수수료에 따라 금액은 다를 수 있다.
업종이.......자선단체 ???


기부를 하니, 뿌듯하다.


뭔가 감사의 표시를 한거 같아서 좋다.
많은 사람들을 위해, Thunderbird가 계속 잘 발전했으면 좋겠다.

PostgreSQL 에서 pg_hba.conf 의 ADDRESS 설정

저번 포스트에서 postgresql.conf 의 listen_addresses 에 대해 기록을 했다.
listen_addresses 는 PostgreSQL 서버 입장에서 listen 을 할때에 대한 내용이었다.

pg_hba.conf 는 다른 컴퓨터(클라이언트)에 대한 control 내용이다.

편집기를 통해 pg_hba.conf 파일을 열어보면, 아래와 같은 형태로 되어 있다.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

이번에는 ADDRESS 항목에 대해서만 기록해 보자.

pg_hba.conf 의 초기 내용은 아래와 같다.

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust

# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     trust
host    replication     all             127.0.0.1/32            trust
host    replication     all             ::1/128                 trust

"127.0.0.1/32" 라고 되어 있…

PostgreSQL 에서 postgresql.conf 의 listen_addresses 설정

PostgreSQL 은 DBMS 이다.
당연히 socket 을 통한 접속 기능을 제공하고 있다.

처음 설치를 하면, 보안을 위해서 socket 외부 접속이 막혀있다.
이것을 열어주기 위해서는 postgresql.conf 파일을 수정해야 한다.

편집기를 통해서 postgresql.conf 파일을 열어보면,
listen_addresses 항목이 있는데 이것을 수정하면 된다.

listen_addresses 앞에 주석표시를 삭제한다.
(당연한 것이겠지만, 혹시나 하고)

listen_addresses = 'localhost' # what IP address(es) to listen on;
                                       # comma-separated list of addresses;
                                       # defaults to 'localhost'; use '*' for all
                                       # (change requires restart)
기본값이 localhost 로 되어 있다.
localhost 와 127.0.0.1 은 같은 의미다.

뭐, 예를 들어, 실제 PostgreSQL 소스 코드에
listen("localhost");
이런식으로 들어간다는 말이다.

아래 명령어를 통해서,
실제로 네트워크가 어떻게 되고 있는지 확인할 수 있다.

% netstat -nap | grep 5432

tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      30702/postgres
이 말은 PostgreSQL 이 네트워크를 listen 하고 있는데,
127.0.0.1 으로 listen 하고 있겠다는 의미다.
로컬 접속만 허용하겠다는 의미다.

어떤 서버가 psql 을 통해서 PostgreSQL…

Linux Timezone(UTC) 시간 변경 (tzdata)

이미지
서버 시간이, 실제 자신이 거주하고 있는 곳 시간과 다를 수 있다.

시간을 맞추는 방법은 아래와 같다.
% sudo dpkg-reconfigure tzdata

자신에게 맞는 시간을 선택한다.



CentOS 7 IP 주소 설정

CentOS 7 IP 주소 설정

네트워크 설정이 기록되어 있는 파일을 수정하면 된다.

% vi /etc/sysconfig/network-scripts/ifcfg-enp3s0
ifcfg-enp3s0 파일 이름은 서버 상황에 따라 다를 수 있다.
% ip a 명령어를 통해서 네트워크 카드 이름을 확인하자.
% ls -l /etc/sysconfig/network-scripts 해당하는 파일이 존재하는지 확인하자.
붉은색으로 표시된 내용만 수정 혹은 추가하면 된다.
TYPE=Ethernet PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp3s0
UUID=227c9d90-2be8-4427-a098-3fd3b22e4271
DEVICE=enp3s0
ONBOOT=yes
IPADDR=172.21.70.116
NETMASK=255.255.255.0
GATEWAY=172.21.70.1
DNS1=172.21.17.2
DNS2=168.126.63.1

서버를 재부팅 하거나, 네트워크를 다시 시작하면 된다.
% service network restart



출처
http://devhoma.tistory.com/112

Linux Timezone(UTC) 시간 변경

이미지
서버 시간이, 실제 자신이 거주하고 있는 곳 시간과 다를 수 있다.

시간을 맞추는 방법은 여러가지 방법이 있다.
아래 3가지 방법 중 원하는 방법을 사용하면 된다.

(1) localtime 을 링크로 연결해 준다.
% ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

% ls -l /usr/share/zoneinfo
디렉토리를 보면, 다양한 나라들이 존재한다.

다른 시간을 기준으로 하고 싶다면
위처럼 해당 시간을 맞추면 된다.

(2) tzselect 명령어 사용


(3) "dpkg-reconfigure tzdata" 명령어 사용





출처 http://jhproject.tistory.com/136
https://xmlangel.blogspot.kr/2016/06/ubuntu-utc.html
http://misoin.tistory.com/68
http://ngee.tistory.com/643
https://cjh5414.github.io/ubuntu-timezone

Ubuntu 18.04 IP 설정

Ubuntu 18.04 IP 설정 설정 방법

Ubuntu 18.04 는 ip address 설정 방법이, Ubuntu 16.04 와 다르다.
정확히는 Ubuntu 17.10 부터 ip address 설정 방법이 달라졌다.

기존 방법에서 사용하던 파일을 open 해보면,
netplan 파일로 변경되었다고 나온다.
% cat /etc/networks/interfaces

netplan 으로 이동하자
% cd /etc/netplan

% ls
50-cloud-init.yaml

1개의 yaml 파일이 존재한다.
상황에 따라 이름이 다를 수도 있고, 갯수가 다를 수도 있는거 같다.
아무튼 vi 같은 editor 로 열어보자.

# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        enp0s3:
            addresses: []
            dhcp4: true
            optional: true
    version: 2
아래처럼 정보를 입력하면 된다.

# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write …

Ubuntu 16.04 IP 주소 설정

Ubuntu 16.04 IP 주소 설정 방법

네트워크 설정이 기록되어 있는 파일을 수정하면 된다.
% sudo vi /etc/network/interfaces

#iface enp0s3 inet dhcp
#기존 DHCP 는 안쓰기 때문에 주석처리 해놓는다.

iface enp0s3 inet static
#고정IP 방식을 사용하기 위해선 static 을 입력한다.

address 192.168.0.100
#내부 IP 주소나 외부 IP주소를 address 항목에 입력한다.

netmask 255.255.255.0
#서브넷 마스크를 입력한다.

gateway 192.168.0.1
#Gateway IP 를 입력한다. 공유기를 사용하는 경우 공유기 내부 환경설정을 위해 들어가는 IP 주소가 Gateway 이다.

dns-nameservers 168.126.63.1 168.126.63.2
#dns 서버를 입력한다. 스페이스바를 통해 보조DNS 설정이 가능하다. 첫번째가 메인 DNS, 두번째가 서브 DNS 이다.

설정 완료 후 네트워크를 다시 시작하자.
sudo systemctl restart networking.service



출처
https://blog.supersu.kr/computer/linux/ubuntu/how-to-ubuntu-16-04-static-ip-settings
https://www.manualfactory.net/10108

Nginx autoindex timezone 한국 시간 설정

Nginx 는 요즘 한창 인기를 끌고 있는 웹 서버 이다.
Apache 보다 좋다고 인터넷에서 시끌벅적 하길래, 사용해 봤다.

근데 잘 모르겠다.
뭐 그렇게 많은 사람들이 동시에 접속할 일이 없으니 당연하지만.....

암튼 만족하면서 잘 사용중이다.

근데 문제가 생겼다.
autoindex 기능을 사용해서,
현재 디렉토리에 있는 파일들을 나열하도록 해서 사용중인데 날짜가 안 맞는다.

이리저래 해봤는데, 한국 시간보다 9시간 늦게 나온다.
UTC ? 뭐? 거시기? 태평양 가운데 시간 그거..... 암튼 그거 시간으로 나온다.

그래서 구글링을 해본 결과, 나처럼 먼저 삽질한 사람이 해결방법을 적어놨다.
/etc/nginx/sites-available/default 에 아래 내용을 넣으면 된다.

autoindex_localtime on;



출처
https://gist.github.com/lixingcong/e6987f83c9e7b226f976876f5c68f928

Ubuntu 배포판 다운로드 download 주소

내가 개인적으로 제일 선호하는 OS 는 Ubuntu 이다.
사용하기 편하고, 참고할만한 자료도 많기 때문이다.

사용하다 보면, 종종 옛날 버전이 필요할 때도 있는데,
그 때마다 검색해서 찾기 불편하다.

그래서 주소를 기록해 두고자 한다.

http://releases.ubuntu.com/12.04
http://releases.ubuntu.com/12.10

http://releases.ubuntu.com/13.04
http://releases.ubuntu.com/13.10

http://releases.ubuntu.com/14.04
http://releases.ubuntu.com/14.10

http://releases.ubuntu.com/15.04
http://releases.ubuntu.com/15.10

http://releases.ubuntu.com/16.04
http://releases.ubuntu.com/16.10

http://releases.ubuntu.com/17.04
http://releases.ubuntu.com/17.10

http://releases.ubuntu.com/18.04
http://releases.ubuntu.com/18.10

http://releases.ubuntu.com/19.04

각 버전 주소에 들어가면 iso 파일을 다운로드 할 수 있다.

서버 버전을 다운로드 하려면 "server-amd64.iso" 이렇게 생긴걸 다운로드 하면 된다.
데탑 버전을 다운로드 하려면 "desktop-amd64.iso" 이렇게 생긴걸 다운로드 하면 된다.

참고로, "server-i386.iso" "desktop-i386.iso" 이렇게 생긴거는 32비트 버전이다. "server-armhf" 이렇게 생긴거는 임베디드에 사용되는 ARM CPU 이다. (라즈베리파이 같은 곳에서 사용)

Vagrant 사용 방법 (7)

이미지
Vagrant Box 는 자신만 사용할 수도 있지만,
공개 site 에 업로드 해서 여러 사람이 사용할 수 있도록 할 수 있다.

만든 Vagrant Box 파일을 올려서, 여러 사람이 사용할 수 있게 해보자.


https://vagrantcloud.com
Vagrant Cloud 사이트가 hub 역할을 하고 있다.
회원 가입을 하자.


로그인을 하면, 다른 사람들이 만든 Vagrant Box 를 다운로드 할 수 있고,
내가 만든 Vagrant Box 를 업로드 할 수 있다.
"Create a new Vagrant Box" 를 클릭하자.


저번에 만든 CentOS 를 업로드 할 것이므로, 이름은 "CentOS7.2" 라고 하자.

Box 를 "Private" 로 설정할 수도 있다.
하지만 이 경우에는 유료 서비스에 가입을 해야 사용할 수 있다.
그냥 공개로 할 것이므로 체크 하지 말자.


혹시 Private 로 설정해야 한다면, 위 가격표를 참고하면 된다.

"Short description" 에는 간단한 설명을 기록하면 된다.


Box 의 버전을 입력한다.
Box 는 처음 만들때는 "RubyGems versioning" 규칙에 따라서 "0.0.1" 이라고 하면 된다.
나중에 Box 를 수정하게 되면, 수정하고 나서 버전을 "0.0.2" 이런식으로 올리면 된다.
하지만 꼭 버전을 저렇게 할 필요는 없다. 사실 자기 맘대로 해도 된다.
그러나 관례상 저렇게 한다는걸 알아두면 된다.

Vagrant.configure("2") do |config|
  config.vm.box = "CHOONGKI_KIM/CentOS7.2"
  config.vm.box_version = "0.0.1"
end
다 만들어 졌다.


Release 를 클릭하자.


Release version 을 클릭하자.


Release 버튼이 안 보이…

Vagrant 사용 방법 (6)

vagrant 는 기본적으로 /vagrant 라는 디렉토리가 생성되고,
그 디렉토리는 host 머신의 Vagrantfile 이 있는 디렉토리와 동기화가 된다.

예를 들어
host 머신의 Vagrantfile 이 /home/kimchki/test 에 있다면,
guest 머신의 /vagrant 은 /home/kimchki/test 와 동기화가 된다.

그 외 별도의 디렉토리를 추가적으로 동기화를 하고 싶은 경우,
Vagrantfile 에 아래와 같이 추가하면 된다.
config.vm.synced_folder "/home/installation", "/installation"
host 머신의 /home/installation 디렉토리는
guest 머신의 /installation 디렉토리와 동기화가 된다.



출처
https://www.vagrantup.com/intro/getting-started/synced_folders.html

Vagrant 사용 방법 (5)

이미지
지금까지는 인터넷에 공개되어 있는, public 형태의 이미지를 사용했었다.
이번에는 내가 만든, 나에게 맞춘, 나만의 이미지를 사용해 보도록 하자.

테스트를 위해서 인터넷에서 CentOS 7.2 를 다운로드 했다.
글을 쓰고 있는 현재 시점에서는 아래 링크에서 다운로드 했다.
http://vault.centos.org/7.2.1511/isos/x86_64/

virtualbox 에 새로 만들기를 클릭해서, 새로운 가상 머신을 만든다.


다운받은 CentOS 7.2 iso 파일을 통해서 설치를 진행하면 된다.


설치 완료 후, guest 머신에 개발을 위한 설정과 vagrant 를 위한 설정을 해줘야 한다.
guest 머신에 ssh 를 통해 접속하자.

root 로 로그인 후, 작업을 진행하자.
% su -
% yum groupinstall -y 'Development Tools'
% yum install -y kernel-devel perl wget

Ubuntu 경우는
% sudo apt-get install build-essential

virtualbox 에서 제공하는 "게스트 확장" 프로그램을 설치해야 한다.
"장치 - 게스트 확장 CD 이미지 삽입" 을 선택하면 iso 가 삽입된다.

참고로 위치는 이곳에 있다. (몰라도 된다)
/usr/share/virtualbox/VBoxGuestAdditions.iso


당연한 이야기 겠지만, IDE 컨트롤러가 있어야 한다.


iso 를 삽입했으니, 마운트를 해보자.
$ mount -r /dev/cdrom /media

설치를 하자.
$ /media/VBoxLinuxAdditions.run --nox11 그런데 에러가 발생했다.

kernel-devel의 특정 버전을 yum으로 설치하라는 내용이다.
이 포함되어 있다. 이 명령을 따라 kernel-devel을 설치하고 VBoxLinuxAdditions.run를 다시 실행하면 오류없이 설치가 된다.
설치하라고 하니까, 설치를 해야지 …

Vagrant 사용 방법 (4)

이미지
apache 를 통해 web server 를 실행시켰지만,
가상머신(guest) 내부에서만 접속이 가능하고,
host 머신에서는 접속이 불가능 했다.

host 머신에서도 guest 머신으로 접속이 가능하도록
네트워크를 연결해 주자.

공유기를 사용해본 경험이 있다면,
포트 포워딩 이라고 생각하면 된다.

/home/kimchki/test/Vagrantfile 파일을 편집하자.

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise64"   config.vm.provision :shell, path: "bootstrap.sh"
  config.vm.network :forwarded_port, guest: 80, host: 4567 end
guest 머신의 80 포트를, host 머신의 4567 포트로 연결해 주겠다는 의미다.

reload 하자.
% vagrant reload

host 머신의 웹 브라우저를 통해서 자신의 4567 포트에 접속해 보자.
http://127.0.0.1:4567


잘 접속이 되면 성공한 것이다.



출처
https://www.vagrantup.com/intro/getting-started/index.html

Vagrant 사용 방법 (3)

이미지
Provisioning 이란?

프로비저닝(provisioning)은 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말한다. 서버 자원 프로비저닝, OS 프로비저닝, 소프트웨어 프로비저닝, 스토리지 프로비저닝, 계정 프로비저닝 등이 있다. 수동으로 처리하는 '수동 프로비저닝'과 자동화 툴을 이용해 처리하는 '자동 프로비저닝'이 있다.
-- From wiki --
잘 모르겠다.
암튼 사용자에게 뭔가 서비스를 제공하려고 할때,
사용자가 원하는 시스템 환경이 있을 것이다. (혹은 그 사용자 요구에 맞는 시스템 환경)
그 환경을 일일이 수동으로 해주는건 번거로운 일이니,
자동으로 해주는 시스템 이라고 보면 될거 같다.

vagrant 를 통해서 ubuntu 가상머신을 생성하고 실행까지 해봤다.

이 가상머신에 apache 를 설치하고 싶다고 가정하자.
apt-get 을 통해서 설치하면 될 것이다.
수동으로 또각또각 키보드를 사용해서 설치하면 될 것이다.

근데 만약 ubuntu 서버를 100명의 고객에게 할당해 주기 위해,
100대를 생성해야 한다면은?
(1명에게 1개씩 할당해야 하는 상황이라고 가정하자)

100번을 apt-get 을 또각또각 키보드를 쳐야할 것이다.

apache 뿐만 아니라 mysql, php, java 까지 설치해야 한다면,
엄청난 일이 될것이다.

이런걸 자동화 해서 사용자 요구에 맞게 준비하는걸,
provisioning 이라고 생각하면 된다.

vagrant 에는 provisioning 기능이 존재한다.
사용해 보자.

host 머신의 /home/kimchki/test 와
guest 머신의 /vagrant 가 sync 상태인건
저번 포스트를 통해 알고 있다.

/home/kimchki/test/bootstrap.sh 파일을 생성하자.

#!/usr/bin/env bash

apt-get update
apt-get install -y apache2

Atlassian Confluence 6.10.1 구매

이미지
예전에는 뭔가를 기록할 일이 생기면, 노트에 기록을 하곤 했었다.
아날로그 세대 답게, 샤프로 쓱싹쓱싹......

그 후,
디지털 세대로 급변하는 격동기(激動期) 시대를 맞이하게 되어서.....
디지털 인(人) 답게 기록의 형태를 디지털 형태로 변경하기로 하였다.

스마트폰, 데스크탑, 노트북을 사용하여 이것저것 기록하기 시작했다.
기록하는 형태의 서비스를 제공하는 프로그램 종류는 엄청 많았다.
그 중, 사용해 본 프로그램은 아래 리스트 정도.

에버노트(Ever Note), 원노트(One Note), 킵(Keep), 페이퍼(Dropbox Paper), 솜노트(Som Note), 큅(Quip)......  (더 있을텐데 기억이 잘 안 남)

위 제품들은 일반적으로 개인용으로 사용하기에 잘 되어 있다.
물론 공유 기능을 사용해서 여러 사람들과 협업적으로 사용 가능하다.
실제로 위 제품들을 사용하는 회사, 단체, 집단 등도 있다고 한다.

그렇긴 한데,
위 제품보다 좀 더 회사에서 사용하는 용도로 특화된 제품도 있다.

바로,
Atlassian 회사에서 만든 Confluence 라는 제품이다.

회사에서는 여러 사람들과 서로 문서를 공유하고, 작성할 수 있도록 특화된 제품이라고 해야 하나? (협업 제품)
아님 plugin 이 많아서 기능은 무한대로 추가할 수 있는 제품이라고 해야 하나?
암튼, 좋긴 좋다.

수 많은 회사에서 Confluence 를 사용한다고 알려져 있다.

Confluence 가 많이 알려지면서, 회사 뿐만 아니라 개인적으로 사용하는 사람들도 많이 생겼다.

혼자 사용하기도 하고, 친구들과 같이 정보 공유를 위해 사용하기도 하고, 작은 단체에서 사용하기도 하고, 다양하게 사용되는 같다.

원래는 비쌌었는데, 나처럼 돈도 빽도 없는 사람들을 위해 $10 에 판매한다는 소문을 들었다.
(2016년 9월 부터 인듯)

진짜? 레알? 리얼리?


소규모 단체를 위해 저렴하게 내 놓은거라고 한다.
그리고 $10 는 기부를 한다고 한다. (그러므로 환불은 안된다)
누이좋고 매부…