250 likes | 554 Views
Лекция: OS Linux. Основные понятия: история UNIX, MINIX, LINUX; GNU; Дистрибутивы. Ядро Linux: Andrew Tanenbaum vs Linus Torvalds; версии ядра, сборка ядра, разработка на уровне ядра. Оболочки: bash, csh; основные команды Linux; среда оболочки, файл .bashrc;
E N D
Лекция: OS Linux Основные понятия: история UNIX, MINIX, LINUX; GNU; Дистрибутивы. Ядро Linux: Andrew Tanenbaum vs Linus Torvalds; версии ядра, сборка ядра, разработка на уровне ядра. Оболочки: bash, csh; основные команды Linux; среда оболочки, файл .bashrc; сценарии оболочки; Файловая структура: каталоги /bin, /etc, /usr, /home и /srv; Файловые системы ext*, reiserfs; монтирование файловых систем, команда mount; Демоны каталог /etc/init.d; программа init, уровни запуска, файл /etc/inittab, каталог /sbin. Xwindow: X- сервер графические оболочки – kde, gnome и т.д. Сетевые службы: ssh, scp, rsync; сетевая файловая система NFS, экспорт файловых систем; samba и др. Разработка программ под Linux: gcc, g++, java, perl и т.д.; среды разработки - редакторы emacs, xemacs, vim, kate, IDE – KDevelop Studio, Netbeans, Eclipse.
UNIX, 1969 • Многопользователская • Многозадачная • Сетевая • Виртуальный терминал • Неименованные каналы • …....................................
Репозиторий (CVS, Subversion, git) checkout Разработчик 1 checkout comitt Разработчик N push Ответственный разработчик push Open Source Project FreeBSD, 1995 …......................
Проект GNU GNU's NOT UNIX MIT (Massachusetts Institute of Technology), 1983 gcc, gzip, wget, bash (портируемый с UNIX) ... Ядро операционной системы Linux разработано Линусом Торвальдсом в рамках проекта GNU GNU + LINUX = GNU/Linux Ядро GNU/HURD пока не доработано
Лицензирование ПО Проприетарное программное обеспечение (proprietary software) Бесплатное программное обеспечение (freeware) Открытое программное обеспечение (open-source software) Свободное программное обеспечение (free software) Можно модифицировать ПО и использовать в любых целях кроме коммерческих. Необходимо ссылаться на предыдущих авторов GNU GPL (GNU General Public License) BSD License (Berkeley Software Distribution License) FreeBSD License Можно модифицировать ПО и использовать в любых целях. Необходимо ссылаться на предыдущих авторов
Дистрибутивы Linux Slackware, 1993 SuSE (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/version Linux 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 -r 3.1.0-1.2-desktop ewgenij@linux-715l:~> uname --help Usage: 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 100 drwxr-xr-x 2 root root 4096 May 29 2013 bin drwxr-xr-x 4 root root 4096 Oct 4 11:38 boot drwxr-xr-x 18 root root 4060 Dec 6 15:30 dev drwxr-xr-x 131 root root 12288 Dec 6 14:47 etc drwxr-xr-x 11 root root 4096 Nov 14 15:21 home drwxr-xr-x 17 root root 4096 Oct 4 11:38 lib drwxr-xr-x 7 root root 12288 May 29 2013 lib64 drwx------ 2 root root 16384 Aug 29 2012 lost+found drwxr-xr-x 2 root root 40 Nov 29 16:56 media drwxr-xr-x 2 root root 4096 Feb 26 2013 mnt drwxr-xr-x 4 root root 4096 Apr 19 2013 opt dr-xr-xr-x 203 root root 0 Nov 1 11:50 proc drwx------ 17 root root 4096 Dec 6 14:47 root drwxr-xr-x 19 root root 600 Dec 6 15:30 run drwxr-xr-x 3 root root 12288 May 29 2013 sbin drwxr-xr-x 2 root root 4096 Jul 15 2012 selinux drwxr-xr-x 6 root root 4096 Mar 12 2013 srv dr-xr-xr-x 12 root root 0 Nov 1 11:50 sys drwxrwxrwt 20 root root 4096 Dec 6 18:35 tmp drwxr-xr-x 14 root root 4096 Mar 1 2013 usr drwxr-xr-x 17 root root 4096 Feb 26 2013 var
Монтирование директорий ewgenij@dew:~$ mkdir d1 ewgenij@dew:~$ mkdir d2 ewgenij@dew:~$ vim d1/d1.txt ewgenij@dew:~$ vim d2/d2.txt ewgenij@dew:~$ ll d1 total 0 -rw-r--r-- 1 ewgenij lab7 0 Dec 6 17:08 d1.txt ewgenij@dew:~$ ll d2 total 0 -rw-r--r-- 1 ewgenij lab7 0 Dec 6 17:08 d2.txt ewgenij@dew:~$ sudo mount -B d1 d2 ewgenij@dew:~$ ll d1 total 0 -rw-r--r-- 1 ewgenij lab7 0 Dec 6 17:08 d1.txt ewgenij@dew:~$ ll d2 total 0 -rw-r--r-- 1 ewgenij lab7 0 Dec 6 17:08 d1.txt ewgenij@dew:~$ umount d2 umount: /home/ewgenij/d2: umount failed: Operation not permitted ewgenij@dew:~$ sudo umount d2 ewgenij@dew:~$ ll d2 total 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 d1 ewgenij@dew:~$ ll d1 total 2482 -r--r--r-- 1 root root 134 Aug 21 01:07 autorun.inf dr-xr-xr-x 1 root root 2048 Aug 21 01:10 boot dr-xr-xr-x 1 root root 2048 Aug 21 01:10 casper dr-xr-xr-x 1 root root 2048 Aug 21 01:10 dists dr-xr-xr-x 1 root root 2048 Aug 21 01:10 install dr-xr-xr-x 1 root root 18432 Aug 21 01:10 isolinux -r--r--r-- 1 root root 3693 Aug 21 01:10 md5sum.txt dr-xr-xr-x 1 root root 2048 Aug 21 01:10 pics dr-xr-xr-x 1 root root 2048 Aug 21 01:10 pool dr-xr-xr-x 1 root root 2048 Aug 21 01:10 preseed -r--r--r-- 1 root root 233 Aug 21 01:10 README.diskdefines lr-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 2 proc /proc proc defaults 0 0 sysfs /sys sysfs noauto 0 0 debugfs /sys/kernel/debug debugfs noauto 0 0 devpts /dev/pts devpts mode=0620,gid=5 0 0
Исполняемые модули демона(каталог /usr/sbin)
Управление службами( /etc/init.d/atd) ewgenij@dew:~$ sudo /etc/init.d/atd status redirecting to systemctl atd.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 start redirecting to systemctl ewgenij@dew:~$ sudo /etc/init.d/atd status redirecting to systemctl atd.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:55 warning: commands will be executed using /bin/sh job 11 at 2013-12-06 14:55 ewgenij@dew:~$ at -l 11 2013-12-06 14:55 a ewgenij ewgenij@dew:~$ mail No mail for ewgenij ewgenij@dew:~$ mail Heirloom mailx version 12.5 7/5/10. Type ? for help. "/var/spool/mail/ewgenij": 1 message 1 new >N 1 ewgenij@linux.site Fri Dec 6 14:55 54/2841 Output from your job 11 ?
mail Message 1: From ewgenij@linux.site Fri Dec 6 14:55:00 2013 X-Original-To: ewgenij Delivered-To: ewgenij@linux.site Subject: Output from your job 11 To: ewgenij@linux.site Date: Fri, 6 Dec 2013 14:55:00 +0700 (NOVT) From: ewgenij@linux.site (Evgeniy Malkov) total 1616 drwxr-xr-x 2 ewgenij lab7 4096 Mar 26 2008 Картинки drwxrwxr-x 17 ewgenij lab7 4096 Jan 15 2009 maple11 drwxr-xr-x 2 ewgenij lab7 4096 May 8 2009 public_html drwxr-xr-x 3 ewgenij lab7 4096 Mar 12 2010 SunStudioProjects drwxr-xr-x 3 ewgenij lab7 4096 Jul 8 2010 Рабочий стол drwxr-xr-x 6 ewgenij lab7 4096 Sep 8 2011 REPA drwx------ 19 ewgenij lab7 4096 Mar 1 2013 ARCHIVE drwxr-xr-x 4 ewgenij lab7 4096 Mar 6 2013 garbage drwxr-xr-x 4 ewgenij lab7 4096 Mar 6 2013 NetBeansProjects drwxr-xr-x 6 ewgenij lab7 4096 Mar 25 2013 SSC drwxr-xr-x 2 ewgenij lab7 4096 Mar 27 2013 Yen drwxr-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 MS Windows kde Libre Office gnome xemacs X Server Enlightenment MyProgram XManager …................. ….................
Подключение к X Server'у в сети ssh eamalkov@clu.nusc.ru -X