вторник, 30 марта 2010 г.

LPI exam 102 prep: Printing

Краткие заметки, сделанные при подготовке к сдаче экзамена LPI 117-102 (Junior Level Linux Professional (LPIC-1)).

In UNIX® and Linux systems, printing initially used the Berkeley Software
Distribution (BSD) printing subsystem, consisting of a line printer daemon (lpd)
running as a server, and client commands such as lpr to submit jobs for printing.
This protocol was later standardized by the IETF as RFC 1179, "Line Printer
Daemon Protocol".

System V UNIX also had a printing daemon. It was functionally similar to the
Berkeley LPD, but had a different command set. You will frequently see two
commands with different options that accomplish the same task. For example, lpr
from the Berkeley implementation and lp from the System V implementation are
both use to print files.


The CUPS server runs as a daemon process, cupsd under control of a configuration
file normally located in /etc/cups/cupsd.conf. The /etc/cups directory also contains
other configuration files related to CUPS. It is usually started during system
initialization, but may be controlled by the cups script located in /etc/rc.d/init.d or
/etc/init.d, according to your distribution.

The configuration file, /etc/cups/cupsd.conf, contains parameters that you may set to
control such things as access to the printing system, whether remote printing is
allowed, the location of spool files, and so on.

the spool files are stored by default in the /var/spool filesystem as you would expect from the
Filesystem Hierarchy Standard (FHS).

the spool files are stored by default in the /var/spool filesystem as you would expect from the
Filesystem Hierarchy Standard (FHS).

check the queues known to the system using the CUPS lpstat command.

-a Display accepting
status of printers.
-c Display print classes.
-p Display print status:
enabled or disabled.
-s Display default printer,
printers, and classes.
Equivalent to -d -c
-v. Note that multiple
options must be
separated as values
can be specified for
many.
-s Display printers and
their devices.

also use the LPD lpc command, found in /usr/sbin, with the status option.

If no option is specified, lpq displays the queue for the default printer. Use the -P option with a printer name to specify a particular printer or the -a option to specify all printers,

You can avoid printing the extra copy by removing a job from the queue with the lprm command.

Another command that will help you manipulate jobs on print queues is the lp command.

you might use lpc topq to move a job to the top of a queue. Other lpc commands may include
disable, down, enable, hold, move, redirect, release, and start.

Most CUPS systems also have a graphical interface to
the command-line functions that we discuss here. Generally, this interface is
accessible from the local host using a browser pointed to port 631
(http://localhost:631 or http://127.0.0.1:631),

The simplest way to print any file is to use the lpr command and provide the file
name. This prints the file on the default printer.

Print files

The simplest way to print any file is to use the lpr command and provide the file
name. This prints the file on the default printer.

-C, -J, or -T Set a job name.
-P Select a particular
printer.
-# Specify number of
copies. Note this is
different to the -n option
you saw with the lp
command.
-m Send email upon job
completion.
-l The print file is already
formatted for printing.
Equivalent to -o raw.
-o Set a job option.
-p Format a text file with a
shaded header.
Equivalent to -o
prettyprint.
-q Hold (or queue) the job
for later printing.
-r Remove the file after it

complex example: lpr -Pxerox -J "Ian's text file" -#2 -m -p -q -r abc.txt, user ian is requesting a specific printer, giving a name to the
job, requesting 2 copies, requesting an email confirmation after printing, holding the
job, and having the file abc.txt removed after it has been spooled. The subsequent
commands show the held job and the fact that the file has indeed been removed.

find out what general options are set for a printer using the
lpoptions command. Add the -l option to display printer-specific options

mpage
Formats test files for printing multiple pages on a single page.
psnup
Performs similar functions for PostScript files as mpage does for text files.
psbook
Rearranges the pages of a PostScript document for printing as a book or
booklet, taking into account the number of pages per sheet and how the sheet
is folded.

The a2ps command can handle a wide range of text file types and make intelligent
decisions about the best way to format them

Printer installation and configuration

Use the cups script located in /etc/rc.d/init.d or /etc/init.d, according to your
distribution with the status command. You can also use the lpstat or lpc
status command to check whether your daemon is running.

CUPS also maintains an access log and an error log. You can change the level of
logging using the LogLevel statement in /etc/cups/cupsd.conf. By default, logs are
stored in the /var/log/cups directory.

The lpinfo command can also help you identify
available device types and drivers. Use the -v option to list supported devices and
the -m option to list drivers

If you need to remove a printer, use lpadmin with the -x option

CUPS uses the /var/spool/cups directory for spooling.

понедельник, 29 марта 2010 г.

LPI exam 102 prep: Boot, initialization, shutdown, and runlevels

Краткие заметки, сделанные при подготовке к сдаче экзамена LPI 117-102 (Junior Level Linux Professional (LPIC-1)).

Boot the system

To summarize the boot process for PCs:
1. When a PC is turned on, the BIOS (Basic Input Output Service) performs
a self test.
2. When the machine passes its self test, the BIOS loads the Master Boot
Record (or MBR, usually from the first 512-byte sector of the boot drive).
This is usually the first hard drive on the system, but may also be a
diskette, CD, or USB key.
3. For a hard drive, the MBR loads a stage 1 boot loader, which is typically
either the LILO or GRUB stage1 boot loader on a Linux system. This is
another 512-byte, single-sector record.
4. The stage 1 boot loader usually loads a sequence of records called the
stage 2 boot loader (or sometimes the stage 1.5 loader).
5. The stage 2 loader loads the operating system. For Linux, this is the
kernel, and possibly an initial RAM disk (initrd).

The LILO configuration file defaults to /etc/lilo.conf.

Remember that whenever you make changes to /etc/lilo.conf, or whenever you
install a new kernel, you must run lilo

In addition to displaying the LILO configuration file, you may use the -q option of the
lilo command to display information about the LILO boot choices. Add -v options
for more verbose output.

The GRUB configuration file defaults to /boot/grub/grub.conf or /boot/grub/menu.lst.
If both are present, one will usually be a symbolic link to the other.

GRUB also does not require a partition to be mounted in order to configure a boot
entry for it. You will notice entries such as root (hd0,6) and
splashimage=(hd0,2)/boot/grub/fig1x.xpm.gz. GRUB refers to your hard
disks as hdn, where n is an integer starting from 0. Similarly, partitions on a disk are
similarly numbered starting from 0.

From the menu, you may press e on an entry to edit it, c to switch to a GRUB command line,
b to boot the system, p to enter a password, and Esc to return to the menu or to the
previous step. There is also a grub command, which creates a simulated shell in
which you may test your GRUB configuration or your GRUB command skills.

You may also view it on your system using the info grub command.

With GRUB, you could type in another set of commands for the kernel and initrd
statements, or, preferably, you could use the edit facility that you just learned about
to edit an existing entry by adding -prep to the end of the existing kernel image
name.

When the kernel finishes loading, it usually starts /sbin/init. This program
remains running until the system is shut down. It is always assigned process ID 1

The init program boots the rest of your system by running a series of scripts.
These scripts typically live in /etc/rc.d/init.d or /etc/init.d, and they perform services
such as setting the system's hostname, checking the filesystem for errors, mounting
additional filesystems, enabling networking, starting print services, and so on. When
the scripts complete, init starts a program calledgetty, which displays the login
prompt on consoles.

It's nice to be able to go back and review the kernel messages. Since standard
output is related to a process, and the kernel does not have a process identifier, it
keeps kernel (and module) output messages in the kernel ring buffer. You may
display the kernel ring buffer using the dmesg command, which displays these
messages on standard output.

Once your system has started to the point of running /sbin/init, the kernel still
logs events in the ring buffer as you just saw, but processes use the syslog daemon
to log messages, usually in /var/log/messages.

Runlevels , shutdown, and reboot

Runlevels define what tasks can be accomplished in the current state (or runlevel) of
a Linux system. Every Linux system supports three basic runlevels, plus one or
more runlevels for normal operation.

0 Shut down (or halt) the system
1 Single-user mode; usually aliased as s or S
6 Reboot the system

2 Multi-user mode without networking
3 Multi-user mode with networking
5 Multi-user mode with networking and the

To make a permanent change, you can edit /etc/inittab and change the default level
You can use the telinit command to tell the init process what runlevel it should switch to.

You can determine the current runlevel using the runlevel command, which
shows the previous runlevel as well as the current one.

f you use the ls command to display a long listing of the telinit command, you
will see that it really is a symbolic link to the init command. The init executable
knows which way it was called and behaves accordingly. Since init normally runs
as PID 1, it is also smart enough to know if you invoke it using init rather than
telinit. If you do, it will assume you want it to behave as if you had called
telinit instead. For example, you may use int 5 instead of telinit 5 to
switch to runlevel 5.

The shutdown command sends a warning message to all logged on users and blocks further logins.
It then signals init to switch runlevels. The init process then sends all running
processes a SIGTERM signal, giving them a chance to save data or otherwise
properly terminate. After 5 seconds, or another delay if specified, init sends a
SIGKILL signal to forcibly end each remaining process.

By default, shutdown switches to runlevel 1 (single-user mode). You may specify
the -h option to halt the system, or the -r option to reboot. A standard message is
issued in addition to any message you specify. The time may be specified as an
absolute time in hh:mm format, or as a relative time, n, where n is the number of
minutes until shutdown. For immediate shutdown, use now, which is equivalent to
+0.

If you have issued a delayed shutdown and the time has not yet expired, you may
cancel the shutdown by pressing Ctrl-c if the command is running in the foreground,
or by issuing shutdown with the -c option to cancel a pending shutdown.

The halt command halts the system.
The poweroff command is a symbolic link to the halt command, which
halts the system and then attempts to power it off.
The reboot command is a another symbolic link to the halt command,
which halts the system and then reboots it.

there are several other fields in /etc/inittab, along with a set
of init scripts in directories such as rc1.d or rc5.d, where the digit identifies the
runlevel to which the scripts in that directory apply

The scripts used by init when starting the system, changing runlevels, or shutting
down are typically stored in the /etc/init.d o r/etc/rc.d.init.d directory. A series of
symbolic links in the rcn.d directories, one directory for each runlevel n, control
whether a script is started when entering a runlevel or stopped when leaving it.
These links start with either a K or an S, followed by a two-digit number and then the
name of the service.

Конкурентные преимущества средств виртуализации VMware над средствами Microsoft

Данные о конкурентных преимуществах взяты из материалов VMware. Возможно что-то уже не соответствует действительности, но основная тенденция, думаю, сохраня

Ключевые преимущества VMware vSphere перед Microsoft Hyper-V

1. VMware vSphere 4 требует меньше дискового пространства для установки по сравнению с MS Hyper-V.

2. VMware vSphere 4 обладает расширенными возможностями по управлению памятью.

3. В MS Hyper-V R2 не реализована переподписка оперативной памяти.


4. В MS Hyper-V R2 не реализовано совместное использование идентичных фрагментов данных в оперативной памяти.

5. В MS Hyper-V R2 не реализована передача фрагментов оперативной памяти от простаивающих виртуальных машин активным.

6. В MS Hyper-V R2 не реализована возможность использовать большие страницы в оперативной памяти.

7. В MS Hyper-V R2 не реализована возможность прямого доступа виртуальных машин к сетевым адаптерам и адаптерам HBA, что позволило бы снизить нагрузку на CPU.

8. В MS Hyper-V R2 не реализована возможность ограничения использования общими ресурсами (оперативная память, CPU, etc)

9. В MS Hyper-V R2 количество поддерживаемых гостевых ОС ограничено до 13

10. В MS Hyper-V R2 поддерживается меньшее количество гостевых ОС чем в VMware.

11. В MS Hyper-V R2 не реализована возможность агрегировать ресурсы от нескольких серверов в единый пул ресурсов.

12. В MS Hyper-V R2 не реализованы расширенные возможности по управлению потреблением электроэнергии.

13. В MS Hyper-V R2 не реализованы технологии сетевой безопасности на 2 уровне ISO/OSI

14. В MS Hyper-V R2 не реализована возможность использования распределенного коммутатора на нескольких гипервизорах.

15. В MS Hyper-V R2 не реализована возможность консолидировать HBA.

16. В MS Hyper-V R2 не реализована возможность миграции сетевых интерфейсов (network VMotion)

17. В MS Hyper-V R2 не реализована возможность ограничения пропускной способности сетевых интерфейсов.

18. В MS Hyper-V R2 не реализована поддержка параметров безопасности SAN.

19. В MS Hyper-V R2 присутствует ограничение в 2 ТБ на виртуальный диск.

20. В MS Hyper-V R2 не реализована возможность распределенного журналирования для ускорения восстановления виртуальных машин.

21. В MS Hyper-V R2 не реализована возможность Fault Tolerance (технология полного дублирования функционирования виртуальных машин на резервный сайт с 0 временем восстановления и потерь данных).

22. В MS Hyper-V R2 не реализована возможность подключать удаленные устройства CD-ROM/DVD-ROM.

23. В MS Hyper-V R2 не реализована возможность распространения виртуализованных приложений.



Преимущества средств управления VMware над средствами Microsoft System Center Virtual Machine Manager

1. System Center требует более сложную интеграцию с системой по сравнению с системой управления VMware vCenter Server. Для комплексного мониторинга, управления, доставки обновлений на гипервизоры Hyper-V требуется докупать System Center Operations Manager, System Center Configuration Manager, System Center Data Protection Manager. Каждый их компонентов требует отдельного сервера, лицензий для ОС и СУБД SQL, SMSD.

2. Кросс-платформенное управление гипервизорами очень ограничено в System Center Virtual Machine Manager. Если будет добавлен гипервизор VMware то его управляемость будет сильно ограничена и понадобится докупка дорогостоящих лицензий SMSD и сервера управления VMware vCenter.

3. VMware vSphere имеет полный функциональный набор в отличие от System Center Virtual Machine Manager. Предлагается единый интерфейс управления всеми задачами гипервизоров и виртуальных машин.

4. VMware DRS (технология восстановления при авариях) полностью интегрирована и обладает более продвинутым алгоритмом функционирования по сравнению с технологией Microsoft PRO (аналогичная технология от Microsoft).

воскресенье, 28 марта 2010 г.

LPI exam 102 prep: Kernel

Краткие заметки, сделанные при подготовке к сдаче экзамена LPI 117-102 (Junior Level Linux Professional (LPIC-1)).


Runtime kernel management


The uname command prints information about your system and its kernel.

-s Print the kernel name. This is the default if no option is specified.
-n Print the nodename or hostname.
-r Print the release of the kernel. This option is often used with module-handling commands.
-v Print the version of the kernel.
-m Print the machine's hardware (CPU) name.
-o Print the operating system name.


Use the lsmod command to display the modules that are currently loaded on your
system.

In addition to the module name, lsmod also shows the module size and the number
of users of the module. If the module is used by any other modules, these are listed.

The modinfo command displays information about one or more modules.

On 2.6 kernels you can also use modinfo to limit requests to specific information
about a module. Use the -F option to extract a single information type, such as
parm, description, license, filename, or alias.

To remove a mod, use the rmmod command along with the module name

insmod command, which takes the full path name of the module to be reloaded,
along with any module options that may be required

The modprobe command provides a higher-level interface that
operates with the module name instead of file path. It also handles loading additional
modules upon which a module depends, and can remove modules as well as load
them.

The depmod command scans the modules in the subdirectories of /lib/modules for
the kernel you are working on and freshens the dependency information.

You can customize the behavior of modprobe and depmod using the configuration
file /etc/modules.conf.

Customize and build kernels and kernel modules

The ultimate source for the Linux kernel is the Linux Kernel Archives
The compressed source is normally uncompressed in /usr/src, and it creates a new subdirectory for the kernel version, such as linux-2.6.15, containing the tree of files
needed to build your kernel.

The .config file in your kernel build directory contains configuration information for
your kernel, including the target machine environment, the features to be included,
and whether a feature should be compiled into the kernel or built as a module.
Creating a .config file is the first step to building or rebuilding a kernel.

If you are not sure of the state of your build tree, run make clean before
configuring your new kernel. For an even more extreme cleanup target, run make
mrproper; this will remove your .config file as well as some other files used by the
build process. If you do this and then need to restore a backed up .config file, you
will need to run make oldconfig before configuring.

When you have completed building your kernel, you still have a couple of steps to
go. First, you need to run make modules_install to install your kernel modules
in a new subdirectory of ./lib/modules.

Finally, you need to run make install to install the new kernel and initial RAM
disk in /boot and update your boot loader configuration.

вторник, 9 марта 2010 г.

Заметки к экзамену LPI 101

Краткие заметки, сделанные при подготовке к сдаче экзамена LPI 117-101 (Junior Level Linux Professional (LPIC-1)).

Путь к новому набору библиотек следует прописывать в файле ld.so.conf.

Сигнал, посылаемый командой kill без параметров является 15 или SIGTERM.

Для активации групповой квоты в файле /etc/fstab следует добавить параметр grpquota.

Для активации персональной квоты в файле /etc/fstab следует добавить параметр usrquota.

Для рекурсивного создания новых директорий с командой mkdir следует использовать параметр –p.

Параметры, передаваемые от bootloader к ядру отражаются списком в файле /proc/cmdline.

Для отображения частично установленных пакетов и получения советов по их полной установке следует использовать команду dpkg –C.

Переменная окружения, куда следует заносить нестандартные места нахождения библиотек, называется LD_LIBRARY_PATH.

После обновления зависимостей и перед компиляцией двоичного файла следует запустить команду make clean.

Для выяснения названия пакета, из которого был установлен определенный путь, следует использовать команду rpm –qf /etc/path.

Источники для установки программ в Debian находятся в файле /etc/apt/sources.list.

Вывести список всех файлов, установленных из пакета можно командой rpm –qlp program.rpm.

Установленные пакеты Debian можно опрашивать командами dpkg и dselect.

Для возвращения к старой версии устанавливаемого пакета следует использовать параметр –oldpackage.

На разных разделах следует размещать /home ,/var, /tmp.

Консорциум, выпускающий модемы для Linux носит название ACM.

Для совместимости устройства с Linux не обязательно обеспечивать его совместимость с стандартом USB 2.0.

Для настройки свойств звуковой карты на устройствах ALSA следует использовать программу alsactl.

Для отсылки определенного сигнала программе следует использовать команду killall –s SIGUSR1 apache2.

Сочетание клавиш Ctrl-C отсылает сигнал 2 SIGINT.

Для замены символа возврата каретки CF-CL на стандартный для Linux CF следует использовать команду tr –d '\r’ <> newtext.

Для нахождения слова в тексте без учета регистра этого слова следует использовать команду grep –i word.

Команда echo $! отобразит последнюю выполненную в фоне команду.

Для запуска в фоне остановленной программы следует выполнить команду continue myapp.

Для форматирования текста на экране следует использовать команду col.

Для просмотра деталей дисковой квоты надо использовать команду repquota.

Использование inode на каждой файловой системе можно отобразить при помощи команды df –i.

После установки новой программы обновить кэш библиотек ld.so.cache можно при помощи команды ldconfig.

Список файлов, установленных из пакета можно получить при помощи команды dpkg –L program.pkg.

Частые записи проходят в директорию /tmp, ее устанавливают в отдельный раздел во избежании переполнения основного диска.

Логи от ядра пишутся в директорию /var/log/messages.

Для отключения пользователей от системы и запуска программы можно использовать программу telinit 1.

Файловая система USB находится по адресу /proc/bus/usb.

Для создания области подкачки на диске следует выполнить команду mkswap.

Для конфигурирования приложений заново следует использовать программу dpkg-reconfigure.

При установки grub с указанием параметра –root-directory /custom-grub программа будет установлена по адресу /custom-grub/boot/grub.

Для определения пути к библиотекам надо выполнить команду ldd /usr/lib/libpng12.so.

Аналогом команды cat <> file2 является команда cat file1 > file2.

Для просмотра списка изменений устанавливаемой программы следует запустить команду rpm –q –changelog rpmpachage.

Для отключения квоты для директории (например /progs)следует использовать команду quotaoff –gv /progs.

Для отображения специфических колонок из файла следует использовать команду cut –d; -f 1,3 /etc/passwd.

Для назначения расширенных прав доступа к файлу следует использовать программу setfacl –m user:sally:rw /etc/filename.