우선 proftpd를 받아봅시다.

http://www.sunfreeware.com/
여기서 오른쪽 위에 자신이 원하는 운영체제를 선택합니다.
저는 x86/solaris10 -_-;

proftpd를 찾아봅시다.
보니까 뭔가가 써있습니다.
The ncurses needs to be installed also to use this package.
아...ncurses를 원한다고 하는군요-_-;
클릭해봅시다.

받아서 설치해봅시다.
[code]ncurses-5.6-sol10-x86-local.gz
gunzip ncurses-5.6-sol10-x86-local.gz
pkgadd -d ncurses-5.6-sol10-x86-local
[/code]

그다음은 proftpd를 설치해봅시다.
[code]proftpd-1.3.1rc2-sol10-x86-local.gz
gunzip proftpd-1.3.1rc2-sol10-x86-local.gz
pkgadd -d proftpd-1.3.1rc2-sol10-x86-local.gz
[/code]

설치가 완료되었으면 이놈을 데몬으로 띄워야하는데요.
음....이게 그냥 실행하면 뜨긴 뜨는데 다음에는 안뜨죠.
그래서 계속 띄워놓는 법이 있고, network를 계속 감시하다가 접속요청이 들어오면 데몬을 띄우는 그런 법이 있다는군요. 후자로 해봅시다-_-; inetd에다가 추가를 하면 된다는군요.

디폴트로 설치했다면 /usr/local에 설치 되었을 겁니다. 설정파일을 열어봅시다.

vi /usr/local/etc/proftpd.conf

# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName                      "ProFTPD Default Installation"
ServerType                      inetd
DefaultServer                   on

# Port 21 is the standard FTP port.
Port                            21

ServerType이 standalone으로 되어있는데 저눔을 inetd로 바꿔줍시다-_-;

이제 inetd.conf파일에 등록을 해줍시다.
※이 파일이 보안때문인지 읽기전용파일로 되어있더군요-_-; chmod로 바꿔줍시다.
chmod 755 /etc/inet/inetd.conf
바꾸고 다시 444로 바꿔줍시다-_-;

[code]vi /etc/inet/inetd.conf
ftp    stream  tcp6    nowait  root    /usr/local/sbin/proftpd proftpd
[/code]
요 한줄을 추가해줍시다 ^^

pkill -HUP inetd 하면 재시작 됩니다.

다시 chmod 444 /etc/inet/inetd.conf 로 바꿔줍시다.

한번 접속해봅시다. 잘되네요-_-;
[code][root][/etc/inet]ps -ef | grep ftp
mudchobo  1864  1584   0 23:22:57 ?           0:00 /usr/sbin/in.ftpd -a
[/code]

※만약 서버에서 직접 파일을 못 받으신다면 전에 제친구는 어떻게 하던데-_-;
우선 기본으로 ftp클라이언트는 깔려있습니다. 그래서 ftpServer를 자기 pc에 설치해서
솔라리스에서 클라이언트로 접속해서 파일을 받도록 합시다-_-;

 
Posted by 머드초보
,
 

음....초보자에겐 설치도 어렵군요.

우선 http://www.sunfreeware.com/ 에 접속합니다.
오른쪽에 보시면 해당하는 운영체제를 찾아서 클릭합니다.
저는 86에 솔라리스10을 깔았으니 x86/solaris10 을 선택하겠습니다.

gcc를 오른쪽에서 찾아봅시다.
gcc-3.4.6을 찾아서 클릭합니다.
"These gcc packages require the installation of libiconv." 라는 말이 보입니다.
아....libiconv를 먼저 깔라고 하는거 같습니다. 클릭해봅시다.

installs in /usr/local. Dependencies: libgcc_s.so.1 from libgcc-3.4.6 or gcc-3.4.6 or higher.
gcc가 여기에 의존한다 뭐 그런거 같은데요-_-; 영어가 안되서-_-;

어쨌든 받아봅시다. 설치해봅시다.
[code][root][/Desktop]gunzip libiconv-1.11-sol10-x86-local.gz
[root][/Desktop]ls
libiconv-1.11-sol10-x86-local
[root][/Desktop]pkgadd -d libiconv-1.11-sol10-x86-local
[/code]

하면 설치가 되는군요. 경로설정은 뭐 디폴트로 합시다.
/usr/local에 설치되는 것 같아요.

이제 gcc를 받아봅시다. 설치해봅시다.
[code][root][/Documents]gunzip gcc-3.4.6-sol10-x86-local.gz
[root][/Documents]ls
gcc-3.4.6-sol10-x86-local
[root][/Documents]pkgadd -d gcc-3.4.6-sol10-x86-local
[/code]

이제 path를 지정해줍시다.
[code]vi /etc/.login
setenv PATH {$PATH}:/usr/local/bin/   기존에 있는 PATH에 추가합니다.
:wq

[root][/Documents]vi helloworl.c
#include <stdio.h>

int main()
{
        printf("Hello World!");
        return 0;
}

[root][/Documents]gcc helloworl.c
[root][/Documents]./a.out
Hello World![root][/Documents] 
[/code]

아.....설치가 잘 되었네요-_-;

 
Posted by 머드초보
,
 

쉘변경은

passwd -e(엔터)
쉘경로지정
ex) /bin/csh
csh을 쓰려면 저렇게 지정하면 됩니다.


C SHELL 프롬프트변경은 우선 $HOME 디렉토리에 .cshrc 파일을 생성합니다.

ex) vi .cshrc
[code]
set prompt="[`/usr/ucb/whoami`][`pwd`] "
alias  cd    'cd \!*;set prompt="[`whoami`][`pwd`]"'
[/code]
두줄을 추가해줍시다-_-;

사용자를 추가해봅시다.
useradd -d /user/mudchobo/ -s /bin/csh mudchobo

비밀번호를 예전에는 useradd해서 넣었는데 이제 안되는 건지 제가 못하는건지 모르겠네요-_-;
그래서 passwd ID 를 하면 됩니다.
ex) passwd mudchobo
[code]
[root][/etc]passwd mudchobo
새 암호:
새 암호를 다시 입력하십시오:
passwd: 암호(mudchobo용)가 성공적으로 변경되었습니다.
[root][/etc]
[/code]
vi /etc/passwd 에보시면 아이디가 추가되어있는지 확인해봅시다.
vi /etc/shadow 에 보면 여기에 비밀번호가 암호화되어서 저장되어 있어요-_-;


 
Posted by 머드초보
,
 

이거 왜그런지 몰라서 한참을 찾았는데 말그대로 탭을 넣으란 말이더군요-_-;
저 오류번호로 검색하니까 네이버에 안나와서 구글에 치니까 나오더군요-_-; 그것도 외국사이트에서-_-;

생각해보면 참 간단한 오류인데 말 뜻을 이해를 못했었습니다.

혹시나 저처럼 고생하고 있으신 분들을 위해 포스팅합니다 ^^ (전 한시간 걸렸습니다 OTL)

make파일을 cat해서 복사해서 다른 서버에 붙여넣기하는데 탭으로 복사가 안되고 스페이스로 복사가 되더라구요. 그래서 스페이스로 된거 탭으로 바꿔주면 됩니다.

ex)
(TARGET): $(OBJECT)
(이공간이 탭으로 되어있지 않으면 안됨)$(CC) -o $(TARGET) $(OBJECT)
                                                      mv $(TARGET) $(WORKPATH)$(TARGET)

.c.o:
        $(CC) $(FLAGS) $(INCLUDE) $<

저 공간이 스페이스나 다른문자로 시작하면 안됩니다. 탭으로 해야합니다 ^^

 
Posted by 머드초보
,
 
데몬프로세스 같은 거 죽일 때 프로세스아이디를 쳐야 하는데요. 힘들게 그렇게 하지말고, sh를 사용해서 해봅시다.

항상 올리고 내리는 데몬 프로그램이라면 스크립트로 제작해야합니다.










프로세스 확인하기 (Language : text)
[oracle][/home/oracle/mudchobo] ps -f
UID        PID  PPID  C STIME TTY          TIME CMD
oracle   27537 27536  0 10:33 pts/4    00:00:00 -csh
oracle   27639     1  0 10:37 pts/4    00:00:00 fork_daemon
oracle   27641     1  0 10:37 pts/4    00:00:00 another
oracle   27674 27537  0 10:40 pts/4    00:00:00 ps -f
[oracle][/home/oracle/mudchobo]

우선 ps -f를 쳐보니 2개의 데몬프로세스가 실행되고 있습니다. 이것을 프로세스명은 항상 동일하기 때문에 프로세스 명으로 죽여봅시다.

kill_daemon.sh (Language : text)
ps -f | egrep "daemon|another" | grep -v grep | awk '{printf( "kill -TERM %s\n", $2); }' > tmp.$$
sh tmp.$$
rm -f tmp.$$

우선 ps -f를 이용하여 프로세스를 출력한 뒤 daemon과 another를 검색합니다. egrep는 grep의 확장명령어로 정규식을 지원합니다. 여러개의 프로세스를 죽이려면 저렇게 |를 이용하여 추가할 수 있습니다.

그다음 grep -v grep를 이용하여 현재 수행되고 있는 grep명령어는 빼줍니다. -v옵션은 해당 단어는 빼고 검색하라는 겁니다.

그다음 awk입니다. ps -f해서 다음과 같이 나오면 $1, $2 라고 쓰면 oracle, 27639를 가져옵니다. 스페이스공백이 분리자로 작용을 하게 되어서 프로세스 아이디를 얻을 수 있습니다.
oracle   27639     1  0 10:37 pts/4    00:00:00 fork_daemon

저것은 그냥 출력만 하는 것이기 때문에 파일에 저장해서 스크립트를 실행해줘야 합니다. tmp에 저장 후 sh를 이용하여 실행한 뒤 생성된 tmp파일은 rm으로 지워버립니다.

kill_daemon (Language : text)
[oracle][/home/oracle/mudchobo] ps -f
UID        PID  PPID  C STIME TTY          TIME CMD
oracle   27537 27536  0 10:33 pts/4    00:00:00 -csh
oracle   27639     1  0 10:37 pts/4    00:00:00 fork_daemon
oracle   27641     1  0 10:37 pts/4    00:00:00 another
oracle   27756 27537  0 10:45 pts/4    00:00:00 ps -f
[oracle][/home/oracle/mudchobo] kill_daemon.sh
Terminated
[oracle][/home/oracle/mudchobo] ps
  PID TTY          TIME CMD
27537 pts/4    00:00:00 csh
27768 pts/4    00:00:00 ps
[oracle][/home/oracle/mudchobo]


 
Posted by 머드초보
,