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/



패키지 비교 :


http://packages.ubuntu.com/


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 을 실행하면 된다.

http://serverfault.com/questions/227190/how-do-i-ask-apt-get-to-skip-any-interactive-post-install-configuration-steps 

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://insights.ubuntu.com/2017/04/05/ubuntu-on-aws-gets-serious-performance-boost-with-aws-tuned-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