Upload
jessie-lester
View
255
Download
0
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/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?
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
….................