Python - Install virtualenv on Linux
Python 개발환경을 위해서 시스템에 설치된 python2.7, python3.x 에서 사용하는 패키지 모듈을 pip
를 사용해서 패키지를 관리할 수 있다. 그리고 시스템 모듈과 별도의 버전 환경으로 버전 관리 도구인 virtualenv
와 virtualenvwrapper
를 사용해 파이썬 가상 개발 환경을 구성하는 방법을 설명한다.
Python - Install virtualenv on Linux
Python 개발환경을 위해서 시스템에 설치된 python2.7, python3.x 에서 사용하는 패키지 모듈을 pip
를 사용해서 패키지를 관리할 수 있다. 그리고 시스템 모듈과 별도의 버전 환경으로 버전 관리 도구인 virtualenv
와 virtualenvwrapper
를 사용해 파이썬 가상 개발 환경을 구성하는 방법을 설명한다.
1 | # apt update && apt dist-upgrade && apt upgrade |
업그레이드 중
1 | The following packages have been kept back: linux-image-c2 |
기존 리눅스 이미지를 지우고 업그리이드 중 에러가 나서 이미지 업그레이드가 안되었으므로, 이전 버전 이미지를 찾아 삭제해 주면 다시 업그레이드가 된다.
1 | # apt --installed list |grep linux |
이전 버전 이미지를 지운다. 업그레이드 후 uname 확인
1 | root@odroid64:~# apt autoremove linux-image-3.14.65-73 |
debian 계열에서 hostname을 변경하려면 hostnamectl
을 사용한다.
1 | $ sudo -s |
CLI에서 설정을 할 수 있다.
1 | # dpkg-reconfigure tzdata |
timedatectl
timedatectl 명령으로
1 | $ timedatectl list-timezones |
혹은 손으로 직접 수정한다면, Timezone은 /etc/localtime
이라는 바이너리로 저장되므로
명령행에서 지원하는 timezone을 복사할 수 도 있다.
1 | $ sudo cp /usr/share/zoneinfo/Europe/London /etc/localtime |
odroid의 ubuntu 16.04는 기본에디터로 joe가 설치되어 있다. vim 으로 변경한다.
1 | # update-alternatives --config editor |
bash-completion 이 빠져 있으면
1 | $ sudo apt install bash-completion |
apt-get 명령은 자동완성이 되지만 apt 명령은 안된다면
1 | $ sudo apt install --reinstall bash-completion |
dig
, nslookup
같은 명령이 있는 패키지.
1 | $ sudo apt install dnsutils |
fsck로 마지막 체크한 시간 확인은 tune2fs
명령을 이용
1 | $sudo tune2fs -l /dev/sdbX | grep Last\ c |
마운트 횟수
1 | tune2fs -l /dev/sdbX | grep Mount |
1 | tune2fs -l /dev/sdbX | grep Max |
참조: https://linuxconfig.org/how-to-force-fsck-to-check-filesystem-after-system-reboot-on-linux
루트 파티션을 강제로 fsck 하게 하려면 루트 파티션에 forcefsck
파일을 생성해 둔다.
1 | $sudo touch /forcefsck |
forcefsck 파일은 단 한번만 부팅시 루트 파일시스템을 체크한다. 만약 지속적으로 파일 시스템을 체크하도록 하려면 tune2fs 를 사용해서 ‘Maximum mount count’ 파라미터를 사용하도록 한다.
아래 명령은 부팅시마다 루트 파티션을 체크하게 된다.
1 | tune2fs -c 10 /dev/sdb1 |
이렇게 하면 fsck Maxium mount 값을 양의 값으로 지정하게 된다. 그리고 10번째 부팅시 체크하도록 하려면 -c 10 을 준다.
1 | tune2fs -c 10 /dev/sdb1 |
swap 파일로 만들려면
1 | $ sudo dd if=/dev/zero of=/data/swap4G bs=1G count=4 |
1 | sudo mkswap /dev/sda1 |
터미널 컬러 처리
1 | grc netstat |
lastb
명령은 /var/log/wtmp, /var/log/btmp 에 있는 로그인 기록에서 최근 로그인한 모든 목록을 출력한다. 다음은 최근 20개 목록을 출력한다.
1 | $ sudo lastb -n 20 |
https://www.guyrutenberg.com/2014/09/26/view-failed-login-attempts-lastb/
-w
로 사용자 이름을 출력하고 첫번째 열만 자른 후 정렬한 후, uniq
명령으로 중복되는 이름을 제거한 후 출력한다.
1 | $ sudo lastb -w | cut -d " " -f 1 | sort | uniq | less |
이중에서 접속한 IP와 횟수를 출력한다.
1 | $ sudo lastb -f /var/log/btmp.1 -w -i | awk '{print $3}' | sort | uniq --count | sort -nr | less |
사용자 홈 디렉토리에 ~/.bashrc
파일에 앨리어스를 만든다.
1 | alias python='/usr/bin/python3.4' |
다시 로그인 하거나 .bashrc를 컴파일해서 사용한다.
1 | $ . ~/.bashrc |
1 | $ update-alternatives --list python |
여기서 python2.7과 python3.5 를 update-alternative 로
1 | $ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 |
1 | $ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2 |
파이썬 관련 대체 프로그램 목록을 보면,
1 | $ update-alternatives --list python |
삭제를 하려면
1 | $sudo update-alternatives --remove python /usr/bin/python2.7 |