21
Лекция: OS Linux 1.Основные понятия: a) история UNIX, MINIX, LINUX; b) GNU; c) Дистрибутивы. 2) Ядро Linux: a) Andrew Tanenbaum vs Linus Torvalds; b) версии ядра, сборка ядра, разработка на уровне ядра. 3) Оболочки: a) bash, csh; b) основные команды Linux; c) среда оболочки, файл .bashrc; d) сценарии оболочки; 4) Файловая структура: a) каталоги /bin, /etc, /usr, /home и /srv; b)Файловые системы ext*, reiserfs; c) монтирование файловых систем, команда mount; 1. Демоны a)каталог /etc/init.d; b)программа init, уровни запуска, файл /etc/inittab, каталог /sbin. c) Xwindow: 2)X- сервер a)графические оболочки – kde, gnome и т.д. b) Сетевые службы: 3) ssh, scp, rsync; a)сетевая файловая система NFS, экспорт файловых систем; b)samba и др. c)Разработка программ под Linux: d)gcc, g++, java, perl и т.д.; 4)среды разработки - редакторы emacs, xemacs, vim, kate, IDE – KDevelop Studio, Netbeans, Eclipse.

Лекция: OS Linux 1.Основные понятия: a) история UNIX, MINIX, LINUX; b) GNU; c) Дистрибутивы. 2) Ядро Linux: a) Andrew Tanenbaum vs Linus

Embed Size (px)

Citation preview

Лекция: OS Linux

1. Основные понятия:a) история UNIX, MINIX, LINUX;b) GNU;c) Дистрибутивы.2) Ядро Linux:a) Andrew Tanenbaum vs Linus Torvalds;b) версии ядра, сборка ядра, разработка на уровне ядра.3) Оболочки: a) bash, csh;b) основные команды Linux;c) среда оболочки, файл .bashrc; d) сценарии оболочки;4) Файловая структура:a) каталоги /bin, /etc, /usr, /home и /srv;b) Файловые системы ext*, reiserfs;c) монтирование файловых систем, команда mount;1. Демоныa) каталог /etc/init.d;b) программа init, уровни запуска, файл /etc/inittab, каталог /sbin.c) Xwindow:2) X- серверa) графические оболочки – kde, gnome и т.д.b) Сетевые службы:3) ssh, scp, rsync;a) сетевая файловая система NFS, экспорт файловых систем;b) samba и др.c) Разработка программ под Linux:d) gcc, g++, java, perl и т.д.;4) среды разработки - редакторы emacs, xemacs, vim, kate, IDE – KDevelop Studio, Netbeans, Eclipse.

UNIX, 1969

Многопользователская Многозадачная Сетевая Виртуальный терминал Неименованные каналы …....................................

Open Source Project

FreeBSD, 1995

…......................

Репозиторий (CVS, Subversion, git)

Разработчик 1

Разработчик N

checkout

checkout

Ответственный разработчик

comitt

push

push

Проект GNU

GNU's NOT UNIX

gcc, gzip, wget, bash (портируемый с UNIX) ...

GNU + LINUX = GNU/Linux

Ядро операционной системы Linux разработано Линусом Торвальдсом в рамках проекта GNU

MIT (Massachusetts Institute of Technology), 1983

Ядро GNU/HURD пока не доработано

Лицензирование ПО

Бесплатное программное обеспечение (freeware)

GNU GPL (GNU General Public License)

BSD License (Berkeley Software Distribution License) FreeBSD License

Открытое программное обеспечение (open-source software)

Свободное программное обеспечение (free software)

Проприетарное программное обеспечение (proprietary software)

Можно модифицировать ПО и использовать в любых целях кроме коммерческих. Необходимо ссылаться на предыдущих авторов

Можно модифицировать ПО и использовать в любых целях. Необходимо ссылаться на предыдущих авторов

Дистрибутивы Linux

Slackware, 1993SuSE (Software-und System-Entwicklung), 1994 {YaST – Yet another Setup Tool}

SuSE Enterprise Linux, 2006 (корпорация Novell) OpenSuse, 2006 (открытое сообщество)

Red Hat, 1995-2003 {rpm – Red hat Package Manager}RedHat Enterprise Linux, 2003 (компания Red Hat)Fedora, 2003 (открытое сообщество)

Debian, 1995 (открытое сообщество) {мощный репозиторий; поддержка большого количества платформ; atp - Advanced Packaging Tool }

Knoppix, 2000 {первый LiveCD} Ubuntu, 2004 {расширенное применение команды sudo}

ArchLinux, 2002 {оптимизация x86-64; “замучаешься устанавливать”}

Версия ядра Linux

ewgenij@linux-715l:~> cat /proc/versionLinux version 3.1.0-1.2-desktop (geeko@buildhost) (gcc version 4.6.2 (SUSE Linux) ) #1 SMP PREEMPT Thu Nov 3 14:45:45 UTC 2011 (187dde0)ewgenij@linux-715l:~>

ewgenij@linux-715l:~> uname -r3.1.0-1.2-desktopewgenij@linux-715l:~> uname --helpUsage: uname [OPTION]...Print certain system information. With no OPTION, same as -s.

-a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system --help display this help and exit --version output version information and exit

Файловая система Linux

ewgenij@dew:~$ ls -l ../../total 100drwxr-xr-x 2 root root 4096 May 29 2013 bindrwxr-xr-x 4 root root 4096 Oct 4 11:38 bootdrwxr-xr-x 18 root root 4060 Dec 6 15:30 devdrwxr-xr-x 131 root root 12288 Dec 6 14:47 etcdrwxr-xr-x 11 root root 4096 Nov 14 15:21 homedrwxr-xr-x 17 root root 4096 Oct 4 11:38 libdrwxr-xr-x 7 root root 12288 May 29 2013 lib64drwx------ 2 root root 16384 Aug 29 2012 lost+founddrwxr-xr-x 2 root root 40 Nov 29 16:56 mediadrwxr-xr-x 2 root root 4096 Feb 26 2013 mntdrwxr-xr-x 4 root root 4096 Apr 19 2013 optdr-xr-xr-x 203 root root 0 Nov 1 11:50 procdrwx------ 17 root root 4096 Dec 6 14:47 rootdrwxr-xr-x 19 root root 600 Dec 6 15:30 rundrwxr-xr-x 3 root root 12288 May 29 2013 sbindrwxr-xr-x 2 root root 4096 Jul 15 2012 selinuxdrwxr-xr-x 6 root root 4096 Mar 12 2013 srvdr-xr-xr-x 12 root root 0 Nov 1 11:50 sysdrwxrwxrwt 20 root root 4096 Dec 6 18:35 tmpdrwxr-xr-x 14 root root 4096 Mar 1 2013 usrdrwxr-xr-x 17 root root 4096 Feb 26 2013 var

Монтирование директорий

ewgenij@dew:~$ mkdir d1ewgenij@dew:~$ mkdir d2ewgenij@dew:~$ vim d1/d1.txtewgenij@dew:~$ vim d2/d2.txtewgenij@dew:~$ ll d1total 0-rw-r--r-- 1 ewgenij lab7 0 Dec 6 17:08 d1.txtewgenij@dew:~$ ll d2total 0-rw-r--r-- 1 ewgenij lab7 0 Dec 6 17:08 d2.txtewgenij@dew:~$ sudo mount -B d1 d2ewgenij@dew:~$ ll d1total 0-rw-r--r-- 1 ewgenij lab7 0 Dec 6 17:08 d1.txtewgenij@dew:~$ ll d2total 0-rw-r--r-- 1 ewgenij lab7 0 Dec 6 17:08 d1.txtewgenij@dew:~$ umount d2umount: /home/ewgenij/d2: umount failed: Operation not permittedewgenij@dew:~$ sudo umount d2ewgenij@dew:~$ ll d2total 0-rw-r--r-- 1 ewgenij lab7 0 Dec 6 17:08 d2.txt

Монтирование файловых систем

ewgenij@dew:~$ sudo mount -o loop -t iso9660 Downloads/ubuntu-12.04.3-desktop-i386.iso d1ewgenij@dew:~$ ll d1total 2482-r--r--r-- 1 root root 134 Aug 21 01:07 autorun.infdr-xr-xr-x 1 root root 2048 Aug 21 01:10 bootdr-xr-xr-x 1 root root 2048 Aug 21 01:10 casperdr-xr-xr-x 1 root root 2048 Aug 21 01:10 distsdr-xr-xr-x 1 root root 2048 Aug 21 01:10 installdr-xr-xr-x 1 root root 18432 Aug 21 01:10 isolinux-r--r--r-- 1 root root 3693 Aug 21 01:10 md5sum.txtdr-xr-xr-x 1 root root 2048 Aug 21 01:10 picsdr-xr-xr-x 1 root root 2048 Aug 21 01:10 pooldr-xr-xr-x 1 root root 2048 Aug 21 01:10 preseed-r--r--r-- 1 root root 233 Aug 21 01:10 README.diskdefineslr-xr-xr-x 1 root root 1 Aug 21 01:10 ubuntu -> .-r--r--r-- 1 root root 2503528 Apr 19 2013 wubi.exe

Монтирование при загрузке

ewgenij@dew:~$ cat /etc/fstab/dev/disk/by-id/ata-ST31000524AS_9VPGD772-part1 swap swap defaults 0 0/dev/disk/by-id/ata-ST31000524AS_9VPGD772-part2 / ext4 acl,user_xattr 1 1/dev/disk/by-id/ata-ST31000524AS_9VPGD772-part3 /home ext4 acl,user_xattr 1 2proc /proc proc defaults 0 0sysfs /sys sysfs noauto 0 0debugfs /sys/kernel/debug debugfs noauto 0 0devpts /dev/pts devpts mode=0620,gid=5 0 0

Системные службы

Каталог /etc/init.d

Сценарий для демона

Исполняемые модули демона(каталог /usr/sbin)

Управление службами( /etc/init.d/atd)

ewgenij@dew:~$ sudo /etc/init.d/atd statusredirecting to systemctlatd.service - Execution Queue Daemon Loaded: loaded (/lib/systemd/system/atd.service; enabled) Active: inactive (dead) CGroup: name=systemd:/system/atd.service

ewgenij@dew:~$ sudo /etc/init.d/atd startredirecting to systemctlewgenij@dew:~$ sudo /etc/init.d/atd statusredirecting to systemctlatd.service - Execution Queue Daemon Loaded: loaded (/lib/systemd/system/atd.service; enabled) Active: active (running) since Fri, 06 Dec 2013 15:04:30 +0700; 5s ago Process: 29913 ExecStart=/bin/bash -c [ -e /etc/sysconfig/atd ] && . /etc/sysconfig/atd; exec /usr/sbin/atd $${ATD_BATCH_INTERVAL:+-b $$ATD_BATCH_INTERVAL} $${ATD_LOADAVG:+-l $$ATD_LOADAVG} (code=exited, status=0/SUCCESS) Main PID: 29914 (atd) CGroup: name=systemd:/system/atd.service └ 29914 /usr/sbin/atd

Руководство программиста ( man at )

AT(1) Linux Programmer's Manual AT(1)

NAME at, batch, atq, atrm - queue, examine or delete jobs for later execution

SYNOPSIS at [-V] [-q queue] [-f file] [-mldrbvt] TIME at -c job [job...] atq [-V] [-q queue] atrm [-V] job [job...] batch [-V] [-q queue] [-f file] [-mv] [TIME]

DESCRIPTION at and batch read commands from standard input or a specified file which are to be executed at a later time, using /bin/sh.

at executes commands at a specified time.….......................................................................................................................................................

Команды, связанные со службами ( at )

ewgenij@dew:~$ cat j.sh#!/bin/bash ls -ltr

ewgenij@dew:~$ at -f j.sh 14:55warning: commands will be executed using /bin/shjob 11 at 2013-12-06 14:55ewgenij@dew:~$ at -l11 2013-12-06 14:55 a ewgenijewgenij@dew:~$ mailNo mail for ewgenijewgenij@dew:~$ mailHeirloom mailx version 12.5 7/5/10. Type ? for help."/var/spool/mail/ewgenij": 1 message 1 new>N 1 [email protected] Fri Dec 6 14:55 54/2841 Output from your job 11?

mail

Message 1:From [email protected] Fri Dec 6 14:55:00 2013X-Original-To: ewgenijDelivered-To: [email protected]: Output from your job 11To: [email protected]: Fri, 6 Dec 2013 14:55:00 +0700 (NOVT)From: [email protected] (Evgeniy Malkov)

total 1616drwxr-xr-x 2 ewgenij lab7 4096 Mar 26 2008 Картинкиdrwxrwxr-x 17 ewgenij lab7 4096 Jan 15 2009 maple11drwxr-xr-x 2 ewgenij lab7 4096 May 8 2009 public_htmldrwxr-xr-x 3 ewgenij lab7 4096 Mar 12 2010 SunStudioProjectsdrwxr-xr-x 3 ewgenij lab7 4096 Jul 8 2010 Рабочий столdrwxr-xr-x 6 ewgenij lab7 4096 Sep 8 2011 REPAdrwx------ 19 ewgenij lab7 4096 Mar 1 2013 ARCHIVEdrwxr-xr-x 4 ewgenij lab7 4096 Mar 6 2013 garbagedrwxr-xr-x 4 ewgenij lab7 4096 Mar 6 2013 NetBeansProjectsdrwxr-xr-x 6 ewgenij lab7 4096 Mar 25 2013 SSCdrwxr-xr-x 2 ewgenij lab7 4096 Mar 27 2013 Yendrwxr-xr-x 5 ewgenij lab7 4096 May 15 2013 OpenFOAM

XWindow System

ewgenij@dew:~$ sudo /etc/init.d/xdm start root's password:

Windows Manager

kde

gnome

Enlightenment

XManager

….................

X S

erve

r

MS Windows

Программы-клиенты

Libre Office

xemacs

MyProgram

….................

Подключение к X Server'у в сети ssh [email protected] -X