Linux2009. 5. 28. 15:12
frhed에 너무 편해져 있어서인지.. 막상 리눅스에서 헥사 편집을 하려니 막막하다
아무튼 검색을 해보니

vi를 헥사편집기로 전환할수도 있고
:%!xxd       << hex 모드로
:%!xxd -r     << hex 모드에서 빠져나옴

[링크 : http://mwultong.blogspot.com/2007/08/vim-vi-hex-viewer-hex-editor-xxd.html]

heme라는 헥사편집기도 있는데 pctools 느낌이 난다.



[heme : http://heme.sourceforge.net/]
[발견 : http://coffeenix.net/board_view.php?bd_code=1340]
Posted by 구차니
Linux2009. 5. 28. 15:06


위의 사진은 공식 페이지에서 슬쩍..
그런데 어디서 많이 보던 디자인이다 싶긴한데.. frhex보단 조금 불편할 것 같기도 하고..
아무튼.. 서버도 ubuntu로 바꾸어 버릴까 고민이 드는 하루다.




[링크 : http://live.gnome.org/Ghex]
[링크 : http://ftp.gnome.org/pub/GNOME/sources/ghex/2.24/]
Posted by 구차니
Linux2009. 5. 27. 09:57
저번에 윈도우에서 Release mode로 컴파일 할때는 용량 변화가 전혀 없었는데..
리눅스에서 한번 혹시나? 하는 마음에 해보게 되었다.

-rw-rw-r-- 1 morpheuz dev   98 May 27 09:51 for.c
#include "stdio.h"

void main()
{
	int idx;

	for(idx = 0; idx < 5; idx++)
	printf("%X\n",idx);
}

-rw-rw-r-- 1 morpheuz dev  166 May 27 09:52 iter.c
#include "stdio.h"

void main()
{
	int idx = 0;

	printf("%X\n",idx++);
	printf("%X\n",idx++);
	printf("%X\n",idx++);
	printf("%X\n",idx++);
	printf("%X\n",idx++);
}

-rw-rw-r-- 1 morpheuz dev   98 May 27 09:51 for.c
-rwxrwxr-x 1 morpheuz dev 4749 May 27 09:52 for.o
-rw-rw-r-- 1 morpheuz dev 1446 Apr 13 17:19 iter.c
-rwxrwxr-x 1 morpheuz dev 4830 May 27 09:52 iter.o

리눅스에서는 윈도우와 다르게 for문에 의한 용량 감소가 확연히 눈에 띈다
Posted by 구차니
Linux2009. 5. 13. 11:26
configure를 하려는데 저런 뜬금없는 에러가 발생을 했다. (libjpeg 빌드 관련)
한번 검색을 해보니 CR/LF 문제로 인해서

dos2unix를 유틸리티로 CR/LF 변환을 해주어야 한다고 한다.

[링크 : http://www.snort.org/docs/faq/1Q05/node124.html]

$ dos2unix --help
dos2unix Copyright (c) 1994-1995 Benjamin Lin
         Copyright (c) 1998      Bernd Johannes Wuebben (Version 3.0)
         Copyright (c) 1998      Christian Wurll (Version 3.1)
Usage: dos2unix [-hkqV] [-c convmode] [-o file ...] [-n infile outfile ...]
 -h --help        give this help
 -k --keepdate    keep output file date
 -q --quiet       quiet mode, suppress all warnings
                  always on in stdin->stdout mode
 -V --version     display version number
 -c --convmode    conversion mode
 convmode         ASCII, 7bit, ISO, Mac, default to ASCII
 -l --newline     add additional newline in all but Mac convmode
 -o --oldfile     write to old file
 file ...         files to convert in old file mode
 -n --newfile     write to new file
 infile           original file in new file mode
 outfile          output file in new file mode

Posted by 구차니
Linux2009. 5. 12. 14:10
7.6 Relative item in date strings

Relative items adjust a date (or the current date if none) forward or backward. The effects of relative items accumulate. Here are some examples:

1 year
1 year ago
3 years
2 days

The unit of time displacement may be selected by the string `year' or `month' for moving by whole years or months. These are fuzzy units, as years and months are not all of equal duration. More precise units are `fortnight' which is worth 14 days, `week' worth 7 days, `day' worth 24 hours, `hour' worth 60 minutes, `minute' or `min' worth 60 seconds, and `second' or `sec' worth one second. An `s' suffix on these units is accepted and ignored.

The unit of time may be preceded by a multiplier, given as an optionally signed number. Unsigned numbers are taken as positively signed. No number at all implies 1 for a multiplier. Following a relative item by the string `ago' is equivalent to preceding the unit by a multiplier with value -1.

The string `tomorrow' is worth one day in the future (equivalent to `day'), the string `yesterday' is worth one day in the past (equivalent to `day ago').

The strings `now' or `today' are relative items corresponding to zero-valued time displacement, these strings come from the fact a zero-valued time displacement represents the current time when not otherwise change by previous items. They may be used to stress other items, like in `12:00 today'. The string `this' also has the meaning of a zero-valued time displacement, but is preferred in date strings like `this thursday'.

[링크 :  http://sunsite.ualberta.ca/Documentation/Gnu/tar-1.13/html_chapter/tar_7.html#SEC111]

date --date=now
date --date=today # same thing
date --date='3 seconds'
date --date='3 seconds ago'
date --date='4 hours'
date --date='tomorrow'
date --date='1 day'
date --date='1 days'
date --date='yesterday'
date --date='1 day ago'
date --date='1 days ago'
date --date='1 week'
date --date='1 fortnight'
date --date='1 month'
date --date='1 year'

[링크 : http://www.linuxforums.org/forum/linux-programming-scripting/111764-yesterdays-date-linux.html]
Posted by 구차니
Linux/Ubuntu2009. 5. 7. 23:35
문득.. 방화벽에서 특정포트를 열어줄려고 습관적으로
$ ps -ef | grep iptable
을 실행했는데... 없다!!
iptables가 없다는건.. 방화벽이 없는건가!?!? 라는 생각에 검색을 해보니
오래전 우분투 5.x 대 이야기들, 그리고 없다라는 이야기마저도 존재하는데..


아무튼 요 근래 문서로 발견한 내용중에
$ sudo ufw enable
이라는 내용을 발견하였다.
[링크 : http://ubuntu.or.kr/viewtopic.php?p=16788]


그래서 ufw를 검색해보니
위키가 나오고 나름 편하게 사용이 가능한 방화벽으로 보인다.
[링크 : https://wiki.ubuntu.com/UbuntuFirewall]

 The default firewall configuration tool for Ubuntu is ufw. Developed to ease iptables firewall configuration, ufw provides a user friendly way to create an IPv4 or IPv6 host-based firewall.

ufw by default is initially disabled. From the ufw man page:

“ ufw is not intended to provide complete firewall functionality via its command interface, but instead provides an easy way to add or remove simple rules. It is currently mainly used for host-based firewalls. ”


[출처 : https://help.ubuntu.com/9.04/serverguide/C/firewall.html]


그래도.. 아쉬운건.. 페도라에서 사용하던 방화벽/ SELinux 설정용 프로그램이 안보인다는 점..
그리고... 방화벽이 없다는 사실은 웬지.. 충격적이다.
(가짜 진실에 속아 왔던 것일까?)

'Linux > Ubuntu' 카테고리의 다른 글

우분투에서 rpm 설치하기 - install rpm package on ubuntu  (0) 2009.08.31
ubuntu에서 compiz 돌리기  (2) 2009.06.02
ubuntu에 cvs / svn 설치하기  (0) 2009.04.30
ubuntu 내장 VNC 서버 - vino-server  (0) 2009.04.30
삼바 설치하기  (0) 2009.04.29
Posted by 구차니
Linux2009. 5. 7. 00:30
$ update-rc.d
usage: update-rc.d [-n] [-f] <basename> remove
       update-rc.d [-n] <basename> defaults [NN | SS KK]
       update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] .
                -n: not really
                -f: force

$ man update-rc.d
NAME
       update-rc.d - install and remove System-V style init script links

SYNOPSIS
       update-rc.d [-n] [-f] name remove

       update-rc.d [-n] name defaults [NN | SS KK]

       update-rc.d   [-n]   name   start|stop  NN  runlevel  [runlevel]...   .
              start|stop NN runlevel [runlevel]...  . ...

예를 들어 svnserve를 구동하기 위해 /etc/init.d/svnserve 구동 스크립트를 작성하고
이것을 런레벨 마다 S00svnserve / K00svnserve 이런식으로 복사를 해주어야 하는데
이러한 노가다성 작업을 자동화 시켜주는 유틸리티이다.
Posted by 구차니
Linux2009. 5. 6. 23:57
Gedit에 플러그인 중에 Ctags 기능을 확장해주는 것이 있다.
일단 몇가지는 설치를 하려면 Gedit 소스코드가 있어야 하고 꽤나 복잡해서 성공한건 두개 뿐이다.

Class Browser

A class browser located in the side pane. Based on ctags, it supports a wide range of languages. Download: http://www.stambouliote.de/projects/gedit_plugins.html

Function browser

GEdit function browser plugin provides an easy way to navigate through sources files with GEdit. This plugin uses Exuberant CTags for parsing process and returned back results in GEdit left panel. Mostly tested under C and C++ files. A Bookmarking support has been delivered in version 0.2. More: http://sourceforge.net/projects/gedit-funcbrows/


위의 링크에서 다운로드 받아, 위의 경로에 압축을 해제한다.
그리고 Gedit를 다시 시작하고 Plugin을 설정해준다.


Class Browser를 실행한 예제

Functions Browser를 실행한 예제


Posted by 구차니
Linux2009. 5. 6. 16:11
Linux에서 가장 무난하고 편하게 사용하는 편집기로 Gedit가 있다.
Gnome에서는 Gedit을 사용할 것이고, 대부분의 배포판에서 KDE보다는 Gnome을 채택하였고,
윈도우즈의 메모장(notepad)와 거의 유사한 단축키를 사용하기에 더더욱 친숙한 프로그램이다.

아마, gedit를 실행하면 아래와 같은 모양이 기본으로 보일것이다.
문법강조를 지원한다.

플러그인을 선택하고 Side Pane을 켜면 아래와 같이 Plugin이 작동을 한다.
현재는 기본 내장된 File Browser Pane을 선택한 모습이다. (간단하게 파일 탐색기)

잘 들어가지 않는 환경설정 메뉴이다. 첫 메뉴로 View가 있는데, 프로그래밍을 한다면
Display line numbers를 선택하고 (지금이 몇째 줄인지 보여주는 기능)
Highlight current line도 선택하고  (선택된 줄을 약간 회색으로 선택하여 선택된 줄을 보여주는 기능)
Highlight matching bracket도 선택한다. (괄호가 있을경우, 짝을 찾아 표시해주는 기능)


plugins에는 기본적으로 Document Statistics와 Insert Date/Time이 선택되어 있다.
파일 탐색기는 File browser pane이고 http://live.gnome.org/Gedit/Plugins 에서 다른 플러그인들을 찾을 수 있다.

Posted by 구차니
Linux/Ubuntu2009. 4. 30. 23:08
1. cvs와 svn을 설치한다.
a. cvs 설치
$ sudo apt-get install cvs
$ sudo apt-get install xinetd
b. svn 설치
$ sudo apt-get install subversion
c. cvs2svn 설치
$ sudo apt-get install cvs2svn
d. htpasswd 설치 (cvs 계정에 사용할 암호 생성용)
$ sudo apt-get install apache2-utils

2. 일단 cvs와 svn을 위해서 계정을 추가한다.
    "시스템 - 관리 - 사용자와 그룹" 을 이용하여 cvssvn사용자를 추가하고 그룹을 사용자 그룹과 동일하게 해준다.
    그리고 보안을 위해서 로그인은 /usr/sbin/nologin으로 해준다. (페도라는 경로가 다르다. /sbin/nologin 에 존재한다.)
a. cvs는 /home/cvs를 생성하고
b. svn은 홈디렉토리를 생성하지 않는다.

3. 그리고 리파지터리를 생성한다.
a. cvs는 $ sudo cvs -d /home/cvs init
b. svn은 $ sudo svnadmin create --fs-type fsfs /home/svn/repos

4. 한번 시험적으로 체크아웃을 해본다. 현재 생성된 내용에는 계정 정보등의 환경설정만 존재한다.
a. cvs는
$ export CVSROOT=/home/cvs
$ sudo cvs co ./
b. svn은
$ svn co file:///home/svn/repos

5. 데몬 구동
a. cvs는 xinetd를 위한 cvs 파일을 생성한뒤, xinetd 서비스를 재시작한다.
    /etc/xinetd.d/cvs 파일의 server_agrs에서 빨간색은 cvs 홈디렉토리이다.
    설치시 cvs -d /home/cvs init 으로 설정한 CVSROOT 위치를 기입해준다.
$ sudo service xinetd restart 혹은
$ sudo /etc/init.d/xinetd start

$ cat /etc/xinetd.d/cvs
service cvspserver
{
     port = 2401
     socket_type = stream
     protocol = tcp
     user = root
     wait = no
     type = UNLISTED
     server = /usr/bin/cvs
     server_args = -f --allow-root /home/cvs pserver
     disable = no
}


b. svn은 svnserve를 기동한다. 데몬 구동시 -r(repo.)의 경로는 create시의
    sudo svnadmin create --fs-type fsfs /home/svn/repos 로 설정된 SVNROOT의 위치를 기입해준다.
$ svnserve -d -r /home/svn

Step 1 - Create your script.
Simply create a new file (I called mine svnserve) and type the command you’d like to run

cd /etc/init.d/ # (thanks Alfonso)
sudo vi svnserve
svnserve -d -r /home/svn/

Step 2 - Save the script in the /etc/init.d/ folder

Step 3 - Make the script executable
sudo chmod +x svnserve

Step 4 - Add the script to the boot sequence
sudo update-rc.d svnserve defaults

[링크 : http://benrobb.com/2007/01/15/howto-start-subversion-at-boot-on-ubuntu/]

6. 사용자 설정
a. cvs는 /home/cvs/CVSROOT/passwd생성해야 한다.

$ htpasswd
Usage:
        htpasswd [-cmdpsD] passwordfile username
        htpasswd -b[cmdpsD] passwordfile username password

        htpasswd -n[mdps] username
        htpasswd -nb[mdps] username password
 -c  Create a new file.
 -n  Don't update file; display results on stdout.
 -m  Force MD5 encryption of the password.
 -d  Force CRYPT encryption of the password (default).
 -p  Do not encrypt the password (plaintext).
 -s  Force SHA encryption of the password.
 -b  Use the password from the command line rather than prompting for it.
 -D  Delete the specified user.
On Windows, NetWare and TPF systems the '-m' flag is used by default.
On all other systems, the '-p' flag will probably not work.

/home/cvs/CVSROOT 에서 다음의 명령어를 수행한다.
$ htpasswd -c passwd [userid]
New password:
Re-type new password:
Adding password for user [userid]

다음 유저 추가시에는 -c를 제외하고 수행한다.
$ htpasswd passwd [userid]


b. svn은 /home/svn/conf/passwd수정해야 한다.

$ more /home/svn/conf/passwd
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.
[users]
# harry = harryssecret
# sally = sallyssecret
userid = passwd   # 이부분에 사용자 계정과 암호를 추가한다.

svn의 암호는 평문으로 들어가게 되므로 보안에 주의를 해야한다.
이것에 싫다면 svn+ssh나 apache를 이용하여 보안에 신경을 쓰도록 하는 것이 좋다.

2009/01/22 - [프로그램 사용/SVN/CVS] - cvs 서버 설치 / 복원
2009/02/26 - [프로그램 사용/SVN/CVS] - windows에 SVN 서버 설치하기
2009/05/10 - [프로그램 사용/SVN/CVS] - cvs2svn 사용방법

[링크 : https://help.ubuntu.com/8.04/serverguide/C/version-control-system.html]
[링크 : https://help.ubuntu.com/8.04/serverguide/C/cvs-server.html]
[링크 : https://help.ubuntu.com/8.04/serverguide/C/subversion.html]


'Linux > Ubuntu' 카테고리의 다른 글

ubuntu에서 compiz 돌리기  (2) 2009.06.02
우분투에는 iptable 대신 ufw가 있다!  (2) 2009.05.07
ubuntu 내장 VNC 서버 - vino-server  (0) 2009.04.30
삼바 설치하기  (0) 2009.04.29
ubuntu 9.04로 업그레이드  (0) 2009.04.28
Posted by 구차니