linux getmodulefilename

IT/Linux 2018.02.09 13:04 Posted by ImKevin

Linux 환경에서 모듈 풀패스명을 얻고자 할때 아래와 같이 얻을 수 있다.


char link[50];
char path[256] ={0};

sprintf( link, "/proc/%d/exe", getpid() );
readlink( link, path, 256 );
printf("path = %s\n", exepath);

ret  : path = /home/aaa/bbb/ccc 


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

linux getmodulefilename  (0) 2018.02.09
socket 클라이언트 연결해제 감지  (0) 2018.02.07
개발 유용 커맨드  (0) 2018.01.08
virtualbox ubuntu 공유폴더 작성 방법  (0) 2017.12.28
ubuntu 16.04 server 한글설정  (0) 2017.12.28
centos samba 자동시작 설정  (0) 2017.11.29

socket 클라이언트 연결해제 감지

IT/Linux 2018.02.07 10:25 Posted by ImKevin

client socket이 연결을 끊은 경우 server socket이 감지하여 오픈하였던 client socket을 닫아야하는 경우 아래와 같이 확인하면된다.



int nread = read ( clientsocket, readbuf, 1000);


if (nread == 0) // peer disconnected

{

    close(clientsocket); // windows에서는 closesocket()

    break;

}

else if (nread == -1) // error

{

    perror("read");

    break;

}

else // received 'n' bytes

{

   // 데이터를 정상 수신한 경우로 수신 데이터 처리

    printf("%.*s", n, buffer);

}

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

linux getmodulefilename  (0) 2018.02.09
socket 클라이언트 연결해제 감지  (0) 2018.02.07
개발 유용 커맨드  (0) 2018.01.08
virtualbox ubuntu 공유폴더 작성 방법  (0) 2017.12.28
ubuntu 16.04 server 한글설정  (0) 2017.12.28
centos samba 자동시작 설정  (0) 2017.11.29

개발 유용 커맨드

IT/Linux 2018.01.08 14:48 Posted by ImKevin

개발에 유용한 커맨드 정리

- 리눅스 초보개발자의 커맨드 정리



 구분

커맨드 

 결과 및 설명 

 모듈 아키텍쳐 확인

 objdump -f libxml2.so | grep ^architecture

architecture: i386, flags 0x00000150:


 32bit/64bit 모듈 체크

 모듈 디펜던시 보기 objdump -x libshairplay.so Dynamic Section:
  NEEDED               libplist.so.1
  NEEDED               libpthread.so.0
  NEEDED               libdl.so.2
  NEEDED               libc.so.6
  SONAME               libshairplay.so.0
  INIT                 0x00001a2c
  FINI                 0x0001ca08
...

 모듈 디펜던시 보기

readelf -d libplist.so.1.1.6 0x00000001 (NEEDED) Shared library: [libxml2.so.2]

0x00000001 (NEEDED) Shared library: [libc.so.6]

0x0000000e (SONAME) Library soname: [libplist.so.1]

0x0000000f (RPATH) Library rpath: [/usr/local/lib:]

0x0000000c (INIT) 0x16cc

...
 프로세스 목록 ps -eal | grep Air Air이 포함된 프로세스 목록 표시



0x00000001 (NEEDED) Shared library: [libxml2.so.2]

0x00000001 (NEEDED) Shared library: [libc.so.6]

0x0000000e (SONAME) Library soname: [libplist.so.1]

0x0000000f (RPATH) Library rpath: [/usr/local/lib:]

0x0000000c (INIT) 0x16cc


Dynamic Section:
  NEEDED               libplist.so.1
  NEEDED               libpthread.so.0
  NEEDED               libdl.so.2
  NEEDED               libc.so.6
  SONAME               libshairplay.so.0
  INIT                 0x00001a2c
  FINI                 0x0001ca08


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

linux getmodulefilename  (0) 2018.02.09
socket 클라이언트 연결해제 감지  (0) 2018.02.07
개발 유용 커맨드  (0) 2018.01.08
virtualbox ubuntu 공유폴더 작성 방법  (0) 2017.12.28
ubuntu 16.04 server 한글설정  (0) 2017.12.28
centos samba 자동시작 설정  (0) 2017.11.29

virtualbox ubuntu 공유폴더 작성 방법

IT/Linux 2017.12.28 14:00 Posted by ImKevin
절차 
1. 폴더 설정
2. 내용 편집

3. 폴더 공유 마운트
$ sudo mount -t vboxsf LinuxShare LinuxShare /home/xxxx/share
LinuxShare : 위의 공유폴더에서 폴더이름
share : 실제 linux에서 공유로 사용할 풀패스명 이름

4. 재부팅
- 부팅 후에는 공유 설정이 사라지므로 5, 6을 실행

5. 마운트된 폴더에 권한이 없어 접근 불가로 접근시키기
- vboxsf라는 그룹에 usrid라는 사용자를 등록
$ sudo usermod -a -G vboxsf usrid
- 재부팅하고 /media/sf_LinuxShare로 이동하면 위에서 공유로 설정한 패스의 내용이 보인다.
이대로 사용가능함

6. 마운트된 media를 원하는 위치로 다시 마운트하려면 아래와 같이 등록
$ sudo vi /etc/rc.local 실행
sudo mount -t vboxsf LinuxShare /home/xxxxx/mountpostion
재부팅 하면 5, 6으로 모두 접근 가능함.

축 성공

-------------------------------------------------
아래의 방법만으로는 모두 실패, 위의 5번이 중요
-------------------------------------------------
부팅시 자동마운트 설정 -  아래의 두가지 방법 모두 실패
1. 공유폴더 부팅시 자동마운트
su root 권한 획득 또는 sudo ~
vi /etc/profile실 행후 제일 하단에
umask 022
mount -t vboxsf LinuxShare /home/xxxx/share


2. 실행 스크립트 생성
su root
vi /etc/sharedmount
mount -t vboxsf LinuxShare /home/xxxx/share
chmod +x sharemount
update-rc.d sharemount defaults

5. 재부팅
- 실패


ubuntu 16.04 server 한글설정

IT/Linux 2017.12.28 13:37 Posted by ImKevin
한영키를 누를때 전환은 되나 실제로 한글이 나오지 않는 현상이 발생하였는데 아래와 같이 설정하여 성공하였다.
기본적으로 언어에 한글과 영어는 포함해두었다.
  1. $ sudo apt-get install fcitx-hangul 설치
  2. 설치프로그램 목록에서 입력기 실행

3. 입력기가 나타나면 다음 선택 하여 아래와 같은 창이 나타나면 fcitx를 선택

4. ok를 종료될때까지 선택
5. 재부팅 


centos samba 자동시작 설정

IT/Linux 2017.11.29 12:51 Posted by ImKevin


서버시작 

/etc/init.d/smbd start

service smb start


서버중지

/etc/init.d/smb stop

service smb stop



자동실행
/etc/rc.local 설정 파일에 /etc/init.d/smb start 추가
chkconfig smb on



신규로 설치한 centos가 설치된 폴더에서 .vmx파일을 연다


아래의 정보를 찾아서

ethernet0.present = "TRUE"

ethernet0.connectionType = "nat"

ethernet0.wakeOnPcktRcv = "FALSE"

ethernet0.addressType = "generated"

하단에 아래를 추가한다.

ethernet0.virtualDev = "e1000"


설정후 vm을 부팅하면 정상적으로 네트워크가 연결된다.

이외수 선생의 보복대행 주식회사라는 책을 보게되었다.


컨셉이 독특하면서 재미도 있는 소설이다.

친일파 후손이지만 조상의 그러함을 부끄럽게 여길줄 아는 주인공,

그러면서도 사회정의 실현을 위해뛰어들 용기.


본인만의 독특한 초능력을 이용하여 약한자, 국민에게 피해를 주는 사람들을 응징한다는 이야기이다.


이제 1권을 읽고 2권을 읽을 예정이나 2권을 빠르게 읽을 수 있을지...


2권을 마저 읽고 총평을 쓸예정이다.

재미있는 소설이다.

왕좌의 게임 시즌7 시작

잡담 2017.07.18 09:08 Posted by ImKevin

재미있게보고 잊고있었는데 어느덧 시즌7 방영되었다.


에피소드 1에서는 용엄마는 돌아오고, 북부는 결속을 강화하고, 복수도 시작되고 각자 싸울준비를 하고있다.


전체적인 흐름을 잡아주는 1편이었다.


7편인지로 구성되었다니 조금 재미있을라하면 끝나지 않으까싶다.

2편이 기대되는구나~!

'잡담' 카테고리의 다른 글

왕좌의 게임 시즌7 시작  (0) 2017.07.18
문재인 대통령 당선  (0) 2017.05.11
[캠핑]캠핑 용품 구매 목록  (0) 2017.03.16
에버노트 - 굿바이  (0) 2016.08.02
[바둑]이세돌-알파고 대국(20160309)  (0) 2016.03.10
u보금자리론 대환 대출  (0) 2015.12.22

도올의 중국일기 1편에 이어 2편을 읽어보았다.

1편에서는 연변대 교수로 부임하면서 연변주변을 둘러본 내용이 주를 이루었으나

2편은 직접 고구려의 행적을 따라 떠나는 기행문이라 하겠다.


연변대를 출발하여 집안지방으로 떠난다. 집안은 압록강 인근의 중국지역이다.


주몽이 세운 흘승골성(오녀산성) 일명 졸본성인가 하는곳을 시작으로 장군총등 고구려의 유적을 찾아 떠났다. 말로만 듣던 고구려의 역사를 실제로 도올 선생이 촬영한 사진들로 확인할 수 있었다.


오래전 우리 조상이라는 고구려의 행적은 우리가 갖지는 못하더라도 알고 있어야할 역사와 문화유산이 아닌가 생각해본다.