- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF93:Первые шаги
Материал из Linuxformat.
- Первые шаги Советы для тех, кто только начинает знакомиться с Linux
Содержание |
Система: Иерархия каталогов
- Не спотыкайтесь о вашу файловую систему: порхайте по /usr, /opt и /dev с грацией бывалого линуксоида. Энди Ченнел объяснит, как она работает.
Одно из первых препятствий, на которое натыкается новичок в Linux, это загадочная и пугающая файловая система. Где, к примеру, ободряющий значок Мой компьютер? Что такое /usr? Где C:\, A:\ и прочие привычные обозначения используемых устройств? К счастью, как будет показано в одиссее ОС этого месяца, файловая система Linux сложна лишь на вид – и большую ее часть можно без проблем проигнорировать, если только вы не собираетесь стать хакером Linux или системным администратором.
Составить представление о структуре вашей компьютерной системы вполне возможно, и это определенно стоит сделать. Во-первых, знакомство с файловой системой поможет вам избежать случайных повреждений (т.е. удаления жизненно важного для системы файла без возможности восстановления), да неплохо и знать, где искать, если загруженный файл или иконка приложения не появились в ожидаемом месте.
Так что приглашаю в путешествие по файловой системе Linux. Файловая система просто описывает, как ваш компьютер организует различные папки и файлы, среди которых присутствуют операционная система, приложения и данные – вроде документов, картинок и музыки. На данном уроке я покажу вам, что делают элементы системы, сосредоточившись на основных (с точки зрения пользователя), и отмечу, в чем их раскладка сходна или отлична от Windows-аналогов.
Предупреждаю, что хотя мы будет исследовать данную структуру преимущественно как пользователь, иногда нам потребуется «стать супером» для полного исследования каталога. В таких случаях следует позаботиться о том, чтобы случайно не изменить жизненно важные файлы: результатом может быть гибель установленной системы. Для получения привилегий суперпользователя откройте терминал и наберите su, затем нажмите Enter и введите пароль root. Затем вы можете открыть Nautilus или Konqueror, для Gnome и KDE соответственно, из командной строки, введя nautilus или konqueror.
Держа это предупреждение в голове, незамедлительно начнем сверху... или снизу… ну вот, я сам запутался!
Причуды Gnome
Для начала откройте ваш файловый менеджер (обычно это будет Konqueror или Nautilus, но большинство дистрибутивов обозначают их просто как Файловый менеджер). В Ubuntu, Fedora или любом другом дистрибутиве на базе Gnome вам необходимо кое-что поменять, прежде чем мы продолжим, поскольку поcледние версии Gnome предпочитают прятать древо файловой системы.
Для легкой перестройки Gnome, выберите меню Переход, а затем Домашняя папка. Далее я буду обозначать подобные операции так: Переход > Домашняя папка. Стандартный способ работы в Gnome предусматривает, что двойной щелчок на каталоге открывает новое окно. Это хорошо при мониторе размером с киноэкран и организаторских способностях, как у колонии муравьев, но большинство из нас очень скоро увязнет. Поэтому выполните Правка > Параметры и выберите вкладку Поведение. Щелкните на флажке с надписью Всегда открывать в окне браузера, а затем нажмите кнопку Закрыть. Теперь закройте браузер файлов и вновь выполните Переход > Домашняя папка. На сей раз менеджер файлов отобразит файлы в главной части окна. По верхнему краю отобразится несколько иконок браузера – Назад, Вперед, Вверх, Обновить и т.д. – а внизу слева появится список различных мест, куда можно перейти. Под панелью инструментов будет так называемая «тропка из хлебных крошек» (помните Мальчика-с-пальчик?). Она отображает маршрут к вашему текущему положению в файловой системе через серию кнопок, на которые можно нажимать. Чтобы переключиться к текстовому отображению пути, нажмите кнопку с иконкой записной книжки у левого края.
Теперь, после настройки, можно двигаться далее. Дважды щелкните на иконке панели Переход с названием Файловая система. Сразу же заметим, что файловая система Linux имеет единую иерархию. Дискеты, съемные диски и CD, вставляемые в компьютер, становятся частью этой иерархии. Она называется унифицированной файловой системой – в отличие от мира Windows, где эти устройства считаются отдельными, или разделенными, местами в файловой системе.
Наверху этой иерархии – то есть он содержит все остальные элементы – находится /, так называемый слэш- или корневой каталог (не путайте с /root). Когда мы щелкали на иконке Файловая система, первым появился /. Ниже располагается ряд каталогов (в Ubuntu их 19), хранящих другие каталоги и файлы. Принято, чтобы / содержал только каталоги, но некоторые дистрибутивы размещают в нем пару файлов. Вы не делайте этого!
/home
Для большинства из нас /home – самый важный каталог в системе Linux, потому что в нем располагаются домашние папки всех пользователей, имеющихся в системе. Вероятно, там находится все: фотографии, музыка, презентации и документы. Здесь также располагаются файлы настроек конкретного пользователя, вроде тех, что определяют фон рабочего стола, оконные рамки и параметры приложений и данные, связанные с жизнью в сети – история браузера, архив электронных писем и так далее.
Каталоги в /home обычно доступны только пользователю, которому принадлежат, и суперпользователю (root, или системному администратору). При первом взгляде на /home/username вы можете не увидеть никаких файлов конфигурации. Дело в том, что они скрыты; но вы можете их «засветить», перейдя в меню Вид и выбрав Скрытые файлы. Тогда окно заполнится гуще, и вы отметите, что все ранее скрытые элементы начинаются с точки (.). Это способ Unix/Linux прятать файлы и каталоги от пользователя, хотя если вы дважды щелкнете по любому из них, они откроются так же, как и обычный.
Однако будьте осторожны: не трогайте скрытые файлы и папки, если не ведаете, что творите. Часто они содержат важные настройки, и любое некорректное изменение или удаление может серьезно затруднить возможность использования конкретного приложения.
Здесь есть каталог Desktop; перенесите что-нибудь в него, и оно возникнет на рабочем столе пользователя. Windows-эквивалентом этой папки является C:\Documents and Settings\имя_пользователя\Desktop.
/root
Каждый пользователь имеет собственный каталог, и пользователь root – не исключение. Его каталог аналогичен каталогу обычного пользователя и содержит документы и каталог Desktop. Однако он не должен быть особо заполнен документами, потому что рутинные работы пользователь root не выполняет, а значит, в этой учетной записи данным накапливаться не с чего.
/bin
Двигаемся дальше. /bin – это сокращение от binaries [двоичные файлы], и здесь вы найдете набор исполняемых файлов с загадочными именами вроде ls, rm, mkdir и rmdir, которые весьма полезны для системных администраторов и продвинутых пользователей. Если вы немного знакомы с командной строкой Linux, то уже сталкивались с этими именами, а те, кто работал только с графическими инструментами, пользовались этими программами, не подозревая об этом. Давайте рассмотрим некоторые их функции.
Откройте терминал, который обычно находится в меню под именем Терминал или Консоль. Когда он появится на экране, наберите
mkdir LXF
В терминале ничего не произойдет, но, открыв менеджер файлов и заглянув в ваш домашний каталог, вы должны увидеть новую папку с именем LXF. Она здесь потому, что терминал по умолчанию открывается в домашнем каталоге, а mkdir – это команда “make a directory” [создать каталог] (то же происходит, если вы щелкаете правой кнопкой мыши в окне и выбираете Создать каталог). Теперь в терминале наберите
rmdir LXF
Новый каталог будет удален – как если бы вы после правого на нем выбрали пункт Удалить. Кстати, если вы не хотите ради проверки запускать менеджер файлов, просто наберите ls, и увидите содержимое каталога.
/sbin
/bin содержит приложения, необходимые вам для ежедневной работы (пусть вы и не осознаете этого); а /sbin – место, где система Linux хранит элементы, запускаемые в фоновом режиме [а точнее, инструменты, предназначенные для администратора, – прим.ред.]. Windows-эквивалентом ему может быть каталог C:\Windows\System. Здесь вы можете найти такие программы, как Lilo – загрузчик Linux, fdisk – для работы с различными разделами диска, и все остальное ПО, помогающее в работе системы. Нечего и говорить – но я все-таки скажу – что баловство с содержимым этого каталога способно серьезно повредить вашу ОС, поскольку оно жизненно важно для каждого пользователя.
/usr
Этот каталог немного странноват, поскольку содержит множество вещей, которым самое бы место прятаться где-то в /bin или /sbin. Отличие в том, что эти двоичные файлы более приближены к пользо- вателю. В Windows вы можете видеть подобное в C:\Windows\Program Files (хотя следует помнить, что Windows, в отличие от Linux, не чувствителен к регистру), и если вы хотите вручную запустить приложение, установленное при помощи менеджера пакетов, но не появившееся в меню, то начинать нужно отсюда.
Внутри /usr много подкаталогов. Их количество и имена зависят от используемого дистрибутива, но всегда имеется /bin для бинарных файлов, lib для файлов библиотек и X11, где вы найдете все для взаимодействия вашего компьютера со внешним миром. Здесь же, внутри каталога /src, располагаются исходные тексты ядра Linux. Можете посмотреть их, но они не очень-то интересны.
Так же как в /bin и /sbin, хорошей идеей будет перемещаться по этим каталогам осторожно – здесь легко учинить катастрофу [напомним еще раз: проблемы могут возникнуть, только если вы работаете от имени root. Однако, для простого просмотра системных каталогов привилегии суперпользователя обычно не нужны, а обычный пользователь при всем желании не сможет нанести вред /usr и другим системным каталогам, – прим. ред.].
/opt
В стандартной структуре Unix, многие приложения, не являющиеся частью основного дистрибутива, помещаются в /opt, но в Linux он используется не часто. Если вы тщетно искали двоичный файл приложения в различных подкаталогах /usr, то может быть, он расположен где-то здесь [в некоторых дистрибутивах в /opt устанавливаются крупные приложения, такие как KDE, Gnome и OpenOffice.org. Обычно для них создается каталог с подходящим именем, внутренняя структура которого повторяет файловую систему Unix «в миниатюре»: здесь можно найти те же bin, lib и т.п, – прим. ред.].
/etc
Те же предупреждения верны и для каталога /etc – он содержит многие файлы конфигурации, отвечающие за корректную работу вашего компьютера. Например, здесь находится файл с именем fstab, разъясняющий Linux, как обращаться с различными монтируемыми файловыми системами. В системах на основе Debian в /etc/apt имеется файл sources.list, точно описывающий, откуда системе можно брать новые программы. Одним из наиболее важных подкаталогов здесь – и его регулярно нужно резервировать (см. предыдущий номер) – это rc.d; он содержит стартовые скрипты системы. Заглянув в каталог, вы увидите, что там больше одного rc.d. На самом деле их семь: rc0.d, rc1.d, rc2.d и так далее. Они соответствуют различным уровням запуска [runlevel], используемым в Linux.
Что такое уровень запуска? Он определяет количество запускаемых программ: будут ли это текстовые службы или полный графический интерфейс. Например, уровень запуска 1 обеспечивает простейшую реализацию системы (она полезна для поиска неисправностей, но вам вряд ли понравится), тогда как уровень запуска 5 – это полностью графическая загрузка с поддержкой сети, которую вы видите каждый день. Уровень запуска 0 – это выключение [halt], а 6 – перезагрузка. Пожалуй, с уровнями запуска связываться не стоит, но если, допустим, вы захотите перезагрузить машину из командной строки (от имени root), то можете просто набрать:
init 6
/mnt
Если вы вставите в компьютер CD, дискету или подключите переносной диск в USB-порт, то иконка носителя выскочит на рабочий стол или в меню Переход в Gnome так же шустро, как продавец сельской лавочки к покупателю. Теперь вы можете дважды щелкнуть на ней и получить доступ к содержимому при помощи вашего менеджера файлов. Если устройство не появилось там, где ожидалось, лучше всего поискать его в /mnt (от mount). Это каталог, в котором устройство подключается к иерархии Linux (учтите, некоторые дистрибутивы могут запутать вас, помещая сменные носители вроде CD и DVD в /media). Однако, поскольку мы живем в XXI веке, эти операции не должны требовать дополнительной помощи – ваши диски должны появляться магически.
Если вы все еще используете двойную загрузку Windows и Linux, то ваши Windows-диски также, скорее всего, появятся в каталоге /mnt. Однако вам следует знать, что хотя большинство дистрибутивов Linux без проблем осуществляют чтение/запись в старой файловой системе Windows FAT32, они не умеют работать с файловой системой NTFS, используемой большинством систем XP. [Это не совсем так: NTFS прекрасно поддерживается в режиме чтения. С записью данных на нее, действительно, могут возникнуть проблемы, – прим. ред.] Есть и обходные пути, основанные на свободных программах, что с каждым днем становятся лучше, но пока еще не слишком дружелюбны к начинающим.
=/dev
Желающим убедиться, что все в системе является файлом, лучшее всего смотреть именно в этом каталоге. Здесь будет несколько файлов, соответствующих разделам вашего жесткого диска (hda1, hda2), дисководу (fd0), CD (cdrom) и любому другому устройству (/dev – от device [устрой- ство]), подключенному к компьютеру. Но не думайте, что они статичны, только потому, что мы говорим о файлах. Например, все, что записывается в файл /dsp, будет переправлено через вашу звуковую систему на колонки. Чтобы увидеть этот эффект, вы можете взять любой файл, скормить его звуковой системе и услышать, как он звучит. Наберите
cat /etc/fstab > /dev/dsp
и услышите некий шум из динамиков (сначала убедитесь, что они не на максимуме!): это речи – интересные и бессмысленные одновременно – текстового файла!
/proc
Во время нашего прочесывания файловой системы вы могли отметить, что все рассмотренное нами является файлом. Часть системы, отвечающая за перевод перемещений мыши в движение курсора на экране – это файл, и нечто, информирующее компьютер, сколько пикселей и цветов отображает ваш монитор – тоже... файл.
Это верно и для Windows, но в системе Linux эти файлы более доступны и полностью поддаются редактированию. В прошлом, большая часть настройки системы состояла в поиске в каком-то Богом забытом каталоге текстового файла с расширением .conf и в последующей его правке от имени пользователя root. Не удивительно, что это казалось маргинальным хобби, и гарантия Debian была такова: если вы сломаете это, вам достанутся обе половины. Теперь большинство дистрибутивов поставляются с набором графических инструментов, преобразующих нажатия кнопок, флажков и манипуляции с полосами прокрутки в значения во все тех же .conf файлах. Но файлы остаются, вот почему современная система Linux пригодна и для новых пользователей, и хакеры ею довольны.
Это странная псевдофайловая система, находящаяся в памяти ОС и потому никогда реально не сохраняемая на физическом устройстве. proc происходит от process, потому что она хранит сведения обо всех процессах, запущенных на вашем компьютере. Процессами может быть все что угодно: от открытого web-браузера до работающего демона NTP, синхронизирующего часы вашего ПК с сервером в сети. То есть это динамический каталог, новая версия которого создается при каждой загрузке [на самом деле, содержимое каждого файла и каталога в /proc определяется непосредственно в момент их чтения и определяет самую свежую на тот момент информацию о состоянии вашей системы, – прим. ред.].
/var
Этот каталог является пристанищем данных, отправляемых из приложений на принтер. Интересного тут мало [спул принтера – лишь малая часть обязанностей каталога /var. В нем также хранятся системные журналы (/var/log), сведения о запущенных демонах (/var/run) и принятые сервером почтовые сообщения (/var/mail или /var/spool/mail), а в некоторых системах – документы, доступные через web-сервер, – прим. ред.].
/boot
После /, это первый каталог, к которому обращается компьютер после старта. Кроме файлов, связанных с вашим менеджером загрузки (Lilo или Grub), Linux хранит здесь действующее ядро ОС. Оставьте его в покое.
/lib
Любой, кто работал с Windows хоть какое-то время, сталкивался с DLL. DLL – это сокращение от dynamic linked library [динамически подключа- емая библиотека]. Подобные библиотеки имеются и в Linux, отсюда и /lib. Библиотеки – часть программного обеспечения, необходимая для работы других программ. Например, Gimp может открывать и записывать JPEG файлы благодаря библиотеке jpg, содержащей необходимую информацию для работы с этим форматом. Более того, другие приложения могут также использовать данную библиотеку. Навряд ли вы загляните в этот каталог, разве что из любопытства.
/lost+found
Этот каталог, который, кажется, назвал Баз Лурхман [Baz Lurhmann], вы должны посетить в первую очередь в случае перезагрузки после сбоя или нештатного окончания работы (например, из-за отключения питания). Linux любит выключаться правильно, а именно: все файловые системы размонтируются и все процессы уничтожаются до того, как штепсель выдернут из розетки (это одна из причин, почему можно не дефрагментировать ваш диск каждую неделю) [здесь автор заблуждается, – прим.ред.]. Таким образом, когда случается неожиданное выключение, Linux требует восстановления системы. После катастрофического сбоя первым произойдет запуск системы fsck, программы, которая просматривает ваши диски в поисках поврежденных файлов. Она попытается исправить любые найденные повреждения и поместит их в /lost+found.
/tmp
В Windows имеется каталог Temp, в Linux – /tmp. В этом месте ОС хранит данные, необходимые ей временно, типа файлов, загружаемых из Интернета и открытых в приложениях, но еще не сохраненные в обычном месте. Большинство Linux систем очищает этот каталог – удаляя все содержимое – во время загрузки, так что ничего в нем не храните!
Большинство из описанных в этом кратком обзоре каталогов мало интересны тем пользователям, которые хотят просто использовать свой компьютер, и верно также то, что вам не нужно понимать структуру ОС, чтобы продуктивно работать. Однако даже краткий экскурс под капот вашей системы – очень полезное упражнение. Поначалу он должен подвигнуть вас на дальнейшее изучение и эксперименты с вашим компьютером, чего отнюдь не советуют делать пользователям Windows и OS X. Не исключено, что вы доэкспериментируетесь до поломки компьютера [не физической – ваше оборудование останется в целости, но систему придется чинить или переустанавливать, – прим. ред.], это может быть весьма обидно. Вот прекрасный повод изучить одну из возможностей виртуализации, имеющихся в Linux. С каким-нибудь бесплатным VMware Player (http://www.vmware.com/products/player) вы можете играть и ломать все, что хотите, а потом отключите виртуальное устройство и перезагрузитесь по новой. Чем не отличная игра! LXF
Что за штука... журналируемая файловая система?
Описанная в данном уроке файловая система – это структура файлов Linux, т.е. схема того, как они расположены в операционной системе. Можете еще почитать о форматах файловых систем типа ext3 и ReiserFS (некорректно называемых просто ‘файловые системы’), являющихся структурами, разработанными для хранения и чтения данных с устройств вроде дисков и флэш-драйвов. Важно, чтобы данные, записанные на устройство, совпадали с данными, считанными с устройства – чтобы пользователь мог довериться целостности файловой системы. Файловая система также следит сама за собой: сколько осталось свободного места и так далее.
Журналируемая файловая система более пристально следит за деталями (называемыми метаданными), и при записи части информации выполняется несколько действий: данным выделяются блоки, указатель обновляется, обновляется размер файла, а затем записываются данные. Если этот прoцесс прервать, то нежурналируемая файловая система может оказаться «противоречивой», и fsck (см. /lost+found выше) при перезагрузке