Delivering Excellence in Software Engineering GNU/Linux Fundamentals Part 3 by Aliaksandr Stelmachonak, Dzmitry Kuchko ® 2007. EPAM Systems. All rights reserved. ® 2007. EPAM Systems. All rights reserved. Network Configuration ® 2007. EPAM Systems. All rights reserved. 2 Network interface configurator ifconfig – configure and control TCP/IP network interfaces Example: Common uses for ifconfig include • setting an interface's IP address and netmask • and disabling or enabling a given interface displaying the current state of network interfaces ifconfig ® 2007. EPAM Systems. All rights reserved. Network interface configurator ifconfig –a display all interfaces which are currently available, even if down displaying the current state of eth0 interface ifconfig eth0 Activating and deactivating eth0 interface ifconfig eth0 up ifconfig eth0 down Setting configuration for eth0 interface ifconfig eth0 inet 192.168.1.13 netmask 255.255.255.0 ® 2007. EPAM Systems. All rights reserved. Network commands $ ping google.com sending a ping request $ ping –c 5 google.com $ traceroute google.com $ tracepath ya.ru $ host ya.ru show the network route for a given host translate ip address to hostname or vice versa $ host 213.180.204.8 $ dig ya.ru $ dig –x 213.180.204.8 ® 2007. EPAM Systems. All rights reserved. Another method Linux distros hierarchy Slamd64 MOPSLinux Zenwalk SUSE Linux OpenSUSE ® 2007. EPAM Systems. All rights reserved. Knoppix Xandros Lindows/Linspire/Freespire SimplyMEPIS Ubuntu Family Red Flag Yellow Dog CentOS Mandrake/Mandriva Fedora Differences between distros Red Hat based Debian based /etc/sysconfig/network • /etc/sysconfig/network -scripts/ifcfg-ethX • /etc/network/interf aces • /etc/sysconfig/network • /etc/hostname • /etc/resolv.conf • /etc/resolv.conf ® 2007. EPAM Systems. All rights reserved. Main Settings [root@rhel ~]# cat /etc/sysconfig/networkscripts/ifcfg-eth0 root@ubuntu:~# cat /etc/network/interfa ces • DEVICE=eth0 • auto lo eth0 • IPADDR=208.164.186.1 • iface eth0 inet static • NETMASK=255.255.255.0 • address 192.168.0.10 dhcp • NETWORK=208.164.186.0 • netmask 255.255.255.0 • BROADCAST=208.164.186 • gateway 192.168.0.1 .255 • ONBOOT=yes • BOOTPROTO=dhcp ® 2007. EPAM Systems. All rights reserved. Host name [root@rhel ~]# cat /etc/sysconfig/network root@ubuntu:~# cat /etc/hostname • NETWORKING=yes • myhost.local • FORWARD_IPV4=yes • ;-) • HOSTNAME=myhost.local • GATEWAY=192.168.0.1 ® 2007. EPAM Systems. All rights reserved. DNS and search domains root@generic-linux:~# cat /etc/resolv.conf • domain minsk.epam.com • search epam.com. minsk.epam.com. • nameserver 10.6.0.6 • nameserver 10.6.0.16 ® 2007. EPAM Systems. All rights reserved. Restarting network root@ubuntu:~# /etc/init.d/networking restart * Reconfiguring network interfaces... [ OK ] root@rhel:~# service network restart Shutting down interface eth0: [ OK ] Bringing up interface eth0: Determining IP information for eth0... done. ® 2007. EPAM Systems. All rights reserved. [ OK ] Software management (yum & apt) ® 2007. EPAM Systems. All rights reserved. 12 Linux distros hierarchy Slamd64 MOPSLinux Zenwalk SUSE Linux OpenSUSE ® 2007. EPAM Systems. All rights reserved. Knoppix Xandros Lindows/Linspire/Freespire SimplyMEPIS Ubuntu Family Red Flag Yellow Dog CentOS Mandrake/Mandriva Fedora Some definitions A software package refers to computer software packaged in an archive format to be installed by a package management system or a self-sufficient installer. A package management system is a collection of tools to automate the process of installing, upgrading, configuring, and removing software packages from a computer. ® 2007. EPAM Systems. All rights reserved. General Differences between distros Red Hat based Debian based • RPM • DEB • rpm • dpkg • yum • apt ® 2007. EPAM Systems. All rights reserved. Some definitions RPM (Red Hat Package Manager) is a package management system. Originally developed by Red Hat for Red Hat Linux, RPM is now used by many Linux distributions. YUM (The Yellow dog Updater, Modified) is an open source command line package management utility for RPM-compatible Linux operating systems and has been released under the GNU GPL. deb is the extension of the Debian software package format and the most often used name for such binary packages. Like the "Deb" part of the term Debian, it originates from the name of Debra, then girlfriend and now ex-wife of Debian's founder Ian Murdock APT, or The Advanced Packaging Tool, is a free user interface that works with core libraries to handle the installation and removal of software on the Debian GNU/Linux distribution and its variants. ® 2007. EPAM Systems. All rights reserved. YUM: configuration and usage /etc/yum.conf main configuration file yum –h yum list |more yum info firefox yum search firefox yum deplist firefox yum install mc yum remove mc mc check-update Viewing yum options Listing installed packages Getting package descriptions Searching for packages Viewing package dependencies Install package Remove package Check for update for particular package Update all of the outdated packages Cleaning up the yum cache yum update yum clean all ® 2007. EPAM Systems. All rights reserved. YUM: repositories [root@centos ~]# ls /etc/yum.repos.d/ CentOS-Base.repo CentOS-Media.repo [root@centos ~]# cat /etc/yum.repos.d/CentOS-Base.repo [base] name=CentOS-$releasever – Base baseurl=http://mirror.yandex.ru/centos/5.4/os/x86_64/ gpgcheck=0 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 [updates] name=CentOS-$releasever – Updates baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 ® 2007. EPAM Systems. All rights reserved. apt - Advanced Package Tool •apt-get •apt-cache •apt-cdrom •aptitude ® 2007. EPAM Systems. All rights reserved. apt-get apt-get is a simple command line interface for downloading and installing packages. The most frequently used commands are update and install. • update - Retrieve new lists of packages • upgrade - Perform an upgrade • install - Install new packages (pkg is libc6 not libc6.deb) • remove - Remove packages • purge - Remove packages and config files • check - Verify that there are no broken dependencies ® 2007. EPAM Systems. All rights reserved. apt-cache apt-cache is a low-level tool used to manipulate APT's binary cache files, and query information from them. • showpkg - Show some general information for a single package • search - Search the package list for a regex pattern • show - Show a readable record for the package • depends - Show raw dependency information for a package • pkgnames – show all installed packages ® 2007. EPAM Systems. All rights reserved. apt-cdrom apt-cdrom is a tool to add CDROM's to APT's source list. The CDROM mount point and device information is taken from apt.conf and etc/fstab. • add - Add a CDROM • ident - Report the identity of a CDROM ® 2007. EPAM Systems. All rights reserved. Synaptic Package Manager aptitude Synaptic is high-level interface to the package manager ® 2007. EPAM Systems. All rights reserved. aptitude aptitude aptitude is high-level interface to the package manager ® 2007. EPAM Systems. All rights reserved. apt: repositories root@host-93:~# cat /etc/apt/sources.list deb ftp://mirror.minsk.epam.com/pub/Ubuntu/ubuntu/ karmic main restricted deb-src ftp://mirror.minsk.epam.com/pub/Ubuntu/ubuntu/ karmic main restricted deb ftp://mirror.minsk.epam.com/pub/Ubuntu/ubuntu/ karmic universe deb ftp://mirror.minsk.epam.com/pub/Ubuntu/ubuntu/ karmic-security main deb ftp://mirror.minsk.epam.com/pub/Ubuntu/ubuntu/ karmic-security restricted deb ftp://mirror.minsk.epam.com/pub/Ubuntu/ubuntu/ karmic-updates main deb ftp://mirror.minsk.epam.com/pub/Ubuntu/ubuntu/ karmic-updates restricted ® 2007. EPAM Systems. All rights reserved. Samba client ® 2007. EPAM Systems. All rights reserved. 26 Kickstart root@ubuntu:~# apt-get install smbclient root@ubuntu:~# apt-get install smbfs root@ubuntu:~# smbclient -U name_surname -W minsk.epam.com -L 10.6.5.70 root@ubuntu:~# smbclient -U name_surname -W minsk.epam.com //EPBYMINW0777/upload root@ubuntu:~# mkdir /media/1/ root@ubuntu:~# smbmount //EPBYMINW0934.minsk.epam.com/upload /media/1/ -o user=name_surname,dom=minsk.epam.com root@ubuntu:~# ls /media/1/ ® 2007. EPAM Systems. All rights reserved. Linux boot process ® 2007. EPAM Systems. All rights reserved. 28 Boot sequence summary • BIOS • LILO or GRUB (boot loader) • Kernel (+ initrd) • init • Run Levels ® 2007. EPAM Systems. All rights reserved. Boot sequence summary: BIOS Load boot sector from one of: • Floppy • CDROM • Hard drive The boot order can be changed from within the BIOS settings. ® 2007. EPAM Systems. All rights reserved. Boot sequence summary: LILO or GRUB Lilo (Linux loader) • does not understand filesystems • uses the BIOS routines to load GRUB (GRand Unified Bootloader) • More advanced and commonly used Loading sequence • Understands file systems • load menu code, typically • config lives in /boot/grub/menu.lst /boot/boot.b • prompt for (or timeout to default) partition or kernel • for "image=" option load kernel image ® 2007. EPAM Systems. All rights reserved. or /boot/boot/menu.lst Boot sequence summary: kernel • initialize devices • (optionally loads initrd) • mounts root filesystem • runs /sbin/init which is process number 1 (PID=1) ® 2007. EPAM Systems. All rights reserved. Boot sequence summary: initrd initrd • is a temporary file system used by the Linux kernel during boot • typically used for making preparations before the real root file system can be mounted initramfs – modern substitute for initrd ® 2007. EPAM Systems. All rights reserved. Boot sequence summary: /sbin/init reads /etc/inittab (see man inittab) • Run boot scripts, eg for redhat /etc/rc.d/rc.sysinit which: • loads modules • check root FS and mount RW • mount local FS • setup network • mount remote FS • Switches to default runlevel, eg 3 (defined in /etc/inittab, eg: id:3:initdefault: ) • run scripts /etc/rc3.d/S* • run programs specified in /etc/inittab ® 2007. EPAM Systems. All rights reserved. Boot sequence summary: runlevels The term runlevel refers to a mode of operation in one of the computer operating systems that implement Unix System V-style initialization. Differs for different UNIX systems and Linux distributives Red Hat Linux/Fedora runlevels ® 2007. EPAM Systems. All rights reserved. Managing init levels root@ubuntu:~# init 3 root@ubuntu:~# telinit 5 root@ubuntu:~# runlevel 35 ® 2007. EPAM Systems. All rights reserved. Questions? ® 2007. EPAM Systems. All rights reserved.