반응형

samba 설치

apt를 이용하여 samba를 설치한다.
$ sudo apt-get install samba

samba 설치


삼바 명령어
$ samba -?

  -D, --daemon                       Become a daemon (default)
  -F, --foreground                   Run the daemon in foreground
  -i, --interactive                  Run interactive (not a daemon)
  -M, --model=MODEL                  Select process model
      --maximum-runtime=seconds      set maximum runtime of the server
                                     process, till autotermination
  -b, --show-build                   show build info
      --no-process-group             Don't create a new process group

Help options:
  -?, --help                         Show this help message
      --usage                        Display brief usage message

Common Samba options:
  -d, --debuglevel=DEBUGLEVEL        Set debug level
      --debug-stderr                 Send debug output to STDERR
  -s, --configfile=CONFIGFILE        Use alternative configuration file
      --option=name=value            Set smb.conf option from command line
  -l, --log-basename=LOGFILEBASE     Basename for log/debug files
      --leak-report                  enable talloc leak reporting on exit
      --leak-report-full             enable full talloc leak reporting on exit

samba의 버전을 확인해보자

$ samba -V

버전확인



samba 계정을 생성한다.
$ sudo smbpasswd -a admin

패스워드를 두번 입력한다.

 

samba 아이디 생성



samba 계정 사용
파일위치 : $ /etc/samba/smb.conf

vi를 이용하여 smb.conf 열기
$ sudo vi /etc/samba/smb.conf

 

계정과 같은 이름으로 등록을 해야함.

admin이라는 계정이 없으면 접속되지 않음.

** 계정등록하는 명령어 추가하기.

 

 

**[smb.conf]**

admin 계정 추가

...

[admin]
comment = admin
path = /home/admin
valid users = admin
writable = yes
create mask = 0644
directory mask = 0755
...

comment        : 계정에 대한 설명 
path           : 공유하려는 경로
valid  users   : 공유 디렉토리에 연결하려는 사용자 이름
writable       : 삼바에 접근하는 곳에서 파일쓰기가 가능한지 (yes/no)
create mask    : 파일 생성시 기본적으로 부여될 CHMOD
directory mask : 디렉토리 생성시 기본적으로 부여될 CHMOD


vi를 빠져나와 smbd를 재시작한다
sudo /etc/init.d/smbd restart

 

 

그리고 자기 탐색기에 ip주소를 입력한다.

\\192.11.11.1

공유

네트워크에 해당 ip로 폴더가 나온다면 성공

폴더를 더블클릭하여 설정한 패스워드를 입력한다.

 

 

 

우분투에서 samba 자동시작 설정
sudo update-rc.d smbd defaults
sudo update-rc.d smbd enable

반응형

'IT > 자작 nas' 카테고리의 다른 글

3. 자작 nas - 우분투 putty 접속  (0) 2020.02.04
2. 자작 nas - 우분투 한글설정  (0) 2020.02.04
1. 자작 nas - os 선택  (0) 2020.02.04
반응형


openSSL를 설치하여 putty 접속하기.


root 권한 얻기
$ sudo -s

apt-get udpate
$ sudo apt-get update

apt-get을 이용하여 ssh을 설치한다.
$ sudo apt-get install ssh 

ssh 설치 명령어



openssh-server 설치
$ sudo apt-get install openssh-server
**위 ssh을 설치하면서 이미 설치되있음. (안해도됨)

 


* ssh을 재시작
절대경로로 재시작 : $ sudo /etc/init.d/ssh restart
파일위치 : /etc/init.d/
$ cd /etc/init.d/
파일 : ssh


ifconfig 실행

** ifconfig를 실행하려면 net-tools가 필요함 net-tools를 설치.
$ apt-get install net-tools

$ ifconfig 

ip 확인


putty 실행

 

putty

 

** 해결해야할일

포트 포워딩을 이용하여 외부에서 접속하는 방법. 확인해야함.

반응형

'IT > 자작 nas' 카테고리의 다른 글

4. 자작 nas - samba 설치  (2) 2020.02.04
2. 자작 nas - 우분투 한글설정  (0) 2020.02.04
1. 자작 nas - os 선택  (0) 2020.02.04
반응형

nas제작의 편의성을 위해 우분투의 언어를 한글로 설정합니다.

 

1. Language Support 클릭

 

Language Support를 클릭합니다.

 

2. install하기

install / Remove Languages...를 클릭하여 언어 설치창을 띄웁니다.

설치창이 뜨면 스크롤을 이동하여 korea를 찾고 체크후 aplly버튼 클릭하여 korea언어를 설치합니다.

 

 

3. korea 언어 설치

한글 설치중..

 

4. 설치완료

한글 설치가 완료됐습니다.

** 설치가 완료되도 한국어가 나타나지 않는다면 재설치를 합니다.

 

 

5. 설정

설정에서 언어를 한글로 변경합니다.

 

6. 변경후 재시작

한글로 변경후 재식작합니다.

밑에 input Sources에 기존에 있던 English를 -를 눌러 제거후 korean을 넣어줍니다.

 

7. 재부팅

재부팅을 하면 폴더명을 바꾸겠냐고 나옵니다.

폴더를 한글로 바꾸면 여러 문제가 생길것 같으니 예전이름으로 유지합니다.

 

 

8. 한영변환

한영변환키를 설정합니다.

Alt_R로 설정되어있는 것이 한/영키입니다.

 

이상 우분투 한글변경 및 한글입력방법입니다.

반응형

'IT > 자작 nas' 카테고리의 다른 글

4. 자작 nas - samba 설치  (2) 2020.02.04
3. 자작 nas - 우분투 putty 접속  (0) 2020.02.04
1. 자작 nas - os 선택  (0) 2020.02.04
반응형

wmware, 우분투.

 

wmware 설치 후 우분투를 설치함.

 

samba를 이용하여 파일서버를 구축.

반응형

'IT > 자작 nas' 카테고리의 다른 글

4. 자작 nas - samba 설치  (2) 2020.02.04
3. 자작 nas - 우분투 putty 접속  (0) 2020.02.04
2. 자작 nas - 우분투 한글설정  (0) 2020.02.04
반응형

처음 VS Code를 설치하면 영문으로 표시되어 있는데요

저는 영알못이라 영어로 된 프로그램을 사용하게되면

설정들을 건들지 못하고 단순 텍스트 편집으로 사용하게 되는데요.

그렇기 때문에 VS Code의 UI를 한글로 변경했습니다.

 

1. 확장 프로그램

버전 마다 아이콘이 좀 다른데요.

이전 버전은 지구본 같은 둥근 아이콘이였는데 최근 버전에는 네모블럭으로 표시 되었네요.

아무튼 클릭합니다.

 

korea 라는 검색어를 입력하고 엔터를 치면 korean Language 라는 확장 프로그램이 나옵니다.

install을 누릅니다.

2. 설치완료

설치가 완료되면 오른쪽 아래 Restart Now라는 메세지창이 나옵니다.

버튼을 클릭하여 vscode를 재시작해줍니다.

 

메세지창이 사라졌다고 해도 그냥 종료후 다시 실행시켜주면 됩니다.

당황하지 마세요.

3. 한글

재시작이 되면 한글로된 vscode를 만나보실수 있습니다 :Db

반응형
반응형

이클립스를 작업표시줄에 고정하고 싶은데 작업 표시줄에 고정이라는 메뉴가 나타나지 않을때가 있습니다.

이러한 경우

eclipse.ini

파일에 두줄정도 추가해주면 됩니다.

 

1. 작업 표시줄 고정 없음

위 캡처처럼 우클릭을 하여도 작업표시줄에 고정이라는 메뉴가 없습니다.

메뉴를 생성하는 방법입니다.

 

2. eclipse.ini

eclipse.ini 파일을 열어줍니다.

텍스트 에디트를 사용중이라면 텍스트 에디트에 띄우고

그렇지 않다면 우클릭 후 연결 프로그램에서 메모장으로 띄워줍니다.

3. eclipse.ini

이런식으로 코드가 나올텐데요.

이전에 자신의 jdk bin 경로까지 복사합니다.

그후 .ini 파일에 밑에처럼 붙여넣습니다.


-vm
C:/eGovFrame/jdk1.6.0_25/bin

 

4.eclipse.ini

위 처럼 붙여놓고 이클립스를 실행시켜줍니다.

이클립스가 켜져있다면 종료 후 실행시켜줍니다.

5. 고정 메뉴 추가

이클립스를 재 실행 시켰다면 작업표시줄에 있는 이클립스 아이콘을 우클릭 한다면 작업 표시줄에 고정이라는 메뉴가 추가된걸 보실 수 있습니다 :)

 

즐거운 개발 하시길 바랍니다. :Db

 

 

반응형
반응형

MyBatis trim기능을 활용하여 sql 오류를 줄여봅시다.

SELECT COLUMN1
     , COLUMN2
     , COLUMN3
  FROM TABLE
 WHERE PK_COLUMN1 = #{key1}
   AND (
        
        PK_COLUMN2 = #{orKey1}
        
        
        OR PK_COLUMN3 = #{orKey2}
        
   )

이라는 코드가 존재할때

orKeys1, orKeys2의 값이 없다면 오류가 발생할겁니다.

SELECT COLUMN1
     , COLUMN2
     , COLUMN3
  FROM TABLE
 WHERE PK_COLUMN1 = #{key1}
   AND (
   )

이를 방지하고자 MyBatis에서는 trim을 사용하여 동적으로 SQL을 구현할 수 있도록 하였습니다.

SELECT COLUMN1
     , COLUMN2
     , COLUMN3
  FROM TABLE
 WHERE PK_COLUMN1 = #{key1}
   
        
        OR PK_COLUMN2 = #{orKey1}
        
        
        OR PK_COLUMN3 = #{orKey2}
        

<trim prefix="AND (" prefixOverrides="OR" suffix=")">

<trim></trim> 안에 쿼리가 존재한다면 AND(  와  ) 가 자동으로 만들어지게됩니다.

 

prefixOverrides="OR"은 맨앞에 OR연산자가 존재한다면 OR 연산자를 지워버리게 됩니다.

 

orKeys2의 값만 들어왔을경우

OR PK_COLUMN3 = #{orKeys2} 가 되는게 아니라 맨 앞 OR 연산자를 없애버리므로

PK_COLUMN3 = #{orKeys2}가 됩니다.

 

반대로 끝의 문자열을 지우고 싶다면

suffixOverrides을 사용하면 됩니다.

주로 UPDATE문에 사용되는데요

UPDATE [TABLE]                                |* ==> *|    UPDATE [TABLE]
   SET                                        |* ==> *|       SET
   COLUMN1 = #{data1},  |* ==> *|       COLUMN1 = #{data1},
   COLUMN2 = #{data2},  |* ==> *|       COLUMN2 = #{data2},
   COLUMN3 = #{data3},  |* ==> *|       COLUMN3 = #{data3},
   COLUMN4 = #{data4},  |* ==> *|       COLUMN4 = #{data4},
 WHERE PK_COLUMN = #{pkKey}                   |* ==> *|     WHERE PK_COLUMN = #{pkKey}

<if>를 통해 입력된값만 update를 하고 싶은데 마지막 쉼표(,) 때문에 오류가 나게됩니다.

이처럼 마지막 쉼표(,)를 제거하기 위해서 suffixOverrides를 사용하게됩니다.

UPDATE [TABLE]                                |* ==> *|    UPDATE [TABLE]
       |* ==> *|       SET
   COLUMN1 = #{data1},  |* ==> *|       COLUMN1 = #{data1},
   COLUMN2 = #{data2},  |* ==> *|       COLUMN2 = #{data2},
   COLUMN3 = #{data3},  |* ==> *|       COLUMN3 = #{data3},
   COLUMN4 = #{data4},  |* ==> *|       COLUMN4 = #{data4}       /* 쉼표(,)가 없어집니다. */
 WHERE PK_COLUMN = #{pkKey}                   |* ==> *|     WHERE PK_COLUMN = #{pkKey}

 

 

제 글이 코딩하는데 도움이 되면 좋겠습니다 :)

저도 잘 모르지만 제가 아는 만큼 써보려고 합니다 ㅎㅎ

이상 MyBatis trim 사용법이였습니다.

반응형

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

이클립스 작업표시줄에 고정시키는 방법  (0) 2019.08.16
반응형

안녕하세요.

IF함수 심화과정으로 IFERROR를 사용해보는 시간을 갖도록 합시다.

 

먼저 IFERROR은

수식에서 오류가 발생할 경우 사용자가 지정한 값을 반환하고, 그렇지 않으면 수식 결과를 반환합니다. IFERROR 함수를 사용하면 수식의 오류를 트래핑하여 처리할 수 있습니다.

 

무슨말인지 잘 모르시겠죠? ㅎㅎㅎ

예제를 바로 보도록 합시다.

1. 1/0

1/0의 답은 무엇일까요?

그렇죠 말이 안되는 수식입니다.

그럼 결과는 어떻게 나올까요?

 

2. 에러

당연히 에러로 표시됩니다.

#DIV/0! 의 원인으로는 

 

  • 0으로 나누는 명시적 나눗셈(예: =5/0)을 수행하는 수식이 입력되어 있습니다. 
  • 수식 또는 나눗셈을 수행하는 함수에서 0이 포함된 셀이나 빈 셀에 대한 참조를 나누는 수로 사용합니다.
  • #DIV/0! 오류를 반환하는 수식이나 함수를 사용하는 매크로를 실행합니다.

 

가 있습니다.

첫번째 원인으로 오류를 만들어냈습니다.

솔직히 그냥 냅둬도 상관은 없지만 이상하잖아요?

이럴때 IFERROR을 사용하면 됩니다.

 

IFERROR사용법은

IFERROR(value, value_if_error)

입니다.

 

인수를 각각설명드리면

IFERROR( 값, 오류발생시 출력값 )

입니다.

 

글로만 쓰면 이해하기 어려우니까 위의 예제에서 IFERROR를 적용시켜봅시다.

3. IFERROR 적용

IFERROR을 적용시켜봤는데요.

#DIV/0! 에러가 발생하면 "0으로 숫자를 나눌수 없습니다." 라는 문구가 출력됩니다.

간단하죠?

 

하지만 주의해야할 사항이 한가지 있는데요

IFERROR함수는 #DIV/0! 에러 뿐만 아니라 다른 에러들도 포함됩니다.

 

기초(7)의 예제파일로 오류를 만들어보겠습니다.

링크 :  엑셀 사용법 : 기초 (7) - VLOOKUP과 HLOOKUP을 사용하여 표 검색하기

4. 기초(7) 예제

위의 예제에서 VLOOKUP이 포함된 행을 밑으로 복사하게 되면 에러가 발생합니다.

5.에러 발생

이렇게 되면 큰일난것 같고 모양도 이상하고 그렇잖아요?

나는 그냥 함수들을 미리 복사해서 사원번호, 일렬번호, 수량만 입력하면 자동으로 계산되게 만들고싶은데 함수를 복사하니 오류가 납니다.

 

 

 

이럴때 IFERROR함수의 오류발생시 출력값에 공백을 넣어줍니다.

6. IFERROR 적용

=IFERROR(VLOOKUP(D19,$C$3:$E$10,2,FALSE), "")

공백을 넣어주면 에러발생시 공백으로 출력됩니다.

 

확실히 IFERROR함수를 적용한 셀이 더 깔끔하지 않은가요?

이런식으로 상황에 맞게 사용하시면 됩니다. :Db

반응형

+ Recent posts