반응형
리눅스상에서 우리는 쉽게
-o, -i, -p, -a, -l 등 옵션을 적용할 수 있는 프로그램을 볼 수 있다.
위와같은 프로그램은 getopt로 간단하게 구현할 수 있다.

필요 Include 파일
#include "stdio.h"
#include "stdlib.h"
#include <unistd.h>

사용하는 함수
int getopt(int argc, char ** argv, const char *options)   

사용되는 변수
int opterr : 이변수값에 0이아닌 숫자를 넣으면, 알지 못하는 옵션이 들어오면 표준 에러 메세지를 출력해 준다

int optopt :  알지 못하는 옵션의 문자를 이 변수에 저장한다.

int optind : 다음 옵션의 index값을 지정해 준다. 이를 활용하여 옵션이 있는경우 없는경우 구분 할 수 있다. 초기값은 1.

cahr * optarg : 인수를 받아들이는 옵션들의 argment를 저장해 준다.

소스코드

    int oc;
    ci_name = init;
    int num_sfr_in=0, num_sfr_out=0;
    int num_con=0;
    if(argc == 1){
        printf ( "./citemgen <optinons> \n        -n    :    Custon Instruction Name\n        -i    :    Number of input SFR\n        -o    :    Number of output SFR\n        -c    :    Number of Control bit\n\n");
        return 1;
    } else {
//Get opt를 통하여 현재 존재하는 모든 option을 받아온다.
// " " 안에 들어가는 내용은, 어떠한 옵션들을 적용할 수 있는지 나타내 준다
// 뒤에: 가 붙을 경우 -o test 와 같이 추가 인자를 필요로 한다는 뜻이다.
        while ((oc=getopt(argc,argv,":n:i:o:c:")) != -1 )
        {
            switch(oc)
            {
                case 'n':
                    //fprintf(stdout,"option : n\n");
                    ci_name=optarg;
                    break;
                case 'i':
                    //fprintf(stdout,"option : si\n");
                    num_sfr_in=atoi(optarg);
                    break;
                case 'o':
                  //  fprintf(stdout,"option : si\n");
                    num_sfr_out=atoi(optarg);
                     break;
                case 'c':
                    //fprintf(stdout,"option : si\n");
                    num_con=atoi(optarg);
                    break;
//추가 인자가 필요한 Function인데, 추가 인자가 오지 않았을 경우
                case ':':
                    fprintf(stderr,"%s : option '-%c' requires an argument\n",argv[0],optopt);
                    break;
//모르는 인자가 옵션으로 나타났을 경우
                case '?':
                default:
                    fprintf(stderr,"%s : option '-%c' is invalid : ignored\n",argv[0],optopt);
                    break;
            }
        }
옵션이 없는경우의 처리

   for(int i = optind; i < argc ; i++){
         ...
   }
반응형
반응형
du -sh * 명령어로 현재 열려있는 폴더의 용량을 확인할 수 있다.
-s 는 summarize
-h 는 humman-readable 이였나??

이를 home dir에서 사용하면,

유저별 HDD 사용 용량을 알 수 있다.
반응형
반응형
다음과 같이 명령어를 상황에 맞추어 입력해 주면 된다.

접속이 안될 경우
[root@bunjee ~] setsebool -P samba_enable_home_dirs on

목록은 보이나 쓰기가 안될경우
[root@bunjee ~] setsebool -P samba_export_all_ro on

목록은 보이나 쓰기가 안 될 경우
[root@bunjee ~] setsebool -P samba_export_all_rw on
반응형

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

EMACS Verilog Mode설치하기  (0) 2012.02.02
Linux에 rTorrent + Screen 설치하기  (0) 2011.12.26
리눅스 현재폴더 용량체크  (0) 2011.11.24
리눅스 Samba 계정 추가 방법  (0) 2011.11.24
CentOS 5에 Vim 7.3 설치하기  (2) 2011.11.24
반응형
관리자 계정으로 서버에 접속해서

/etc/samba/smb.conf 에 다음과 같은 항목을 계정에 맞게 추가해준다.

[yooka88]
   comment = Seongmock Yoo
   path = /home/yooka88
   valid users = yooka88
   guest ok = no
   public = no
   read -nly = no
   writable = yes
   create mode = 0664
   directory mask = 0750
   printable = no

간단히 설명하면,
path = 연결해줄 directory 주소
valid user = 리눅스 서버 유저
read only / writable = 파일 읽기 쓰기 권한 설정
create mode / directory mask = 삼바를 통해 생성되는 파일들이나 폴더들에 대한 설정

위와같은 내용을 추가 했으면 shell에서 다음과 같은 명령어로 User를 추가하여준다

[root@socred ~]# smbpasswd -a [User]


-- 관리 명령어 --

smbpasswd -a seban : seban 사용자의 삼바용 패스워드 추가
smbpasswd -x seban : seban 사용자의 삼바 계정 삭제
smbpasswd -d seban : seban 사용자의 삼바 계정을 사용중지





이와같이 입력하면, Password를 입력하는 화면이 나오고
samba를 통해 접속할때 사용할 Password를 입력해준다.

다 완료하였으면 samba service를 restart해주면 된다

[root@socred ~]# service smb restart
SMB 서비스를 종료함:                                       [  확인  ]
NMB 서비스를 종료함:                                       [  확인  ]


 


 

SMB서비스를 시작하고 있습니다:                             [  확인  ]
NMB서비스를 시작하고 있습니다:                             [  확인  ]


 



이제 윈도우에서
Samba Drive로 연결 할 수 있다.

내컴퓨터나 탐색기에서
왼쪽에 컴퓨터 탭을 열어주고
오른쪽 위의 네트워크 드라이브 연결을 눌러준다

 



그리고 아래와 같이 서버와 계정 정보를 채우면 사용할 수있다


 




반응형
반응형
Cent Os에서 yum으로 vim을 깔면 7.0버젼까지 밖에
안올라가는것으로 보입니다.

그런데 제경우. vim 에서 e.명령어를 내렸을때, 폴더앞에 e글자가 붙어서
폴더를 제대로 Access할 수가 없어서
최신 vim을 깔기로 했습니다

다음과 같은순서로 작업하시면 됩니다.



Source Get
wget ftp://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2

Extract
tar xvf vim-7.3.tar.bz2

Get Patch
cd vim73
mkdir patch
cd patch
wget "ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.*"
cd ..
cat patch/* | patch -p0

CC=gcc
CFLAGS="-fPIC -O2"
CPPFLAGS="-I/usr/local/include"  //소문자 L아니고 I(대문자 아이)입니다.
LDFLAGS="-L/usr/local/lib -R/usr/local/lib"
./configure --prefix=/usr/local --with-features=huge --enable-perlinterp --enable-multibyte --enable-hangulinput --without-x --disable-gui --disable-gtk-check --disable-gtk2-check --disable-gnome-check --disable-motif-check --disable-athena-check --disable-nextaw-check --disable-carbon-check --without-gnome
make
make install



만일 Vim 7.3 설치과정에서
tgetent()를 찾을수 없다는 Error가 발생한다면
yum으로 다음 패키지를 설치해 주면 된다.

yum install ncurses-devel

이러면 tgetent()를 찾을수 없다는 error가 넘어갈 것이다.
반응형
반응형
얼마전에 한쪽 소리가 안나오는관계로
뜯어서 수리를 했었던 P2
어느날 뚜껑이 안닫힌다는 소리를 듣고 보니
배가 불룩하고 튀여나와있었음.....

어차피 뜯은거 AS는 못가고 자체 배터리 교체 작업을 진행하였습니다.

 P2의 주변을 손톱 혹은 얇은 판을 이용해서

잘 들어내시면 쉽게 떯어지지 않는데요


바로 기판 중간에 나있는 구멍에 끼워져있는 부분 때문인데

저는 어차피 버릴생각으로 뜯어 냈습니다.


그리고 배가부른 배터리는 가운데 위치하고 있네요

 

배터리 교체를 위하여 새로운 배터리를 구매하였습니다.

일단 제일 중요한것은 3.7V로 기존의 배터리와 전압이 같아야 합니다.

두번째로 중요한것은 사이즈 입니다. 구매당시 Size를 확인하여 원래 P2의 배터리 공간에 들어갈 만한 Size를 구해야 합니다.


정사각형 형태로 되어있는 배터기라 많지않아. 기존의 배터리(830mAh)보다 작은 용량의 배터리(500mAh)를 구매하였습니다.

어차피 동영상은 안볼것이기 때문에, 지속시간은 생각지 않고

Size위주로 골라서 인터넷으로 구매하였습니다.


검색해보시면 리튬 폴리머 배터리 파는곳이 여러군데 있는데 그곳에서 구매하였습니다.

반드시 구매하실때!! 보호회로가 존재하는 배터리!!!

그리고 같은 커넥터가 연결되어 있는 배터리!!!

를 구매하셔야 합니다.


커넥터가 같지 않다면, 납땜할 생각을 하셔야 합니다.

어차피 같아도 해야했지만요 ~ ㅎ



자세히 보시면 원래 삼성의 배터리와 구매한 배터리의 단자의 + - 극이 뒤바껴 있는 것을 보실 수 있습니다.

보드상에도 +-가 표시되어있으니 방향을 확인해보시기 바랍니다.

여느 삼성 제품과 다름없게 이들은 +-를 과감히 바꾸어

사용자들이 쉽게 자가 AS를 하지 못하도록 만들어 놓았습니다.


그래서 결론은 ~

잘라서 다시납땜

 

 


 

선 두개에 납을 붙이는 과정이 쉽지는 않았지만

덩어리로 만들어 그냥 간단히 연결하였습니다.

인두를 최대한 오래대고 있지 않도록 노력하면서, 납땜을 마무리하여

+-극을 바꾸어 주었습니다.

그리고 납땜한 부분이 서로 닿으면 방전이 일어나기에


절연테잎으로 칭칭 감았습니다.

그리고 껴서 24핀 표준 충전기를 연결하니 제대로 충전이 된것을  볼 수 있습니다

 

충전도 잘되고



사용도 잘 됩니다.


 

뚜껑이 살짝 안닫혀서, 약간휘여 닫았습니다
별로 차이가 나지 않아서 그런지 딱 맞네요

이제 풀 충전해서 사용하고 있는데.
제법 잘 돌아갑니다.

아직 끝까지 사용하지 못해
사용시간 문제점 등은 모르겠지만
큰문제는 없을 것으로 보입니다.

모든 전자기기들이 이와같이 배터리 수명이 다하는 날이 오게되는데요
AS비용을 무는 것보다 더욱더 싼 가격으로 배터리를 교환할 수 있습니다.

배터리의 Type과 Voltage, 용량들을 꼼꼼히 비교하며 교체를 시도해 보시면 좋을것 같습니다.

반응형
반응형
미리 밝히는 것이지만 성능의 향상을
숫자로 확인하지 못했습니다.

그래도 뭐 딱히 문제는 없어ㅎ 개조한데로 사용하고 있는데

추후에 문제가 생기면 수정하겠습니다.


동선이 원래 전파를 전류로 바꾸는 안테나를 만드는데 많이 쓰여서 이런형태로 추가해 보았습니다.

원래 열을 전달하는 역할도 있어서, 발열이 심하게 되면, 문제가 될 가능성도 있습니다

이점 꼭 참고하시고 진행하시기 바랍니다.

문제는 책임지지 않습니다


준비물
1.동테이프 약간(진짜 쪼끔)
2. 작은 십자드라이버
3. 비닐 테이프
4. AS를 포기할 용기??? ㅋ


일단 탭플 아래판에 있는 고무패킹을
날카로운 칼끝 같은것으로 떼어내 주시고, 제일 작은 십자드라이버로
열어주시면 됩니다.


그리고 뒷판을 열어주시면 되는데, 잘못여시면 부러질 수 있으니,
방금 드라이버로 연곳을 살짝들어, 안쓰는 카드를 틈에 집어넣고, 테두리를 살살살 긁어 주시면 쉽게 떼어 낼 수 있습니다.


보이시면 탭플 보드가 보일겁니다.
사진에 가운데 보이는 부분이, Bluetooth 안테나의 접점이 보드에서 case로 나오는 부분입니다.
Case에 보시면 막으로 Bluetooth안테나가 있는것을 알 수 있습니다.

 

그냥 간단하게 동테이프를

3cm*3cm크기로 잘라줍니다 보통 열심히 계산을 해서 사용하지만, ㅋ 2.4GHz로 알고있는데


이정도면 대충 나올겁니다.


아래 사진과 같이 자른 동테이프를, 안테나 접점부와, 접점이 될 수 있게끔,

그러면서 스피커 홈 파여있는 부분은 안건들일 정도로 맞추어 붙였습니다.

접점이 안될까봐, 금색부분을 칼로 긁어봤는데 안긁어도 될것 같습니다. ㅋㅋㅋㅋ


그리고 다른 부분에 영향을 안주도록 테이프로 여러겹 꽁꽁 꽁꽁 위를 덮어줍니다.

너무 두껍지 않게요, 물론 접점부도 테이프로 덮으시면 안됩니다. 그부분은 노출되게 신경써서

붙여주시면 작업 다끝나고 이제 닫으시면 됩니다.


 

 


제가사용해볼때는, 감도나 음질이 나쁘지 않았습니다. 

심리적인 사용감일지 몰라도, 더 먼곳에서 더 선명하게 통화가 가능하다는 느낌을 받긴했지만,

정확한 것은ㅋ 측정을 해보아야 알 것 같습니다.


반응형
반응형
얼마전 쿠팡에서 파는 Bluetooth키보드를 보고
구매하였습니다.!!

iOS용으로 제작되었다고 하는데 제가 사용하는 갤럭시탭에서도 제대로 동작하였습니다.

전체적인 디자인이 사과사와 비슷한 모습을 갖고 있습니다.
하지만 뒤의 은색부분이 알루미늄이 아닌 플라스틱재질로 되어 있습니다.

 

상당히 비슷한 디자인입니다.

 

 

AAA x2 의 약을 먹고 동작합니다.



일단 저는 첫번째 받은 제품에서 전원이 안들어오는 불량이 있어서

받은그날 바로, 전화해서 문제를 이야기하니

바로 그날 새로운 을 발송해 주셨습니다.


Paring을 위해

안드로이드 OS의 경우에는

전원을 키고 Connect버튼을 누르고 있으면 빨간불이

깜빡깜빡 하고 들어올때, 검색하여 연결해주고,

화면에 누르라고 나오는 숫자들을 키보드상에서 입력후 엔터를 쳐주니

연결이 바로 되었습니다.



 

갤럭시탭에서
워드작업과 같이 안정된 작업에서는 상당한 성능을 보여주었습니다.

키감도 꽤 괜찮았습니다.
저가의 키보드느낌보단 적당한 수준의 키감을 보여주며, 만족스런 typing을 할 수있었습니다.

각각 키간의 거리가 적당히 멀어 오타율도 크지 않았습니다.
전체적으로 키들에 대한 감은 느낌이 정말 좋았습니다.

인터넷을 이용할 경우에는 약간의 Type오류현상이 있었습니다
가ㅏㅏㅏㅏㅏ나ㅏㅏㅏㅏ드ㅡ 와 같이 한 글자가 여러번 밀리는 현상이 가끔 발생하기도 하였지만
조금지나니 바로 안정화가 되었습니다.
키보드 자체의 문제일수도 있고, 안드로이드OS의 프로그램 사용중 인식 문제일 수도 있어서
iOS상에서는 어떤 안전성을 보여줄지 모르겠습니다.

그리고 안드로이드 OS에경우에는
F1(Menu), F3(Search)에 해당하는 메뉴키만 동작합니다.
이는 구매당시 미리 notice가 되어있던 부분이라. Pass

한영전환의 경우도 shift+space를통해 완벽하게 이루어졌습니다.



사과의 Bluetooth키보드를 구매하여 사용하기에는 너무 부담되고
너무 저가의 싸구려를 사용하기 마음에 안드신다면
사용하면 괜찮을 키보드라 생각됩니다.

안정도도 좋았고, 키감도 좋았습니다. 물론 제가 직접 사과의 키보드를 만져보지 못해
직접 비교는 못하지만, 이정도면 만족스럽게 오래 사용가능할 것 같습니다.

키보드를 담고 들고다닐 만한 적당한
파우치~ 혹은 Case가 같이들어 있으면, 좋았을텐데 어디 좋은 파우치 있나 한번 찾아봐야 겠습니다.
반응형
반응형
간단하게
오늘 도착한 탭플러스에 대한 생각을 적어보려 합니다.

 

<외관>

외관은다음과 같이 아주 깔끔하게 처리되어 있습니다.

뒤판은 갤탭과 같은색갈인 흰색으로 처리되어 있고요

전체적으로 깔끔한 모습입니다..

전면부는 약간 지문이 잘생기는 재질로 자주 닦아주어야 할 것 같습니다


<기능>

처음에 Bluetooth연결을 하였을때, 제대로 동작하다.
충전을 하면서 Screen lock을 걸고 버튼을 눌렀더니니
무한재부팅이 발생하여, 리셋후 전체 초기화 하여, 다시 설정하니 지금은 잘 동작하고 있습니다

진동모드 상태에서 전원을 껐다 켰음에도 불구하고,
On/OFF시에는 Opening/Closing소리가 발생하였습니다.
원하는 On/OFF시에는 상관없지만 아직 불안정하여 갑자기 On/Off가 발생하는 경우가 있기 때문에
가끔 당황할 수도 있을것 같습니다.
이부분에 대해서는 상당히 안정화가 진행되었습니다.

SMS를 저의경우 제대로 수신하지 못하였습니다.
SK향 갤탭을 KT에서 사용하고 있기 때문에 SecMMS_Interface.apk와 SEC_MMS.apk를 루팅을 통하여 삭제하여 사용중입니다.
이로인한 영향인지 몰라도 발신은 가능하나. 수신이 불가능 하였습니다,
발신이 되었다 하더라도, 발신 List에는 동작하지 않는 문제가 존재하는 것을 확인하였습니다.
이는 후에 Test하여 수정하도록 하겠습니다.
-> 기본 삼성 메세지 프로그램을 사용하게 된다면, 제대로 문자 수발신이 가능하였습니다.

<총평>
전반적으로 디자인과 기본적인 전화 수발신
기능은 만족스러웠습니다

시스템의 안정성 측면에서는 H/W적인 문제가 아니라면
S/W및 Firmware측면에서 충분히 처리가 가능하다고 보이기 때문에,
훗날 노력을 해주신다면 점점 좋은 기기가 될것 같습니다.

회사에서 고객들을 생각하고, 배려하는 모습을 보여 주셔서
상당히 호감이 가는 구입과정이었습니다.




덧. 아직 안정화가 많이 되지 않아서
Paring이 자주 끊기고 혹은 배터리가 빨리 닳거나, 하는 문제가 발생하고 있습니다.

이러한 문제가 해결이된다면 정말로 유용하고 정말필요한 블투가 되겠지만
그렇지 않다면 큰문제가 될 것입니다.

구매하고자 하시는 분들은, 이점 숙지하시고 충분히 안정화가 된 다음 평을 보시고 구매하시는것이
좋을것 같습니다.



+11.23 Paring에 대한 안정화는 상당히 진행되어 이제 끊기거나 하는 일은 발생하지 않고있습니다.
하지만 통화음질의 저하가 심각하여 통화로 사용하기에는 아직 문제가 있어보입니다.
동영상보면서, 문자하기, 다른일하면서 문자하기와 같은
문자기능들에 있어서는 아직까지 상당한 메리트를 보이고 있습니다.

저는 문자확인용으로만 사용하고, 전화는 이어폰을 통해 하고 있습니다.

자세한 내용은 Tapplus 네이버 카페에 가시면 얻으실 수 있을 것입니다.


반응형
반응형
역시 윈도우즈를 계속 쓰다보면 언젠가는 하드의 용량이 부족하여
정리를 해줘야한다.

우선 자신이 사용하고 있는 파일들의 용량 분포를 확인하기 위해
SpaceSniffer라는 하드 분석툴을 이용하여 분석해 보았다

다음의 주소로 따라가면 받을수 있다.


  SpaceSniffer 다운





사용도 직관적으로 분석하고자 하는 Drive를 선택하면, 다음과 같이 박스형태로 분석되어 나온다.

File->New 혹은 젤 왼쪽 아이콘을 이용하여
여러드라이브를 동시에 다음과 같이 확인할 수 있다.



위의 결과에 따라서 까먹고 있던 파일들!!
예상외료 용량을 많이 먹는 파일들을 정리하면 된다.





다음은 C드라이브 정리시 도움이 되는 파일들이 List이다.


pagefile.sys

가상 메모리 관련파일 윈도우에서 가상 메모리 사용시 가상메모리에 해당하는 크기의 공간을 확보해 두기에
사용되는 파일이다.

윈도우 7의 기준으로
제어판->시스템->고급 시스템 설정(왼쪽탭)->설정(성능부분)->고급탭->가상메모리->변경

부분에서 페이지파일의 위치와 크기등을 변경할 수 있다.
이 값의 조절을 통해 파일의 크기를 변경할 수 있다.


hiberfil.sys

최대 절전모드 사용시에 사용되는 파일이라 한다.
내 연구실 데스크탑은 최대 절전모드를 사용하지 않으므로, 제거한다.

XP의 경우 제어판->디스플레이설정->화면보호기-> 최대절전모드 해제
를 진행하면 된다

윈도우 7의경우, 시작-> 모든프로그램->보조프로그램->명령프롬포트->마우스 오른쪽 관리자 권한으로 실행

powercfg -h off 라고 쳐주시면됩니다.


windows/winsxs

서비스팩 설치시 생기는 백업파일이다.
제거를 하기위해서는 위와 같이 명령 프롬포트를 실행하고,
DISM /online /Cleanup-Image /SpSuperseded
라고 입력하면 됩니다.


반응형

+ Recent posts