Ubuntu 16.04 자료 (draft)
문서소개
Ubuntu 16.04 를 테스팅 하면서 확인하는 정보를 정리함.
일반정보
http://www.ubuntu.com/download/server 에서 다운로드 받음
release note : https://wiki.ubuntu.com/XenialXerus/ReleaseNotes?_ga=1.216370518.1908988187.1467092736
lts server guide : https://help.ubuntu.com/lts/serverguide/
패키지 비교 :
Linux kernel 4.4
Python 3
OpenSSH 7.2p2
CentOS6 의 경우 bash가 4.1.2 인데 Ubuntu 16.04은 4.3.42임.
ubuntu command
상세한 자료는 https://help.ubuntu.com/community/SwitchingToUbuntu/FromLinux/RedHatEnterpriseLinuxAndFedora 참고.
COMMAND DETAILS | RPM COMMAND | DPKG COMMAND |
Install a package | rpm -i {package.rpm} | dpkg -i {file.deb} |
Update package | rpm -U {file.rpm} | dpkg -i {file.deb} |
Remove an installed package | rpm -e {package} | dpkg -r {package} |
List all installed packages | rpm -qa | dpkg -l |
List files in an installed package | rpm -ql {package} | dpkg -L {package} |
Show information about installed package | rpm -qi | dpkg -p {package} |
Show information about package file | rpm -qpi {file.rpm} | dpkg -I {file.deb} |
List files in a package file | rpm -qpl {file.rpm} | dpkg -c {file.deb} |
Verify all installed packages | rpm -Va | N/A |
Verify installed package | rpm -V {package} | N/A |
특정 파일이 어디에 속하나 찾기
$ dpkg -S /bin/bash bash: /bin/bash
dep 패키지에서 스크립트 실행은 (rpm 에서 –scripts 명령)은 잘 모르겠다. http://packages.ubuntu.com/xenial/slapd 에서 dep 패키지를 다운로드 받아서 dpkg -e slapd_2.4.42+dfsg-2ubuntu3_amd64.deb 명령을 실행하면 DEBIAN 디렉로리에 파일들이 풀린다. (dpkg man page 에서 -e 옵션은 Extract control-information from a package 고 설명이 되어 있음) preinsta, postinsta 등이 설치 할때 전후에 실행되는 스크립트로 보인다.
시간 동기화
다른 부분 점검을 하다가 확인을 한 것인데요. 현재 우리가 사용하는 Ubuntu 16.04를 보니 systemd-timesyncd 는 서비스가 활성화되어 있습니다.
그런데 systemd-timesyncd 서비스가 ntp를 이용하여 시간을 동기화하는데 사용을 하는 프로그램이네요.
아래 문서를 보시면 최근 Ubuntu 에서는 ntpd의 클 이언 프로그램으로 ntpdate 대신 timedatectl 을 사용을 한다고 합니다. (CoreOS에서도 최근에는 기본 NTP client 로 ntpd 대신 systemd-timesyncd 사용) 기본적으로 timedatectl은 부팅시 시간을 동기화하고 시간 정보를 로컬에 저장하여 재부팅시에도 활용을 한다고 하네요.
https://help.ubuntu.com/lts/serverguide/NTP.html
시간 동기화 관련해서는 기본 설정파일이 /etc/systemd/timesyncd.conf 인데 ntp 서버가 지정되어 있지 않은데도 systemctl status systemd-timesyncd 명령을 보면 ntp.ubuntu.com 에서 시간을 동기화하고 있네요.
... 중간 생략..
rsyslog 설정 비교
CentOS6 와 Ubuntu 16.04 에서 로그파일을 사용하는 부분이 다르다.
apt에서 특정한 버전 설치하기
apt-cache madison package .
기타
openldap 구성 : https://help.ubuntu.com/lts/serverguide/openldap-server.html
useradd 에서 기본 옵션은 홈디렉토리를 만들지 않는다.
특정 패키지 설치시 GUI에서 설정을 해야 하는 경우가 있다. 이러면 자동으로 설정을 하지 못하기 때문에 비활성화하는 것이 필요하다.
export DEBIAN_FRONTEND=noninteractive 명령을 실행 한 후 apt-get 을 실행하면 된다.
export DEBIAN_FRONTEND=noninteractive apt-get -y install [packagename]
kernel update
kernel pakcage는 linux-image* 에 들어 있음. 원하는 kernel 버전의 linux-image-<kernel ver>-generic 와 linux-image-extra-<kernel ver>-generic 를 설치하면 됨.
설치하고 재부팅을 하면 됨. linux-image-extra* 는 커널 모듈이 들어있으며 특정 모듈이 필요한 경우 함께 설치를 해주지 않으면 해당 모듈을 못 찾을 수 있다. (dell 서버에서 extra 패키지 설치하지 않은 경우 네트워크 인터페이스가 잡히지 않는 경우가 있었다)
apt install linux-image-4.4.0-89-generic linux-image-extra-4.4.0-89-generic
ubuntu 에서 grub은 어떻게 관리를 하는지 아직은 잘 모르겠지만 /boot/grub/grub.cfg 파일에 순서가 지정되어 있는 것 같다.
# grep initrd /boot/grub/grub.cfg initrd /boot/initrd.img-4.4.0-89-generic initrd /boot/initrd.img-4.4.0-89-generic initrd /boot/initrd.img-4.4.0-89-generic initrd /boot/initrd.img-4.4.0-87-generic initrd /boot/initrd.img-4.4.0-87-generic
ubuntu kernel의 경우 몇가지 종류가 보임. https://help.ubuntu.com/community/UbuntuStudio/RealTimeKernel 등의 자료를 보면 일반적으로 generic 을 쓰면 되며 latency 을 줄일 경우 preempt, lowlatency kernel 등이 사용됨.
AWS-tuned Ubuntu kernel
https://launchpad.net/ubuntu/+source/linux-aws
2017.4 부터 AWS 튜닝이 들어간 Ubuntu kernel이 제공되었음. 아래는 주요 기능.
The kernel itself is provided by the linux-aws kernel package. The most notable highlights for this kernel include:
- Up to 30% faster kernel boot speeds, on a 15% smaller kernel package
- Full support for Elastic Network Adapter (ENA), including the latest driver version 1.1.2, supporting up to 20 Gbps network speeds for ENA instance types(currently I3, P2, R4, X1, and m4.16xlarge)
- Improved i3 instance class support with NVMe storage disks under high IO load
- Increased I/O performance for i3 instances
- Improved instance initialization with NVMe backed storage disks
- Disabled CONFIG_NO_HZ_FULL to eliminate deadlocks on some instance types
- Resolved CPU throttling with AWS t2.micro instances
Security
https://wiki.ubuntu.com/Security/Features
Password hashing : Ubuntu 8.10부터는 salted SHA-512 based password hashes (crypt id 6)
Ubuntu 에서는 mkpasswd 프로그램으로 sha-512 password 를 생성할 수 있다. 온라인으로 패스워드 생성해주는 사이트 찾다가 말았다.
mkpasswd -m sha-512 linux