26.02.2010

Ubuntu Server Kurulumu'nun modları

Ubuntu Server kurarken ilk ekranda kurulum dilini seçtikten sonra, kuruluma henüz başlamadan F4 ile girilen bir Modes menüsüne sahip. Bir ara JeOS denen bir Ubuntu tüvevi bir işletim sistemi vardı. Sanallaştırma için özelleştirilmiş, bütün gereksiz bileşenler kaldırılmış bir Ubuntu Server'dı bu. JeOS, Ubuntu 8.04'e karşılık gelen bir türevdi. 8.04'ten sonra da yeni bir sürümü çıkmadı. Şimdi görüyorum ki JeOS artık Ubuntu Server kurulumda bir seçenek olarak yapılabiliyormuş. Ubuntu Server CD'sinden boot ederken dil seçimi yapılan ekrandan hemen sonra aşağıdaki ekranda alt menüde F4-Modes'u tıklayınca "Install a minimal virtual machine" seçeneğie ile JeOS eşdeğeri bir kurulum mümkün.


Bu menüde "Install a minimal system" seçeneği de var. Bu modlardan hangilerinin ne farkı olduğuna dair internette güzel bir kaynak bulamadım. Bu sebeple VirtualBox üzerine 3 farklı kurulum yaptım: Normal, Install a minimal system ve Install a minimal virtual machine. Bu 3 sisteme ait birkaç ayrıntıyı burada paylaşmak istedim (bazı alanları ekrana sığması ve konuyu dağıtmaması için kestim).

Kurulum Sonrası Bellek Kullanımı
Normal
$ free -m
             total       used       free     shared
Mem:           368         63        304          0

Install a minimal system

$ free -m
             total       used       free     shared
Mem:           368         49        318          0

Install a minimal virtual machine
$ free -m
             total       used       free     shared
Mem:           368         41        326          0

En az bellek kullanımı, görüldüğü gibi, minimal virtual machine modunda.

Kurulum Sonrası Disk Kullanımı
Normal
$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             7.5G  772M  6.4G  11% /

Install a minimal system
$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             7.5G  713M  6.5G  10% /

Install a minimal virtual machine
$ df -h
Filesystem            Size Used Avail Use% Mounted on
/dev/sda1             7.5G 492M 6.7G    7% /

En az disk kullanan kurulum da, görüldüğü gibi, yine minimal virtual machine.


İlk Boot'ta çaşılan prosesler
Normal sistem ile minimal sistem arasında çalışan proseslerde bir fark göremedim. İki sistemde de ps -aux komutu çok benzer çıktılar verdi. Ama minimal virtual machine için durum aynı değildi. Bu sistemde, diğerilerine kıyasla çalışmayan 2 proses vardı: atd ve sleep 60 (her ne ise).


Kurulu Paketler
Sadece Normal kurulumda olan paketler
apport (automatically generate crash reports)
apport-symptoms (symptom scripts for apport)
byobu (set of useful profiles)
landscape-common (Landscape administration)
libdbus-glib-1-2 (simple interprocess messaging system)
libffi5 (Foreign Function Interface library runtime)
libiw29 (Wireless tools - library)
libnl1 (library for dealing with netlink sockets)
libpcsclite1 (Middleware to access a smart card using PC/S)
libpython2.6 (Shared Python runtime library)
patch (Apply a diff file to an original)
python-apport (apport crash report handling library)
python-dbus (simple interprocess messaging system)
python-gobject (Python bindings for the GObject library)
python-httplib2 (A comprehensive HTTP client library)
python-launchpadlib (Launchpad web services client library)
python-lazr-restfulclientservices (client for lazr.restful-based web services)
python-lazr-uri (library for parsing, manipulating, and generating URIs)
python-newt (A NEWT module for Python)
python-oauth (implementation of the OAuth protocol)
python-openssl (Python wrapper around the OpenSSL library)
python-pam (A Python interface to the PAM library)
python-pexpect (Python module for automating interactive app)
python-pkg-resources (Package Discovery and Resource Access using)
python-problem-report (Python library to handle problem reports)
python-pycurl (Python bindings to libcurl)
python-serial (Module encapsulating access for the serial port)
python-simplejson (Simple, fast, extensible JSON encoder/decoder)
python-smartpm (Python library of the Smart Package Manager)
python-twisted-bin (Event-based framework for internet applications)
python-twisted-core (Event-based framework for internet applications)
python-wadllib (Python library for navigating WADL files)
python-zope.interface (Zope 3 Interface Infrastructure)
screen (terminal multiplexor with VT100/ANSI)
ubuntu-serverguide (Ubuntu Server Guide)
update-notifier-common (Files shared between update-notifier and adept)
vim (Vi IMproved - enhanced vi editor)
vim-runtime (Vi IMproved - Runtime files)
wireless-tools (Tools for manipulating Linux Wireless Extensions)
wpasupplicant (client support for WPA and WPA2)

Install a minimal system'da olup da minimal virtual machine'de olmayan paketler
apparmor (User-space parser utility for AppArmor)
apparmor-utils (Utilities for controlling AppArmor)
apt-transport-https (APT https transport)
at (Delayed job execution and batch processing)
bash-completion (programmable completion for the bash shell)
bind9-host (Version of 'host' bundled with BIND 9.X)
bsdmainutils (collection of more utilities from FreeBSD)
command-not-found (Suggest installation of packages in bash)
command-not-found-data (Set of data files for command-not-found)
cpp (The GNU C preprocessor)
cpp-4.4 (The GNU C preprocessor)
dnsutils (Clients provided with BIND)
dosfstools (utilities for making and checking MS-DOS FAT)
ed (The classic UNIX line editor)
friendly-recovery (Make recovery more user-friendly)
ftp (The FTP client)
fuse-utils (Filesystem in USErspace utilities)
geoip-databas (GeoIP country database)
gettext-base (GNU Internationalization utilities)
groff-base (GNU troff text-formatting system)
hdparm (Tune HDD parameters)
info (Standalone GNU Info documentation browser)
install-info (Manage installed documentation)
iptables (administration tools for packet filtering)
iputils-arping (Tool to send ICMP echo requests to ARP address)
iputils-tracepath (Tools to trace the network path)
libapparmor-perl (AppArmor library Perl bindings)
libapparmor1 (changehat AppArmor library)
libbind9-50 (BIND9 Shared Library used by BIND)
libbsd0 (utility functions from BSD systems)
libcompress-bzip2-perl (Perl interface to Bzip2 compression library)
libdns50 (DNS Shared Library used by BIND)
libedit2 (BSD editline and history libraries)
libelf1 (library to read and write ELF files)
libexpat1 (XML parsing C library)
libfont-afm-perl (Font::AFM - Interface to Adobe Font Metrics)
libfuse2 (Filesystem in USErspace library)
libgc1c2 (conservative garbage collector for C and C++)
libgeoip1 (A non-DNS IP-to-country resolver library)
libgmp3c2 (Multiprecision arithmetic library)
libhtml-format-perl (format HTML syntax trees)
libhtml-parser-perl (collection of modules that parse HTML text)
libhtml-tagset-perl (Data tables pertaining to HTML)
libhtml-tree-perl (represent and create HTML syntax trees)
libisc50 (ISC Shared Library used by BIND)
libisccc50 (Command Channel Library used by BIND)
libisccfg50 (Config File Handling Library used by BIND)
libjs-jquery (JavaScript library for dynamic web applicati
ons)
liblwres50 (Lightweight Resolver Library used by BIND)
libmailtools-perl (Manipulate email in perl programs)
libmpfr1ldbl (multiple precision floating-point computations)
libntfs-3g54 (ntfs-3g filesystem in userspace)
libparted1.8-12 (The GNU Parted disk partitioning)
libpcap0.8 (system interface for user-level packet capturing)
libpci3 (Linux PCI Utilities)
librpc-xml-perl (Perl module implementation of XML-RPC)
libterm-readkey-perl ( A perl module for simple terminal control)
liburi-perl (Manipulates and accesses URI strings)
libwww-perl (WWW client/server library for Perl)
libx11-6 (X11 client-side library)
libx11-data (X11 client-side library)
libxau6 (X11 authorisation library)
libxcb1 (X C Binding)
libxdmcp6 (X11 Display Manager Control Protocol library)
libxext6 (X11 miscellaneous extension library)
libxml-parser-perl (Perl module for parsing XML files)
libxmuu1 (X11 miscellaneous micro-utility library)
linux-headers-2.6.31-14 (Header files related to Linux kernel)
linux-headers-2.6.31-14-server (Linux kernel headers)
linux-headers-server (Linux kernel headers on Server Equipment)
linux-image-2.6.31-14-server (Linux kernel image)
linux-image-server (Linux kernel image on Server Equipment)
linux-server (Complete Linux kernel on Server Equipment)
lshw (information about hardware configuration)
lsof (List open files)
ltrace (Tracks runtime library calls in dynamically)
man-db (on-line manual pager)
manpages (Manual pages about using a GNU/Linux system)
memtest86+ (thorough real-mode memory tester)
mlocate (quickly find files on the filesystem)
mtr-tiny (Full screen ncurses traceroute tool)
nano (free curses-based text editor)
ntfs-3g (read-write NTFS driver for FUSE)
openssh-client (secure shell client)
parted (disk partition resizing program)
pciutils (Linux PCI Utilities)
popularity-contest (for voting your favourite packages)
powermgmt-base (Common utils and configs for power management)
ppp (Point-to-Point Protocol)
pppconfig (A text menu based utility for PPP)
pppoeconf (configures PPPoE/ADSL connections)
psmisc (utilities that use the proc file system)
python-gdbm (GNU dbm database support for Python)
python-gnupginterface (Python interface to GnuP)
python-support (automated rebuilding support for Python modules)
rsync (fast remote file copy program)
strace (A system call tracer)
tcpdump (A powerful tool for network monitoring)
telnet (The telnet client)
time (for measuring cpu resources)
ubuntu-standard (The Ubuntu standard system)
ufw (program for managing a Netfilter firewall)
update-manager-core (manage release upgrades)
uuid-runtime (runtime components for the Universally Unique ID)
w3m (WWW browsable pager)
wget (retrieves files from the web)
wireless-crda (Wireless Central Regulatory Domain Agent)
x11-common (X Window System infrastructure)
xauth (X authentication utility)

Sadece minimal virtual machine'de olan paketler
linux-image-2.6.31-14-virtual (Linux kernel image)
linux-image-virtual (Linux kernel image for virtual machines)
linux-virtual (Complete Linux kernel for virtual machines)

Sonuç
Nihayetinde sistem kaynaklarını en az kullanan kurulum, minimal virtual machine modu; elbette birçok işlevden (ntfs-3g, telnet, ufw gibi çok kullanılan paketler) feragat ederek. Bu modun, bir sanal makine üzerine minimalist bir Ubuntu Server kurarken de kullanılabileceği söyleniyor [1,2].