Основные понятия
Материал из openSUSE.
| Эта статья содержит фрагменты на иностранном языке . Вы можете помочь проекту, переведя её до конца. |
Основные понятия openSUSE Linux
Это статья дает некоторые основные понятия openSUSE и рассказывает о некоторых основных приложениях. Она предназначена для новых пользователей в Linux, использующих openSUSE. Эта статья предполагает наличие у пользователя некоторого опыта работы с компьютером.
О чем важно знать новому пользователю в openSUSE
Обычно, новый пользователь в openSUSE сразу хочет начать работать со своими проектами сразу, как только установлен openSUSE. Но перед этим полезно выучить некоторые основы о том, как работает Linux, во избежание последующей потери времени. Linux работает не так, как MacOS или версии операционная системы (ОС) MS-Windows S), и для того, чтобы не терять времени, нужно понять эти различия.
Свободное Программное Обеспечение
Linux развивался по модели свободного программного обеспечения. Когда используется понятие "свободное", имеется в виду не "бесплатное" как "бесплатное пиво". Имеется в виду "свободное" в том смысле, что
- каждый может его свободно распространять,
- каждый имеет свободный доступ к исходному коду,
- каждый в праве вносить изменения в код,
- каждый в праве отдать оригинальную версию" и
- каждый в праве отдать свою измененную версию.
О свободном программном обеспечении можно прочитать здесь
Так почему же сободное (и ПО с открытым кодом) ПО важно для нового пользователя в Linux? Оно важно, так как дает понятие о том, как структурирован Linux и почти все прикладное ПО.
Ядро Linux и Проект GNU
Ядро - это низкоуровневый стержень системы, которой нужно взаимодействовать с оборудованием. Свободное ядро Linux создал Линус Торвальдс в 1991. К тому времени проект GNU создал многие компоненты, необходимые для свободной операционной системы, но их собственное ядро было не закончено и не достпуно. Поэтому основа операционных систем, таких как openSUSE, была создана благодаря проекту GNU и ядру Linux.
Дистрибутивы
Как было упомянуто ранее, Linux - это только ядро операционной системы. Вся операционная система - это, так называемый, дистрибутив GNU/Linux. Он состоит, помимо ядра, из множества других программ, например, вы, возможно, пользуетесь K Desktop Environment (KDE) в качестве вашей графической оболочки, это - не "Linux". Такая модульная система учитывает широкий спектр дистрибутивов Linux. При переходе с других операционных систем, может быть тяжело привыкнуть к идее, что не все в операционной системе - это Linux или Windows, а скорее - это комбинация многих, более или менее независимо развиваемых проектов (называемых upstream). При выяснении причин возникшей проблемы очень полезно понять, какая часть испытывает проблему.
Конечно, различные дистрибьюторы (например Novell) могу делать дистрибутивы Linux, так программное обеспечение имеет свободы, упомянутые ранее. Это позволяет дистрибьюторам изменять, собирать и распространять программное обеспечение.
Обработка ПО в openSUSE (Управление Пакетами)
В openSUSE, в основном, используются два вида программных пакета:
- Tarball(tar-архив) (tape archiver) и
- RPM (RedHat Package Manager).
Некоторые сведения о них:
tar-архив
tar-архив - это собранные вместе и cжатые файлы. tar-архивы содержат исходный код программы и, обычно, скрипты компиляции. Кроме того, tar-архив обычно содержит документацию с полезной информацией о том, как обработать пакет, обычно она называется "readme.txt" или "install.txt". Часто содержимое tar-архива требует [1]]. Как правило, tar-архив имеет расширение "tar.gz", "tgz" или "tar.bz2".
RPM
RPM означает RedHat Package Manager, инструмент для установки, обновления, удаления, проверки и запроса программного обеспечения в этом формате, а также сами пакеты, созданные этим инструментом.
Зачем нужно RPM?
Во многих случаях разработчик ПО создает tar-архив для своего продукта. tar-архив нужен для того, чтобы пользователь скомпилировал содержимое, а потом установил файлы в нужные каталоги. Это всегда не так просто, как звучит, это может быть сложно и долго для начинающего в Linux. По этой причине создан RPM. RPM может быть установлен одной командой, в отличие от содержимого tar-архива, для которого может потребоваться много команд.
Другие особенности RPM:
Создание RPM не так просто, часто необходимы глубокие знания о работе с исходным кодом и файлами исходного кода. По этой причине умелые сборщики пакетов приняли на себя эту работу и предлагают пакеты сообществу.
RPM обычно собирается для определенной версии дистрибутива, например для SUSE Linux 9.3, 10.0, 10.1, openSUSE 10.2 и т.д. RPM, созданный для SUSE Linux 9.3 не обязательно удачно установится на openSUSE 10.2, т.к. зависимости программ могут измениться.
Ввиду обстоятельств, программы и библиотеки в Linux собраны на основе другого ПО. Причина этого - то, что программист хочет сберечь время разработки. Эти взаимозависимости\ответвления могут быть обширны, программе A нужна программа B, программе B нужна программа C и так далее. Наконец, приложение должно запускаться, поэтому эти взаимозависимости\ответвления должны проверяться.
Менеджеры Пакетов
Как мы уже сказали, установка программ в Linux (RPM) может привести к проблеме с зависимостям. Для решения таких проблем, созданы менеджеры пакетов, они занимаются их установкой. При неоходимости, менеджер пакетов установит программу с CD, DVD, файлового сервера и т.д.
Для того, чтобы заставить менеджер пакетов взаимодействовать с сетевым файловым сервером, нужно добавить ссылку на файловый сервер в менеджер пакетов. Эти файловые серверы обозначаются как каналы или репозитарии. Менеджер пакетов может использовать как с, так и без графического интерфейса.
К ним относятся, например, APT/Synaptic, Smart, YUM и, конечно, сам YaST (созданный SUSE).
Дополнительная информация:
Репозитарии программ, собранных третьими лицами:
Помимо официальных репозитариев существуют сторонние репозитарии, которые содержат улучшенные или специальные версии RPM, или RPM с очень новыми или неизвестными пакетами. Популярные репозитарии для SUSE Linux\openSUSE - это Packman и Guru. Если вы хотите добавить один из этих репозитариев, здесь вы найдет руководство.
Мультимедиа в openSUSE
Что касается мультимедиа - в openSUSE из коробки весьма ограничена даже основная мультимедийная функциональность (такая как проигрывание проприетарного формата mp3 любым плеером, кроме real player) по лицензионным соображениям. Следовательно, новый пользователь openSUSE, который хочет проигрывать формат mp3, проигрывать файлы avi с различными кодеками, проигрывать коммерческие DVD с видео и т.д... должен обратиться к сторонним репозитариям пакетов и установить версии этих приложений, собранных различными сборщиками openSUSE (когда программы, собранные этими сборщиками работают лучше, чем версии от Novell/SuSE).
Сайт, который содержит руководство с open-source подходом к этому вопросу - это opensuse-community: http://opensuse-community.org
Оболочка Linux / Интерфейс Командной Строки
Оболочка - это интерфейс командной строки, очень похожий на бывший MS-DOS (и на Командную Строку в WinXP), но с полной мощью многозадачности Linux. В зависимости от способа доступа к оболочке, она можетн быть полноэкранной или окном в Оконном Менеджере. Самой распространенной является "оболочка bash", где bash является оболочкой Unix, написанной для Проекта GNU. Bash является оболочкой по умолчанию во многих Linux системах, также как и в Mac OS X, ее можно запустить на большинстве Unix-подобных операционных систем. В случае openSUSE, оболочка bash типично открывается при запуске "konsole" <ALT><F2> и введите "konsole" или при запуске "xterm". Оболочка Linux используется для согласования с низжлежащими уровнями запуска Linux (такие как уровни с 1 по 3). Приложения можно запускать из оболочки, которая также может быть полезна в ряде случаев, например для отладки.
Следующая картинка показывает упрощенную версию потока информации и команд, когда пользователь взаимодействует с компьютером под Linux.
- Интерфейс Командной Строки Linux: [2]
- Оболочка Unix: [3]
- Оболочка bash: [4]
- Уровни ЗапускаRun Levels: [5]
X windows – основные понятия
Часто начинающие пользователи предпочитают X windows. X windows (еще известная как X11 или X) предоставляют на компьютере под управлением Linux графическое окружение, в котором могут быть запущены различные десктопы (предоставляя графическую среду типичную для всех ОС на современных компьютерах, таких как Mac или MS Windows). Без X windows у вас будет только простая текстовая командная строка/оболочка. В Linux X windows для получения дружественного графического пользовательского интерфейса (GUI), поверх X windows запускается Window Manager или Desktop Envronment. (Примечание: в Mac и MS-Windows нет разделения между текстовым режимом и графичеким режимом как более высоким уровнем, так же в Mac/MS-Windows есть только один GUI, в то время как в Linux пользователи могут выбирать из множества). Более подробно можно почитать в этой Windows Managers и Desktop Environment wiki. Три наиболее популярных десктопа для openSUSE это:
- Gnome (наиболее попялярен в Северной Америке): GNOME,
- KDE (наиболее попялярен в Европе): KDE, и
- xfce: Xfce.
Также есть много других десктопов доступных для openSUSE, большую информацию о графическом пользовательском интерфейсе (GUI) в openSUSE смотрите GUI Также можно больше найти о X windows здесь:
- X windows wiki: wikipedia:X_Window_System
X windows aspects
X windows is very powerful, in that its architecture is deliberately structured, with separate "client" and "server" aspects. For a one PC user, both the "client" and the "server" run on the same PC (and hence the this client/server division is transparent). But X windows is designed such that the "client" and "server" can be run on different machines. Hence, for example, with X11 and the Secure Shell (ssh) program (see below), an X windows application can run on a remote Linux PC, but the graphics window of the same application displayed locally on a "local" Linux PC.
Networking With Linux
Linux PC networking with MS-Windows PCs
MS-Windows/Linux file/printer sharing
For file and printer sharing between an MS-Windows and a Linux PC, most Linux users use an application known as "samba", that runs on the Linux machine.
- Samba wiki: Samba
With Samba running, the Windows-to-Linux networking (with there being a Linux PC in the Local Area Net (LAN)) is mostly transparent to the MS-Windows PC user. Thus files and printers can be shared transparently, using standard file/print managers.
Files can also be transfered from the Linux PC to the MS-Windows PC, using KDE & smb (in Konqueror) and from the MS-Windows PC to Linux PC, using Secure Copy (scp) or Secure FTP (sftp) via packages such as the WINscp freeware software. In openSUSE, scp is not as seamlessly "integrated" as nfs nor as samba.
One can also share printers between Linux and Windows PCs using CUPS and IPP.
- IPP wikipedia:Internet_Printing_Protocol
- CUPS: wikipedia:Common_Unix_Printing_System or http://www.cups.org/ or http://www.answers.com/topic/common-unix-printing-system
Linux-PC to another Linux-PC sharing
Linux/Linux file sharing
For file sharing between Linux PCs, most Linux users use an application known as Network File System (NFS), that enables file sharing (including remote directory/drive mounting, such that remote drives are treated as local), etc ...
Instead of using NFS, one can also transfer files using ssh (via the “scp” mentioned above). One ssh network file transfer implementation is “FIles transferred over SHell” (known as “fish”), which can be used to transfer files from Linux PC to Linux PC. KDE's Konqueror File Manager and Gnome's Nautilus and also Midnight Commander file manager, support “fish” network file transfers using a user friendly GUI.
Linux remote Command Shell
With Linux, a remote PC's konsole/shell can be opened on a local PC and thus remote command line applications can be controlled locally. This is possible by using applications such as telnet or ssh. ssh provides more secure data transfers than telnet and is typically preferred.
Linux Remote desktop
There are various ways to do have a remote desktop using Linux. One way is to use Virtual Network Computing (vnc) to remotely access a Linux PC from either another Linux PC, or from an MS-Windows PC. vnc transmits the keyboard and mouse events from one computer to another relaying the graphical display updates back in the other direction, over a network. One Linux application that provides this capability is "x11vnc". A remote desktop can be done using a local LAN, or across the Internet. In the case of using an "MS-windows" PC to access a Linux pc's Xwindow desktop, there are many client applications, some of which are free. The vnc wikipedia link below lists many of the MS-Windows packages.
- vnc: wikipedia:Virtual_Network_Computing
- x11vnc: wikipedia:X11vnc
Linux Directory Structure
The Linux Directory Structure (also known as the Filesystem Hierarchy Standard): In Linux, the files are stored in a directory structure that is significantly different from MS-Windows. Everything in Linux starts from the root directory (represented by / ) and it then expands into sub-directories, instead of having “drives”, as in MS-Windows. Linux sorts directories descending from the root directory / , theoretically according to their importance to the boot process. Typically, upon boot, the system does not know of the existence of different partitions or devices. Instead, different hard drives, and different partitions, are mounted seemlessly into the Linux directory structure, such that they are completely transparent to the user. This is known as the Unified Filesystem. More detail can be found here:
- File System Hierarchy: wikipedia:Filesystem_Hierarchy_Standard
- Linux Filesystem: http://www.openaddict.com/documents/Linux-Filesystem-Hierarchy/foreward.html
Оборудование в Linux
Поддержка оборудования в openSUSE различна. Некоторые производители обеспечивают драйвера для их оборудования, некоторые нет. Во многих случаях энтузиасты создают драйвера для Linux. Так как некоторые производители имеют проприетарные(не свободные) драйвера для их оборудования, то драйвера могут поставлятся "из коробки openSUSE", а могут и нет, следовательно может отсутствовать первоначальная поддержка всего оборудования. Кто-то может потратить некоторое время на настройку своего оборудования. А кто-то нет. Для примера графика, звук, wifi могут заработать сразу. Могут и не заработать. Обычно новички нуждаются в графике, интернете и звуке, и это для них самое важное в настройке их оборудования.
Если приобретается новое оборудование, полезно будет проверить его совместимость с Linux HCL до покупки.
Жесткие диски: терминология, таблица разделов
В Linux, жесткие диски имеют отличные имена от имен в MS-Windows. В Linux EIDE/IDE жесткие диски известны как "hd" и именуются в алфавитном порядке, начиная с "a" (hda, hdb, hdc и т.д.) SCSI/SATA диски обычно известны как "sd" и также именуются в алфавитном порядке, начиная с "a" (sda, sdb, sdc ... и т.д.) Различные разделы нумеруются, начиная с номера 1 ( hda1, hdb1, hdb2, hdb3, hdc1, sda1, sda2). Флоппи диск известен как fd.
Разметка жесткого диска в Linux следует PC стандартам и не специфична для Linux (т.е. разметка такая же как и в Windows). У каждого жесткого диска должна быть таблица разделов. В таблице может быть 0 - 4 строки. Для большего кол-ва разделов создается расширенный ( Extension ) раздел. Расширенный раздел содержит логические разделы, и нумеруется как пятый; логические разделы нумеруются начиная с шестого. Здесь представленно как обычно жесткий диск размечен, когда есть один жесткий диск на PC, использующий Windows и Linux:
| Имя | Тип файловой системы | Размер | Исользуется для | Точка монтирования | Заметки |
| hda1 | NTFS | 32 GB | Windows OS | /win | Has been squeezed |
| hda2 | NTFS | 8 GB | Windows Restore | Do not mount | Has been moved |
| hda5 | - | 80 GB | Hold all Linux files | - | Extended part-n |
| hda6 | ext3 | 12 GB | Linux OS | / | Logical part-n |
| hda7 | swap | 1 GB | Extension of RAM | - | Logical part-n |
| hda8 | ext3 or reiserfs | 67 GB | Users' files | /home | Logical part-n |
Более продвинутая версия разметки:
| Имя | Тип файловой системы | Размер | Используется для | Точка монтирования | Заметки |
| hda1 | NTFS | 32 GB | Windows OS | /win | Has been squeezed |
| hda2 | NTFS | 8 GB | Windows Restore | Do not mount | Has been moved |
| hda5 | - | 80 GB | Hold all Linux files | - | Extended part-n |
| hda6 | reiserfs | 14 GB | Linux OS | / | Logical part-n |
| hda7 | reiserfs | 5 GB | User-installed programs | /usr/local | Logical part-n |
| hda8 | swap | 2 GB | Swapping | - | Logical part-n |
| hda9 | ext3 or reiserfs | 20 GB | Users' files | /home | Logical part-n |
| hda10 | ext3 or reiserfs | 35 GB | Users' data | /data | Logical part-n |
| hda11 | reiserfs | 4 GB | Encrypted data | /enc (no mounting by default) | Logical part-n |
Безопасность в Linux
Суперпользователь / Обычный пользователь Linux
В Linux есть суперпользователь "root"(администиратор) и обычные пользователи "users". Пользователи Linux должны всегда заходить как обычный пользователь, и набирать "su" или "sudo" для получения привелегий суперпользователя когда это необходимо. Сохранение привелегий суперпользователя или вход в систему как суперпользователь создает большую угрозу для новичка (если его компьютер подключен к Интернету). Также это создает значительный риск, как для экспертов так и для новичков, удалить всю систему или создать серьезный крах системы, имея привилегии суперпользователя. Для примера операция, находясь в корневой директории (/) как su, забыв об этом, изменения владельца файлов на пользователя:
chown -R sammy:users *
Некоторые определения суперпользователей:
- su: (substitute user): wikipedia:Su_(Unix)
- sudo: wikipedia:Sudo
- superuser: wikipedia:Superuser
Printing under Linux
Philosophy of a common printing format
Linux uses a common print format to simplify the support for printing. The general concept of print format under Linux is for an application developer to code the application to print to only one format (the PostScript format), and to have a printer driver (to work with Linux) only have to accept that one format and modify it into a language that the printer accepts. This is very efficient, as it means the application developer only has one print format to support, and it means the printer manufacturer only has one print format to support when writing native code for a driver for Linux.
Hence under Linux, all printers are typically treated as PostScript printers, and the applications usually produce a PostScript output. If a printer does not understand PostScript by itself (which happens in the majority of cases) the Linux PostScript interpreter GhostScript/foomatic is used to translate the incoming PostScript into the printer's own language (PCL, ESC/P 2, ... or something proprietary) with the support of the printer driver.
There is a good theoretical background to printing (using postscript) under an Operating System such as Linux here: http://www.linuxprinting.org/kpfeifle/LinuxKongress2002/Tutorial/III.PostScript-and-PPDs/III.PostScript-and-PPDs.html
- Linux printing details: http://www.linux-foundation.org/en/OpenPrinting
- PostScript: wikipedia:PostScript
- GhostScript: wikipedia:Ghostscript
PPD Files/PostScript printers
There are many Linux applications which use PostScript Printer Definition (PPD) files to know about the capabilities of printers, so that their printing dialogs can make available all options which the printer and its driver provide and also show additional information about the printer. A PPD is just a text file which exactly describes (in a well-defined format) all supported features of a printer and contains the exact code that needs to be injected into the print jobs to invoke each desired feature. Print software programs can read PPDs, and know how to display the supported features in the printer driver's user interface shown on screen. If the user makes specific choices (like duplex, stapling) the program will know what specific code to inject into the print job and how to work with print device. In addition PPD files can also be used on Windows, Mac, or Line Printer Remote / Line Printer Daemon (LPR/LPD) clients to get access to the printer's capabilities and options.
For every PostScript printer the manufacturers typically provide a PPD file which contains all printer-specific information about the particular printer model. In turn the Linux printing system Common Unix Printing System (CUPS) and LPR/LPD support them natively, with all other printing systems they can be used with the help of a configurable printer filter (Foomatic). Foomatic is a piece of software that transforms PostScript data to the printer's native format, using the PPD as configuration. It needs a low level driver (specific to each printer) to generate the final code. Typically foomatic uses ghostscript in the background, using options according to the PPD file of the printer. CUPS also supports the Internet Printing Protocol or IPP, which defines a standard protocol for printing as well as managing print jobs, media size, resolution, and so forth.
- PPD: wikipedia:PostScript_Printer_Description and http://www.linux-foundation.org/en/OpenPrinting/Database/PPDDocumentation
- Foomatic: wikipedia:Foomatic
- CUPS: wikipedia:Common_Unix_Printing_System or http://www.cups.org/ or http://www.answers.com/topic/common-unix-printing-system
- LPD/LPR: wikipedia:Line_Printer_Daemon_protocol
- IPP: wikipedia:Internet_Printing_Protocol
- Samba how-to-page on cups-printing: http://samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html
openSUSE printing implementation:
Details on the openSUSE specific printing implementation can be found here:
Additional References
| Эта статья нуждается в доработке. Если вы можете помочь, сделайте это в соответствии с OpenSUSE Style Guide. |


