Shinnara's Blog
Talking with Shinnara :: NaraTalk.com


작업을 하다보면 많은 파일 내용중에 특정 문자열을 포함하고 있는 파일을 찾아야 하는 경우가 종종 있다. 윈도우즈 같은 경우에는 여러 에디터의 기능중에 "디렉토리에서 검색" 이나 "파일중에서 찾기"등을 이용하면 되지만, 익숙치 않은 Linux 등의 콘솔 환경에서 이러한 작업은 꽤나 힘든 일이 되곤한다.

오늘도 회사에서 작업 중에 이러한 필요가 생겼다. 어제부터 mediawiki 를 설치하고 구성하고 있는데, 위키 대문에 있는 로고 파일을 바꾸어야 하는 일이 생겼다. 대문 페이지를 보니 , 로고를 바꾸려면 $wgLogo 를 변경하라고 되어 있다. mediawiki 를 전에도 한번 셋팅한 적은 있었지만, 아주 먼 옛날이라 기억이 가물 가물..어디서 해당 내용을 변경해줘야 할지 몰랐다. 그래서 wgLogo 를 포함한 파일을 찾아야 해는데...

다행히 KLDP가 그 해답을 주었다.

http://kldp.org/node/78418


아래와 같이 명령을 주니 원하는 답이 나오는게 아닌가..

find . -name "*.*" -print | xargs egrep -rnoI "wgLogo" | more

결과는 아래와 같이 나온다.

./maintenance/dumpHTML.inc:535:wgLogo
./maintenance/dumpHTML.inc:570:wgLogo
./maintenance/dumpHTML.inc:572:wgLogo
./maintenance/dumpHTML.inc:575:wgLogo
./maintenance/dumpHTML.inc:577:wgLogo
wgLogo
./maintenance/dumpHTML.inc:578:wgLogo
./maintenance/dumpHTML.inc:581:wgLogo
wgLogo
./skins/disabled/MonoBookCBT.php:766:wgLogo
./HISTORY:577:wgLogo
./UPGRADE:257:wgLogo
./UPGRADE:262:wgLogo
./includes/SkinTemplate.php:133:wgLogo
./includes/SkinTemplate.php:272:wgLogo
./includes/Exception.php:116:wgLogo
./includes/Exception.php:131:wgLogo
./includes/Setup.php:45:wgLogo
wgLogo
./includes/Skin.php:541:wgLogo
./includes/Skin.php:542:wgLogo
./includes/DefaultSettings.php:157:wgLogo
./maintenance/dumpHTML.inc:535:wgLogo
--More--


역시 많이 알고 볼일이다.. ^^

0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/252 관련글 쓰기

댓글을 달아 주세요

Emacs 명령 모음

Computer/Programming/FreeBSD 2007/11/23 10:27 by Shinnara
C 에 대해 공부를 다시 하다보니, 이것 저것 새로운 내용이나 예전에는 그냥 넘어갔던 부분들에 대해서 다시 한번 보게 되네요. 기초가 탄탄해질 것 만 같은 예감이랄까요? 기분이 좋습니다~

보통 Linux 나 Unix 환경에서 텍스트를 편집할 일이 있으면 많은 개발자분들이 vi 를 쓸것입니다. 저 역시 그랬구요. 그러다가 며칠 전 make 가 제대로 안되는 거에 대한 글을 올린 적이 있는데, 그 일을 계기로 다른 에디터에 대해서도 관심이 가더군요.

그리고 C를 다시 보면서 gdb 에 대해서 이번에 확실하게 알아두자라는 생각을 하고 있었는데, gdb 관련 내용을 찾다보니 emacs 를 쓰면 IDE 와 같은 형태로 작업이 가능하다는 것을 알게 되었습니다. 그래서 어제부터 emacs 에 대해 알아 보고 있는 중입니다.

emacs 가 vi 와는 꽤나 다르더군요. 처음에는 어떻게 빠져나오는지를 몰라서 헤매기도 하고.. vi 처음 배울때도 무척이나 신기했는데, emacs 도 나름 재미있는 것 같습니다.

처음 사용하다보니 명령을 어떻게 전달하는지 몰라서 자꾸 레퍼런스를 찾게 되길래, 이곳에 정리를 해보고자 합니다.

아래 내용은 KLDP 사이트에 있는 글에서 발췌했습니다.

입력키 행동
-----------------------------------
C-p 한줄 위로
C-n 한줄 아래로
C-f 한글자 앞으로
C-b 한글자 뒤로
C-a 줄의 시작으로
C-e 줄의 끝으로
C-v 한페이지 밑으로
M-v 한페이지 위로
M-f 한단어 앞으로
M-b 한단어 뒤로
M-< 버퍼의 처음으로
M-> 버퍼의 끝으로
C-g 현재 명령종료
-----------------------------------

단축키 함수 설명
-------------------------------------------------------------------
C-x C-s save-buffer 현재 버퍼를 디스크에 저장한다.
C-x u undo 마지막 명령을 취소한다.
C-x C-f find-file 디스크에서 파일을 연다.
C-s isearch-forward 단어를 순차적으로 찾는다.
C-r isearch-backward 단어를 역순으로 찾는다.
replace-string 단어를 찾아 교체한다.
replace-regexp 정규표현식을 이용한 찾기와 교체
C-h t help-with-tutorial 안내서 사용
C-h f describe-function 함수에 대한 안내문보기
C-h v describe-variable 변수에 대한 안내문보기
C-h x describe-key 키 순서에 대해 보기
C-h a apropos 단어나 정규표현에 대한 안내문 찾기
C-h F view-emacs-FAQ 이멕스 FAQ 표시
C-h i info info 문서 읽기
C-x r m bookmark-set 북마크표시
C-x r b bookmark-jump 북마크로 가기
-------------------------------------------------------------------




TAG emacs
0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/237 관련글 쓰기

댓글을 달아 주세요

한국 FreeBSD 사용자 모임


FreeBSD System Programming
I. Introduction
Chapter 1: FreeBSD's Make
Chapter 2: Bootstrapping BSD
Chapter 3: Processes and Kernel Services
Chapter 4: Advanced Process Controls and Signals
Chapter 5: Basic I/O
Chapter 6: Advanced I/O
Chapter 7: Processes Resources and System Limits
Chapter 8: FreeBSD 5.x
All source code


GNU Make 강좌 - 임대영 (KLDP 자료)
1. make (만든다 ?)
1.1 make 유틸리티
1.2 make의 필요성

2. 간단한 Makefile
2.1 Makefile 의 내부 구조
2.2 Makefile 예제
2.3 매크로의 사용
2.4 레이블의 사용

3. 매크로(Macro) 와 확장자(Suffix) 규칙
3.1 매크로란 무엇인가? (What is Macro)
3.2 미리 정해져 있는 매크로 (Pre-defined macro)
3.3 확장자 규칙 (Suffix rule)
3.4 내부 매크로 (Internal macro)

4. Makefile를 작성할 때 알면 좋은 것들
4.1 긴 명령어를 여러 라인으로 표시하기
4.2 확장자 규칙의 이용 (Use suffix rule !!)
4.3 매크로 치환 (Macro substitution)
4.4 자동 의존 관계 생성 (Automatic dependency)
4.5 다중 타겟 (Multiple target)
4.6 순환 make (Recursive MAKE)
4.7 불필요한 재컴파일 막기

5. make 중요 옵션 정리

6. Makefile 작성의 가이드라인

7. Makefile의 실제 예제
7.1 프로그램 제작에 쓰일 수 있는 Makefile
7.2 라이브러리와의 링크가 필요한 필요한 Makefile
7.3 LaTeX에서 쓰일 수 있는 Makefile

8. make 수행 시에 나타나는 에러들




0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/234 관련글 쓰기

댓글을 달아 주세요

phpBB 설치하기

Computer/Programming/FreeBSD 2007/11/06 14:01 by Shinnara
어제에 이어 또다시 게시판, 포럼관련 소프트웨어를 설치하는 이야기를 씁니다. 드루팔이 매우 훌륭한 소프트웨어임에는 틀림이 없지만 당장 프로젝트에 적용시키기에는 시간이 걸릴 것 같아, 다양한 솔루션을 찾아보고자 해서 다른 시도를 해봅니다.

이번에 선택한 툴은 phpBB .

리눅스 관련 문서 한글화 프로젝트로 유명한 KLDP 가 현재의 Drupal 을 쓰기 이전에 쓰고 있던 시스템입니다. 아직 자세한 내용은 모르는데 인지도가 꽤 있는 것 같습니다. 일단 설치를 해서 사용을 해봐야 어떤 시스템인지를 알 것 같습니다.


1. 다운 받아 압축 풀기

현재 3.0 RC7 이 있지만, 실제 서비스에 베타버전을 사용하기에는 무리가 있을 것 같아 2.0.22 의 Stable 버전을 사용하였습니다.

다운을 받아서 압축을 풉니다.

[shinnara /home/httpd/phpbb2]$ ls
admin/          docs/           index.php       posting.php     viewonline.php
cache/          extension.inc   install/        privmsg.php     viewtopic.php
common.php      faq.php         language/       profile.php
config.php      groupcp.php     login.php       search.php
contrib/        images/         memberlist.php  templates/
db/             includes/       modcp.php       viewforum.php
[shinnara /home/httpd/phpbb2]$






2. 데이터 베이스 세팅하기

데이터 베이스를 추가하는 부분은 어제의 Drupal 설치 포스팅을 참고하시기바랍니다.


3. 브라우저로 인스톨 페이지 보기

브라우저의 주소창에 압축화일을 풀어 놓은 경로를 입력합니다. 저는 웹서버의 Root 밑에 phpbb2 라는 디렉토리에 압축을 풀었기때문에 다음과 같이 입력합니다.

http://192.168.0.145/phpbb2

( 제가 설치한 머신의 아이피주소가 192.168.0.145 입니다 )

이어서 설치 화면이 나타나게 되며, 여기에 해당 정보를 입력합니다.
사용자 삽입 이미지

start Install 버튼을 누르면 해당 데이터 베이스에 테이블을 설치하는 등의 작업이 이루어집니다. 그리고 그 정보를 phpbb 의 루트 디렉토리에 config.php 로 저장을 하게 되는데 이때 퍼미션이 거부되면 웹 페이지에서 다운 받아서 업로드 할 수 있도록 링크를 제공합니다.


4. 설치 후 확인할 것들

설치를 한 후 install 디렉토리와 contrib 디렉토리를 지웁니다. 이는 혹시 있을지 모르는 보안 사고에 대비하기 위함입니다.



5. 관리자로 로그인 하기

Step 4 에서 두 디렉토리를 정상적으로 삭제해야만 로그인을 할 수 있습니다. 위에서 설정한 관리자 계정으로 로그인을 하게 되면 아래와 같은 페이지를 볼 수 있습니다.


사용자 삽입 이미지


테스트 포럼이 하나 만들어져있습니다.

아래쪽의 Go to Administration Panel 을 클릭해서 관리자 페이지로 들어갑니다.

이 때 한번 더 아이디와 패스워드를 확인합니다.

관리자 메뉴를 통해 다양한 내용을 설정할 수 있는데, 이와 관련된 내용은 다음번에 다루도록 하겠습니다.

phpBB 도 Drupal 처럼 설치 자체는 어려운 일이 아닙니다. 이제 환경에 맞게 설정하는 일만 남은 것 같습니다.

먼저 해야할 일이 다른 어플리케이션에서의 로그인 정보를 연동하는 것인데, 이에 대한 정보를 빨리 정리해서 올리도록 하겠습니다.








0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/210 관련글 쓰기

댓글을 달아 주세요

Drupal 설치하기

Computer/Programming/FreeBSD 2007/11/05 17:30 by Shinnara

CMS(Contents Management System) 의 대표격으로 불리는 Drupal 을 사내 프로젝트에 적용하기 전 개인적으로 테스트해보기 위해서 제 전용 머신에 설치를 해보았습니다.

드루팔의 홈페이지는 아래의 주소로 가보시면 됩니다.

http://drupal.org/

사용자 삽입 이미지







현재 4.7.8 과 5.3 의 공식 버전과 6.0 beta 2를 다운 받으실 수 있습니다.

저는 5.3을 받아서 설치를 시도했습니다.


1. 다운 받고 압축 풀기

drupal-5.3.tar.gz 파일을 받아서 적당한 디렉토리에 압축을 해제합니다.

[shinnara /home/httpd/drupal]$ ls
CHANGELOG.txt      MAINTAINERS.txt    install.php        scripts/
INSTALL.mysql.txt  UPGRADE.txt        misc/              sites/
INSTALL.pgsql.txt  cron.php           modules/           themes/
INSTALL.txt        includes/          profiles/          update.php
LICENSE.txt        index.php          robots.txt         xmlrpc.php
[shinnara /home/httpd/drupal]$



2. 데이터베이스 세팅하기

저의 경우 mysql 을 사용하였습니다. 드루팔의 루트 디렉토리에 보면 INSTALL.mysql.txt 라는 파일에 다음과 같은 내용이 있습니다.

  1 // $Id: INSTALL.mysql.txt,v 1.7 2006/09/08 16:29:35 dries Exp $
  2
  3 CREATE THE MySQL DATABASE
  4 --------------------------
  5
  6 This step is only necessary if you don't already have a database set-up (e.g. by
  7 your host). In the following examples, 'username' is an example MySQL user which
  8 has the CREATE and GRANT privileges. Use the appropriate user name for your
  9 system.
 10
 11 First, you must create a new database for your Drupal site (here, 'databasename'
 12 is the name of the new database):
 13
 14   mysqladmin -u username -p create databasename
 15
 16 MySQL will prompt for the 'username' database password and then create the
 17 initial database files. Next you must login and set the access database rights:
 18
 19   mysql -u username -p
 20
 21 Again, you will be asked for the 'username' database password. At the MySQL
 22 prompt, enter following command:
 23
 24   GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE
 25   TEMPORARY TABLES, LOCK TABLES
 26   ON databasename.*
 27   TO 'username'@'localhost' IDENTIFIED BY 'password';
 28
 29 where
 30
 31  'databasename' is the name of your database
 32  'username@localhost' is the username of your MySQL account
 33  'password' is the password required for that username
 34
 35 Note: Unless your database user has all of the privileges listed above, you will
 36 not be able to run Drupal.
 37
 38 If successful, MySQL will reply with:
 39
 40   Query OK, 0 rows affected
 41
 42 To activate the new permissions, enter the following command:
 43
 44   FLUSH PRIVILEGES;

저는 그냥 user 테이블과 db 테이블에 drupal 계정과 데이터베이스를 만들고 mysqladmin 을 이용하여 reload 해주었습니다.


[shinnara /home/httpd/drupal]$ mysql -u root -p mysql
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 73
Server version: 5.1.21-beta FreeBSD port: mysql-server-5.1.21

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> insert into user (host,user,password) values ('localhost','drupal',password('xxxxxxxxxxxxx'));
Query OK, 1 row affected, 3 warnings (0.00 sec)

mysql> insert into db values ('localhost','drupal','drupal','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
Query OK, 1 row affected (0.00 sec)

mysql> exit
Bye
[shinnara /home/httpd/drupal]$ mysqladmin -u root -p create drupal
Enter password:
[shinnara /home/httpd/drupal]$ mysqladmin -u root -p reload
Enter password:
[shinnara /home/httpd/drupal]$ mysql -u drupal -p drupal
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 76
Server version: 5.1.21-beta FreeBSD port: mysql-server-5.1.21

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

위의 과정은 제가 데이터베이스를 만들때 쓰는 일반적인 과정입니다. 뭐 특별해 보이는 것은 별로 없고, 그냥 예전부터 익숙한 과정이라 별 생각없이 쓰고 있답니다.


3. 인스톨 스크립트 실행하기

drupal 이 설치된 디렉토리를 웹브라우저를 통해서 접근합니다.

저의 경우는 192.168.0.145 라는 머신의 /drupal 에 설치 했으므로

http://192.168.0.145/drupal 을 접속합니다.

접속해보니 아래와 같은 메시지를 보입니다.

The Drupal installer requires write permissions to ./sites/default/settings.php during the installation process.

퍼미션을 해결해주어야 하는 문제이군요. drupal 의 루트디렉토리 밑의 sites/default/settings.php 에 대해 write 권한을 부여합니다.

권한을 부여하니, 데이터 베이스 정보를 입력하라는 페이지가 나타납니다.

여기에 위에서 설정한 데이터를 입력합니다.

입력을 하고 완료를 누르니 인스톨이 끝나다고 하면서 다음의 메시지를 보여줍니다.

All necessary changes to ./sites/default/settings.php have been made, so you should now remove write permissions to this file. Failure to remove write permissions to this file is a security risk.

위에서 write 권한을 부여했던 settings.php 파일에 대한 write 권한을 삭제하라는 말이군요. 보안 문제가 생길 수 있다고 하니 해주어야겠죠. 뭐 힘든일도 아니니까요 ^^

!!중요!!

이때 settings.php 에 대한 write권한을 삭제하면 이후 첫번째 계정(관리자 계정)을 만드는 과정에서 문제가 생깁니다. 관리자 계정 설정후에 해당 권한을 삭제하시기바랍니다.


그리고 나서 다시 자신의 drupal 사이트에 접속해보면 환영 메시지를 확인하실 수 있습니다.


4. 계정 정보 입력하기

첫번째 계정 정보를 입력합니다. 첫번째 계정은 관리자 계정으로 동작하게 됩니다. 입력한 후에 Edit 페이지에서 암호를 설정하시기 바랍니다

이것으로 드루팔 사용을 위한 기본적인 과정은 모두 마친 셈입니다. 인스톨이 꽤나 간편합니다. 앞으로 남은 것은 설정을 어찌하는 가 하는 것인데요. 시간이 나는 대로 다시 포스팅을 하도록 하겠습니다.





0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/209 관련글 쓰기

댓글을 달아 주세요


FreeBSD 시스템을 새로 꾸미면서 Wiki 를 설치하지 않았는데, 새롭게 프로젝트를 시작하면서 Wiki 의 필요성이 크게 대두되더군요. 그래서 다시 Wiki 를 설치하기로 하였습니다.

선택한 Wiki 는 Media Wiki.. 다른 설명이 필요없을 정도로 유명한 Wiki 입니다. Wikipedia 에서 사용하고 있는 시스템이구요. 다운로드는 여기서..

설치하는 방법은 그리 어렵지는 않습니다. Install Guide 가이드를 따라서 하면 되는데요, 제가 설치한 과정을 적어보겠습니다.

먼저 위의 링크를 통해 다운로드를 받습니다. 압축을 풀고 적당한 디렉토리에 풀어 놓으면 되구요. 제일 먼저 한 일은 데이터 베이스를 만드는 것이었습니다. Mysql 에 Wiki 데이터 베이스를 하나 만들어주었습니다.

그리고는 브라우저를 통해 config/index.php 를 실행시킵니다. 이 페이지를 실행시키면 설치시 필요한 과정을 하나씩 체크해줍니다. 디렉토리에 대한 퍼미션을 검사한 후, 의존 관계가 있는 여러 php  module 을 체크하는데요,제가 쓰는 시스템에서 추가적으로 설치한 php module 은 다음과 같습니다.

php5-xml
php5-session
php5-pcre


php5-session 을 설치하는 과정에서 PHP_INI_STAGE_HTACCESS  가 선언되지 않았다는 메시지가 나오더군요. 그래서 소스를 살펴보니 한군데에서 PHP_INI_STAGE_HTACCESS 를 사용하고 있는데 그다지 중요해보이지 않아서 주석 처리 해주었습니다 (^^). 이 부분은 나중에 다시 체크해봐야 겠습니다.

기본적으로는 위의 모듈을 설치하면 다음 단계로 넘어갈 수 있는데 메시지를 보면 몇가지 추가적인 모듈을 설치하는 것이 좋아 보입니다. 특히 GD 라이브러리는 Thumbnail 을 표현하기 위해 필수적입니다.

GD 까지 설치한 후의 모습입니다.

사용자 삽입 이미지


GD는 제대로 설치가 되었는데 Cache 와 GNU diff3 가 설치되지 않았다는 메시지가 나옵니다. XCache 를 추가적으로 설치하였고, diff3 의 경우, 쉘에서는 제대로 동작하는데 찾을 수 없다는 메시지가 왜 나오는지는 찾아봐야겠습니다.

이후 여러 정보들을 입력하고 install 버튼을 누르면 되고, config/LocalSettings.php 를 상위디렉토리, 즉 위키의 루트 디렉토리에 카피하면 설치가 끝나게 됩니다.





0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/197 관련글 쓰기

댓글을 달아 주세요


BSDForum 을 보다가 알게된 내용입니다.

함께 작업을 하거나 기타 여러 이유로 원격 지원이나 작업 모습을 봐야하는 경우가 생길 수 있습니다. 위의 글에서도 언급했듯이 다양한 여러 프로그램이나 기술들이 있습니다.

이중에서 FreeBSD 는 watch 라는 명령어를 통하여 다른 사람의 작업 모습을 볼 수 있습니다. 또한 직접 커맨드를 입력할 수 도 있습니다.

사용법은

watch [-cinotW] [-f snpdev] [tty]

입니다. 자세한 설명은 man 페이지에 잘 나와있구요. -W 옵션을 사용하는 경우, 직접 커맨드 입력도 가능합니다. 원격 지원을 해줘야 하는 경우는 매우 유용하게 쓰일 수 있을 것 같습니다.

watch 를 멈추고 싶은 경우에는 Ctrl+G 를 누르면 됩니다.


0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/156 관련글 쓰기

댓글을 달아 주세요

md5, sha1

Computer/Programming/FreeBSD 2007/09/17 11:18 by Shinnara

오픈 소스 커뮤니티에서 자료등을 찾다보면 md5 라는 것을 자주 보게 될것입니다. 이는 문서의 위변조 여부를 확인 하는 방법으로 작동원리는 매우 간단합니다.

친한 친구에게 약속이 담긴 메모를 보내는 과정을 생각해보기로 합시다.

meeting.txt 라는 파일에 다음과 같이 적습니다.

[shinnara ~/work/md5]$ cat meeting.txt
I want to meet you at 3 o'clock.
[shinnara ~/work/md5]$ md5 meeting.txt
MD5 (meeting.txt) = 9b9831820378f107a5aedb38a404a045


세시에 만나고 싶다고 전하고 있군요. 이를 md5  를 이용해서 값을 생성해보면 꽤 여러자리의 이상한 (?) 값들이 생기는 것을 볼 수 있습니다. 이 값은 단방향 해시 함수를 이용해서 만들어진 것입니다. 해시 함수이므로 인풋이 동일하다면 같은 값을 생성하게 됩니다.

자, 이제 친구에게  meeting.txt 와 md5 의 값을 같이 전달합니다. 친구는 받은 메시지에 대해 마찬가지로 md5 로 인코딩해보고, 이 값을 받은 md5 의 값과 비교해봅니다. 만약 중간에 어떤 해커에 의해 다음과 같이 값이 변경되었다고 해봅시다.

[shinnara ~/work/md5]$ cat meeting.txt
I want to meet you at 5 o'clock.
[shinnara ~/work/md5]$ md5 meeting.txt
MD5 (meeting.txt) = 7088740a144adb9e4e7fe9568cdfed9a


세시에 만나기로 한 약속이 5시로 변경되어 있군요. 이 메시지에 대해 md5 를 적용하게되면 위와 같은 값을 나타내게 되므로 원본 메시지의 md5 와 다른 값이됩니다. 따라서 문서가 변조 되었음을 확인할 수 있습니다.

물론, 함께 보내는 md5 마저 변조시킨다면 방법이 없겠지요. 하지만 위변조에 대한 어떠한 장치도 없는 것 보다는 충분히 훌륭한 방법이며, 여전히 많은 곳에서 쓰이고 있답니다.


TAG java, MD5, sha1, sha256
0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/141 관련글 쓰기

댓글을 달아 주세요


얼마전 Groovy 에 대한 글을 올렸는데요, 제 FreeBSD 에 설치할 때 처음에는 port 를 이용해서 설치하려고 했었습니다. 그러다가 다음과 같은 에러때문에 port 로 설치를 못했었습니다.

[root /usr/ports/lang/groovy]# make install clean
groovy-1.0.j.06_1: Environment error: "JAVA_HOME" should not be defined.
*** Error code 1

Stop in /usr/ports/lang/groovy.
[root /usr/ports/lang/groovy]#


"JAVA_HOME" should not be defined --> JAVA_HOME 이 정의되어 있지 않아야 한다는 것이지요. JAVA_HOME 으로 등록된 환경변수를 임시로 지우는 방법입니다.

[shinnara ~]$ echo $JAVA_HOME
/usr/local/jdk1.6.0
[shinnara ~]$ unset JAVA_HOME
[shinnara ~]$ echo $JAVA_HOME

[shinnara ~]$


위에서 보시는 것처럼 unset 을 해주시면 됩니다~~^^

간단한 걸 몰라서 수동으로 소스 받아서 설치를 했네요.. 바보.. ^^

p.s. tomcat 을 port 로 설치하는 경우에도 같은 에러 메시지가 나올 수 있습니다~ 해결방법은 역시 동일~




0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/136 관련글 쓰기

댓글을 달아 주세요



%s/<source string>/<target string>/g

vi 명령행에서 위와 같은 형태로 명령을 입력하면 모든 <source string > 을  <target string>으로 변환해줍니다.


0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/134 관련글 쓰기

댓글을 달아 주세요


요즘들어 별짓(?)을 다 하는군요..

어제 포스팅에서 처럼 DHCP 를 사용하기 위해 커널 컴파일을 하는 등의 작업을 수행한 바가 있는데, 그 작업이후 이상하게 처음 로긴 프로세스에서 시간이 걸리는 현상이 나타납니다.

하지만 일단 접속이 되고 나면 빠르게 작동하구요.. 참 이상한 일입니다.

그래서 찾아보니 reverse DNS lookup  때문이랍니다.

접속을 시도하면 클라이언트의 ip 가 정상적인 것인지를 물어보는데 이 과정에서 응답을 기다리느라 대기 시간이 생긴다는 것입니다.

이를 해결할 수 있는 방법이 몇가지 있는데 크게는 tcp wrapper 인 tcpd 를 쓰지 않는 것과 클라이언트의 주소를 등록해 놓는 것으로 생각해볼 수 있습니다. (참고자료 출처: 접속지연현상에 관한 글 )

1. tcpd 를 쓰지 않기.

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd


위와 같은 inetd.conf 의 내용을 아래처럼 바꿉니다.

tp stream tcp nowait root /usr/sbin/in.ftpd
telnet stream tcp nowait root /usr/sbin/in.telnetd


이렇게 하면 tcp-wrapper 를 사용하지 않는데, 이 경우 Access Control 을 할 수 없으므로 추천하지는 않는다고 합니다.


제 FreeBSD 시스템을 확인해본 결과, tcpd 를 사용하고 있지 않더군요. 제 설정화일의 일부입니다.

ftp stream  tcp nowait  root    /usr/libexec/ftpd   ftpd -l
telnet  stream  tcp nowait  root    /usr/libexec/telnetd    telnetd



2. 클라이언트의 주소 등록하기

/etc/hosts 에 클라이언트의 주소를 등록해놓습니다.

192.168.0.140 shinnara_pc



저는 현재 FreeBSD 시스템을 거의 혼자 쓰고 있기 때문에 간단하게 주소 등록하는 방법을 택하였습니다.

이렇게 등록을 하고 나니 로그인이나 FTP 접속이 무척 빨라졌답니다~~


위에서 언급한 참고 자료를 직접 보실 수 있습니다.
출처:http://www.oops.org/SERVICE/jsboard/read.php?table=jsboard_oopsFAQ&no=89&page=3

참고 자료


0 Trackback, 2 Comment

TRACKBACK :: http://naratalk.com/trackback/120 관련글 쓰기

댓글을 달아 주세요

  1. BlogIcon 브루펜시럽  댓글주소  수정/삭제  댓글쓰기

    ftp 접속 지연이 저런 연유 때문이었군요. 덕분에 배우고 갑니다. :)
    ( 아참 댓글창 열어놓으시는 게 닫아둔 것보다 댓글이 더 달린데요. ㅎ )

    2007/09/04 19:52
    • BlogIcon Shinnara  댓글주소  수정/삭제

      ^^; 너무 낯익은 이름보고 정말 반가웠어요~~^^

      저도 요즘 하나 둘 배워가는 재미에 시간 가는 줄 모르고 있답니다~~

      잘지내고 계시죠?

      p.s. 댓글 열어둘게요~~~~ ^^

      2007/09/04 21:37


어제 CVS 서버 셋팅하는 방법에 이어, 간단한 팁입니다.

어제 인용한 자료 에 보면 시스템 계정 없이 CVS 만을 이용할 수 있는 계정을 만드는 법에 대해 설명하고 있습니다. cvs 의 루트디렉토리 밑에 있는 CVSROOT 에 passwd 라는 파일을 만드는 것이 그것인데 파일의 내용은 아래와 같습니다. (이 파일을 처음에는 존재하지 않으므로 직접 작성하셔야 합니다.)

[shinnara /home/cvsroot/CVSROOT]$ cat passwd
htuser1:RxOVUZ9NWdT.A:cvs
htuser2:SWE3Q1PGWtIPA:cvs
jmyang:uYpG2ztw34QBs:cvs


대강 짐작하는 것 처럼 한줄에 하나의 계정을 적게 됩니다. 제일 처음에 아이디, 그리고 패스워드, 마지막으로 시스템 계정. 저의 경우는 cvs 라는 시스템 계정을 만들고 cvs 를 사용할 사용자들이 이 시스템 계정의 권한을 갖도록 하였습니다.

패스워드 항목의 경우, 유닉스 시스템의 crypt 함수를 이용해서 만들게 되는데 이를 편리하게 할 수 있는 펄스크립트를 소개합니다. 어딘가에서 본 내용인데 출처를 모르겠네요. /usr/local/bin 아래에 두었습니다.

[shinnara ~]$ cat /usr/local/bin/cvspasswd.pl
#!/usr/bin/perl

srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = shift;
my $crypttext = crypt ($plaintext, $salt);

print "${crypttext}\n";

[shinnara ~]$


사용법 역시 간단합니다.

[shinnara ~]$ cvspasswd.pl shinnara
lvzesr7opTtHM
[shinnara ~]$


생성된 문자열을 패스워드 항목에 붙여넣으시면 됩니다~





0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/119 관련글 쓰기

댓글을 달아 주세요


오늘은 CVS 서버를 설치해볼까합니다.

FreeBSD 에서 설치는 언제나 쉽습니다. 오늘은 pkg_add 로 쉽게 쉽게 가볼까 합니다.

#pkg_add -r cvsd


-r 옵션은 ftp 등을 통해 자동으로 최신 파일을 이용한 설치를 하도록 합니다. 너무 좋죠?

쉽게 설치가 되고, 나머지 설정만 해주면 된답니다.


1. 저장소 초기화

#mkdir /home/cvs
#cvs -d /home/cvs init


2. 그룹 설정
cvs 를 사용할 그룹을 설정합니다. 저의 경우 cvsuser 라는 그룹을 만들었습니다. 제 아이디 역시 포함시켰구요. /etc/group 화일에 다음을 추가합니다.

cvsuser:*:2000:shinnara


그리고 저장소를 cvsuser 에게 소유권을 넘깁니다.

#chgrp -R cvsuser /home/cvs
#chmod -R 775 /home/cvs


-R 옵션은 하부구조까지 영향력을 행사하라는 뜻입니다.


3. 포트 열기
/etc/inetd.conf 에서 cvs 와 관련된 주석을 삭제하고 저장소 위치를 명시합니다.

cvspserver  stream  tcp nowait  root    /usr/bin/cvs    cvs --allow-root=/home/cvs pserver



4. inetd 재시작


이상으로 cvsd 를 설치하고, 저장소를 초기화하는 것까지 되었습니다. 이후의 작업은 프로젝트를 시작하고 실제 사용하는 방법인데, 이는 다른 포스팅에서 다루도록 하겠습니다.

끝으로 제가 참고한 좋은 자료입니다.

CVS 사용

TAG cvs, FreeBSD
0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/117 관련글 쓰기

댓글을 달아 주세요


DHCP 를 설정하는 방법은 간단합니다.

/etc/rc.conf 에
ifconfig_rl0="DHCP"

라고 하시면 됩니다. 여기서 rl0 는 자신의 interface 에 맞게 변경하시는 것 잊지 마시구요.

DHCP 를 이용하기 위해서는 bpf 가 설치되어 있어야 합니다. (자세한 내용은 FreeBSD handbook 참조.)

저 같은 경우 bpf 가 설치되지 않아, 앞선 포스팅에서와 같이 커널 컴파일을 통해 설치를 하였습니다.


TAG BPF, dhcp, FreeBSD
0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/116 관련글 쓰기

댓글을 달아 주세요


사용자 삽입 이미지
시스템 로그에 자꾸 아이피가 중복된다는 메시지가 뜨길래 이참에 아이피를 DHCP 로 자동 설정하기로 하였다. 그런데 DHCP 를 쓰기위해서는 bpf 가 설치되어 있어야 하고, 이걸 다시 설치하기 위해서는 커널을 재컴파일 해야한답니다.

그냥 다른 아이피 아무거나 쓸까하다가 또다시 아이피 중복 문제가 생길 수 있으니, 커널 컴파일도 해볼 겸해서 시작을 해보았습니다.

하는 법은 그리 어렵지 않더군요.

자세한 내용은 FreeBSD handbook 에 잘 설명되어 있습니다.

여기서는 제가 했던 방법에 대한 간략한 소개만 해보겠습니다.

처음에 시스템을 설치할 때 User 로 셋팅을 하다보니 커널 컴파일에 필요한 소스가 설치되어 있지 않았습니다.

그래서 FreeBSD Handbook 에서 일러준 대로  sysinstall 을 이용하였습니다.

choosing Configure, then Distributions, then src, then base and sys

해당 항목을 설치하고 OK 를 하면 CD로 부터 소스 파일을 설치해줍니다.

그리고나서 계속해서 Handbook 에서 알려준 대로 합니다.

# cd /usr/src/sys/i386/conf
# mkdir /root/kernels
# cp GENERIC /root/kernels/MYKERNEL
# ln -s /root/kernels/MYKERNEL


이제 MYKERNEL 파일을 편집합니다. dmesg 를 이용해서 어떤 디바이스들이 있는지를 확인해보면서 편집하는 것이 좋을 것 같습니다.
 
[root /home/shinnara]# dmesg
Copyright (c) 1992-2007 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 6.2-RELEASE #0: Fri Jan 12 10:40:27 UTC 2007
    root@dessler.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
mptable_probe: MP Config Table has bad signature: ed
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) 4 CPU 1400MHz (1413.96-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf0a  Stepping = 10
  Features=0x3febfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM>
real memory  = 536805376 (511 MB)
avail memory = 515883008 (491 MB)

제 FreeBSD 시스템에서 dmesg 를 한 결과중의 일부입니다. 펜티엄 4 1.4G에 512 MB 임을 알 수 있습니다.

MYKERNEL 파일을 보면 인텔칩을 쓰는 경우 CPU 가 I486,I586,I686 이 있는데 저는 686 만 두고 나머지는 주석처리를 하였습니다. ident 에는 설정파일 이름을 적습니다.


machine         i386
#cpu            I486_CPU
#cpu            I586_CPU
cpu             I686_CPU
ident           MYKERNEL

파일을 차분히 보면서 필요 없는 장치들은 모두 주석 처리를 합니다. 이를 위해 dmesg 에서의 장치를 확인하면 좋습니다.

파일 편집이 끝나면 이제 컴파일을 합니다.

cd /usr/src
make buildkernel KERNCONF=MYKERNEL


시스템에 따라 다르겠지만 꽤나 오랜 시간이 걸립니다. 저 같은 경우는 파일에서 마구 지웠더니 중간에 에러가 나서 다시 컴파일을 했습니다.
 
수정후 재 컴파일은 약 30분 정도 걸렸습니다~

make installkernel KERNCONF=MYKERNEL

그리고는 reboot 을 합니다.

부팅 되는 시간을 따로 측정해보지는 않았지만 전보다는 조금 더 빨라진것 같기도 하네요~











0 Trackback, 2 Comment

TRACKBACK :: http://naratalk.com/trackback/115 관련글 쓰기

댓글을 달아 주세요

  1. BlogIcon 지나가다  댓글주소  수정/삭제  댓글쓰기

    님 너무 귀여워요 ㅎㅎㅎ 마구마구 지우다가에서 웃음 ㅎㅎㅎㅎ

    2007/12/30 02:08
  2. BlogIcon 신나로  댓글주소  수정/삭제  댓글쓰기

    pc통신 시절...
    제일 보편적인 프로토콜 Z-MODEM
    빠르다고 은근 알려졌던 J-MODEM
    그리고 가장 인기가 없었던 방식 KERNEL...

    글과는 상관없지만... 생각이 나서... ^^; 헤헤헤;;;

    2008/02/12 17:15


예전 시스템에서는 쉘을 csh 를 썼는데, 학부때 생각에 bash 로 바꾸었습니다.

그리고 .bashrc 에 여러가지 셋팅을 했습니다. 가장 신경쓰는게 prompt  표시..

source .bashrc 를 해서 보면 제대로 표현이 되는데, 로그인을 새로 해서 보면 예전 표시 그대로 나오는 겁니다.

root 에도 동일한 내용의 .bashrc 를 적용시켰는데, su 를 해보면 제대로 나오고..

하여간 미칠 노릇이었습니다.

그러다가 인터넷에서 찾았던 것이 .bashrc 는 서브쉘에 대한 내용이라고 하더군요.

로긴 쉘은 .bash_profile 을 보게 되기때문에 처음에 로그인 하면 .bashrc 는 영향을 끼치지 못하던 것이었습니다.

그래서 단순하게는 .bash_profile 에 source .bashrc 를 하던가 아니면 .bashrc 를 .bash_profile 로 바꾸면 됩니다.

너무 간단한 팁인가요? ^^


0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/112 관련글 쓰기

댓글을 달아 주세요


사용자 삽입 이미지
최근에 시스템을 다시 설치하다보니 설치와 관련된 글을 많이 올리게 되네요. 아직 jdk1.6 이 설치되고 있는 중에 mysql 환경 설정이나 해보려고 합니다.

먼저 서버를 포트를 이용해서 설치합니다.

/usr/ports/database/mysql51-server 에서 make install clean 을 합니다.

설치할 때 옵션으로 charset 을 설정할 수도 있습니다.

포트를 이용한 설치는 별다른 문제없이 끝날겂입니다.

설치가 되면 데이터베이스를 초기화하는 작업을 수행해야 합니다.

이와 관련된 내용은 mysql.com 홈페이지의 mysql 5.1 reference 를 살펴보시면 자세히 기록되어 있습니다

해당 내용을 살펴보면 mysql_install_db 를 수행해야 한다는 것입니다.

[root /home/shinnara]# whereis mysql_install_db
mysql_install_db: /usr/local/bin/mysql_install_db
[root /home/shinnara]# mysql_install_db --user=mysql
Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/local/bin/mysqladmin -u root password 'new-password'
/usr/local/bin/mysqladmin -u root -h shinnara password 'new-password'
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr/local ; /usr/local/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/local/bin/mysqlbug script!

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com


별 어려움 없이 데이터베이스도 초기화가 되는 군요..

그러면 이제 서버를 띄워봐야 겠습니다.

[root /home/shinnara]# /usr/local/bin/mysqld_safe &
[1] 61709
[root /home/shinnara]# 070901 01:13:04 mysqld_safe Starting mysqld daemon with databases from /var/db/mysql

[root /home/shinnara]# mysql -u root mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.21-beta FreeBSD port: mysql-server-5.1.21

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

제대로 설치가 되긴 했나봅니다.    이런 작업을 하고 있는 지금도 jdk 1.6 은 여전히 인스톨 과정 중이네요. 벌써 50분이 다 되어가는데.. ^^


TAG FreeBSD, mysql
0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/111 관련글 쓰기

댓글을 달아 주세요

지난 번에는 JDK 1.5  설치와 관련된 글을 올렸었는데, 이번에 시스템을 다시 구성하면서 포트를 살펴보니 1.6 버젼이 올라와 있군요. 요즘 주로 1.6을 이용해서 개발하는데 프비만 1.5 여서 찜찜했는데 잘 되었군요.

설치하는 방법은 예전과 동일합니다.

/usr/ports/java/jdk16 디렉토리에서 make install clean 을 해주면 다음과 같은 메시지를 보여줍니다.

[root /usr/ports/java/jdk16]# make install clean
===>  jdk-1.6.0.1p1_3 :
 Due to licensing restrictions, certain files must be fetched manually.

 Please open http://download.java.net/jdk6/6u1/promoted/b06/index.html
 in a web browser.  Download the
 Update 1 Source, jdk-6u1-fcs-src-b06-jrl-14_mar_2007.jar and the
 Source Binaries, jdk-6u1-fcs-bin-b06-jrl-14_mar_2007.jar and the
 Mozilla Headers, jdk-6u1-fcs-mozilla_headers-b06-unix-14_mar_2007.jar .

 Please open http://java.sun.com/javase/downloads/index.jsp
 in a web browser and follow the "Download" link for
 "JDK US DST Timezone Update Tool - 1.2.1" to obtain the
 time zone update file, tzupdater-1_2_1-2007f.zip.

 Please download the patchset, bsd-jdk16-patches-1.tar.bz2, from
 http://www.eyesbeyond.com/freebsddom/java/jdk16.html.

 Please place the downloaded file(s) in /usr/ports/distfiles
 and restart the build.

.*** Error code 1


대충 보면 라이센스의 이유로 직접 다운 받아서 /usr/ports/distfiles 에 해당 화일을 두라는 것입니다.

하라는 대로 세개의 사이트에서 5개의 파일을 다운 받습니다. 물론 distfiles 에 위치시켜야겠죠.

그리고 다시 make install clean 을 하면 옵션을 선택하라는 창이 나타납니다.

사용자 삽입 이미지

옵션과 관련해서 자세한 사항은 잘 모르겠으나 DEBUG 만 더 추가 시켰습니다. 그리고 진행을 계속하면 JAVA RESEARCH LICENSE 에 동의하는 지를 물어봅니다. 물론 yes

yes를 입력하고 그 이후의 작업이 진행되기까지 약간의 딜레이(?)가 발생하더군요. 무슨 이유인지는 모르겠으나.. 처음에는 시스템이 죽은줄 알았습니다. 잠시 기다리니 열심히 화일들을 설치합니다. 예전에 1.5를 설치할 때 보면 꽤나 시간이 걸렸었는데 이번에는 얼마나 걸릴지.. 이번 글은 설치를 하면서 함께 작성을 하고 있답니다. 벌써 설치를 시작한지 12분이나 지났네요.. ^^

음악이나 들으면서 설치가 끝나길 기다려야 겠습니다.

거의 한시간이나 기다렸는데 갑자기 Error Code 1 하면서 설치를 중단하길래 놀래서 봤더니 또 다른 파일이 필요하다네요.

===>   Running ldconfig
/sbin/ldconfig -m /usr/local/lib
===>   Registering installation for open-motif-2.2.3_5
===>   Returning to build of jdk-1.6.0.1p1_3
===>   jdk-1.6.0.1p1_3 depends on file: /usr/local/diablo-jdk1.5.0/bin/javac - not found
===>    Verifying install for /usr/local/diablo-jdk1.5.0/bin/javac in /usr/ports/java/diablo-jdk15
===>  diablo-jdk-1.5.0.07.01_6 :
 Because of licensing restrictions, you must fetch the distribution
 manually.

 Please access

 http://www.FreeBSDFoundation.org/cgi-bin/download?download=diablo-caffe-freebsd6-i386-1.5.0_07-b01.tar.bz2

 with a web browser and "Accept" the End User License Agreement for
 "Caffe Diablo 1.5.0".  Please place the downloaded
 diablo-caffe-freebsd6-i386-1.5.0_07-b01.tar.bz2 in /usr/ports/distfiles.

.*** Error code 1

Stop in /usr/ports/java/diablo-jdk15.
*** Error code 1

Stop in /usr/ports/java/jdk16.
*** Error code 1

Stop in /usr/ports/java/jdk16.
[root /usr/ports/java/jdk16]#

위의 메시지에 적혀있는대로 아래의 링크에서 해당 화일을 다운 받습니다.

http://www.FreeBSDFoundation.org/cgi-bin/download?download=diablo-caffe-freebsd6-i386-1.5.0_07-b01.tar.bz2

전체 파일 사이즈가 51.8M 네요. 꽤나 큽니다.. ^^

다시 /usr/ports/distfiles 에 해당 파일을 위치 시키고 make install clean 을 수행합니다.

화일이 큰 만큼 설치에서도 시간이 걸리네요..

아무리 기다려도 안끝나는 설치.. 결국 퇴근했다가 월요일 아침에 확인했네요.. 설치는 뭐 잘 되었습니다.

그럼 마지막으로 환경변수를 셋팅해야 겠죠?

저는 /etc/profile 에 다음과 같이 적어놓았습니다.

export JAVA_HOME=/usr/local/jdk1.6.0
export JRE_HOME=/usr/local/jdk1.6.0/jre

제대로 설치되었는지를 보기위해 버젼을 확인해보았습니다.

[shinnara ~]$ java -version
java version "1.6.0_01-p1"
Java(TM) SE Runtime Environment (build 1.6.0_01-p1-shinnara_01_sep_2007_01_46-b00)
Java HotSpot(TM) Client VM (build 1.6.0_01-p1-shinnara_01_sep_2007_01_46-b00, mixed mode)
[shinnara ~]$

Java 와 함께 즐거운 프비생활 되세요~~^^

즐거운 월요일..^^












0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/110 관련글 쓰기

댓글을 달아 주세요


이번에 FreeBSD 를 새로 깔면서 쉘도 바꾸기로 하였다.

쉘을 바꾸는 방법은..

chsh 를 이용하면 된다.

명령을 입력하고 엔터를 치면 에디터 화면이 나오는데 여기서

Shell 부분을 다음과 같이 바꾸어준다.

Shell:/usr/local/bin/bash

bash 쉘의 위치는 whereis bash 로 찾아낼 수 있다.

저장을 하면 암호를 묻게 되며, 다시 로그인을 하면 변경된 쉘이 적용된다.



TAG bash, FreeBSD
0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/109 관련글 쓰기

댓글을 달아 주세요


잘 쓰던 머신이 오늘 아침부터 갑자기 말썽이네요..

사내에서 간이 서버로 사용하던건데... OS 는 FreeBSD 6.2 입니다.

증상은 네트워크가 되었다 말았다 하네요.. 거의 안되는 수준..

많은 데이터가 쌓인건 아니지만 그래도 그 안에 들어있는 내용은 잃고 싶지가 않았는데

네트워크가 잘 안되니 백업할 방법이 막막하더라구요.

그래서 USB 메모리를 이용해서 백업을 하기로 하였습니다. 얼마전에 사둔 4G 짜리가 아주 유용하게 쓰였답니다.

USB 메모리를 꽂으면 거의 대부분 자동으로 인식한다고 합니다.

dmesg 를 이용해서 보면 장치 이름을 볼 수 있습니다. 저의 경우는 da0 더군요.

그래서 /dev  디렉토리를 살펴보니 da0 와 da0s1 이라는 파일이 생겨있었습니다.

자, 이제 마운트를 해야 겠지요? /mnt 에 usb 라는 폴더를 만들고 다음과 같이 실행하였습니다.

mount -t msdos /dev/da0s1 /mnt/usb


해당 디렉토리를 가보면 USB 메모리가 제대로 마운트 된 것을 확인 하실 수 있습니다.

마운트를 해제하시려면 다음과 같이 하시면 됩니다.

umount /mnt/usb



FreeBSD 가 깔린 머신이 예전꺼라 USB 2.0 이 지원안되다 보니 복사하는데 꽤나 오랜 시간이 걸리네요. 이거 언제 다 할지.. ^^



0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/106 관련글 쓰기

댓글을 달아 주세요

1 2 
다...... (264)
Computer/Programming (106)
Links (14)
책 읽는 즐거움 (7)
끄적임 (66)
즐거운 과학 나라 (7)
일본 (5)
Study (4)