서버개발을 하다가 보면 

DB 서버와 WAS 서버의 시간이 서로 달라 시간제 아이템이나 

하트 보내기 시간 등의 차이가 어긋날때가 많습니다. 


윈도우의 경우야 인터넷 시간 동기화 메뉴가 있기 때문에 

클릭 한번에 해결되지만


제가 쓰는 리눅스 서버의 경우 명령어로 시간 동기화를 해줘야합니다. 


date 명령어는 현재 서버의 시간을 확인하는 명령어 입니다.

rdate -s time.bora.net 명령어는 보라넷에서 제공하는 인터넷 시간으로 동기화 하는 명령어 입니다.




위의 두 명령어로 리눅스의 시간은 인터넷 표준시로 동기화 되었습니다.


어렵지 않죠?





  1. 헬로끙이 2015.09.23 20:30 신고

    저는 컴맹이라 이런거 잘 몰라요.. 정말 대단하십니다 ^^ ㅎㅎ

  2. 드래곤포토 2015.09.28 09:12 신고

    잘보고갑니다.
    남은 연휴도 즐겁게 보내세요 ^^

  3. 여행쟁이 김군 2015.09.29 19:53 신고

    어렵지는 않아보이는데~ 솔직히 잘은 모르겠어요 적샷굿샷님이 대단하게 느껴집니다요^^ㅋ

리눅스 umount 시도시 사용중인 폴더라 umount 되지 않을시에 

강제로 umount 하는 방법입니다. 



# fuser -ck 마운트디렉토리

ex) fuser -ck /home/ince


위와 같이 실행하면 사용중인 프로세서를 강제로 kill 합니다. 


이후 다시 umount 시도하면 정상적으로 언마운트가 됩니다. 




마운트 폴더를 사용중인 프로세서를 확인 하는 방법도 같은 명령어를 사용합니다.

# fuser -cu /home/ince


위와 같이 실행하면 마운트 폴더를 사용하는 프로세서를 확인할수 있습니다. 








IPTables FTP Passive Mode 설정 - vsftp 설정

FTP 접속시에 Active mode(활성), Passive Mode(비활성) 두가지 모드가 있는데 Active 경우는 일반적인 경우 21번 포트를 사용하지만 Passive Mode 에서는 LIST 등의 명렁을 위해 하나의 포트가 더 필요합니다. 이 해당 포트를 일정 범위로 지정 후에, iptables 에서 해당 포트를 오픈해서 사용하는 것이 좋습니다.

1. vsftpd 설정

[root@mail ~]# vi /etc/vsftpd/vsftpd.conf

pasv_enable=YES
pasv_promiscuous=YES
pasv_min_port=50000
pasv_max_port=50100

[root@mail ~]# /etc/init.d/vsftpd restart

2. iptables 설정

[root@mail ~]# vi /etc/sysconfig/iptables

-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 21 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 50000:50100 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 50000:50100 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

[root@mail ~]# service iptables restart 

출처 : http://ihelpers.x2soft.co.kr/programming/tipntech.php?CMD=print&IDX=690&source=overture



주로 접속하는 기기가 사설아이피의 경우 Active mode(활성) 모드일 경우 접속이 되지 않거나

접속후에 리스트가 아무것도 표시 되지 않는 문제가 있습니다. 

이럴경우 Passive Mode 모드로 변경해주면 해결이 됩니다. 


위는 vsftp를 Passive Mode로 설정하는 방법입니다.






인터넷에 아무리 찾아봐도

 # setsebool -P ftp_home_dir=1  

이렇게 설정해 주면 된다고 하는데....


근데 내가 설치한 CentOS 6.X 버전에서는 저 명령어 주면 그대로 먹통이 됩니다. 


이곳 저곳 열심히 찾다가 다른 해결법이 있어 메모겸 올려둡니다.




[root@적샷굿샷~]# setsebool allow_ftpd_full_access on

[root@적샷굿샷~]# service vsftpd restart


이렇게 하면 잘 접속되네요. '-' 


왜 잘되는지는 모르겠습니다. 

파일질라 클라이언트로 접속시엔 저 명령어 후에도 접속은 되지만 폴더, 파일 리스트가 여전히 안보이네요.

이제 파일질라와 빠이 빠이 해야 할때가 왔나 봅니다.





서버 운영을 하다가 보면


가끔 리눅스서버의 시간이 맞지 않을때가 있습니다. 


시간은 뭐니 뭐니 해도 인터넷 표준시간으로 동기화 하는게 젤 좋죠 ^^


리눅스에서 현재 시간을 확인 하는 명령어는 


date 입니다.



sudo rdate -s time.bora.net




를 입력 하시면 bora.net의 시간으로 동기화가 완료됩니다.


참 쉽죠??




  1. G.J. 제이 2014.09.13 10:14 신고

    서버 운영하시는 분에게 유용한 팁이겠네요!




root$passwd 사용자계정

New password: 패스워드 입력

Retype new password: 똑같이 다시 입력
passwd: all authentication tokens updated successfully.



위와 같이 붉은 부분들을 입력하시면 됩니다.



집에 구축한 우분투 nas를 통해서 


회사에서 음악을 듣고 싶었습니다. '-' 


그래서 찾은것이 바로 subsonic !!!!! 


안드로이드 ios 윈도우 등의 클라이언트가 있고


웹 UI도 제공을 합니다.


이제 회사 웹이나 클라이언트 프로그램을 통해서 나스의 음악을 마음껏 들을 수 있습니다. 


그런데 한글이 다 깨지네요 ㅠ.ㅠ 좌절




원인은 현재 mp3 태그가 UTF-8 이 아니라는 겁니다. 


일일이 다 바꿔줄수는 없는것이고 '-' 검색 검색 


한번에 자동으로 싹 바꿔주는 방법이 있더군요 


출처 : http://stove99.tistory.com/165


좋은 정보를 제공해 주셔서 감사합니다. 꾸벅 





스크랩 차원에서 남겨둘게요


아래는 블로그의 원문입니다.


1
sudo apt-get install python-mutagen


설치후 mp3 파일이 있는 디렉토리로 가서 요명령으로 인코딩을 바꿔주고, 다시 스캔하면 한글 태그정보가 쪽바로 조회된다.

1
mid3iconv -e cp949 *.mp3


살짝 응용해서 현재 디렉토리 하위에 있는 디렉토리에 포함된 mp3, ogg, flac 파일까지 처리할려면 요렇게 하면 된다.

1
find -type f -iregex ".*/.*\.\(ogg\|mp3\|flac\)" -print0 | xargs -0 mid3iconv -e cp949


매번 요런 명령을 하기에는 무척 귀찮다.


요렇게 .bashrc 에 alias 를 등록해 놓으면 아무데서나 편하게 mp3conv 만 입력하면 하위디렉토리에 있는 파일들까지 싹 찾아서 인코딩을 바꿔준다.

1
2
3
4
5
6
7
8
vi ~/.bashrc
 
# .bashrc 적당한 위치에 요렇게 alias 추가
alias mp3conv='find -type f -iregex ".*/.*\.\(ogg\|mp3\|flac\)" -print0 | xargs -0 mid3iconv -e cp949'
 
 
#저장하고 나와서 적용
source ~/.bashrc


 





/etc/rc.local 에 mysql을 등록 했었는데, 


mysql이 실행되기도 전에 서버 서비스를 위한 java 데몬이 실행되면서 DB를 찾지 못하고 꺼져버리는 문제 발생.!!!


소스로 설치한 mysql은 따로 service에 등록해야 됩니다.


서비스가 먼저 실행되고 rc.local이 실행되며 정상적으로 게임 서비스가 되네요.


등록방법은 아래와 같습니다.


mysql 자동실행 설정

/usr/local/mysql/support-files/mysql.server 를  /etc/init.d 에 mysqld 로 복사. 

# chkconfig --add mysqld 
# chkconfig --level 2345 mysqld on 
# chmod 755 /etc/rc.d/init.d/mysqld
이제 ntsysv 에서 확인하시거나 top를 통해 확인해 보시면 mysqld 가 추가되어 있을겁니다.


^ㅡ^ 쉽죠?







mysql 5.5 은 yum 기본설치로는 설치할수 없습니다. 


구글링 하다가 mysql 5.5를 yum을 통해서 설치하는 법이 있어서 스크랩 차원에서 남겨둡니다.



Step 1: Installing Remi Repository

Firstly, we need to install the Remi repository on your selected Linux distributions.

For Fedora 18-12

## Install Remi Repository on Fedora 17, 16, 15
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm 
rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

## Fedora 18 ##
rpm -Uvh http://rpms.famillecollet.com/remi-release-18.rpm

## Fedora 17 ##
rpm -Uvh http://rpms.famillecollet.com/remi-release-17.rpm

## Fedora 16 ##
rpm -Uvh http://rpms.famillecollet.com/remi-release-16.rpm

## Fedora 15 ##
rpm -Uvh http://rpms.famillecollet.com/remi-release-15.rpm

## Fedora 14 ##
rpm -Uvh http://rpms.famillecollet.com/remi-release-14.rpm

## Fedora 13 ##
rpm -Uvh http://rpms.famillecollet.com/remi-release-13.rpm

## Fedora 12 ##
rpm -Uvh http://rpms.famillecollet.com/remi-release-12.rpm

For RHEL/CentOS 6-5

## Install Remi Repository on RHEL/CentOS 6.7-6.0 ##
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 

## Install Remi Repository on RHEL/CentOS 5.4-5.0 ##
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

Step 2. Checking MySQL 5.5.30 Availability

After, installing Remi repository on your system, then look for MySQL latest version using –enablerepo=remi switch option.

# yum --enablerepo=remi list mysql mysql-server

Sample Output:

Available Packages
mysql.i686		5.5.30-1.el6.remi	remi
mysql-server.i686	5.5.30-1.el6.remi       remi

Step 3: Updating or Installing MySQL 5.5.30

Once you see the latest MySQL version is available for installation, then follow below steps to update or install MySQL 5.5.30.

# yum --enablerepo=remi install mysql mysql-server

Step 4: Starting/Stopping MySQL Server

Follow the below command to start/stop of the MySQL service.

# /etc/init.d/mysqld start
# /etc/init.d/mysqld stop
# /etc/init.d/mysqld status

Step 5: Connecting to MySQL Server

Connecting to newly installed MySQL server by providing username and password. If you haven’t yet set any password for your MySQL installation the simply hit enter.

# mysql -u root -p

Sample Output:

[root@twiki ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 1052
Server version: 5.5.30 MySQL Community Server (GPL) by Remi

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

mysql>

That’s it, you’ve successfully installed MySQL 5.5.30 on your system. If you’re having any trouble installing feel free to use our comment section for solutions.

출처 : http://www.tecmint.com/install-mysql-on-rhel-centos-6-5-fedora-17-12/







우분투에 트랜스미션 데몬을 설치해서 

토렌트 머신용 나스를 쓰고 있는데요.


문제점이 하나 생겼습니다. 바로 다운받는 와중에 생긴 폴더는 권한이 777이 아니라서 삭제와 수정 이동 

아무것도 되지 않는 문제지요


파일은 여전히 잘 이동되고 수정됩니다. 


트랜스미션 데몬 setting.json 을 수정함으로써 해결했습니다. 



먼저 셋팅파일을 vi 에디터로 열어줍니다.


1.  sudo vi /etc/transmission-daemon/settings.json


위의 umask 항목을 찾아서 18 부분을 0으로 수정해줍니다. 

2. "umask" : 0,


데몬이 스탑되어야지만 설정이 적용됩니다. 

3. sudo /etc/init.d/transmission-daemon stop


그리고 설정을 리로드 해줍니다.

4. sudo /etc/init.d/transmission-daemon reload


데몬을 다시 스타트 해줍니다.

5. sudo /etc/init.d/transmission-daemon start



이제 모든 설정이 끝났습니다. 


다운받아 보세요 








리눅스에서 JRE 1.6이 필요해서 다운받으니 .bin 입니다. '-' ;;;


순간 당황 이런 형태의 설치 파일은 본적이 없는데?? ㅋㅋㅋ


또 검색 검색


bin 형태는 우선 설치가 가능하게 해줘야 합니다. 



1. chmod +x *.bin 


요렇게 파일을 이용할수 있게 권한을 주면서 +x 의 실행속성을 줍니다.


그리고 실행


2. ./*.bin


1과 2의 *에는 파일명을 넣어주시면 되겠지요?


그럼 깔끔하게 실행 됩니다. 


JRE의 경우 압축이 풀리는게 다이네요 ^^


실행한 폴더에 고대로 압축이 풀립니니다. 





* 컴파일 및 설치를 위한 기본 환경 만들기

기본 컴파일을 위해 cmake가 설치되어 있어야 하며, 방법은 제가 작성한 cmake 설치 포스팅을 참조하면 됨.

그리고 mysql을 컴파일 하기 위해 필요한 기본 라이브러리 들을 설치 한다.


§ Prepare ENV

[root]# yum -y install zlib curl openssl openssl-devel libtermcap-devel libc-client-devel bison ncurses-devel bzip2-devel

* 컴파일 및 설치

§ Download postgresql source

[root]# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.10.tar.gz/from/http://cdn.mysql.com/

 

§ Compile & Install postgresql source

[root]# tar xfvz mysql-5.6.10.tar.gz

[root]# cd mysql-5.6.10

[root]# cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS=all \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.socket \

-DMYSQL_TCP_PORT=3306

[root]# gmake

[root]# gmake install

* 실행 및 테스트

§ Prepare User & Group

[root]# groupadd dba

[root]# useradd -g dba mysql

 

§ Create default Database

[root]# cd /usr/local/mysql

[root]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

[root]# chown -R mysql:dba /usr/local/mysql/

 

§ Prepare ENV

[root]# cp support-files/mysql.server /etc/init.d/mysqld

[root]# chmod 755 /etc/init.d/mysqld
[root]# cp support-files/my-default.cnf /etc/my.cnf (만약 덮어 써야 하는지 물어 보면 : yes)

[root]# mkdir /var/lib/mysql

 

[root]# vi /etc/init.d/mysqld

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

[root]# su - mysql

 

[mysql]# vi .bash_profile (아래내용 제일 마지막 줄에 추가)

export MYSQL_HOME=/usr/local/mysql

export PATH=$PATH:$MYSQL_HOME/bin:.

[root]# source .bash_profile


§ Run the Server

[mysql]# service mysqld start <-- server 시작

[mysql]# ln -s /usr/local/mysql/mysql.socket /var/lib/mysql/mysql.sock <-- 처음에 한번 심볼릭 링크 만들어 줌.

[mysql]# mysql -u root

mysql> show databases;

mysql> exit

 

§ Stop the Server

[mysql]# service mysqld stop <-- server 종료 

* 설치 후 작업

※ 만약 mysql을 종료 하였다면, 다시 시작합니다.

[root]# su - mysql

[mysql]# service mysqld start


§ Set root password

[root]# mysqladmin -u root password 'password 설정'


§ Create a DB

[root]# mysql -u root -p
Enter password: <설정한 비밀번호 입력>

mysql> create database <생성하고 싶은 database 이름>;

§ Set a Connection policy

mysql> grant all privileges on <DB이름>.* to 'USERNAME'@'%' identified by 'PASSWORD';
mysql> flush privileges;

※ root 권한에 대해 외부에서 접속하게 하고자 할 때
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root의 패스워드';

 


인터넷에 있는 방법들을 다 써보다가 멘붕오고 


이 내용이 저랑 맞는지 잘 설치되어서 두고 두고 사용하려고 스크랩 합니다.


출처 : http://blog.naver.com/PostView.nhn?blogId=albertx&logNo=100179681424


  1. PuppyRush 2016.07.13 00:22 신고

    감사합니다 올려주신 포스팅으로 mysql 몇일 헤매던걸 잘 해결했습니다!


설치된  CentOS 의 버전 확인 하는 법입니다.


[root@ittz ~]# cat /etc/redhat-release

CentOS release 6.3 (Final)






Mysql 5.5 RPM  설치시 아래와 같은 에러가 발생하면 libaio가 없다는 이야기 입니다. 


설치해 주시면 됩니다 ^^


[root@ittz]# rpm -ivh MySQL-server-5.6.17-1.el6.x86_64.rpm

error: Failed dependencies:

        libaio.so.1()(64bit) is needed by MySQL-server-5.6.17-1.el6.x86_64

        libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.6.17-1.el6.x86_64

        libaio.so.1(LIBAIO_0.4)(64bit) is needed by MySQL-server-5.6.17-1.el6.x86_64




libaio 설치 여부 확인


[root@ittz]# rpm -q --provides libaio

package libaio is not installed


역시나 없네요. 





yum install libaio 명령어로 설치하시고 다시 rpm 설치 진행하시면 ㄷ

윈도우로 치면 바로가기 되겠네요 ^^


리눅스 링크 폴더 만들기


ln -s /data/Log /home/user/Log
ln -s [대상폴더][링크이름]








#!/bin/sh

if [ $# = 0 ]
then
echo "Usage: # ./see_port [port_number]" 
exit 1
fi

while(true)
do
   date
        echo $1 ESTABLISH `netstat -na | grep [서버IP]:$1 | grep EST | wc -l`
        echo $1 CLOSE_WAIT `netstat -na | grep [서버IP]:$1  | grep CLO | wc -l`
        echo $1 TIME_WAIT `netstat -na | grep [서버IP]:$1  | grep TIM | wc -l`
        echo $1 SYN_RECV `netstat -na | grep [서버IP]:$1  | grep SYN | wc -l`
   sleep 1
done





리눅스 명령어중 해당 파일의 경로를 알려주는 명령어는 which 입니다. 


jdk 설치후 java의 경로를 알고 싶을때는 which 명령어를 사용하시면 됩니다.


ex) which java 

혹시 나오지 않는다면 find를 사용하시면 전체를 다 뒤져줍니다.


최상위 경로에서 

ex) find -name java

대신 시간이 좀 오래 걸립니다.


참 쉽죠?


해당 명령어는 응용이 무궁 무진합니다.


ex) which mysql


등등 으로도 쓸수 있습니다.






우분투 처음 설치후 vi 에디터 사용시 

백스페이스가 안먹히고 방향키를 누르면 D, B등 문자가 입력됩니다. 


해결법을 캬캬캬캬 (gg844) 님 블로그에서 찾았습니다. 

 

아래는 퍼온 해결법입니다. 

---------------------------------------------------

#vi .exrc

 생성후 아래 내용 입력

 

set autoindent

set number

set bs=2

set nocp

 

저장후 

 

#source .exrc

---------------------------------------------------


출처 : 캬캬캬캬 (gg844) 님 블로그 (http://blog.naver.com/gg844?Redirect=Log&logNo=120177652654)





+ Recent posts