-------------- 다른 블로그에서 퍼 온 글입니다. --------------

^M 문자와 관련해서 게시판을 검색해 보니 다양한 방법이 소개되어 있어서 이것을 참조하여 한 문서로 정리했습니다.

Vi(m) 사용시 ^M 없애기

vi(m)을 사용하다보면 윈도우즈에서 작업한 텍스트 파일에 ^M 문자가 붙는 경우를 종종 봅니다.
특히 editplus, ultraedit 등 문서편집기에서 바로 ftp 에 업로드 하는 경우도 빈번하더군요.

현재 vim에서는 도스 문서로 읽게 되면 이 문자가 붙지 않기도 하지만, 종종 이 문자 때문에 보기가 상당히 귀찮아 보일 때가 있습니다.
특히, SQL 백업 파일을 볼 때 이 문자가 붙기도 하는데 특정한 내용을 볼 때 이런 문자가 붙은 것을 보기는 상당히 힘들죠.
(sun의 파일을 aix에서 받을 때에도 이런 문제가 발생한다고 합니다)

이 문자는 ^M은 ^+M이 아니라 Control+v+m 입니다.
따라서, 다음에 이 문자를 없앨 때도 이렇게 타이핑을 하도록 합니다.

다음은
http://www.lug.or.kr/에 올라온 몇 개의 팁을 정리한 것입니다.
생각보다 많은 방법들이 있을 수 있겠군요.

1. vi(m)이 열린 상태
1.1 문자 치환 명령 이용

다음과 같이 문자 치환 명령으로 이 문자를 없애도록 합니다.
:1,$s/^M//g

물론 이것의 입력은 다음과 같이 하도록 합니다.
:1,$s/[Control]+v+m을 누른다.//g

1.2 파일포맷 변경

vim 5.0 이상에서는 다음과 같이 명령을 내리도록 합니다
:set fileformat=unix

혹은
:set ff=unix

그리고, 저장하고 종료합니다.
:wq

이와 반대로 끝에 ^M 을 붙이려면(과연 누가..) 다음과 같이 합니다.
:set fileformat=dos

이전버전에서는 다음과 같이 합니다.
:set textmode

2. 프롬프트 상에서
2.1 dos2unix 이용

dos2unix와 unix2dos를 이용하여 변환할 수 있습니다.

다음과 같이 하면 ^M 문자가 없어집니다.
$ dos2unix [문서명](여러 파일의 경우 *.확장자)

그리고 다음과 같이 하면 ^M 문자가 생기죠.
$ unix2dos [문서명]

2.2 cat과 tr을 이용한 방법

다음과 같이 하면 해당 파일의 ^M 문자가 없어집니다.
$ cat dos-file | tr -d ^M > unix-file

2.3 perl 스크립트

다음과 같이 하면 여러파일을 한번에 바꾸게 됩니다.
# perl -i -pe 's/\015//g' *.html


3. 다른 에디터의 사용

pico 라는 에디터 아실겁니다. 기능은 별로 없지만 빠르고 간편하죠.
vi 나 emacs 에서 ^M 으로 잡히는 것이 pico에서는 안 잡히는데, 파일을 pico로 열어서 다시 이 문서를 저장합니다.
그리고 vi 나 emacs 로 읽으면 ^M 이 모두 없어진 것을 알 수 있습니다. 쉽죠?


4. man 페이지의 ^M, ^H 문자

man 페이지를 일반 화일로 바꾸면 ^M, ^H 등이 생기는데 (예, 한컴리눅스 ^H)
다음과 같이 하면 이 문자를 없애고 볼 수 있습니다.

다음은 ls 의 예입니다.

4.1 ps 또는 pdf로 변환하기

man -t [변경시킬화일] > [변경후화일명].ps
man -t [변경시킬화일] > [변경후화일명].pdf

예)
man -t ls > ls.ps 또는 ls.pdf

4.2 텍스로 변환하기

man [변환시킬화일] | col -b> [변환후 화일명].txt
어디서나 쓰기 편하게 하기 위해 인터넷폰
고정아이피를 계속 쓰기 불편해서
서버에서 유동 아이피로 바꿨습니다.


우분투에서는 간단히 가능하더군요 ~ 간단한 설정만 바꿔주면 됩니다 ㅎ

순서대로 따라해봅시다~


1. DHCP 데몬을 설치 합니다.

: 저는 가장 인스톨이 편리한 우분투를 쓰기 때문에 -_-; 우분투대로 합니다.
컴파일 하는건 알아서 하시길;;;(쿨럭)

$> apt-get install dhcp3-server
=> dhcp3-server가 설치 됩니다.  하지만
$> dhcp-server [fail]
이 뜨죠. 설정이 안되서 DHCP 서버가 작동을 안합는 겁니다.




2. DHCP 설정을 해봅시다


$> vi /etc/dhcp3/dhcpd.conf

열면 여러 설정 옵션들이 보입니다. 아래와 같은줄을 찾아서
# 주석 처리를 없애주고 넣어 봅시다

option domain-name-servers 210.107.128.31, 168.126.63.1;

 subnet 192.168.0.0 netmask 255.255.255.0 {
    range dynamic-bootp 192.168.0.2 192.168.0.200;
    option broadcast-address 10.254.239.31;
    option routers 192.168.0.1;
  }


위의 뜻은 도메인 서버를 210.107.128.31 그리고 보조 도메인 서버를 168.126.63.1 로 설정하는겁니다

그리고 192.168.0.0 network 에 netmask 를 255.255.255.0 으로 설정합니다.
아래 설정은 레인지 입니다. 192.168.0.2 부터 200 까지로 했습니다. 최대 198개 되겠군요.
물론 그럴일은 없겠지만;
기본 게이트 웨이 설정은 192.168.0.1 로 해놓으면 완료! 응용은 알아서 하시길 ^^

dhcp로 해놓으니 잘되는군요 ㅎ

한결 편해졌습니다. 여러명이 쓰거든요 ㅋ


디비 암호를 까먹었을 경우 유용한 팁
(출처: 네이버 지식인 참조)

mysql이 처음 시스템에 설치되면...

기본적인 시스템 DB과 test DB를 설치하는 스크립트가

수행됩니다.

이걸... POST INSTALLATION 작업이라고 MYSQL Documentation에 보면

나와있을 겁니다... 물론 mysql RPM이 설치되면서 자동으로 실행되는

스크립트죠.

/usr/bin/mysql_install_db

바로 요 놈입니다...

요거 쉡 스크립트거든요...

열어서 주욱 내려보시면... 165번째 줄 정도부터...(저는 mysql 4.x 버젼이라서

약간 틀릴 수도 있습니다) 기본 설치하셨으면 mysql 3.2.x 버젼일겁니다...

# Create database directories mysql & test
if test "$in_rpm" -eq 0 || "$windows" -eq 0

요런 내용과 함께 주석에 씌인대로... mysql과 test 테이블을 만듭니다...

기본 설치되면 /var/lib/mysql 디렉토리 및에 데이타가 저장되므로...

/var/lib/mysql/mysql 디렉토리의 내용을 요리조리 살펴보며

없으면 mysql DB도 초기화시켜준다는 말씀입니다...

설명은 대충 마치고...

그럼 실제 수행할 명령들을 차례로 써보겠습니다...

======================================================

1. 루트로 로그인

2. /usr/bin/mysql_install_db

======================================================

아마 이상태가 되면... 최소한 mysql DB는 만들어진 상태일 것입니다.

혹시 mysql 로그인이 안되면요...

3. cd /etc/init.d

4. ./mysql stop

5. /usr/bin/safe_mysqld --skip-grant-tables &

   요렇게 하면 말 그대로 권한검사를 하지않는 상태의 mysql서버가 구동됩니다

6. mysql -u root mysql

mysql> update user set password=password('음하하') where user='root';

mysql> flush privileges;

mysql> exit

   원하시는 root 암호가 음하하 라면... 위의 UPDATE문을 실행시키세요.

7. cd /etc/init.d

8. ./mysql stop

9. ./mysql start

=======================================================

이 정도면 원래대로 복구되어 문제가 없을 겁니다

yum? 보통 레드헷 리눅스에 기본적으로 들어 있는 패키지 관리 프로그램이라 보면 될것이다

=================== yum 기본 사용법 ===================
1. 업데이트 목록 확인

# yum check-update
=> 현재 인스톨된 프로그램 중에 업데이트 되어야 할것을 알려준다!

# yum list
=> 서버에 있는 프로그램 목록 싸그리다나온다! (grep을 이용해서 쓰고픈 프로그램을 찾는다 ex: yum list | grep mysql)

# yum list installed
=> 컴에 설치되어 있는 프로그램이 나온다!


2. 업데이트

# yum update [package1] [package2]
=> package1,2를 안쓰면 필요한거 싹다 업데이트 해 버린다

# yum install package1 [package2]
=> 말 그대로 인스톨!


3. 패키지 제거

# yum remove package1 [package2]
=> 말 그대로 제거

4. 패키지 정보

# yum info package1
# yum info updates
=> 업데이트 서버에 있는 패키지 정보

=================== yum group 사용법 ===================

오늘 하면서 알아낸 group 의 사용법이다.
귀차니즘이 많은 분에게 필수! 아주 편하다 많은 패키지가 동시에 설치 되지만
귀차니즘을 제거해주는 -_-;;

# yum groupinstall mysql
=> 이런식으로 하면 mysql관련된 라이브러리, 서버, 클라이언트 다 깔린다 -_-;
꽤나 많이 깔리기때문에, 의존성에 짜증나면 이걸로 한번에 처리하는것도 괜찮은듯

# yum groupremove mysql
=> 이런식으로 싹다 지울수도 있어서 편하다 ㅋ

친구놈 블로그 가봤더니

쓸만한 정보가 있더군.. 젠장 열라 삽질했었는데.. 이런 방법도 있군

ubuntu 리눅스를 처음 설치했을때 당황하게 만드는 큰 원인중에 하나가 root 계정에 패스워드가 지정 되어 있지 않아서 root로 로그인을 하지 못한다는 것이다. 보안상으로 상당히 좋은 설정일 수 있으나 서버가 아닌 PC 운영체제로 리눅스를 쓰는 사람들에게는 불편하다. 그래서 온갓 삽질(싱글로 부팅해서 패스워드 지정하기) 끝에 알아낸것이 sudo 를 이용하는 것이다.

ubuntu 설치시 입력한 user는 sudo 를 실행할 수 있는 권한을 가지고 있다.

방법은 아주 간단하다. 설치시 입력한 user로 로그인한 후 터미널을 하나 열고

$ sudo bash
  Password :
# passwd


sudo bash 를 친후 요구하는 패스워드는 현재 로그인된 user의 패스워드를 입력하면된다.
저렇게 친 후에 패스워드를 입력해주면 끝이다.

만약 조금더 강력한 보안이 필요한 시스템이라면 패스워드를 지정하지 않고

$ sudo bash
  Password :
#


이 상태에서 루트의 권한이 필요한 작업들을 해도 된다.

+ Recent posts