'심오한 세상/etc'에 해당되는 글 8건

  1. VirtualBox에 우분투 설치 후에 내부 네트워크 접속 설정하기
  2. Windows Update 오류 80070003
  3. Tomcat에 SSL 설정을 한 후, Windows Services로 구동시킬경우 오류
  4. 바쁜 직장인을 위한 스터디 방법(분야가 다른 직장인들 끼리는 어떻게?) (4)
  5. IE8에서 session 문제 (1)
  6. 오래전 부터 찾았던 메모리가 4G 일 경우 RAMDISK 설정하는 방법
  7. vi 사용법
  8. crontab 사용법

VirtualBox에 우분투 설치 후에 내부 네트워크 접속 설정하기



오늘 하루 종일 virtual box 설치해서 우분투를 설치했습니다.

맥북에어와 virtual box 로 설치한 ubuntu 가 서로 통신이 안되는 것이었습니다.

이걸 성공해야 교육 받으러 갈수 있는데 말이죠.


하지만, 드뎌 해결책 발견(http://simples.kr/21200)

먼저 virtual box에서 아래와 같이 세팅해주면 됩니다.

호스트전용 어댑터로. 이렇게 해야 호스트머신(본인PC) -> 가상머신(설치한 우분투)로 접근가능 한 상태가 됩니다.



그리고 우분투로 넘어가서 네트워크 세팅을 아래와 같이 추가해주면 됩니다.


1. /etc/network/interfaces 파일을 연다.


2. 아래 auto eht1 부분 추가해준다.

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

# The loopback network interface

auto lo

iface lo inet loopback


# The primary network interface

auto eth0

iface eth0 inet dhcp


auto eth1

iface eth1 inet static

address 192.168.56.105

netmask 255.255.255.0

gateway 192.168.56.1

dns-nameservers 168.126.63.1

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


3. /etc/init.d/networking restart


이렇게 서비스 재시작을 해주고나면 네트워크가 설정이 완료됩니다.

저작자 표시 비영리 변경 금지
신고

Windows Update 오류 80070003



오늘 윈도우 업데이트 하던 중 에러가 발생하였습니다.

구글 검색을 하니 죄다 영어라서;;;

네이버 검색을 했는데...안나오네요..

다음을 검색했습니다.

바로 나오네요 ㅋㅋㅋ


http://windows.microsoft.com/ko-KR/windows-vista/Windows-Update-error-80070003

위 페이지는 관련자료 페이지 입니다.


그리고 아래는 위 페이지의 내용을 발췌했습니다.

업데이트를 확인하는 동안 Windows Update 오류 80070003이 발생하면 Windows 에서 컴퓨터에 대한 업데이트를 식별하는 데 사용하는 임시 업데이트 파일을 제거해야 합니다. 임시 파일을 제거하려면 Windows Update 서비스를 중지하고 임시 업데이트 파일을 삭제한 후 Windows Update 서비스를 재시작하여 Windows 업데이트를 다시 확인해 보십시오.


아래는 제가 행했던 방법입니다.

1. 제어판>관리도구>서비스 로 이동하여, "Windows Update" 서비스를 중지했습니다.

2. "C:\Windows\SoftwareDistribution\DataStore" 과 "C:\Windows\SoftwareDistribution\Download" 폴더 파일을 모두 삭제하였습니다.

3. "Windows Update" 서비스를 시작했습니다.


위와 같은 작업을 하니 정상적으로 패치가 진행중입니다.

저작자 표시 비영리 변경 금지
신고

Tomcat에 SSL 설정을 한 후, Windows Services로 구동시킬경우 오류



Tomcat에서 SSL 설정을 한 후, dos창에서 "catalina.bat run"으로 구동을 시켜줄 경우 잘 돌아간다.
그리고 메시지를 확인한 후, 종료시키고 Windows Services에서 구동을 시킨다.
하지만, 접속을 시도해보면 접속이 되지 않고 멍때리는 현상을 발견할 수 있다.
에러로그를 확인해보니 아래와 같다.

2011. 10. 5 오후 5:56:59 org.apache.coyote.http11.Http11AprProtocol init

심각: Error initializing endpoint

java.lang.Exception: No Certificate file specified or invalid file format

at org.apache.tomcat.jni.SSLContext.setCertificate(Native Method)

at org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java)

at org.apache.coyote.http11.Http11AprProtocol.init(Http11AprProtocol.java)

at org.apache.catalina.connector.Connector.initialize(Connector.java)

at org.apache.catalina.core.StandardService.initialize(StandardService.java)

at org.apache.catalina.core.StandardServer.initialize(StandardServer.java)

at org.apache.catalina.startup.Catalina.load(Catalina.java)

at org.apache.catalina.startup.Catalina.load(Catalina.java)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)

at java.lang.reflect.Method.invoke(Method.java)

at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java)

2011. 10. 5 오후 5:56:59 org.apache.catalina.core.StandardService initialize

심각: Failed to initialize connector [Connector[HTTP/1.1-443]]

LifecycleException:  Protocol handler initialization failed: java.lang.Exception: No Certificate file specified or invalid file format

at org.apache.catalina.connector.Connector.initialize(Connector.java)

at org.apache.catalina.core.StandardService.initialize(StandardService.java)

at org.apache.catalina.core.StandardServer.initialize(StandardServer.java)

at org.apache.catalina.startup.Catalina.load(Catalina.java)

at org.apache.catalina.startup.Catalina.load(Catalina.java)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)

at java.lang.reflect.Method.invoke(Method.java)

at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java)


이 에러는 무엇인 것인가;;;;
오늘 하루 반나절을 허비하여 겨우 알아냈다.
역시 무지한탓에 반나절 삽질을 했구나..

참고 URL은 http://www.mail-archive.com/users@tomcat.apache.org/msg75237.html 이곳이며
핵심내용은

The above is for the Java-based connector.  The easiest thing would be to 
disable the APR code by deleting or renaming tcnative-1.dll in Tomcat's bin 
directory.

%CATALINA_HOME%\bin에 있는 tcnative-1.dll 파일을 삭제하라는 내용이다.

APR을 이용한 SSL을 사용할 경우 위 dll 파일은 꼭 있어야 하지만, APR을 사용하지않을 경우는 없어야한다는 것이다.
그리고 참고 사항으로 APR을 이용한 SSL 통신은 일반보다 속도가 빠르다고 한다.
tomcat은 그럼 이런 버그를 알고 있을까?
아니면 버그가 아니라 사용상의 부주의 인가?
아무튼 해결되서 기쁘다.
 
저작자 표시 비영리 변경 금지
신고

바쁜 직장인을 위한 스터디 방법(분야가 다른 직장인들 끼리는 어떻게?)



작은 스터디를 진행하기 위해서 준비를 하고 있습니다.
근데 대학생일 때 시간이 굉장히 많아서(정말 많아서) 그냥 문턱대고 스터디를 진행했죠.
그때는 그냥 책 한권 선정하거나, 수업 교재를 이용하여 스터디를 하였죠.

하지만, 지금은 현실이 그렇지가 못하네요.
친구들 대부분이 회사에 다니고, 제가 모을 수 있는 멤버는 전부다 회사원이네요.
그래서 바쁜 직장인을 위한 스터디 방법을 찾아봤습니다.

그중에 아래 사이트의 글이 눈에 띄네요.
위 방법은 삼색볼펜초학습법을 이용해 하나의 공통 주제에 대해서 서로 챕터를 나누고..
챕터를 나눠서 서로 읽고 토의하는 방식이네요.
미리 책을 읽어오지 않아도 되기 때문에 부담없으며, 짧은 시간 고도의 집중력으로 진행할 수 있습니다.
20분 정도 집중해서 책을 읽고, 그룹별 공유 시간 20분. 나머지는 전체 정리 및 회고하는 시간을 가지네요.
책을 읽는 시간은 연장이 가능하데, 1시간을 넘지 않도록 하네요.

하지만, 분야가 다른 직장인들 끼리는 어떻게 해야될까?
분명 이런 경우는 극히 드물 것입니다.
하지만, 현재 나의 경우는 분야가 다른 직장인들 끼리 모였습니다.
IT쪽 일을 한다는 것은 똑같지만 분야가 다 다르네요.
웹디자이너, 시스템 프로그래머, 소프트웨어 개발자 등등
정말 많은 분야가 모였네요..
현재 시스템 프로그래머와 소프트웨어 개발자들은 관심분야가 똑같아서 일치 시킬 수 있지만,
웹디자이너는 힘드네요.

그래서 생각했습니다. 위의 방법을 약간 변형해보면 어떨까 하고요.
방법은 똑같습니다. 삼색볼펜초학습법을 이용하여 정해진 시간에 책을 읽고,(직장인은 시간이 없습니다.)
각자 읽은 주제를 각자 발표하는 것입니다.
여기서 서로 같은 주제를 가지고 있는 사람은 그룹별 공유 시간을 가질 수 있겠죠.

그리고 전 여기서 하나 더 추가 할려고 합니다.
각자의 블로그에 각자가 공부한 내용을 올리는 것입니다.
가장 최고의 공부 방법은 복습이라고 생각합니다.
남에게 가르쳐주거나, 공부한 내용을 스스로 정리를 한다면 최고의 복습 효과를 누릴 수 있다고 생각합니다.

요약해서,
1. 매주 1번 특정장소에 모인다.
2. 서로 다른 주제든 같은 주제든 책을 분량을 읽는다.(지난 스터디때 미리 선정하면 더욱 좋다.)
3. 20분 간격으로 시간을 체크하되, 시간이 모지라면 5, 10, 15 방식으로 시간을 늘린다. 이때 주의할 것은 1시간을 넘기지 않도록 한다.
4. 서로 같은 주제를 가지고 있는 그룹은 토의도 진행한다.(약 20분) 이때 삼색볼펜초학습법에 따라서 진행한다.
5. 각자 공부한 분야에 대해서 발표한다.
6. 각자 공부한 내용을 블로그에 올린다.

실제 적용해보지는 않았지만, 현재 바쁜 일만 끝나면 적용해볼 생각입니다.
정말 바쁜일이 2월말에 끝나기때문에, 그 이후에 적용해볼 생각입니다.
실제로 해보고 다시 후기를 올리도록 하겠습니다.

ps. 위 페이지에서 가져온 내용이지만, 중요한 내용이라서 다시 한번더 여기에 쓰겠습니다.

혹시나 삼색볼펜법을 모르는 분을 위해 간략히 설명드리겠습니다. 최소 빨강, 파랑, 초록 세 가지 색깔이 있는 볼펜을 하나 들고 책을 읽습니다. 내가 읽는 부분에서 정말 핵심이라고 생각되는 부분에 빨간 색으로 밑줄을 긋습니다. 단, 빨간색은 한 페이지에 하나 이상 치지 않습니다(줄 칠 곳 없으면 건너 뛰어도 됩니다). 핵심은 아니지만 나름 중요하다고 생각들면 파란색 밑줄을 긋습니다. 중요하고 아니고를 떠나서 흥미롭다, 재미있다는 생각이 드는 부분에는 초록색을 긋습니다. 삼색볼펜법의 설명을 들으면 허접해 보입니다만, 절대 우습게 보면 안됩니다. 매우 강력한 공부법이자 독서법입니다. 

개인적으로 책을 읽을 때 두가지 방법이 있습니다.
1. 순서대로 읽으면서 빨, 파, 녹을 적절히 선택해 가면서 밑줄 칩니다. 기본적으로 전체를 한 번 읽는 걸 목표로 합니다.
2. 우선 빨간색을 다 치겠다는 마음으로 후르륵 속도를 높혀 읽습니다. 다시 처음으로 돌아와서 파란색만 치겠다는 생각으로 재독합니다. 마지막으로 삼독하면서 초록색을 씁니다. 전체를 세 번 읽는 걸 목표로 합니다.
사람에 따라 1번으로 읽어서 더 빠른 사람이 있고, 오히려 2번으로 읽어서 더 빠른 사람이 있습니다. 그 때 그 때 기분에 따라 선택해도 좋습니다.
 
그리고 어떤 방법을 쓰든지 읽는 줄 밑에 볼펜을 대고(볼펜촉은 집어넣은 상태로) 눈을 따라가면서(사실은 볼펜 끝을 눈이 따라가면서) 읽는 것이 좋습니다. 속독법을 따로 훈련받지 않아도 이 방법만 사용하면 독서속도와 집중도가 상당히 높아집니다. 그 외의 효과적인 속독법은 다음에 따로 소개를 드리겠습니다.
저작자 표시 비영리 변경 금지
신고

IE8에서 session 문제



로그인 테스트하던 중 이상한 현상을 발견하였습니다.
도저히 이러한 현상이 발생되지 않아야 한다는 저의 착각인지 모르겠지만...
IE8에서 세션을 공유하는 현상이 발견되었습니다.

이상하게 여긴 전 여러가지 테스트를 해봤죠...

user1이 접속했을 때의 session id
session.getId():18F5157B22F3D74E56779B0865487439

user2가 접속했을 때의 session id
session.getId():18F5157B22F3D74E56779B0865487439

헛 왜????? 세션ID가 같을 까요??????
그래서 또 네이버를 뒤지기 시작했습니다.
근데!!!!! 두둥!!!!!

IE8의 LCIE(Loosely-Coupled IE) Design에서의 Session 문제

File Menu에서 New window, New Tab 또는 Duplicate Tab을 Click하거나 Desktop Shortcut으로 new tab이나 window가 open이 된다면, 이는 원래의 Session을 공유하여 사용하게 된다고 합니다.

하지만, File Menu에 New session을 Click하면 예상하다시피 New browser windows가 열립니다. 이는 말 그대로 기존의 ieexplore.exe와 Session을 공유하지 않기 때문에 동일한 Site에 다른 user로 로그온하더라도 Browsing 을 할 수 있는 기능을 제공한다는 것입니다.


이런 현상이 IE8의 LCIE(Loosely-Coupled IE) Design로 인해서 기인된 현상으로 추측을 하고 있지만...
만약 그렇다면 마소는 왜 이렇게 개발자에게 불편하게 디자인 한건지....
그리고 session이 공유된다는 것이 과연 보안상으로 취약한 점이 없는지 궁금하네요.

아~ 이거 어떻게 처리해야할지 걱정입니다.
저작자 표시 비영리 변경 금지
신고

오래전 부터 찾았던 메모리가 4G 일 경우 RAMDISK 설정하는 방법



http://novrain.egloos.com/1754771

예전부터 이 내용을 찾아서 찾아서 나섰지만...
정확하게 콕 찝어서 이야기 해주는 블로그가 없었다...

하지만... 오늘 발견한 이 블로그....
나의 궁금증을 확 씻어 주었다...

기존에 사용하던 RAMDISK PLUS를 이용해서 잡으면 메모리에 RAMDISK가 잡은걸 볼 수 있었다...
그래서 이건 아닌거 같은데... 이러면서 나름 생각해보았지만... 역시나 궁금증 해결 실패...
오늘에서야 그 궁금증을 해결할 수 있었다...

정확하게는 무엇때문에 그렇게 됐는지 아직도 모른다 ㅋㅋ
하지만 위 주소처럼 하니 되네... 그래서 RAMDISK PLUS 지웠다.;;;;

인제 다른 운영체제로 안갈아타도 되는건가 ㅋㅋㅋ
그래서 7 나오면 갈아타야지 ㅋㅋ
저작자 표시 비영리 변경 금지
신고

vi 사용법




1. command mode

이 중에서 가장 먼저 vi를 시작하면 command mode로 시작이 되는데, 이 상태에서는 여러가지 명령을 할 수 있다. 명령어를 나열하면 다음과 같다.

  • cursor movement

    h : prompt를 좌측으로 한 칸 움직인다. 물론 아무런 내용이 없는 상태에서 는 prompt는 움직이지 않게 된다. ^^

    j : prompt를 한 행 아래로 내린다. 물론 다음 행에 아무런 내용이 없다면 움직이지 않게 된다.

    k : prompt를 한 행 위로 올린다.

    l : prompt를 우측으로 한 칸 움직인다.

    0 : 현재 prompt가 있는 행의 가장 처음으로 간다.

    $ : 현재 prompt사 있는 행의 가장 마지막으로 간다.

    G : 마지막 줄로 이동

    nG: n번째 줄로 이동

    b : 앞의 단어나 구두점까지 이동

    B : 구두점 무시하고 앞의 단어까지 이동

    ^f : 한 page 다음으로 넘긴다.

    ^b : 한 page 전으로 넘긴다.

    ^l : refresh ; 화면을 깨끗히 보고 싶을 때, 다시 화면을 정돈해서 보여준다.

    ( 여기 까지가 대충 커서를 움직이는 명령들입니다.)

  • insert command

    a : append ; 즉, 현재 prompt가 있는 곳의 다음에 덧붙이는 명령이다. 이 명령은 edit mode로 전환된다. (즉, 글을 편집할 수 있다.)

    i : insert ; 즉, 현재 prompt가 있는 곳부터 삽입하는 것이다. 이 역시 edit mode로 전환된다.

    o : open line ; 즉, 새로운 행을 여는 개행 명령이다. 현재 prompt가 있는 위치에서 바로 다음 행을 열고 edit mode로 바꿔 준다.

    O : 커서 윗줄로 이동하고 삽입 상태

    s : substitute ; 즉, 현재 prompt가 있는 위치에 문자와 교환한다. edit mode로 바꿔 준다.

    r : 한 문자를 바꿈

    R : 문자열을 지우고 그자리에 다시 씀

    cw : ? ; 위의 substitute에서 한 단어를 substitute하는 명령이다. 즉, 현재 prompt의 위치부터 한 단어를 교환할 수 있도록 한다. 이 역시 edit mode로 바꿔 준다.

    (여기까지를 보면 vi에서 edit mode로 갈 수 있는 기본 명령임을 알 수 있다.)

  • delete & etc.

    x : ? ^^; ; 한 char를 지우는 것이다. delete명령이라고 할 수 있다.

    dd : delete ; 한 line을 삭제하는 것이다. 위의 x 명령이 한 char임에 반해서 한 줄을 지운다.

    D : 커서가 위치하고 있는 행부터 마지막 행까지 지움.

    Y : yank ; yank는 당기다는 뜻인데, 잡아두는 것이다. 즉 copy해서 버퍼에 기억하고 있다. ( 나중에 paste하는데 사용할 수 있다.)

    p : paste ; 붙이는 것인데 buffer에 있는 내용을 현재 prompt가 있는 위치의 다음에 append하거나(buffer의 내용이 한 행의 일부분일 때) 또는 다음 행 에 붙인다.(buffer의 내용이 한 행 또는 그 이상일 때)

    p : Change buffer에 저장되어 있는 것을 아랫줄에 삽입

    J : 현재 커서가 위치한 줄과 다음줄을 연결

    # : 여기서 #은 실제 자판의 '#'이 아니고 숫자를 말한다. 이는 명령의 반복 회수를 나타낸다. 예를 들면 다음과 같다.

    5dd : 5행을 지운다.
    5x : 5개의 char를 지운다.
    3Y : 3행을 buffer에 저장한다.

2. edit mode

이 모드는 command mode에서 들어 와서는 txt를 편집할 수 있다. esc를 하면 이 모드를 빠져나올 수 있다. 나오면 command모드 이다.

3. last line command mode

command mode에서 last line command mode로 변경하려면 : 를 입력.

ZZ : file이 변경된 경우에는 변경된 내용을 저장한 후 종료하고 변경사항이 없을 경우 그냥 종료

w : 변경된 내용을 기록

w! : 쓰기가 금지된 경우 강제로 저장

w filename : buffer의 내용을 모두 file에 저장

e! : 수정한 것과 관계없이 다시 edit상태로 돌아감

q : 종료

q! : 저장을 묻지도 않고 그냥 종료

# : #th 행으로 prompt를 이동

4. extra skill

last line command에서 할 수 있는 몇 가지 명령들

  1. substitute
    예)

    :1,$s/acasia/영이/g

    위의 명령은 첫 번째 줄부터 마지막 줄까지 acasia를 '영이'로 바꾸는 것이다.

    s가 substitute 명령이구 g는 globally의 의미로 모든 acasia를 바꾸라는 의미 이다.

  2. delete
    예):.,$d

    현재 줄 부터 해서 마지막까지 지우라는 의미

    d가 delete 의 의미이다. .은 현재 줄의 의미

  3. undo
    예):u

    실행 취소

5. search

/[검색어] : /를 하면 마지막 line으로 가고 그 상태에서 검색어를 치면 원하는 검색어의 위치로 prompt가 바뀐다.

6. shell command

![command] : !을 하면 마지막 line으로 가고 그 상태에서 shell 명령을 하면 명령이 실행된다.
저작자 표시 비영리 변경 금지
신고

crontab 사용법



아래글은 " 리눅스 실무명령어 바이블 1" 중에서 일부를 발췌한 것입니다.

crontab 
  - 시스템의 주기적인  cron 작업의 설정, 수정등을 하는 명령어
  - 시스템에서 가장 중요한 데몬중의 하나인 crond 와 직접적인 관련이 있는 명령어
  - crond 데몬은  /etc/rc.d/init.d/crond 의 스크립트에 의해 시작, 종료, 재시작될수 있음
  - crond 데몬
     - /etc/crontab 파일
     - /etc/rc.d/init.d/crond 스크립트
     - /var/spool/cron 디렉토리내의 크론설정파일들

명령어 위치
: /usr/bin/crontab

사용형식
     : crontab [ -u 사용자id ] 파일
                   crontab [ -u 사용자id ] { -l | -r | -e }

cat /etc/crontab

매시 1회 자동실행하기 위한 시스템 크론 설정
01 * * * * root run-parts /etc/cron.hourly
  - 매일 매시 01분마다 /etc/cron.hourly 디렉토리내에 존재하는 파일들을 실행

매일 1회 자동실행하기 위한 시스템 크론설정
02 4 * * * root run-parts /etc/cron.daily
  - 매일 새벽 4시 02분마다 /etc/cron.daily  디렉토리내에 존재하는 파일들을 실행

매주 1회 자동실행하기 위한 시스템 크론설정
22 4 * * 0 root run-parts /etc/cron.weekly
  - 매주 일요일 새벽 4시 22분마다 /etc/cron.weekly 디렉토리내에 존재하는 파일들을 실행

매월 1회 자동실행하기 위한 시스템 크론설정
42 4 1 * * root run-parts /etc/cron.monthly
 ->매월 1일 새벽 4시 42분마다 /etc/cron.monthly 디렉토리내에 존재하는 파일들을 실행

* root 이외의 사용자에게 crontab 명령어를 이용할 수 있게 하는 방법
  - /etc/cron.allow 파일에 사용자의 id를 등록

* 일반사용자의 crontab 명령어사용을 제안하고자 한다면
  - /etc/cron.deny 파일에 사용자의 id 를 등록

* cron 설정하는 방법
 40 3 * * * root /home/mysql/mysql_backup.sh

 맨 앞의 40은 40분을 의미함 (분을 의미:0~59)
 그 뒤의 3은 03시를 의미함 (시를 의미:0~23)
 그 뒤의 * 은 매일을 의미함 (일을 의미:1~31)
 그 뒤의 * 은 매월을 의미함 (월을 의미:1~12)
 그 뒤의 * 은 매주를 의미함(요일을 의미 1:월요일~7:일요일)
 그 뒤의 root /home/mysql/mysql_backup.sh 는 root  계정으로 mysql_backup.sh을 실행하라는

 의미

 * 문자 : 각 필드에 해당하는 모든 숫자를 의미
 - 문자 : 각 필드자리에 하이픈 문자가 올수 있음
   ex) 일 필드자리에 11-15 (11,12,13,14,15일을 의미)
 ,문자 : 각 필드자리에 콤마문자가 올수 있음
   ex) 일 필드자리에 1,11,21 (1일,11일 21일을 의미)

신고