1. /bin
일반적으로 리눅스의 기본 명령어들이 들어있는 디렉터리이다. 부팅에 필요한 명령어들도 존재하며 사용자가 일반적으로 사용하는 ls나 cat 같은  명령어들이 위치하고 있다.


2. /boot
부팅에 핵심적인 커널 이미지와 부팅 정보 파일을 담고있는 디렉터리이다.


3. /dev
시스템 디바이스 파일을 저장하고 있는 디렉토리이다.


4. /etc

- 시스템의 환경 설정 파일이 있는 디렉터리이다.
- 시스템의 부팅, 셧다운 시에 필요한 파일들과 시스템의 전반에 걸친 설정 파일들 및 초기 스크립트 파일들이 위치하게 된다. 시스템 전체 환경에  관한 설정을 바꾸려면 이 etc 디렉터리에 포함되어 있는 파일들을 잘 알아야 한다.
- 또한 사용자의 비밀번호를 관리하는 파일인 passwd 파일과 shadow 파일이 바로 /etc/ 아래에 존재한다.





 *중요 폴더*


-  /etc/rc :  /bin/sh 쉘이 부팅되면 자동적으로 실행되는 스크립트파일이 들어있다. 이러한 스크립트는 update, crond, inetd 같은 프로그램을 백그라운드로 실행시킨다.
- /etc/init : 이 프로그램은 부팅시에 커널에 의해 가장 먼저 실행된다. init이 실행된 후에 커널 부팅이 완료가 되고 /etc/rc.d/rc와 로그인 관련한 getty 등을 실행하게 된다.




5. /home
사용자의 홈 디렉터리로써 로그인을 했을 때 처음으로 위치하게 되는 디렉토리이다.


6. /lib
부팅과 시스템 운영에 필요한 공유 라이브러리와 커널 모듈이 위치한다. 공유 라이브러리란 여러 가지 프로그램들에의해서 사용되는 기능을 별도의 프로그램으로 분리시켜 놓은 것이다. 커널 모듈도 공유 라이브러리와 같이 커널 안에 자체적으로 포함되지 않고 독립적인 형태로 분리되어 있으면서 부팅 시에 커널에 동적으로 연결되어서 전체적인 커널을 동적으로 구성하게 되는 별도의 파일들을 의미한다.


7. /proc
가상 파일 시스템이라고 하는 곳으로 현재 메모리에 존재하는 작업들이 파일 형태로 존재하는 폴더이다.


8. /root
관리자계정 root 사용자의 홈 디렉터리이다.


9.  /sbin
시스템 관리를 위한 전반적인 실행 유틸리티를 담고 있다.  ifconfig 같은 명령어가 위치한다.


10. /tmp
프로세스 진행 중 발생하는 임시 파일들이 저장되는 작업 디렉토리이다. 따라서 이 디렉터리 파일들은 수시로 생성되고 삭제되므로 중요한 자료는 해당 디렉토리에 보관해서는 안된다.

/tmp 디렉토리는 stick bit라는 특수권한이 설정되어 있어 파일의 소유자만이 삭제가 가능하다.



11. /usr
일반 사용자들을 위한 대부분의 프로그램 라이브러리 파일들이 위치한다.
- /usr/bin : 응용 프로그램의 실행 파일이 위치함

- /usr/sbin : 주로 네트워크 관련 실행 명령어와 실행 데몬들을 포함함

- /usr/include : 기본 c 라이브러리 헤더파일과 각종 라이브러리 헤더 파일들이 존재함.

- /usr/lib : /usr/bin과 /usr/sbin에 있는 실행 바이너리를 실행하기 위한 라이브러리가 존재한다.

- /usr/src : 프로그램 소스 및 커널 소스들이 보관되어 있다.




12. /var
시스템에서 사용되는 동적인 파일들이 저장된다.
시스템 운영중에 시스템 자료 데이터가 변경되면 해당 변경 내용이 이곳에 저장이 된다.
주로 시스템 로그들이 저장된다.

$ sudo apt install python3-pip 또는

$ sudo apt install python-pip

 

> rsync : Remote sync의 줄임말로 여러가지 옵션을 이용해 원격 또는 로컬간에 파일이나 디렉토리를 복사하는 툴

 

 > 설치 방법 : 우분투 설치 시 자동 설치됨 / $ sudo apt-get install rsync

 

 > rsync 서비스 재시작 : $ sudo /etc/init.d/rsync restart

 

 > option

-a : archive mode (심볼릭 링크, 속성, 퍼미션, 소유권 등 보존)

-v 진행상황을 상세히 보여줌 

-r 지정한 디렉토리의 하위 디렉토리까지 재귀적으로 실행 

-l 소프트링크 보존 

-H 하드링크 보존 

-p 버전속성 보존 

-o 소유속성 보존(루트) 

-g 그룹속성 보존 

-t 타임스탬프 보존 

-D 디바이스 파일보존(루트) 

-z 데이터압축 전송 

-u 추가된 파일만 전송 

-b backup, 동기화 중에 백업 진행 백업 된 데이터는 파일명 끝에 "~" 문자가 붙음

-n dry-run, 실제 동기화 없이 작업

-u 새로운 파일을 덮어쓰지 않음 

-c 서버와 클라이언트 파일크기를 세밀히 체크 

-e ssh(rsh) 전송암호화/ 데이터 전송 포트를 기본 873이 아닌 ssh 포트를 사용 '-e ssh'

--existing : 추가된 파일은 전송하지않고 갱신된 파일만 전송 

--delete : 서버에 없는 파일은 클라이언트에서도 삭제 

--exclude 'PATTERN' : 패턴과 맞는 파일만 전송 

--stats : 결과를 보고 

--daemon : 대몬모드로 운영함(이건 inetd.conf에 지정할 때 필요함)

--progress : 진행률 표시

 

 > rsync 예제

 

  - 로컬로 파일복사 : rsync -avzhP test.txt /tmp -> -avzhP : 옵션, test.txt /tmp -> 대상 파일 및 폴더

 

  - 로컬로 디렉토리 복사 : rsync -avzhP test-directory /tmp -> 디렉토리 자체가 복사됨

 

  - 원격에 파일 복사 : rsync -avzhP test-directory /tmp 

    

 

 > rsync와 scp

 

  - scp : secure copy (remote file copy program)의 줄임말로 ssh를 이용해 네트워크로 연결된 호스트간에 파일을 주고 받는 명령어

   scp는 심볼릭 링크가 걸려있는 폴더를 참조를 유지하지 않고 원본 파일을 저장한다.

 

  - 차이점

  rsync scp

지연 시간 대비 성능

 
rsync 비교적 최적화되고 속도가 빠르다. 최적화  속도가 상대적으로 낮다.
인터럽트 처리
 
위의 rsync 세션 자체가 중단된 경우 동일한 명령을 입력하여 원하는 만큼 다시 시작할  있다. rsync 전송이 중단된 위치에서 자동으로 전송을 다시 시작한다. scp 명령줄 도구는 네트워크 연결이 끊어져 중단된 다운로드를 그 상태로 다시 시작할  없다.
 
 
안전성 전송된 파일이 올바르게 전송되었는지 자동으로 확인 한다. 전송된 파일이 올바르게 전송되었는지 자동으로 확인 하지 않는다.

 

 

  - scp 대신 rsync를 사용하는 이유

 

 spc는 해당되는 폴더 및 파일 하위까지 a to z를 전송한다면 rsync는 처음에는 spc와 똑같지만 그 이후부터 변화된 파일 및 디렉토리만 전송하여 spc보다 빠르고, rsync는 전송이후에도 파일의 상태를 확인하므로 안전성이 있기 때문이다.

 

 

 

'Embedded linux > etc' 카테고리의 다른 글

[Ubuntu] 디렉토리 별 역할  (1) 2024.01.03
pip 설치하기  (0) 2024.01.03
VNC로 윈도우에서 리눅스 우분투 환경 원격 접속하기  (0) 2023.11.01

1.    VNC 뷰어를 설치해줍니다.

-      https://www.realvnc.com/en/connect/download/viewer/

 

 

2.    시작프로그램으로 VNC서버를 등록해줍니다.

-      Name(이름 설정) : ex) Vino

-      Command(명령) :  /usr/lib/vino/vino-server

 

 

 

 

 

3.    Vino 설정 코드 창 열기 (nano, gedit 등 사용)

-      수정할 코드 창 여는 명령 
: sudo nano /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml
또는 : sudo vi /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml
 
-      패스워드입력 : 본인의 nvidia에 저장된 패스워드 입력
-      삽입할 내용입니다. 복사해서 붙여넣기 해주세요.

 

<key name='enabled' type='b'>
<summary>Enable remote access to the desktop</summary>
<description>
If true, allows remote access to the desktop via the RFB protocol. Users on remote machines may then connect to the desktop using a VNC viewer.
</description>
<default>true</default>
</key>
 
ü  이 때, 사진처럼 라인을 맞추어줍니다.
ü  아래 사진 중 빨간 박스 부분에 추가해주시면 됩니다.

4.    다음 명령을 수행해줍니다.

-      sudo glib-compile-schemas /usr/share/glib-2.0/schemas

 

 

5.   Desktop Sharing에서 다음과 같이 설정해줍니다.

 

 ↓

 

-      필요에 따라 암호설정도 해줍니다.

 

 

6.    다음 명령을 차례로 수행해줍니다.

-      gsettings set org.gnome.Vino require-encryption false

-      gsettings set org.gnome.Vino prompt-enabled false

 

 

 

7.   서버 ip를 확인합니다.

-      Ifconfig

 

 

8.    OS를 재부팅해줍니다.

-      sudo reboot

 

 

9.   설치한 VNC에 접속해줍니다.

-      접속하고자 하는 IP주소를 입력 후, 접속해줍니다.

-      IP주소를 자주 사용할 예정이라면, 왼쪽 상단 File – New connection을 통해 IP주소를 저장해줍니다.

 

 

 

 

 

'Embedded linux > etc' 카테고리의 다른 글

[Ubuntu] 디렉토리 별 역할  (1) 2024.01.03
pip 설치하기  (0) 2024.01.03
[Linux/Network] rsync 사용 방법  (2) 2023.11.02

+ Recent posts