vsftp를 사용하여 링크로 설정되어있는 경로로 이동을 하고자 할때
550 Failed to change directory 오류 발생 하는 경우.

vsftp 에서 심볼릭 링크(ln -s)로 생성된 파일경로 인식 버그인듯.

# 마운트 할 디렉토리를 생성
[sunshiny@sunshiny-net ~]$ pwd
/home/sunshiny
[sunshiny@sunshiny-net ~]$ mkdir tomcat

# 해당 디렉토리에 마운트
[sunshiny@sunshiny-net ~]$ mount --bind /usr/local/tomcat-6/ /home/sunshiny/tomcat/



03 26, 2012 17:44 03 26, 2012 17:44

Trackback URL : http://develop.sunshiny.co.kr/trackback/715

Leave a comment

Unix - Solaris NotesUnix - Solaris Notes

Posted 03 26, 2012 10:25, Filed under: System/UNIX

Solaris Notes

Boot Up/Shutdown

init 0 - power down
init S - single user, all file systems mounted
init s - single user, all file systems mounted
init 1 - administrative state, all file systems mounted, logins allowed
init 2 - multi user, all daemons running except nfs - exports not allowed
init 3 - multi user
init 4 - alternative multi user - unused
init 5 - power down - shutdown and automatically power off if supported
init 6 - reboot

PROM Prompt (ok)
  • If you abort the boot process you will get the PROM prompt
    • Abort key sequence depends on keyboard type (could be:  Stop-A, L1-A or Break)
  • Type "n" at the ">" prompt to get to the "ok" prompt.
  • boot -->  boots to multi user mode
  • boot cdrom  --> boots from cdrom
  • boot -r  --> reconfiguration boot
  • boot -a  --> interactive boot
    • specify kernel or accept default
    • specify modules or accept default
    • specify system file or accept default
    • specify root filesystem or accept default
    • specify physical name of the root device or accept default
  • boot -s --> single user mode

Bootup Files
  • /etc/inittab
  • /sbin/rc*
    • /etc/rc0 - rc5 and rcS
    • These main scripts call the appropriate S and K scripts located in /etc/rc*.d
  • /etc/init.d  -->  linked to /etc/rc.etc
  • /etc/rc*.d
    • Individual start and kill scripts

Bootup Commands
  • telinit 1  --> changes to single user mode
  • telinit 2  -->  changes to muli-user with no NFS
  • telinit 3  -->  changes to multiuser
  • <ctrl> <d>  --> changes from single user mode to multi user mode
  • Forcing a Crash Dump, then rebooting:
    • savecore must be enabled
    • type the stop key sequence
    • at the "ok" prompt type sync  -->  this synchronizes the disk and writes the crash dump, system will reboot when dump is complete
  • Booting with the Kernel debugger
    • type the stop key sequence
    • at the "ok" prompt type sync
    • when the message "syncing file systems . . . " appears, press the stop key sequence
    • at the "ok" prompt type boot kadb


Shutdown Commands
  • shutdown  --> you will be prompted to confirm the shutdown, system will shutdown to single user state
  • shutdown -y  --> you will not be prompted to confirm, system will shutdown to single user state
  • shutdown -g XXX  --> system will wait XXX seconds to start shutdown
  • shutdown -i6  --> shutdown and reboot
  • uadmin 2 0  -->  shutsdown the system to a powerdown state, PROM prompt is displayed
  • shutdown -s
  • init -s
  • telinit 0 or init 0 --> shutsdown the system from single user mode
  • telinit 6 or init 6  -->  shutsdown and reboots a single user system
  • halt  --> shutsdown immediately, not necessarily cleanly (no warning, no scripts run)
  • reboot  -->  shutsdown and reboots, but not necessarily cleanly (no warning, no scripts run)

SPARC Boot Process
  • Boot PROM  -->  self test
  • bootblk executes -->  primary boot program which loads ufsboot program from UFS filesystem
  • ufsboot executes -->  loads the kernel
  • kernel initialization
  • /sbin/init processes /etc/inittab entries
  • /sbin/rc* scripts are run
IA Boot Process
  • BIOS PROM  --> self test, low level drivers
  • BIOS looks for mboot MBR
  • pboot is loaded from active paration
  • bootblk is loaded by pboot
  • If multiple bootable partions exist bootblk displays Primary Boot Subsystem Menu
  • boobblk starts either boot.bin or ufsboot  -->  this can be interrupted to run the Configuration Assistant
  • command interpreter starts which processes /etc//bootrc script  -->  this provides a menu of boot choices
  • kernel initiailization using either boot.bin or ufsboot to read the files
  • /sbin/init processes the inittab
  • /sbin/rc* scripts are run

IA Boot Menus
  • Primary Boot Subsystem Menu --> If boot disk has multiple partitions
  • Secondary Boot Subsystem  Menu  -->  If boot process is interupted then the Solaris Device Configuration Assistant is run
  • Solaris Device Configuration Asistant Boot Diskette
  • Current Boot Parameters Menu

Console

Using tip (the serial port is connected to another Sun server)
  • tip hardwire
  • ~.  --> end's session and goes back to prompt
  • ~#  --> Stop A
  • /etc/remote is configuration file

Crontab

See unix.html for crontab basics.

Note:  Solaris defaults to ed when using crontab -e, unless the $EDITOR variable is set to something else, like vi.

ksh  -->  export EDITOR=vi

sh  -->   EDITOR=vi
              export EDITOR

See UNIX notes for safely editing crontabs.

Devices

devfsadm  -->  manages special files in /dev and /devices  (boot -r no longer required)

Process to add new hardware:
  • load the device driver
  • shutdown system
  • add new hardware
  • at the PROM ok prompt type "boot -r"
devinfo  -->  prints information about disk devices.

Mounting a cdrom:
  • check to see if volume mangement is running -
    • ps -ef|grep vold
  • If volume management is running then cd will auto mount
  • If volume management is not running then manually mount it
    • ls /dev/dsk/c0*
    • usually t=6 is the cdrom, start with slice =0
    • mount -o ro /dev/dsk/c0t6d0s0 /cdrom
    • share -F nfs -o ro /cdrom
Manually unmounting a cdrom:
  • check to see if volume mangement is running -
    • ps -ef|grep vold
  • If volume management is running then stop it
    • /etc/init.d/volmgt stop
  • umount -f /dev/dsk/c0t6d0s0

Log Files

Directory for log files:  /var/adm, /var/log
messages  --> system messages
syslog  --> default is mail log

/usr/sbin/dmesg  --> obsolete command, can still display boot messages

/etc/cron.d/logchecker --> rotates /var/cron/log to /var/cron/olog when $LIMIT is reached

/etc/default/cron  --> configuration file for cron
  • CRONLOG=NO
    • Turns off cron logging for the server

Process to enable /var/adm/loginlog to monitor failed login attempts after minimum allowed (default = 5)
  • touch /var/adm/loginlog
  • chown root:sys /var/adm/loginlog
  • chmod 600 /var/adm/loginlog
Process to enable /var/log/authlog to monitor authentication related events
  • touch /var/log/authlog
  • chown root:sys /var/log/authlog
  • chmod 600 /var/log/authlog
  • edit /etc/syslog.conf and remove comments from authlog entries
  • Restart the syslog daemon
    • /etc/init.d/syslog stop
    • /etc/init.d/syslog start

Network Info

/etc/defaultrouter   --> contains ip address of default router
/etc/inet/netmasks  -->  contains subnet masks for each subnet connected
/etc/nodename  --> contains hostname of server
/etc/hostname.<interface>  -->  contains hostname of server for that interface

Configuring an interface from the command line:
  • Check the existing configuration
    • ifconfig -a
  • If the interface is not in the existing configuration, set it up
    • ifconfig <interface> plumb  -->  Sets up the interface for use, if the ifconfig -a does not show the interface already.
  • Bring the interface up with an ip address and subnet mask
    •  ifconfig ge0  10.212.1.241 netmask 255.255.255.0 up
Configuring a second IP address for an existing interface
  • Identify the proper interface (ifconfig -a)
  • Verify the existence of a hostname file (ls /etc/hostname*)
  • Edit /etc/hosts
    • w.x.y.z      server.domain.com   alias
  • Create a new instance of the hostname file with the host name in it
    • vi hostname.interface:1
      • server.domain.com
  • plumb the interface  (ifconfig interface:1 plumb)
  • give the interface an ip address (ifconfig interface:1 10.0.18.59)
  • bring the interface up (ifconfig interface:1 up)
  • Test it


OSI Stack

Check to see if it is running:
ps -ef|grep osi

server:/> ps -ef|grep osi
    root 17495 17484  0 13:30:42 pts/3    0:00 grep osi
    root  5443  5442  0   Sep 03 ?        0:00 /usr/sbin/osilogd
    root  5442     1  0   Sep 03 ?        0:00 /usr/sbin/osinetd


Starting/Stopping
/etc/rc2.d/S90osinet stop
/etc/rc2.d/S90osinet start


Processes

ps -e
ps -el
kill
kill -9

/usr/proc/bin  --> process analysis utilities are located here
  • pcred - credentials
  • pfiles - open files
  • pflags - tracing flags
  • pldd - dynamic libraries
  • pmap - address map
  • prun - restart the process
  • psig - signal actions
  • pstack - hex stack trace
  • pstop - stop the process
  • pstime - time the process
  • ptree - process trees
  • pwait - wait for termination of process
  • pwdx - working directory
priocntl  --> priority control
nice  -->  sets the priority
renice --> changes the priority
pgrep --> shows active processes
pkill  --> kills active processes
pkill -HUP  --> kills and restarts the process
smpatch --> CLI for Solaris Patch Manager Tool

prstat  --> lists processes and % cpu time, continuously like "top"
prstat -n 5 1 1  --> shows top 5 processes using the cpu and only prints out 1 set of statistics, not continuous.

truss <command>  --> traces the execution of a command

Root Password - Lost

  • Get the machine to the boot prom (ok prompt)
    • init 0
    • halt
    • poweroff?
  • Boot from the cdrom into single user mode
    • boot cdrom -s
  • Mount the root disk
    • mount /dev/dsk/c0t0d0s0 /a
    • If unable to mount the disk
    • fsck /dev/dsk/c0t0d0s0
  • Change to the proper directory
    • cd /a/etc
  • Edit the shadow file
    • TERM=vt100;export TERM
    • vi shadow
  • Replace the root password encryped string with nothing:
    • root:3oWleAoGjh5ls:6445::::::
    • root::6445::::::

Software/Patches

Software Packages
  • Listing installed packages
    • pkginfo
  • Installing packages
    • pkgadd -d <package name>

Solaris Flash Technology
  • Image based snapshots of OS and Patched OS
  • Similar systems are cloned


patchadd -p  --> lists patches on the system
showrev -p --> lists patches on the system

install_mu - script to install maintenance update using patchadd

Get patches from:  http://www.sun.com/sunsolve/patches

Swap Space

/usr/sbin/swap -l   --> lists swap space

swap -s  -->  shows swap space usage

How to add more swap space
  • Create the swap space
    • mkfile <size>[k|b|m] <filename>
  • Activate the swap space
    • swap -a <path><filename>
  • Add entry to /etc/vfstab
    • <path><swapfile> -   -   swap    -       no      -  
    • (mount dev,  fsck dev, mount point, fstype, fsck pass, mount at boot,  mount options)


System Information

cat /etc/release  <-- shows version of Solaris and the type of hardware such as SPARC

eeprom  -->  displays and allows the administrator to alter the contents of the eeprom configuration variables

uname -X  -->  display os version, kernel id, number of processors and type of machine

prtconf   --> prints system configuration

prtconf -vp| grep banner-name:  --> prints model of server

prtconf -vp| grep Memory  --> prints amount of memory

dmesg -->  collects system error messages

psrinfo  --> prints information about processors
psrinfo -v | grep MHz   -->  prints speed of each processor

sysdef -->  prints current system definition in table form
sysdef -i

modinfo  --> displays information about loaded kernel modules

/usr/platform/`uname -i`/sbin/prtdiag  -->  displays system diagnostic information

isainfo -v   --> displays whether the kernel supports 32 bit or 64/32 bit architecture (64 bit kernel is available on Solaris 7 and up)

Local Hard Disk Info
format:
       0. c0t10d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
          /sbus@3,0/SUNW,fas@3,8800000/sd@a,0
       1. c0t11d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
          /sbus@3,0/SUNW,fas@3,8800000/sd@b,0
       2. c3t5d1 <Symbios-StorEdgeA3500FCd-0301 cyl 8615 alt 2 hd 64 sec 64>    <-- NOT Local, but on an external A3500FC array
          /pseudo/rdnexus@3/rdriver@5,1
       3. c3t5d3 <Symbios-StorEdgeA3500FCd-0301 cyl 8615 alt 2 hd 64 sec 64>
          /pseudo/rdnexus@3/rdriver@5,3

 cfgadm -alv


SunOS to Solaris Mapping:
SunOS
Solaris

1.0
5.0
2.0
5.1
2.1
5.2
2.2
5.3
2.3
5.4
2.4
5.5
2.5
5.5.1
2.5.1
5.6
2.6
5.7
7
5.8
8

9


Tuning/Kernel Parameters


/etc/system

Resources

http://www.wright.edu/~mike.corcoran/htmldocs/systems/solaris/-CIPCZQX01aa9e9de1=02002b0214a8858100000000

[출처] Solaris Notes|작성자 pewar




03 26, 2012 10:25 03 26, 2012 10:25

Trackback URL : http://develop.sunshiny.co.kr/trackback/714

Leave a comment



# Unix 시스템에서 설치된 OS의 비트를 조회(Linux, Solaris)

# 32 Bit 서버에서 조회
[root@localhost Inst]# uname -a
Linux localhost.localdomain 2.6.18-128.el5PAE #1 SMP Wed Jan 21 11:19:46 EST 2009 i686 i686 i386 GNU/Linux
[root@localhost Inst]# getconf LONG_BIT
32
[root@localhost Inst]# file /sbin/init
/sbin/init: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped

# 64 Bit 서버에서 조회
[root@sunshiny-net Inst]# uname -a
Linux sunshiny-net 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux
[root@sunshiny-net Inst]# getconf LONG_BIT
64
[root@sunshiny-net Inst]# file /sbin/init
/sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped



03 21, 2012 10:29 03 21, 2012 10:29

Trackback URL : http://develop.sunshiny.co.kr/trackback/713

Leave a comment

Linux - Swap(스왑) 관리(추가,제거)

Posted 03 7, 2012 17:14, Filed under: System/UNIX


- 사용중인 프로세스와 메모리 왁인
# top
top - 09:06:36 up 3 min,  1 user,  load average: 0.24, 0.46, 0.23
Tasks: 168 total,   2 running, 166 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.3%us,  0.3%sy,  0.0%ni, 99.2%id,  0.0%wa,  0.2%hi,  0.0%si,  0.0%st
Mem:   3718356k total,   464904k used,  3253452k free,    33264k buffers
Swap:  4194296k total,        0k used,  4194296k free,   217048k cached

## swap 파일 생성

# su - root
# mkdir /var/swap

- dd 명령을 이용하여 swapfile 생성(아래 512M 추가)
# dd if=/dev/zero of=/boot/swap/swapfile bs=1024 count=524288

   [스왑파일 생성]
   if=/dev/zero                     NULL byte의 source
    of=/var/swap/swapfile     /var/swap 디렉토리에 swapfile을 생성
   bs=1024                           1MB=1024KB
   count=524288                  할당용량 (여기선 512MB)


# mkswap -v1 /var/swap/swapfile
# swapon /var/swap/swapfile
   [스왑파일 구동] : v0 : old 스타일, v1 : new 스타일


- 메모리 확인
# free -m (옵션, -m :MB)

- 부팅시 자동 인식 하기 위해 설정
# vi /etc/fstab

***************************************************
   /boot/swapfile     swap     swap    defaults    1 1
***************************************************


## swap 제거

- swapoff 명령으로 swap 공간 삭제
# swapoff /var/swap/swapfile

- swap 파일 삭제
# rm -f /var/swap/swapfile



03 7, 2012 17:14 03 7, 2012 17:14

Trackback URL : http://develop.sunshiny.co.kr/trackback/707

Leave a comment

JEUS - 컨테이너 추가시 오류

Posted 03 7, 2012 14:27, Filed under: WAS/Jeus


# 컨테이너 추가, 그룹 지정후 deploy까지 완료후 아래와 같은 오류 발생시.

[2012.03.07 13:36:02][2][0_299] [container4-10] [WEB-1504] deploying WebModule successful ContextGroupName = MyGroup3, ContextName = site_test
[2012.03.07 13:36:02][2][0_299] [container4-10] [JMX-0011] create MBean : WebListener=site_test
[2012.03.07 13:36:02][2][0_299] [container4-10] [JMX-0011] create MBean : ThreadPool_WEBC=site_test-hth0(127.0.0.1_9900)
[2012.03.07 13:36:03][1][0_299] [container4-10] [WEB-3346] worker(site_test-hth0(127.0.0.1:9900)-w0:null) : fail to reconnect
<<__Exception__>>
java.io.EOFException
        at java.io.DataInputStream.readFully(DataInputStream.java:204)
        at jeus.servlet.engine.WebtobThreadPoolManager.registerWebtob(WebtobThreadPoolManager.java:596)
        at jeus.servlet.engine.WebtobThreadPoolManager.registryConnection(WebtobThreadPoolManager.java:515)
        at jeus.servlet.engine.WebtobRequestProcessor.<init>(WebtobRequestProcessor.java:57)
        at jeus.servlet.engine.WebtobThreadPoolManager.createPool(WebtobThreadPoolManager.java:136)
        at jeus.servlet.connection.WebtobConnector.startConnector(WebtobConnector.java:91)
        at jeus.servlet.engine.ContextGroup.startConnector(ContextGroup.java:835)
        at jeus.servlet.engine.ContextGroup.handleNotification(ContextGroup.java:1997)
        at jeus.management.enterprise.support.NotificationBroadcasterSupport.handleNotification(NotificationBroadcasterSupport.java:179)
        at jeus.management.enterprise.support.NotificationBroadcasterSupport.sendNotification(NotificationBroadcasterSupport.java:143)
        at jeus.management.j2ee.J2EEManagedObject.sendNotification(J2EEManagedObject.java:678)
        at jeus.server.enginecontainer.EngineContainer.init(EngineContainer.java:416)
        at jeus.server.enginecontainer.EngineContainer.<init>(EngineContainer.java:125)
        at jeus.server.enginecontainer.EngineContainer.main(EngineContainer.java:916)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:615)
        at jeus.server.Bootstrapper.callMainMethod(Bootstrapper.java:238)
        at jeus.server.Bootstrapper.callMain(Bootstrapper.java:307)
        at jeus.server.enginecontainer.EngineContainerBootstrapper.main(EngineContainerBootstrapper.java:15)
<<__!Exception__>>
[2012.03.07 13:36:03][1][0_299] [container4-10] [WEB-3346] worker(site_test-hth0(127.0.0.1:9900)-w1:null) : fail to reconnect
<<__Exception__>>
java.io.EOFException
        at java.io.DataInputStream.readFully(DataInputStream.java:204)
        at jeus.servlet.engine.WebtobThreadPoolManager.registerWebtob(WebtobThreadPoolManager.java:596)
        at jeus.servlet.engine.WebtobThreadPoolManager.registryConnection(WebtobThreadPoolManager.java:515)
        at jeus.servlet.engine.WebtobRequestProcessor.<init>(WebtobRequestProcessor.java:57)
        at jeus.servlet.engine.WebtobThreadPoolManager.createPool(WebtobThreadPoolManager.java:136)
        at jeus.servlet.connection.WebtobConnector.startConnector(WebtobConnector.java:91)
        at jeus.servlet.engine.ContextGroup.startConnector(ContextGroup.java:835)
        at jeus.servlet.engine.ContextGroup.handleNotification(ContextGroup.java:1997)
        at jeus.management.enterprise.support.NotificationBroadcasterSupport.handleNotification(NotificationBroadcasterSupport.java:179)
        at jeus.management.enterprise.support.NotificationBroadcasterSupport.sendNotification(NotificationBroadcasterSupport.java:143)
        at jeus.management.j2ee.J2EEManagedObject.sendNotification(J2EEManagedObject.java:678)
        at jeus.server.enginecontainer.EngineContainer.init(EngineContainer.java:416)
        at jeus.server.enginecontainer.EngineContainer.<init>(EngineContainer.java:125)
        at jeus.server.enginecontainer.EngineContainer.main(EngineContainer.java:916)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:615)
        at jeus.server.Bootstrapper.callMainMethod(Bootstrapper.java:238)
        at jeus.server.Bootstrapper.callMain(Bootstrapper.java:307)
        at jeus.server.enginecontainer.EngineContainerBootstrapper.main(EngineContainerBootstrapper.java:15)
<<__!Exception__>>
[2012.03.07 13:36:03][1][0_299] [container4-14] [WEB-3346] worker(site_test-hth0(127.0.0.1:9900)-w0:null) : fail to reconnect
<<__Exception__>>


$ JEUSMain.xml 의 그룹 설정에 영양 없이 중요한 것은 /webtob/config/ 디렉토리의 ws_engine.m 또는 http.m 에서 추가된 그룹명을 "호스트명_servlet_engine2"(추가컨테이너) 의 그룹명과 일치시켜야 합니다.

### http.m ###

*SERVER
html        SVGNAME  = htmlg, MinProc = 1,  MaxProc = 2
cgi         SVGNAME  = cgig,  MinProc = 1,  MaxProc = 2
ssi         SVGNAME  = ssig,  MinProc = 1,  MaxProc = 2
MyGroup     SVGNAME  = jsvg,  MinProc = 5, MaxProc = 10
MyGroup3    SVGNAME  = jsvg1,  MinProc = 5, MaxProc = 10    * 추가된 컨테이너에서 사용하는 그룹

### WEBMain.xml ###

<group-name>MyGroup2</group-name>                   
        <webserver-connection>
            <webtob-listener>
                <listener-id>webtob1</listener-id>
                <port>9900</port> <!-- 하나의 webtob 를 공유하기때문에 통신 포트 동일-->
                <output-buffer-size>8192</output-buffer-size>
                <thread-pool>
                    <min>5</min>
                    <max>10</max>
                    <step>1</step>
                    <max-idle-time>30000</max-idle-time>
                </thread-pool>
                <registration-id>MyGroup3</registration-id>            -- 꼭 일치해야 하는 그룹명
                <webtob-home>/usr/local/jeus5/webserver</webtob-home>
            </webtob-listener>
        </webserver-connection>

03 7, 2012 14:27 03 7, 2012 14:27

Trackback URL : http://develop.sunshiny.co.kr/trackback/706

Leave a comment


Recent Posts

  1. Oracle - 바인드 변수에 대하여(테스트)
  2. Oracle - 디폴트 롤, DBA, CONNECT,...
  3. Oracle - 권한 및 롤 관리
  4. Oracle - SQL*PLUS의 SYSDBA 접근 제어
  5. Oracle - PFILE, SPFILE 에 관하여

Recent Comments

  1. 네 답글 고맙습니다. 좋은 한주 보... sunshiny 05 14,
  2. 좋은 정보 잘 살펴보고 갑니다. ememoho 05 12,
  3. 네. 고맙습니다^^ 행복한 한해 보... sunshiny 01 16,
  4. sunshiny님. 안녕하세요... 올려 주... yihans 01 16,
  5. 답글 주셔서 고맙습니다^^ 소스 복... sunshiny 01 11,

Recent Trackbacks

  1. 윈도우 cmd 명령어 팁 월풍도원(月風道院) - Delight on th... %M
  2. 파일 압축 Like RadioHead %M
  3. Mysql - mysql 설치후 Character set... 멀고 가까움이 다르기 때문 %M

Calendar

«   03 2012   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Bookmarks

  1. 위키피디아
  2. MysqlKorea
  3. Oracle All Documentation
  4. 엑셈
  5. 오라클 클럽
  6. 네이버개발자센터
  7. API - Java
  8. API - Spring
  9. Java Community
  10. Reference - Spring
  11. 스프링사용자
  12. 자바소스
  13. 자바지기
  14. Ready System
  15. Solaris Freeware
  16. Linux-Site
  17. RedHat Korea
  18. 윈디하나의 솔라나라

Site Stats

TOTAL 245441 HIT
TODAY 147 HIT
YESTERDAY 139 HIT