반응형

/ : 루트 디렉터리

리눅스는 언제나 시스템 전체에 단 하나의 트리만을 가진다.

첫 번째 디스크는 루트 디렉터리에 마운트, 그 이후의 디스크는 var 디렉터리에 마운트된다.

리눅스의 디렉터리 구조는 FHS(Filesystem Hierachy Standard)라는 표준 사양을 따른다.

  • /bin : 일반 사용자 및 관리자가 사용하는 명령어의 실행 파일이 배치되어 있는 디렉터리. 특히 시스템과 관련된 중요한 명령어를 포함하고 있다. 
  • /dev : 디바이스 파일이 배치되어 있는 디렉터리. 디스크, 키보드 등 주변기기를 다루기 위한 디렉터리이다.
  • /etc : 리눅스에서 돌아가는 다양한 어플리케이션의 설정 파일이 /etc 아래에 배치된다. 애플리케이션뿐만 아니라 리눅스 자체의 설정 파일도 배치된다.
  • /home : 사용자별로 할당되는 홈 디렉터리가 배치되는 디렉터리. 홈 디렉터리란 사용자별로 할당되는 개인용 디렉터리를 말한다. 사용자 이름이 디렉터리 이름으로 사용된다. 
  • /sbin : /bin과 비슷하게 실행 파일을 포함하는 디렉터리. 이 디렉터리에는 관리자용 명령어가 포함되어 있다.  
  • /tmp : 임시 파일이 들어 있는 디렉터리. 애플리케이션 실행 중 임시로 작업 결과를 파일로 보관할 때 보통 이 디렉터리에 저장된다. 정기적으로 이 디렉터리 안의 파일을 삭제하도록 설정된 배포판도 있으므로 중요한 파일을 /tmp에 보관하면 안된다.
  • /usr : 설치한 애플리케이션의 실행 파일, 문서, 라이브러리 등을 포함하는 디렉터리. /usr 아래에는 bin, sbin, etc 등이 있어 루트 디렉터리와 비슷한 구조이다.
  • /var : 변화하는 데이터를 저장하기 위한 디렉터리. 애플리케이션 실행 중에 만들어진 데이터나 로그, 메일 등이 이곳에 저장된다. 

 

728x90
반응형
반응형

 

 

 

0. 준비

 sudo apt-get update  
 sudo apt-get upgrade 
 sudo apt-get dist-upgrade 
 sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus  
 sudo apt-get install libncursesw5-dev libgdbm-dev libc6-dev  
 sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev  
 sudo apt-get install libssl-dev openssl  
 sudo apt-get install libffi-dev  

 

위를 하지 않았을 때 모듈을 설치할 때 다양한 오류가 발견될 수 있습니다.

ImportError: No module named '_ctypes'

 

 

 

1. Python 설치

 

www.python.org/downloads/

 

Download Python

The official home of the Python Programming Language

www.python.org

1. 원하는 파이썬 버전 선택

 

2. 링크 주소 복사 (Gzipped source tarball) : www.python.org/ftp/python/3.8.6/Python-3.8.6.tgz

 

 

3. 압축 파일 다운로드

wget https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tgz

 

4. 압축 풀기

tar xvfz Python-3.8.6.tgz 

 

5. Python 설치

cd Python-3.8.6
./configure 
make 
sudo make install

 

6. Python 버전 확인

python3.8 -V

 

 

 

 

 

2. Python3 기본 경로 변경하기

 

1. 설치한 파이썬 경로 확인

which python3.8

2. 경로 설정하기

sudo vim ~/.bashrc
export PATH=/usr/local/bin/python3.8:$PATH

source ~/.bashrc

 

3. 파이썬 버전 확인 

 

 

 

 

 

3. 만약 잘못되었을 때 초기화하는 방법

 export PATH=$(getconf PATH) 

source ~/.bashrc
728x90
반응형
반응형

안녕하세요. 

 

저번 글로 라즈베리파이 우분투 GUI를 얹었습니다.

 

https://coding-yoon.tistory.com/71

 

[라즈베리파이] 라즈베리파이 우분투 데스크탑 GUI 설치 실패할 경우!

안녕하세요. 라즈베리파이 난생 처음 부팅해볼만큼 잘모르지만 공부하는겸 라즈베리파이와 리눅스 내용을 자주자주 올리도록 하겠습니다. 마치 라즈베리파이 일기같은 느낌으로...! 저는 라즈�

coding-yoon.tistory.com

하지만, 아직 우리들에게 갈 길이 좀 더 남았습니다. 

 

인터넷을 켜보도록 하겠습니다.  아마 이런 에러창이 뜰겁니다.

 

1. Your Computer Clock is Wrong.

 

그렇게 큰 문제가 아닙니다. 이 에러는 라즈베리파이 시간과 현재 시간이 맞지 않아 발생하는 것입니다.

 

sudo apt-get install rdate

저번 글처럼 rdate를 다운로드 받으셨다면 그냥 넘어가셔도 됩니다. 

sudo rdate -s time.bora.net  # 현재시간으로 변경

그냥 이렇게만 하시면 UTC 기준으로 시간이 변경될 것입니다. 뭐 이렇게만 해도 인터넷은 이제 할 수 있습니다. 

 

우리들은 조금 더 가서 KST (Korean Standard Time) 한국 평균 시간으로 바꿔주겠습니다. 

 

https://twpower.github.io/95-set-ubuntu-timezone

 

[Ubuntu] 우분투(Ubuntu)에서 타임존 변경하기

Practice makes perfect!

twpower.github.io

위 분의 블로그를 참고해서 UTC를 KST로 변경했습니다. 

 

2. 라즈베리파이 부팅 시 시간 자동 동기화

라즈베리파이는 RTC 모듈이 없기 때문에 기기가 꺼지면, 시간이 그대로 멈춥니다. 

 

만약, 자기는 켜줄 때 마다 시간을 맞춰줄거라면 넘어가셔도 될 것 같습니다. 

 

해결방법으로 부팅이 되었을 때 sudo rdate -s time.bora.net 이 자동적으로 실행될 수 있게끔 설정하겠습니다.

 

https://m.blog.naver.com/PostView.nhn?blogId=xhxhdwkd&logNo=221146006051&proxyReferer=https:%2F%2Fwww.google.com%2F

 

라즈베리파이 시간 동기화

**잡소리가 싫으신 분들은 스크롤을 과감히 내려주세요** 집에서 이상태로 굴러다니던 라즈베리파이를 무려...

blog.naver.com

위 블로그 분의 방법을 따라 부팅시 시간이 설정되게끔 설정했습니다. 

 

but... 하지만 하나의 문제점에 봉착했습니다. 

 

위는 rc.local에 rdate -s time.bora.net을 추가하는 방법입니다. 

 

rc.local이 없다면...?

 

3. rc.local이 없을 때 

저는 rc.local 이 없어, 이 문제를 해결하는데 꽤나 고생을 했습니다. 찾다 찾다 보니 아래 블로그분께서

 

굉장히 쉽고 편한 방법으로 올리셨습니다.  

 

https://m.blog.naver.com/PostView.nhn?blogId=sw4r&logNo=221744290073&proxyReferer=https:%2F%2Fwww.google.com%2F

 

[리눅스 유용한 팁] 우분투(Ubuntu)에서 rc.local 없을 때, 활성화 시키는 방법!

이번 포스팅에서는 리눅스를 사용하면서 새롭게 부팅될 때 마다 자동으로 먼가를 실행하도록 하고 싶을 때,...

blog.naver.com

4. 요 약

rc.local에 입력할 내용..

#! /bin/sh

rdate -s time.bora.net

exit0

하지만 분명 저처럼 한 번에 되지 않는 분들이 있다고 생각합니다. 

 

편집기로는 vi를 사용합니다. 

 

vi는 우선 i를 누르면 insert모드로 입력을 할 수 있습니다.

 

입력을 다 했다면, 저장을 해야합니다. 

 

ESC를 눌러 Command mode로 들어갑니다.

 

:w => 입력할 내용을 저장

:q => vi 나가기 

:wq => 저장하고 vi 나가기 

 

순조롭게 됐다면 이렇게만 알아도 됐을겁니다. 

 

하지만 리눅스를 처음 만져봐서 이것저것 삭제하고 만지다보니까 함부러 sudo를 쓰면 안된다는 것을 배웠습니다.

 

저는 한 번에 못해서 이거 저거 해보다가 많이 꼬였었는데 이럴 때는 삭제하고 처음부터 하는 것을 추천드립니다. 

 

 

(1) vi 편집기를 정상적인 방법으로 끄지 않았을 때

 

아마 키보드 인터럽트 (Ctrl + C)를 강제로 주었거나, 정상적인 방법으로 나가지 않았을 때

 

E325 오류

이런 오류가 발생할 수 있습니다. 

 

이런 문제는 vi 편집기에서 강제로 종료하다보니 임시로 swp파일을 만들어 준겁니다. 

 

해결 방법은 그냥 삭제해주면 됩니다. 

 

예를 들어 /etc/rc.local.swp 이 생성되었다고 하면 아래처럼 rm 명령어를 통해 삭제해주면 됩니다. 

 

sudo rm /etc/rc.local.swp 

 ### 주의사항 ### : 절대 swp파일 이름을 복사할려고 Ctrl + C로 윈도우처럼 복사하시면 안됩니다. 

                           오른 쪽 마우스를 눌러 Copy를 해줍니다. 그리고 붙여넣기 할 때에도 오른쪽 마우스를 눌러 paste                             해주면 됩니다. Ctrl + C 는 키보드 인터럽트이기 때문에 저처럼 개고생할 수도 있습니다.

 

(2) E212 : Can't open file for writing

vi 편집기에서 입력을 다하고 :w를 해주려고 할 때 뜰 수 있는 오류입니다. 

 

방법은 여러가지가 있습니다. 

 

1. vi 앞에 sudo 붙여주기 

sudo vi /etc/rc.local

 

2. :w 대신 :w!를 사용. 강제적으로 write해줌 ( :w!  )

 

이렇게도 해서 안된다면 

 

3. :w !sudo tee > /dev/null % 

 

 

 

 

제가 리눅스를 하면서 만났던 오류들에 대한 해결정리입니다.

 

만약 저처럼 리눅스가 처음이신 분에게 도움이 되기를 빌며...

 

이렇게 해서 안된다면 ...

 

sudo rm /etc/rc.local

 

삭제하고 다시하세요! 파이팅!

728x90
반응형

+ Recent posts