2019년 2월 7일 목요일

리눅스(Linux)에서 윈도우(Windows) 공유폴더(cifs) 마운트(mount) 할 때 에러

리눅스(Linux)에서 윈도우(Windows) 공유폴더(cifs) 마운트(mount) 할 때 에러가 발생했다.

% mount -t cifs -o username='kimchki',password='kimchki',rw //192.168.1.200/usbshare1/Downloads /root/z

mount: mount //192.168.1.200/usbshare1/Downloads on /root/z failed: 명령을 지원하지 않음

어? 이상하다. 이런식으로 하는거 맞는거 같은데....

구글링을 해봤다.

"Mount cifs Operation not supported"
위의 제목으로 나와 같은 문제를 겪은 글들이 보였다.

% dmesg
에러 메세지가 무엇인지 확인해 보았다.

[841095.586979] No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount.

[841095.597543] CIFS VFS: Dialect not supported by server. Consider specifying vers=1.0 or vers=2.0 on mount for accessing older servers

[841095.599436] CIFS VFS: cifs_mount failed w/return code = -95

뭔지 모르겠지만 디폴트(default)가 어쩌구 저쩌구 그래서 1.0 으로 하라고 하네?

vers=1.0 구문을 추가했다.
% mount -t cifs -o username='kimchki',password='kimchki',rw,vers=1.0 //192.168.1.200/usbshare1/Downloads /root/z

오~ 잘된다.


※ 참고로,
특정 사용자 계정으로 마운트를 하고 싶다면 uid,gid를 추가하면 된다.
% mount -t cifs -o username='kimchki',password='kimchki',rw,vers=1.0,uid=1000,gid=1000 //192.168.1.200/usbshare1/Downloads /root/z





출처
http://todactodac.blogspot.com/2018/06/ubuntu-mount-error95-operation-not.html
https://unix.stackexchange.com/questions/403131/mounting-cifs-works-on-ubuntu-14-not-on-debian-testing

2019년 1월 31일 목요일

rsync, ssh 연동 방법

rsync 는 파일을 효율적으로 전송하고 동기화해주는 유용한 프로그램이다.
모든 리눅스에 기본적으로 설치되어 있다.

rsync 만 있으면 다른건 필요없을 정도로 막강한 기능을 자랑하고 있다.

rsync 는 "원본 디렉토리" 와 "대상 디렉토리" 를 동기화 시켜주는 역할뿐만 아니라,
심지어 다른 컴퓨터의 "원본 디렉토리" 와 "대상 디렉토리" 를 동기화할 수 있다.

"원본 디렉토리" 가 있는 컴퓨터에는 rsync 데몬을 실행하고,
"대상 디렉토리" 가 있는 컴퓨터에서 rsyn 로 동기화를 실행하면 된다.
rsync 데몬은 873 번 port 를 사용한다.

하지만, 데몬을 실행할 수 없는 환경이거나,
873 port 가 방화벽에 막혀있을 경우 ssh 를 사용해서 파일 전송이 가능하다.

% rsync -e ssh 계정@IP주소:원본경로/ 대상경로/

이런식으로 입력하면 된다.

예를 들어,
% rsync -e ssh pi@kimchki.pe.kr:/home/pi/ /homes/pi_bak/

rsync 는 보통 avz 옵션을 사용한다.
% rsync -avz -e ssh pi@kimchki.pe.kr:/home/pi/ /homes/pi_bak/

어떤 파일이 "원본 디렉토리" 에는 삭제되어서 "대상 디렉토리" 에도 삭제하고 싶다면,
% rsync -avz --delete -e ssh pi@kimchki.pe.kr:/home/pi/ /homes/pi_bak/

만약 전송과정을 출력하고 싶다면,
% rsync -avz --delete --progress -e ssh pi@kimchki.pe.kr:/home/pi/ /homes/pi_bak/

만약 ssh 가 22 번 port 가 아닌 10000 번 port 를 사용하고 있다면,
% rsync -avz --delete --progress -e 'ssh -p 10000' pi@kimchki.pe.kr:/home/pi/ /homes/pi_bak/





출처
http://funnylog.kr/439
http://gyuha.tistory.com/445
http://www.worldwalker.co.kr/entry/rsync-사용중-대상-서버의-ssh-포트가-변경-되었을-시

2019년 1월 29일 화요일

RaiDrive

Windows 윈도우에서는 WebDAV, SFTP 같은 네트워크 스토리지를 사용하는거에 지원이 잘 되지 않는편이다.

google drive, one drive, dropbox 같은 서비스들은 각 회사에서 제공해 주는 프로그램을 사용해서 연동을 할 수가 있다.

하지만 일반적으로 공통적인 프로토콜 같은걸 지원하는건 좀 인색한 편이다.

다행히, FTP 는 연동을 지원하고 있다.
그래서 탐색기에 FTP 를 연동해서 마치 내 하드처럼 사용가능하다.
WebDAV 도 지원하기는 한데, 인증관련 문제나 파일 사이즈 문제 같은거 때문에 별도의 작업이 필요한거 같다.

어떨때는 탐색기에 SFTP 를 연동해서 사용하고 싶어도
지원을 하지 않으니 항상 WinSCP, FileZilla 같은 프로그램으로 전송, 받기를 해야한다.

RaiDrive 는 이런 번거로운 작업 없이, 탐색기에 네트워크 드라이브 형태로 연결해주는 프로그램이다.

https://www.raidrive.com/download
다운로드를 받고 설치해 보자.


설치 후, 실행 화면이다.
추가 버튼을 클릭해 보자.


Google Drive
Google Photo
Google Team Drive
OneDrive
Dropbox
WebDAV
SFTP
FTP
많은 네트워크 서비스를 지원하고 있다.

네트워크 드라이브에 연결하고, 내 컴퓨터에 있는 자료 다루듯 하면 된다.




출처
https://redmilk.co.kr/archives/4866
https://www.raidrive.com/ko

2019년 1월 28일 월요일

WinSCP 를 이용하여 OneDrive WebDAV 연결 방법

WinSCP 를 이용하여 OndeDrive WebDAV 연결을 하기 위해서는
자신의 CID (customer ID) 를 알아야 한다.

onedrive.com 에 접속 후, 로그인 해 보자.

로그인을 하면 아래와 같은 URL 형태를 볼 수 있다.
https://onedrive.live.com/?id=root&cid=ABCDEFGHIJKLMNOP
여기에서 cid 뒤에 있는 것이 자신의 CID 이다.
이 CID 를 잘 기록해 두자.

WinSCP 를 실행하자.



새 사이트를 추가한다.

파일 프로토콜 : WebDAV
암호화 : SSL/TLS 자동 선택 암호화
호스트 이름 : d.docs.live.net
포트 번호 : 443
사용자 이름 : 각자 알아서
비밀번호 : 각자 알아서

고급(D) 버튼을 클릭하자.


원격 디렉토리 항목에 CID 를 입력한다.
/ABCDEFGHIJKLMNOP
반드시 앞에 / 를 넣어야 한다.

그리고 확인을 누르면, onedrive 에 접속할 수 있다.

추가적으로 레지스트리(registry)를 수정하자.
시작 -> 실행 -> regedit

아래 경로로 이동하자.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters

아래와 같이 값을 변경하자.
BasicAuthLevel 값이 2 로 변경한다.
FileSeizeLimitInBytes 0xffffffff 로 변경한다.


컴퓨터를 재부팅 하면 적용이 된다.



출처
https://winscp.net/eng/docs/guide_microsoft_onedrive
https://redmilk.co.kr/archives/2483

2019년 1월 7일 월요일

CentOS 7 에서 virtualbox 실행시 오류 Qt FATAL: QXcbConnection: Could not connect to display

CentOS 7 에서 virtualbox 실행시 오류 메세지가 나오는 경우가 있다.

# virtualbox
Qt FATAL: QXcbConnection: Could not connect to display
중지됨 (core dumped)

열심히 구굴링을 해봐도 마땅한 해결책을 찾지 못해서,
아... 아무래도 x11 뭐 거시기가 없어서 그런거 같다고 생각했다.
그래서 관련 패키지를 설치하기로 했다.

# yum install -y xorg-x11-server-Xorg xorg-x11-xauth xorg-x11-apps

다 설치 후, 재부팅 후, virtualbox 를 수행하니, 다행히 에러 없이 실행되었다.

그런데, 화면이 이상하게 실행이 되었다.


폰트 문제인가?

# env | grep LANG
LANG=ko_KR.UTF-8

음..... 바꿔볼까?

# export LANG=C
# env | grep LANG
LANG=C

다시 virtualbox 를 실행했다.


오~ 잘된다.

CentOS 7 설치 후 netstat, ifconfig 설치

CentOS 7 설치 후 netstat, ifconfig 명령어가 없어서 매우 당혹스러운 적이 있었다.

간단하게, yum 을 통해서 network tools 을 설치할 수 있다.

# yum -y install net-tools



출처
http://millky.com/@origoni/post/1051

2018년 12월 18일 화요일

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
접속해서, Download 를 클릭하자


직접 컴파일해서 설치를 할 것이므로, Source 를 클릭하자.


2018.12 기준 최신 버전이 v11.1 이므로 이거를 클릭하자.


tar.gz 존재하는지 확인하자.


마우스 오른쪽 버튼을 눌러서, "링크 주소 복사" 를 클릭하자.

RHEL(RedHat) 에 접속해서, 다운로드 하자.
% curl -O https://ftp.postgresql.org/pub/source/v11.1/postgresql-11.1.tar.gz

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

설정을 하자.
% cd postgresql-11.1
% ./configure --prefix=/tmp/postgresql

아래와 같은 에러가 발생한다.
If you have readline already installed, see config.log for details on the
failure.  It is possible the compiler isn't looking in the proper directory.
Use --without-readline to disable readline support.

환경설정, 컴파일에 필요한 library 가 없어서 발생하는 에러다.
yum 을 통해서 library 를 설치해 주면 편할텐데 앞서 말한것처럼,
무료 RHEL(RedHat) 는 yum 을 사용할 수 없다.
그러므로 수동으로 RPM 을 설치해 줘야 한다.


RHEL(RedHat) iso 파일을 넣어준다.

read-only 형태로 마운트 한다.
% mount -r /dev/cdrom /mnt
% cd /mnt/Packages
% ls

RPM 파일들이 주루룩 나오는걸 볼 수 있다.
이것들을 수동으로 설치해 줘야 한다.

dependencies 에 걸리지 않도록 아래 순서대로 설치를 진행한다.

rpm -Uvi wget-1.14-15.el7.x86_64.rpm
rpm -Uvi ncurses-devel-5.9-13.20130511.el7.x86_64.rpm
rpm -Uvi readline-devel-6.2-10.el7.x86_64.rpm
rpm -Uvi zlib-devel-1.2.7-17.el7.x86_64.rpm
rpm -Uvi keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm
rpm -Uvi libcom_err-devel-1.42.9-10.el7.x86_64.rpm
rpm -Uvi libkadm5-1.15.1-8.el7.x86_64.rpm
rpm -Uvi libverto-devel-0.2.5-4.el7.x86_64.rpm
rpm -Uvi libsepol-devel-2.5-6.el7.x86_64.rpm
rpm -Uvi pcre-devel-8.32-17.el7.x86_64.rpm
rpm -Uvi libselinux-devel-2.5-11.el7.x86_64.rpm
rpm -Uvi krb5-devel-1.15.1-8.el7.x86_64.rpm
rpm -Uvi openssl-devel-1.0.2k-8.el7.x86_64.rpm
rpm -Uvi xz-devel-5.2.2-1.el7.x86_64.rpm
rpm -Uvi libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm
rpm -Uvi pam-devel-1.1.8-18.el7.x86_64.rpm
rpm -Uvi python-devel-2.7.5-58.el7.x86_64.rpm
rpm -Uvi cyrus-sasl-2.1.26-21.el7.x86_64.rpm
rpm -Uvi cyrus-sasl-devel-2.1.26-21.el7.x86_64.rpm
rpm -Uvi openldap-devel-2.4.44-5.el7.x86_64.rpm
rpm -Uvi tcl-8.5.13-8.el7.x86_64.rpm
rpm -Uvi tcl-devel-8.5.13-8.el7.x86_64.rpm
rpm -Uvi libgpg-error-devel-1.12-3.el7.x86_64.rpm
rpm -Uvi libgcrypt-devel-1.5.3-14.el7.x86_64.rpm
rpm -Uvi libxslt-devel-1.1.28-5.el7.x86_64.rpm
rpm -Uvi systemd-devel-219-42.el7.x86_64.rpm
rpm -Uvi libuuid-devel-2.23.2-43.el7.x86_64.rpm

설치 완료 후, 다시 시도해 보자.
% cd postgresql-11.1
% ./configure --prefix=/tmp/postgresql

잘 되었으면 컴파일을 하자.
% make

잘 되었으면 설치를 하자.
% make install

Database 초기화가 잘 되는지 확인해 보자.
% initdb -D DATA

DB 실행이 잘 되는지 확인해 보자.
% pg_ctl -D DATA start

화곡 어쩌라고, 굴사냥

석화찜(굴찜)을 먹으러 여의도로 갔다 그런데 재료가 모두 소진되었다고 마감이라고 한다 응? 다들 굴에 미쳤나? 굴을 찾아 헤매다 보니, 화곡까지 가게 되었다. 화곡은 처음 가본다. 첫인상은 "술집 겁네 많네" 피똥쌀때까지 마실 수 있...