MISTERY

/etc/resolv.conf 파일을 수정 한다.



# Generated by NetworkManager
nameserver 168.126.63.1
nameserver 168.126.63.2






사실.. 이건 뭐.. 다른 방법도 있는데.. 디렉터리를 자주 잊어버려.. 서..

혼자 확인하고자...

신고

Comment +0

VNCをサービスとして動作させる(デスクトップセッション)



CentOSのVNCサービスの起動には三種類があります。
違いの説明は別ページに掲載します。

VNCを動作させる(解説)

VNCをサービスとして起動させる流れは、以下のようになります。

1.sysconfigにvncserver接続のパラメータを記述する
2.vncpasswordを設定する
3.vncserverを起動する
4.デフォルトのウィンドウマネージャがtwmなので修正する
5.vncserverを再起動する
6.ファイアウォールを解放する
7.別の端末からVNCで接続する

1./etc/sysconfig/vncserversを図のように編集する

VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -nohttpd"

VNCSERVERSの値に、ディスプレイ番号1とrootのデスクトップセッションへ接続するように記述します。
VNCSERVERSARGSにディスプレイ番号1のサーバの設定情報を入力しています。
デフォルトからlocalhostなども削除してあります。




2.vncpasswordを設定する

コマンドから

#vncpasswd

と入力し、rootデスクトップセッションへ接続するためのVNC接続用パスワードを設定します。
~/.vnc/passwdファイルが生成されます。
VNCサービスはパスワードが設定されていないと起動しません。

なお、/etc/sysconfig/vncserversファイルのVNCSERVERARGSに「-SecurityTypes none」が設定されている場合は接続時にパスワードが問われなくなります。
ただしVNCの起動に相変わらずパスワードファイルは必要です。vncpasswdで生成しておく必要があります。



3.vncserverを起動する


コマンドからvncserverを起動し、自動起動に設定します。

#services vncserver start
#chkconfig vncserver on

これにより、~/.vncの下にデスクトップセッション用のVNCの設定情報が書き込まれます。



4.デフォルトのウィンドウマネージャがtwmなので修正する

~/.vnc/xstartupファイルを編集します。
最終二行をコメントアウトし、gnome-sessionを追記します。


もちろんtwmでなにも困らない人は、編集する必要がありませんとも。

5.設定を再読み込みさせるため、vncserver を再起動する

vncserverを再起動します。
#services vncserver restart


6.ファイアウォールを解放する

コマンドがGUIで実施します。GUからの方が簡単でしょう。
[システム]-[管理]-[セキュリティレベルとファイアウォールの設定]を起動します。

[その他のポート]に5901番を追加します。


これでOKです。
なぜ5901かと言えば、手順1で指定したディスプレイ番号にVNCのデフォルトポート5900を加えた数字をポート番号として利用するという暗黙の了解があるからです。

ちなみにコマンドから解放する場合はiptablesファイルを編集します。
#vi /etc/sysconfig/iptables

そして一番下のREJECT行の上に、5900番ポートを許可します。

-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 5901 -j ACCEPT


나는 이렇게 바꿔서 설정..

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5901  -j ACCEPT




画像では5900になってますが、5901を記述します。
保存した後、iptablesを再起動します。

#service iptables restart

※iptableコマンドで5900番を許可すれば良さそうなものですが、実はうまく行きません。
iptable -Lを実行すればわかりますが、よくあるように
#iptables -A INPUT -p tcp --dport 5901 -j ACCEPT
と入力しても、実際に記述されるのはINPUTテーブルの「RH-Firewall-1-INPUT」の次に追加されます。
つまり評価されません。
ならばと
#iptables -A RH-Firewall-1-INPUT -p tcp --dport 5901 -j ACCEPT
と記述しても、今度は「REJECT」行の次に追加されるので、やはり評価されません。
ファイルを直接記述しましょう。

7.別の端末からVNCで5901番ポートへ接続する

VNCパスワードの入力後、rootのデスクトップが表示されます。



なお、この接続の場合はログオフしてはいけません。
デスクトップセッションのGNOMEが終了してしまい、VNCServerを再起動しないと次のVNC接続ができなくなります。
ここではウィンドウを閉じるのが正しい操作です。












출처 : http://hp.vector.co.jp/authors/VA022911/tec/centos/vnc1.htm















신고

Comment +0


리눅스 환경의 JAVA에서 MySQL 연결을 위한 드라이버 설정


1. 드라이버 다운로드

자신이 사용하는 MySQL 버전에 맞게 다운로드

- MySQL 5.0 하위 버전

- MySQL 5.1 이상(현재 최신버전)

- 다른 버전 선택

위 링크로 이동하면, 'mysql-connector-java-x.x.x.tar.gz'(또는 *.zip) 파일을 다운로드 받을 수 있다. 단, 오라클 계정으로 로그인을 해야한다.
(오라클 계정 하나면 오라클, 자바, MySQL 관련 자료를 쉽게 얻을 수 있으니 계정이 없는 사람은 이번 기회에 만들어 두는게 좋을 듯)

2. 드라이버 설치(압축풀기)

설치라고 해봐야 별거 없다. tar 명령으로 압축풀어주면 끝
(jdk가 설치 되어있고, JAVA_HOME 환경변수 설정이 완료된 상태로 가정)

<ex>
# tar zxvf mysql-connector-java-5.1.26.tar.gz
# cd mysql-connector-java-5.1.26
# mv mysql-connector-java-5.1.26-bin.jar $JAVA_HOME/lib/

3. 환경변수 추가(classpath)

# vi /etc/profile
...
export CLASSPATH=.:$JAVA_HOME/lib/mysql-connector-java-5.1.26-bin.jar
(위와 같이 입력 후 저장)

# sh /etc/profile
(프로파일 변경 내용이 적용 되도록 해줌)

4. 연동확인

- 서버 호스트 : MySQL 서버의 아이피
- 포트 : MySQL 서버에 설정된 포트번호
- DB명 : 접속 할 DB명
- mysql 계정 : mysql DB의 user 테이블에 설정된 계정
- 패스워드 : mysql 계정에 설정된 패스워드

각자 환경 및 설정에 맞게 입력 후 java 파일을 컴파일 하여 실행했을 때 에러 또는 예외 메시지가 나오지 않았다면, 연동 성공
(위 소스를 컴파일 했을 때 발생되는 경고는 'conn' 객체를 사용하는 곳이 없어서 나는 경고 이므로 무시해도됨)

* 'Class.forName("com.mysql.jdbc.Driver");'
이 부분은 'org.gjt.mm.mysql.Driver'으로 넣어줘도 상관 없음
하지만 'com.mysql.jdbc.Driver' 로 넣어주는 것을 권장.
'org.gjt.mm.mysql.Driver'는 예전 버전에서 사용하던 방식이고, 지금은 'com.mysql.jdbc.Driver' 로 많이 사용함. (기능적인 차이는 없음)


5. Exception 해결방법

- 예외 1
Exception in thread "main" java.lang.NoClassDefFoundError: java.util.concurrent.ConcurrentHashMap
   at com.mysql.jdbc.NonRegisteringDriver.<clinit>(NonRegisteringDriver.java:83)
   at java.lang.Class.initializeClass(libgcj.so.7rh)
   at java.lang.Class.initializeClass(libgcj.so.7rh)
   at java.lang.Class.forName(libgcj.so.7rh)
   at java.lang.Class.forName(libgcj.so.7rh)
   at CheckMySQL.main(CheckMySQL.java:14)

(MySQL 버전보다 높은 드라이버를 사용할 때 발생)

- 예외 2
Exception in thread "main" java.lang.NoClassDefFoundError: CheckMySQL.class
   at gnu.java.lang.MainThread.run(libgcj.so.7rh)
Caused by: java.lang.ClassNotFoundException: CheckMySQL.class not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./,file:/usr/local/jdk1.6.0_45/lib/mysql-connector-java-3.1.0-alpha-bin.jar,file:/usr/local/tomcat-7.0.29/lib/servlet-api.jar,file:/home/tomcat/web/WEB-INF/classes/], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
   at java.net.URLClassLoader.findClass(libgcj.so.7rh)
   at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.7rh)
   at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
   at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
   at gnu.java.lang.MainThread.run(libgcj.so.7rh)

(잘못된 방법으로 클래스 파일을 실행했을 때 발생, 실행시 class 확장자를 넣어줬을 경우)

* 컴파일은?
# javac CheckMySQL.java

* 실행은?
#java CheckMySQL

- 예외 3
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./,file:/usr/local/tomcat-7.0.29/lib/servlet-api.jar,file:/home/tomcat/web/WEB-INF/classes/], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
   at java.net.URLClassLoader.findClass(libgcj.so.7rh)
   at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.7rh)
   at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
   at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
   at java.lang.Class.forName(libgcj.so.7rh)
   at java.lang.Class.forName(libgcj.so.7rh)
   at CheckMySQL.main(CheckMySQL.java:14)

(드라이버를 찾을 수 없으므로, 환경변수 설정 적용이 되지 않은 경우이거나 적용은 되었으나 jar파일이 해당 위치에 없어서 불러오지 못했을 수도 있다. 처음부터 천천히 다시 해보는 것이 좋음. 여기서 중요한 부분은 '/etc/profile'에 classpath 를 잡아주고  '/etc/profile'을 다시 불러오게 해줘야 한다는 점 - 다시 불러온다는 의미가 이해하기 어렵다면 리눅스 로그아웃 후 다시 로그인 하면됨)

* 위 예외 3가지에 대한 해결 방법이 각자 환경에 따라 달라질 수 있으므로 참고만 할 것!









출처 : http://jino8752.blogspot.kr/2013/09/java-mysql.html


레퍼런스 :

1. http://confluence.goldpitcher.co.kr/display/GPJIRA/Configuring+database+connection+results+in+Error%3A+Host+%27xxxxxxx%27+is+not+allowed+to+connect+to+this+MySQL+server
2. 
http://noon.tistory.com/1477
3. 
http://www.mkyong.com/jdbc/how-to-connect-to-mysql-with-jdbc-driver-java/
4. http://ra2kstar.tistory.com/120#recentTrackback










신고

Comment +0

Tcpreplay is a suite of command-line utilities that are used to "replay" previously captured packet dumps in a real network. In order to use tcpreplay, you first need to capture live network traffic using packet capture tools such as tcpdump, rewrite TCP/IP packet headers of the captured packets appropriately (usually MAC and IP addresses), and then re-inject the packets on to any arbitrary network under consideration.

tcpreplay is useful when you are testing network devices and middleware, such as routers, switches, firewalls and intrusion detection/prevention systems, because it allows you to test the devices under a controlled environment using reproducible scenarios.

If you would like to install tcpreplay on Linux, you can refer to the following distro-specific instructions.

To install tcpreplay on Ubuntu or Debian, run the following:

$ sudo apt-get install tcpreplay

To install tcpreplay on Fedora, simply run:
$ sudo yum install tcpreplay

To install tcpreplay on CentOS or RHEL 5 or earlier, firstset up RPMforge repository on your system. Then, installtcpreplay using yum.

$ sudo yum install tcpreplay

To install tcpreplay on CentOS or RHEL 6 or higher, build tcpreplay from the source, and install it manually as follows.

$ sudo yum groupinstall "Development Tools"
$ sudo yum install libpcap-devel
$ wget http://downloads.sourceforge.net/project/tcpreplay/tcpreplay/3.4.4/tcpreplay-3.4.4.tar.gz
$ tar xvfvz tcpreplay-3.4.4.tar.gz
$ cd tcpreplay-3.4.4
$ ./configure --enable-dynamic-link
$ make
$ sudo make install







출처 : http://xmodulo.com/how-to-install-tcpreplay-on-linux.html










신고

Comment +0

.bash_profile과 .bashrc의 차이점

25 Nov 2013

bash를 쓰다보면 환경변수를 지정하면 편할 때가 종종 있는데 .bash_profile에 써야할 지.bashrc 파일에 써야할 지 자주 헷갈립니다.. 저와 비슷한 경험을 하실 분들을 위해서 여기 간단히 정리해 둡니다. .bash_profile은 처음 로그인할 때 실행되고 그 이후에는 인터렉티브 bash를 실행하면 .bashrc가 실행됩니다.

근데 이 로그인이라는 표현도 헷갈립니다. 이는 예를 들어 보는 것이 편합니다.

  • console에 로그인 하거나
  • ssh를 통해서 로그인하거나
  • Mac OSX이나 Linux에서 터미널 프로그램을 실행하거나 탭을 늘이거나

이들 각각이 모두 로그인으로 간주 됩니다. 그래픽 세션 로그인과 좀 의미가 다릅니다.

그 이외의 경우란 아래와 같습니다. - screen이나 tmux 에서 새로운 윈도우를 실행

여기 Mac에서 각각을 확인하기 위해 실행해 본 내용입니다.

  1. .bash_profile에 echo "bash_profile".bashrc에 echo "bashrc" 라고 각각 마지막 줄에 추가해줍니다.

    • 터미널창이나 탭을 열어 봄

    결과: bash_profile 출력됨 - bash 실행 (인터렉트브)

    결과:bashrc 출력됨 - bash -c "pwd" 실행

    결과: bashrc 실행안됨

  2. .bashrc에만 /usr/local/bin/mysql을 PATH에 추가함

    • 터미널 창을 열고 which mysql

      결과: 못찾음

    • 이 상태에서 bash실행하고 그 안에서 which mysql

      결과: 찾음

    • 내부 bash에서 나와서 bash -c "which mysql"

      결과: 못찾음

    • 내부 bash에서 나오지 않고 bash -c "mysql"

      결과: 찾음

로그인 bash는 .bash_profile만 로드하기 때문에 .bashrc에 적혀 있는 내용도 실행하도록.bash_profile내에 아래와 같은 라인으로 .bashrc내용을 가져오는 것이 편합니다. 사실 많은 배포판에서도 기본 그렇게 하고 있지만 OSX 등 기본적으로 그렇게 되어있지 않는 OS나 배포판을 사용하고 있다면 추가해 주는 것도 좋은 방법입니다.

[[ -r ~/.bashrc ]] && . ~/.bashrc

참고: Stackoverflow difference btw profile and rc and environment











출처 : http://www.ryeonho.com/posts/bash_profile-bashrc-difference.html



감사합니다. 

문제가 되면 삭제 하겠습니다.

좋은 지식 더 널리 공유 하고자 하는것이니 양해 바랍니다.












신고

Comment +0