Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
notes:lpic-1_notes [2014/02/13 01:31]
smthng [101 System Architecture 14%]
notes:lpic-1_notes [2014/03/03 01:49] (current)
smthng [102 Installation and Package Management 18%]
Line 92: Line 92:
   * Knowledge of basic features of LVM   * Knowledge of basic features of LVM
   * Terms: / (root) filesystem, /var filesystem, /home filesystem, swap space, mount points, partitions   * Terms: / (root) filesystem, /var filesystem, /home filesystem, swap space, mount points, partitions
 +
 +==Notes==
 +
 +  * choosing a disk layout for linux depends on amount of disk space, purpose of the system, size of the system and backup strategy. Some general guidelines are
 +    * If diskspace is limited, just /boot, / and /swap
 +    * /boot is a separate 50MB partition because older kernels/BIOS require kernels under a 1024 cylinder limit.
 +    * For larger systems keep / smaller/simpler to reduce risk of corruption.
 +    * Can use separate partitions for /var (to isolate system logs), /tmp (to isolate tempfiles), /home (for backup and RAIDing of user's data)
 +    * Using a separate partition for /usr allows it to be shared via read-only NFS which allows for saving space and easier maintenance of apps/updates.
 +  * Superblock on filesystem contains critical metadata so multiple redundant copies are kept.
 +  * Filesystems must be mounted (listed in filesystem table) before being accessible. /etc/fstab is a list of filesystems to mount on boot up.
 +  * Master Boot Record on first 512 bytes of first sector of disk contains info on partitions and bootup. Can be backed up and restored with <code>
 +dd if=/dev/hda of=~/mbr.txt count=1 bs=512
 +dd if=~/mbr.txt of=/dev/hda count=1 bs=512
 +</code>
 +  * To backup/restore just the partition layout, use sfdisk <code>
 +sfdisk -d /dev/hda > partition_backup.txt
 +sfdisk /dev/hda < partition_backup.txt
 +</code>
 +  * Linux may also be booted from Live USB which allows for persistent modifications. If the BIOS does nto support this, a bootable CD can be used first.
 +  * Swap space allows main memory to be temporarily copied to disk. As a starting point set swap to twice the memory size (at least the same size).
  
 === 102.2 Install a boot manager (LCN-5 CTL-5) === === 102.2 Install a boot manager (LCN-5 CTL-5) ===
Line 99: Line 120:
   * Interact with the boot loader   * Interact with the boot loader
   * Terms: /boot/grub/menu.lst, grub.cfg and other variations, grub-install, MBR, superblock   * Terms: /boot/grub/menu.lst, grub.cfg and other variations, grub-install, MBR, superblock
 +
 +==Notes==
 +  * BIOS looks for and runs boot loader from first specified boot device.
 +  * Boot loader find and loads specified kernel (with specified kernel options) which loads required modules and starts system processes.
 +  * LILO is a 2-stage program
 +    * First stage is in 512-byte MBR or in the boot sector of a partition (if it is a secondary boot loader).
 +    * Second stage is in /boot/boot.b .
 +    * Map file locating kernel is in /boot/map
 +    * //lilo// command reads /etc/lilo.conf which contains kernel image locations, kernel options, the default boot disk etc. It encodes this information along with physical disk information and writes it into the boot files (MBR/boot-sector, boot.b and map).
 +  * GRUB is a multi-stage boot loader, more flexible than LILO.
 +    * Changes take effect immediately.
 +    * (hd0,1) -> 2nd partition on the 1st hard disk. Refers only to the order of the disks as seen by the BIOS so order may change if BIOS boot order is changed.
 +    * //grub-install// writes to MBR/boot sector. Uses/boot/grub/device.map to map BIOS drives to Linux devices e.g. "(hd0)   /dev/sda".
 +    * Grub command-line expects a specific order of commands to boot kernel <code>grub> root (hd0,0)
 +grub> kernel /vmlinuz-2.4.18-14 ro root=/dev/hda2
 +grub> initrd /initrd-2.4.18-14.img  [optional]
 +grub> boot</code>
  
 === 102.3 Manage shared libraries (LCN-5 CTL-2) === === 102.3 Manage shared libraries (LCN-5 CTL-2) ===
Line 105: Line 143:
   * Load shared libraries   * Load shared libraries
   * Terms: ldd, ldconfig, /etc/ld.so.conf, LD_LIBRARY_PATH   * Terms: ldd, ldconfig, /etc/ld.so.conf, LD_LIBRARY_PATH
 +
 +==Notes==
 +  * Most programs on Linux use common system libraries.
 +  * These can be statically linked into the program at compile-time - more disk, more memory, slower.
 +  * Or can be dynamically loaded at runtime (shared libraries) - shared memory, smaller disksize, faster.
 +  * //ldd// can be used to display required shared libraries for an executable
 +  * Dynamically linked executables are examined at runtime by the shared object dynamic linker, //ld.so//
 +  * //ldconfig// reloads shared library paths from /etc/ld.so.conf to update binary cache /etc/ld.so.cache
 +  * $LD_LIBRARY_PATH env variable can also be used
  
 === 102.4 Use Debian package management (LCN-5 CTL-2) === === 102.4 Use Debian package management (LCN-5 CTL-2) ===
Line 111: Line 158:
   * Obtain package information like version, content, dependencies, package integrity and installation status (whether or not the package is installed)   * Obtain package information like version, content, dependencies, package integrity and installation status (whether or not the package is installed)
   * Terms: /etc/apt/sources.list, dpkg, dpkg-reconfigure, apt-get, apt-cache, aptitude   * Terms: /etc/apt/sources.list, dpkg, dpkg-reconfigure, apt-get, apt-cache, aptitude
 +
 +==Notes==
 +  * .deb package names - pkgname_version-revision_arch.deb . version is typically major.minor.patchlevel e.g ncurses4_4.2.3-9_i386.deb
 +  * //dpkg// operates directly on //.deb// packages
 +    * uses /var/lib/dpkg/[available|status] files to store metadata
 +    * -i=install -r=remove --purge=purge
 +    * -E=do not overwrite with same version or older
 +    * -G=do not overwrite with older package version
 +    * -l=list matching installed packages -L=list files from package
 +    * -s=status of package -S=search for file in installed packages
 +  * //apt-get// uses package names and sources and resolves dependencies
 +    * -d=download only -s=simulate -y=assume yes
 +    * install, remove, update (sources), upgrade (all packages), dist-upgrade (to new OS version)
 +    * uses /etc/apt/sources.list. Lines look like <code> deb http://http.us.debian.org/debian stable main contrib non-free</code>
 +  * //dselect// is a menu-based interface to //dpkg//
 +  * //alien// converts other package types to .deb packages (or to rpm with -r) e.g. Slackware/generic tarball, RPM . //alien -i x.rpm//
  
 === 102.5 Use RPM and YUM package management (LCN-5 CTL-2) === === 102.5 Use RPM and YUM package management (LCN-5 CTL-2) ===
Line 117: Line 180:
   * Determine what files a package provides, as well as find which package a specific file comes from   * Determine what files a package provides, as well as find which package a specific file comes from
   * Terms: rpm, rpm2cpio, /etc/yum.conf, /etc/yum.repos.d/, yum, yumdownloader   * Terms: rpm, rpm2cpio, /etc/yum.conf, /etc/yum.repos.d/, yum, yumdownloader
- 
 ==== 103 GNU / Unix Commands 43%   ==== ==== 103 GNU / Unix Commands 43%   ====
  
Recent changes RSS feed Creative Commons License Donate Minima Template by Wikidesign Driven by DokuWiki