upgrade 1 # apt update && apt dist-upgrade && apt upgrade
업그레이드 중
1 The following packages have been kept back: linux-image-c2
기존 리눅스 이미지를 지우고 업그리이드 중 에러가 나서 이미지 업그레이드가 안되었으므로, 이전 버전 이미지를 찾아 삭제해 주면 다시 업그레이드가 된다.
1 2 3 4 5 6 7 # apt --installed list |grep linux linux-image-3.14.65-73/unknown,now 20160802 arm64 [installed,automatic] linux-image-3.14.79-94/unknown,now 20161121 arm64 [installed,automatic] linux-image-c2/now 73-1 arm64 [installed,upgradable to: 94-1] linux-libc-dev/xenial-updates,xenial-security,now 4.4.0-51.72 arm64 [installed] util-linux/xenial-updates,now 2.27.1-6ubuntu3.1 arm64 [installed]
이전 버전 이미지를 지운다. 업그레이드 후 uname 확인
1 2 3 4 5 6 7 8 root@odroid64:~# apt autoremove linux-image-3.14.65-73 ... Preparing to unpack .../linux-image-c2_94-1_arm64.deb ... Unpacking linux-image-c2 (94-1) over (73-1) ... Setting up linux-image-c2 (94-1) ... # uname -a Linux odroid64 3.14.79-94 #1 SMP PREEMPT Mon Nov 21 17:13:27 BRST 2016 aarch64 aarch64 aarch64 GNU/Linux
설정 hostname debian 계열에서 hostname을 변경하려면 hostnamectl
을 사용한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 $ sudo -s # hostnamectl set-hostname dlp # show settings root@debian:~# hostnamectl Static hostname: dlp Icon name: computer-vm Chassis: vm Machine ID: 5f47b11299ed4689a48a7f78197e452a Boot ID: bdeed3b6c079405bb45d79eff3e870a5 Virtualization: vmware Operating System: Debian GNU/Linux 8 (jessie) Kernel: Linux 3.16.0-4-amd64 Architecture: x86-64
Timezone CLI에서 설정을 할 수 있다.
1 # dpkg-reconfigure tzdata
timedatectl
timedatectl 명령으로
1 2 3 4 5 6 $ timedatectl list-timezones ... Asia/Seoul ... $ sudo timedatectl set-timezone Asia/Seoul
혹은 손으로 직접 수정한다면, Timezone 은 /etc/localtime
이라는 바이너리로 저장되므로 명령행에서 지원하는 timezone을 복사할 수 도 있다.
1 $ sudo cp /usr/share/zoneinfo/Europe/London /etc/localtime
기본 에디터 변경 odroid의 ubuntu 16.04는 기본에디터로 joe가 설치되어 있다. vim 으로 변경한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 # update-alternatives --config editor There are 6 choices for the alternative editor (providing /usr/bin/editor). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/joe 70 auto mode 1 /usr/bin/jmacs 50 manual mode 2 /usr/bin/joe 70 manual mode 3 /usr/bin/jpico 50 manual mode 4 /usr/bin/jstar 50 manual mode 5 /usr/bin/rjoe 25 manual mode 6 /usr/bin/vim.tiny 10 manual mode Press <enter> to keep the current choice[*], or type selection number: 6
apt autocompetion bash-completion 이 빠져 있으면
1 $ sudo apt install bash-completion
apt-get 명령은 자동완성이 되지만 apt 명령은 안된다면
1 $ sudo apt install --reinstall bash-completion
Dnsutils dig
, nslookup
같은 명령이 있는 패키지.
1 $ sudo apt install dnsutils
디스크 tune2fs fsck로 마지막 체크한 시간 확인은 tune2fs
명령을 이용
1 2 $sudo tune2fs -l /dev/sdbX | grep Last\ c Last checked: Sun Dec 13 09:14:22 2015
마운트 횟수
1 2 tune2fs -l /dev/sdbX | grep Mount Mount count: 157
1 2 tune2fs -l /dev/sdbX | grep Max Maximum mount count: -1
참조: https://linuxconfig.org/how-to-force-fsck-to-check-filesystem-after-system-reboot-on-linux
fsck 루트 파티션을 강제로 fsck 하게 하려면 루트 파티션에 forcefsck
파일을 생성해 둔다.
forcefsck 파일은 단 한번만 부팅시 루트 파일시스템을 체크한다. 만약 지속적으로 파일 시스템을 체크하도록 하려면 tune2fs 를 사용해서 ‘Maximum mount count’ 파라미터를 사용하도록 한다.
아래 명령은 부팅시마다 루트 파티션을 체크하게 된다.
이렇게 하면 fsck Maxium mount 값을 양의 값으로 지정하게 된다. 그리고 10번째 부팅시 체크하도록 하려면 -c 10 을 준다.
SWAP swap 파일로 만들려면
1 2 3 4 5 $ sudo dd if=/dev/zero of=/data/swap4G bs=1G count=4 sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile sudo swapon -s
1 2 3 sudo mkswap /dev/sda1 sudo swapon /dev/sda1 sudo swapon -s
grc 터미널 컬러 처리
1 2 3 4 grc netstat grc ping hostname grc tail /var/log/syslog grc ps aux
lastb lastb
명령은 /var/log/wtmp , /var/log/btmp 에 있는 로그인 기록에서 최근 로그인한 모든 목록을 출력한다. 다음은 최근 20개 목록을 출력한다.
1 2 3 4 5 $ sudo lastb -n 20 root ssh:notty 112.85.42.230 Fri Jul 20 17:25 - 17:25 (00:00) root ssh:notty 112.85.42.230 Fri Jul 20 17:25 - 17:25 (00:00) oracle ssh:notty 210.182.116.102 Mon Jul 16 23:36 - 23:36 (00:00) cumulus ssh:notty 36.248.211.16 Mon Jul 16 20:59 - 20:59 (00:00)
실패한 로그인 시도 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 2 3 4 5 6 7 8 $ sudo lastb -f /var/log/btmp.1 -w -i | awk '{print $3}' | sort | uniq --count | sort -nr | less [sudo] root의 암호: 2166 112.85.42.156 1945 112.85.42.193 1591 112.85.42.201 1327 112.85.42.230 1146 112.85.42.196
기본 Python 만들기 사용자 파이썬 앨리어스 만들기 사용자 홈 디렉토리에 ~/.bashrc
파일에 앨리어스를 만든다.
1 alias python='/usr/bin/python3.4'
다시 로그인 하거나 .bashrc를 컴파일해서 사용한다.
시스템 전체로 파이썬 구성하기 1 2 $ update-alternatives --list python update-alternatives: error: no alternatives for python
여기서 python2.7과 python3.5 를 update-alternative 로
1 $ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
1 2 $ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2 update-alternatives: using /usr/bin/python3.4 to provide /usr/bin/python (python) in auto mode
파이썬 관련 대체 프로그램 목록을 보면,
1 2 3 $ update-alternatives --list python /usr/bin/python2.7 /usr/bin/python3.5
삭제를 하려면
1 $sudo update-alternatives --remove python /usr/bin/python2.7