일반적으로 알고 있다 시피,

우분투에서는 .deb 확장자로 패키징한 설치 파일을 사용한다

레드햇 계열은 .rpm 이고

VMware 를 설치하고자 보니, .bundle 이다. 이건 어찌 설치하나?

좀 알아봤더니, 이 파일이 그냥 유닉스 셀 스크립트가 아닌가?

sudo sh VMware_workstation_Full-7.1.3-324285.i386.bundle

이렇게 해주니까 윈도즈에서 setup.exe 실행한 양, 잘 설치한다


int main()
{

char *str1 = “1234567890″;
char str2[] = “1234567890”;

char *str3= “1234″;

memcpy(str1, str3, strlen(str3));    <—(1)

memcpy(str2, str3, strlen(str3));    <—(2)

return 0;

}

여기서 (2)는 기대한대로 동작하지만,

(1)은 segmentation fault 발생시킨다.

 


윈도우 계열에서 한글 3벌식 쓰기는 트레이 영역에 있는 ime 아이콘에서 오른쪽 버튼을 누른 후에 설정을 선택하고 2벌식/3벌식 전환을 하면 되는 간단한 방법입니다만, 주위의 적잖은 컴맹분들은 이것도 어려워 하실 때가 많습니다만…

우분투에서의 3벌식 자판 설정하기는, 제가 이전에2번 정도 해봤슴에도 불구하고, 우분투를 새로 깔 때마다 애를 먹었습니다.

해서! 이렇게 블로그에 남깁니다.

일단 우분투를 깔고, ibus 까지 설치합니다. 여기까지 설명한 문서는 많으므로 상속받기로 하고!

우선 아래 첫번째 그림처럼 ibus 설정창을 띄우기 위해, 키보드 모양 아이콘을 누르고 “기본설정” 메뉴를 선택한다

그러면 iBus 환경설정 다이얼로그가 뜹니다

여기서 “언어패널표시: 활성화되었을 때” 를 선택하고

두번째 그림처럼 편집기 같은걸 띄우고 한글 모드를 들어가면 윈도우에서 보던 것과 같은 IME 아이콘이 보입니다

이 상태에서 역시 두번째 그림에서 처럼 마우스로 IME 아이콘의 오른쪽에서 두번째 칸인 “한글입력기를 설정합니다”를 클릭해 주면, 세번째 그림과 같이 2벌식/3벌식 선택 다이얼로그가 뜹니다

이렇게 보면, 참 간단한데  IME 아이콘이 기본적으로 화면에 안나타나게 되어 있어서, 3벌식 사용자들이 애를 먹게 되는 듯 합니다


<Modified 2019-04-06>

3 pictures file link is missing

and newer & similar article is added, refer the new one



우선 아래 ps 출력을 좀 보고,

root      2743     1  0 Oct15 ?        00:00:00 /usr/sbin/sshd
root     23689  2743  0 14:14 ?        00:00:00 sshd: jdh69 [priv]
jdh69    23691 23689  0 14:14 ?        00:00:00 sshd: jdh69@pts/6
jdh69    23692 23691  0 14:14 pts/6    00:00:00 –bash

여기서 getpgrp() 사용한 놈을 실행 시켜 결과를 좀 뿌리고,

[jdh69@localhost ~]$ ./pidT1
[child] PID : 23844
[child] PPID : 23843
[parent] PID : 23843
[parent] PID of child : 23844
[parent] PPID : 23692
[parent] GID : 23843
[parent] SID : 23692
[child] GID : 23843
[child] SID : 23692
printout data from MSB to LSB: 0 9 0 0
[parent] status is 2304

 

다음 내가 login 한 GID를 살펴보면,

[jdh69@localhost ~]$ cat /etc/group | grep jdh69
jdh69:x:508:

해석을 좀 해보면,

getpgrp()에서 받아오는 Group ID는 process group ID로서

이건 해당 실행파일이 기동하면서 받은 process ID 임을 알 수 있다

그리고 SID는 해당 실행파일이 기동할 때 사용한 shell의 process ID 되겠다

끝으로 /etc/group의 GID는 해당 로그인 계정이 속한 user group의 ID이다

이건 getpgrp()의 결과값과 전혀 관계가 없다!

 

위에서 부터 좀 살펴보면

sshd –> sshd(내 session 처리 위한 사본) –> sshd(내 권한 처리 위한 사본)

-> bash(여기서의 process ID가 getsid()의 결과) –> pidT1(여기서의 process ID가 getpgrp()의 결과)

-> child (pidT1이 fork()해서 만든 process, pidT1과 GID, SID는 같고 PID, PPID는 다르다)



FILE *fp;

fp = fopen(“/tmp/daemon.out”, “wt”);

if (fp == NULL) {

    printf(“File Open Error\n”);

    return –1;

}

 

대략 위와 같은 맥락에서

fopen(“~/daemon.out”, “wt”) 이렇게 사용하니까

내가 실행하고 있는 user 의 home directory에 만들어 주는게 아니라

fp = NULL 이 return 한다.

 

그러면 my home directory에 만들려면

어떻게 해야 할까?

environment 에서 읽어와서 스트링 연결을 해야하겠구만…



기억력 만으로 처음에

set ts=4

set indent=on

이렇게 적었는데, vim은 2번째 줄에서 불평을 한다.

 

매뉴얼을 보고 다시 넣기를…

set ts=4

set shiftwidth=4

set autoindent

set cindent

 

“set smartindent” 란 것도 있다고 하는데

GNU Tool 들이 워낙 편하다 보니, 이것들에 익숙해지면

AIX, HP/UX에서 작업할때 우울해지므로 만족함을 알고

그치기로 하였습니다



새로 설치한 Windows 7 64bit 랩탑에 Oracle Client 를 깔았습니다.

2010년 10월 초 현재 Oracle 에서 production release 로 나온 64bit 윈도즈용

Oracle 10g 클라이언트는 아직 없더군요

해서 구글링을 한 결과, ini 파일이나 xml 파일을 좀 고쳐서 까는 방법이 있길래

그렇게 설치 했답니다

그러고서 Toad 를 설치하고 실행했더니, Oracle client 가 아직 설치되지 않았다! 하고 나옵니다

혹시나 하고 커맨드라인에서 sqlplus 를 실행해 보니까,

c:\>sqlplus
Error 6 initializing SQL*Plus
Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

요렇게 나오는것 아닙니까.

아! ORACLE_HOME 설정이 빠졌구나 하고

Control Panel –> System –> 고급설정에 가서, 환경변수 버튼 눌러서

밑에 있는 시스템 레벨의 환경 변수에 넣을까 하다가 그냥 위의 계정에 딸린 환경변수에 넣기로 하고

ORACLE_HOME=c:\oracle\product\10.2.0\client_1

요렇게 설정하고 여기서, \client_1 빼고 ORACLE_BASE 설정

여기에 \network\admin 덧붙여서 TNS_ADMIN 도 설정했습니다

이러고서 sqlplus 실행했더니 잘되네요

한편, 이 셋중에서 ORACLE_HOME 이 제일 중요한 것 같습니다

나머지 두개가 있어도 이게 없으면 실행이 안되네요