пятница, 26 сентября 2008 г.

Я хочу установить Windows XP, а на ноутбуке стоит Windows Vista или DOS. Это возможно?

Возможно, но есть тонкости. Если прочитав написанное далее, Вы почувствуете, что чего-то не понимаете - лучше обратитесь в службу технической поддрежки производителя ноутбука, который Вы приобрели или к "знатокам-фрилансерам".
При установке, Windows XP может не обнаружить дисков на вашем ноутбуке. Проблема заключается в том, что большинство современных ноутбуков укомплектованы винчестерами типа SATA. Windows XP была выпущена значительно раньше, чем появился этот тип винчестеров, поэтому драйверов SATA в Windows XP нет. Для решения этой задачи можно воспользоваться одним из ниже описанных способов:

Самый простой способ:
Идея этого способа заключается в том, чтобы превратить винчестер нового типа в винчестер старого типа знакомого для Windows XP.
Перед установкой Windows XP зайти в BIOS и поменять режим работы винчестера с SATA на ATA. После этого установка Windows XP пройдёт без проблем. Но минус этого способа в том, что меняется режим работы винчестера в сторону более низкой производительности. Если попытаться после установки Windows XP поменять режим работы винчестера обратно, то Windows XP загружаться не будет, т.к. винчестер для неё становится снова невидимым. Если BIOS не поддерживает изменение режима работы винчестера, этот способ становится нереализуемым.

Способ посложнее:
Идея этого способа заключается в том, чтобы подгрузить недостающий драйвер с помощью внешнего носителя USB FDD, в момент инициализации устройств, при установке Windows XP.
Сначала необходимо скачать драйвер SATA для Windows XP под винчестер вашего ноутбука. Найти драйвер можно либо на сайтах производителя вашей модели ноутбука, или на других сайтах, где могут быть выложены подобные драйвера. После того, как драйвер скачен, вам понадобится USB FDD с дискетой, на которую нужно будет записать драйвер. С помощью USB FDD при установке Windows XP можно будет подгрузить драйвер SATA. Для этого, в момент инициализации устройств при установке Windows XP нужно будет нажать F6, когда такая возможность будет предложена установочной программой. После чего действовать согласно инструкциям установочной программы.
Но и при этом способе могут возникнуть сложности. Как их решить можно посмотреть в различных форумах, на которые вы сможете выйти, если наберёте в строке Яндекса фразу: «SATA под Windows XP на ноутбук».

Самый правильный способ:
Идея этого способа заключается в том, чтобы создать новый загрузочный диск с Windows XP в дистрибудив которой будут вшиты драйверы SATA.
Так же как и в предыдущем способе, необходимо предварительно скачать драйвер SATA для Windows XP под винчестер вашего ноутбука. Найти драйвер можно либо на сайтах производителя вашей модели ноутбука, или на других сайтах, где могут быть выложены подобные драйвера. Далее необходимо скачать программу nLite и интегрировать в имеющийся дистрибутив Windows XP драйвера SATA. Узнать, как это сделать, можно прочитав инструкцию по работе с программой nLite. Инструкции по работе с nLite также можно найти с помощью поисковых систем типа Яндекс.
источник

iPhone vs. T-mobile G1 - 10 доводов в пользу G1

Итак, Android официально начал борьбу за место в кармане покупателей. Новый телефон, T-mobile G1 имеет недостатки, в частности отсутствие системы multi-touch и акселерометра, но стоит разобраться, что лучше: iPhone или G1?

att_google_android

10 признаков того, что G1 лучше iPhone:

  • Открытая OC. Android – открытая операционная система, это означает, что появится больше бесплатных программ и игр, больше чем сможет предложить магазин AppStore.

  • Android получил интеграцию с он-лайн программами. Мы получим доступ к специальным, улучшенным версиям проектов Google Docunents, Talk и Calendar, в добавок ко всему вы получите навигацию, основанную на картах Google.
    HTC_android_g1-728-75
  • Быстрее! Быстрее! Быстрее! Если судить о работе ОС Android по тому что мы видели ранее можно сделать единственный вывод – это невероятно быстро! И в отличие от iPhone интерфейс не перегружен бессмысленными виджетами и прочим мусором.
  • Лучше железо. Наверное единственное узкое место для G1. Но если учесть что свет увидела только одна модель на основе Android, то стоит ждать более технологичные решения, которые заставят яблочный телефон нервно курить в встороне.
    lg_kc910-728-75
  • Форм-фактор. iPhone всегда оставался моноблоком, выполненном в одном дизайне (менялись лишь аппаратные средства, и то незначительно). Android будет доступен в нескольких вариантах, и помимо слайдера, что уже появился в продаже мы увидим модели другого форм-фактора, скорее всего более технологичные и дорогие.
  • G1 не будет ограничен компанией Apple. Начиная с номера 6 в моделях телефонов на Android телефоны не будут привязаны к оператору, в отличие от iPhone. Это даст большее распространение и, следовательно, больше поклонников.
  • Лучше клавиатура. Мы достаточно намучались вводя текст с экранной клавиатуры iPhone… можно с уверенностью сказать, что у G1 лучшая клавиатура для мобильных устройств, которая когда либо существовала.
  • Поддержка большего количества форматов мультимелиа. Об этом и говорить нечего. iPhone в каком-то смысле ограниченная модель, и значит потеряет часть потзователей в пользу G1.
  • С G1 вам не нужно прятаться от хакеров. Конечно, ожидается что появятся взломы андроид-телефонов. Но вспомните, у него открытая система. Внутренняя настройка станет нормой, а не исключением.
  • Неограниченные приложения. Apple ограничила загрузку приложений из AppStore. В частности наложив запрет на Murderdome. С Android такого не будет

Как я оптимизировал систему: Ubuntu 8.04 Hardy

Вчера собрался ускорить работу(получилось достаточно ощутимо) и загрузку системы(30 секунд, против полутора минут), почитал многие how-to.
Опишу что и где я улучшал. Итак о способах, по порядку.

1. Прописываем hostname.
sudo vim /etc/hosts
Было:
127.0.0.1 localhost
127.0.1.1 lib

Стало:
127.0.0.1 localhost lib
127.0.1.1 lib

Подписываем то, что справа от вызова консоли находится, например: lib@laptop:~$, то вписываем laptop.
Это несколько ускоряет загрузку системы, и ускоряет запуск некоторых программ.

2. Использование ядра, сконфигурированного под Вашу систему, подробнее как можно собрать ядро в Ubuntu. По ссылке написано, как собирается ядро для 6.10, однако советы справедливы и для 8.04.

3. Несколько ускоряем работу ext3 файловой системы:
sudo vim /boot/grub/menu.lst
Добавляем в существующие строки:
# defoptions=quiet splash rootflags=data=writeback
# altoptions=(recovery mode) single rootflags=data=writeback
У меня в defoptions убран quiet и splash дополнительно, и добавлен vga=0x324, для framebuffer.
Обновляем grub.
sudo update-grub
Правим fstab:
sudo vim /etc/fstab
В моём случае, добавляем data=writeback:
UUID=32903d9a-98a8-4048-8472-a0896b81b3fa / ext3 relatime, errors=remount-ro, noatime,data=writeback 0 1
Выполняем:
sudo tune2fs -o journal_data_writeback /dev/sda1
/dev/sda1 это имя раздела, на котором лежит /
Проверяем:
sudo tune2fs -l /dev/sda1
Этот метод череват тем, что можете потерять некоторые данные при неожиданном выключении системы, например если у вас неожиданно отключилось питание(мне это не грозит, поскольку у меня ещё батарея есть)

4. Несколько ускоряем сеть(отключаем IPv6):
sudo vim /etc/modprobe.d/bad_list
Добавляем: alias net-pf-10 off
В about: config в Firefox отключаем network.dns.disableIPv6, ставим true.
Там же:
network.http.pipelining true
network.http.pipelining.firstrequest true
network.http.pipelining.maxrequests 8
network.http.proxy.pipelining true
nglayout.initialpaint.delay browser.turbo.enabled true
network.http.max-connections-per-server 8
network.http.max-persistent-connections-per-proxy 8
network.http.max-persistent-connections-per-server 8

Это ускорит загрузку страниц.
Добавляем в /etc/environment:
MOZ_DISABLE_PANGO=1
Это позволит ускорить отрисовку страниц в Firefox.

5. Убираем ненужные консоли(которые вызываются по Ctrl+Alt+F1..8):
sudo rm /etc/event.d/tty[3-6]
6. Ускоряем загрузку системы:
sudo vim /etc/init.d/rc
Выставляем: CONCURRENCY=shell
Это устанавливает множественную загрузку в одно и то же время, особенно хороший эффект имеет, если у Вас многоядерная система.
7. Удаляем ненужные сервисы из загрузки:
sudo aptitude install sysv-rc-conf
sudo sysv-rc-conf

Подробно о сервисах написано на ubuntuforums.org
Дополнительно я отключал apache и mysql, я их запускаю непосредственно, когда хочу поработать с локальным вебсервером.

8. Если у Вас постоянное подключение к интернету, добавляем в /etc/sysctl.conf.
# Tweaks for faster broadband…
net.core.rmem_default = 524288
net.core.rmem_max = 524288
net.core.wmem_default = 524288
net.core.wmem_max = 524288
net.ipv4.tcp_wmem = 4096 87380 524288
net.ipv4.tcp_rmem = 4096 87380 524288
net.ipv4.tcp_mem = 524288 524288 524288
net.ipv4.tcp_rfc1337 = 1
net.ipv4.ip_no_pmtu_disc = 0
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_ecn = 0
net.ipv4.route.flush = 1


Всё это позволило мне ускорить работу системы на порядок, однако есть ещё пара способов, которые я рекомендовать не могу, поскольку не совсем понимаю как они работают, а именно:
установленный пакет preload(sudo aptitude install preload), prelink(sudo aptitude install prelink)
Подробнее о prelink здесь.

Удачного использования!
источник

четверг, 25 сентября 2008 г.

Thunderbird и другие пернатые

Не так давно я начал использовать GMail в качестве основного почтового адреса. И сразу же обнаружил, что MS Outlook является далеко не идеальным IMAP-клиентом для GMail. Я не говорю, что Outlook плох - я сам пользовался им много лет и считал, что для корпоративного использования это "самое оно". Но если использовать его с IMAP-аккаунтом (не обязательно GMail'овским), да еще после того, как долго пользовался почтой MS Exchange, а потом удалил эксченджевский аккаунт... Упаси меня Господи!:-) В таком случае Outlook полностью оправдывает свое прозвище - Аутглюк.:-)

Что ж, я стал искать идеальный GMail-клиент. Начал я со SpiceBird (http://www.synovel.com/Spicebird), который на многих блогах назван "убийцей MS Outlook". Скачал, попробовал. Да, очень неплохо. Порадовал удобный и продуманный интерфейс в виде вкладок, календарь "из коробки", стартовая страница, на которую можно навешать апплетов (в т.ч. часы, RSS, содержимое инбокса и текущие события в календаре), сам стиль этой "пряной птицы". В то же время, отпугнуло то, что многие аддоны от Thunderbird к Spicebird не подошли, календарь не удалось связать с гугловским, плюс множество других мелких неприятностей. Что ж, это ведь всего навсего бета-версия 0.4. Продукт, бесспорно, очень многообещающий и я обязательно еще к нему вернусь, попробую новые версии (тем более, что авторы обещают поддержку Exchange и другие "вкусности"), но пока что пользоваться им рано. Пришлось снести...

image

Что ж, вернулся к прародителю Spicebird, а именно Thunderbird (http://www.mozilla.com/en-US/thunderbird/). Когда-то я уже пробовал Thunderbird (http://liketaurus.livejournal.com/17474.html, http://liketaurus.livejournal.com/19666.html) и мне эта софтинка очень понравилась, но в то время я пользовался Exchange'вским аккаунтом, с которым "громовая птичка" не очень дружила. Теперь же у меня появилась надежда на то, что с Gmail она уживется лучше. Скачал. Установил. Настроил почту пользуясь инструкцией от Google (http://mail.google.com/support/bin/answer.py?hl=en&answer=77662). Настроил все папки для оффлайнового использования (Tools > Account Settings - Offline & Disk Space).

image

Скачал и установил Lightning (http://www.mozilla.org/projects/calendar/lightning/) - куда же без календаря? Скачал Provider for Google Calendar (https://addons.mozilla.org/en-US/thunderbird/addon/4631), обеспечивающий двунаправленную синхронизацию с гугловским календарем. Создал новый календарь, указав, что он гугловский, и введя URL к XML-версии календаря (открыл свой гугловский календарь в браузере, выбрал его в списке календарей в левой части страницы, нажал на маленький треугольник справа от названия календаря и выбрал Calendar Settings; затем внизу страницы настроек щелкнул правой кнопкой мыши на иконке XML и выбрал Copy Link Location). Подключил расшаренные со мной календари коллег (все точно так же, как и с моим календарем, только урлы другие - их тоже можно достать в Calendar Settings для расшаренных календарей). Скачал календари Ukraine Holidays (http://www.mozilla.org/projects/calendar/caldata/UkraineHolidays.ics) и US Holidays (http://www.mozilla.org/projects/calendar/caldata/USHolidays.ics) и подключил их тоже. Здорово, работает. Но раздражают две вещи - я так и не смог настроить календарь для оффлайнового использования, а кроме того, все события из всех календарей (и моего и коллег) сыпятся в одну кучу. Цвет у них, конечно, разный, но все равно все вместе. Мне больше нравится, как в Outlook - просто рядом открыты несколько календарей. Кстати, замечательная программа для двунаправленной синхронизации гугловского и аутлуковского календарей - gSyncIt (http://www.daveswebsite.com/software/gsync/) делает все правильно и показывает календари именно так - раздельно (хотя можно настроить и так, чтобы все валилось в кучу).

На этом можно было бы и остановиться, но я решил еще сильнее расширить функциональность Thunderbird (а надо сказать, что такая расширяемость, как у "громовой птички" аутлуку и не снилась) и установил еще ряд расширений. Наример, словарь для проверки русской орфографии (https://addons.mozilla.org/en-US/thunderbird/addon/3058) и Dictionary Switcher (https://addons.mozilla.org/en-US/thunderbird/addon/3993) - теперь при написании письма я могу легко переключить словарь для проверки орфографии одним щелчком в правой части строки статуса (английский словарь имеется уже "из коробки").

Еще я поставил Contact Sidebar (http://jpeters.no-ip.com/extensions/?page=tb_cs) для быстрого доступа к контактам, Signature Switch (https://addons.mozilla.org/en-US/thunderbird/addon/611) для быстрого и удобного переключения подписей к письмам, как в аутлуке, xSearchBar (http://forum.addonsmirror.net/lofiversion/index.php?t6675.html) для отображения строки поиска, и ThunderBrowse (http://thunderbrowse.com/), который научил "птичку" открывать браузер в панели чтения. Все! Можно, конечно, еще какую-нибудь тему оформления подобрать по вкусу, но это не обязательно - "птичка" и так выглядит довольно стильно.:-)

Кастомизированный таким образом Thunderbird мне очень нравится, для меня он более удобен, чем аутлук (не говоря уже о том, что он намного легче и шустрее, чем майкрософтовский монстр, а функционал "птицы" можно расширять до бесконечности). Единственное, что еще хотелось настроить - это любимые RSS. Как чтение RSS реализовано в Thunderbird - я не искал, т.к. удовольствовался еще одным представителем семейства пернатых, а именно RSSOwl (http://www.rssowl.org/). Это чудесный RSS-ридер, который, я подключил к Thunderbird через аддон под названием Custom Buttons2 (https://addons.mozilla.org/en-US/firefox/addon/5066).

Правда, чтобы сделать в панели инструментов Thunderbird кнопку для запуска RSSOwl, мне пришлось перелопатить форум на http://custombuttons2.com/ и в конце концов я вычитал, что надо сделать новую кнопку, для которой указал картинку (например, логотип RSSOwl), а во вкладке Initialization Code написать такое:

var label='RSSOwl';
var path='d:/programs/rssowl/rssowl.exe';
//var path='d:/programs/rssowl/rssowl.exe';
var args='';

this.label=label;
this.setAttribute('oncommand','this.startProcess("'+path+'","'+args+'")');
this.tooltipText = label;

this.startProcess=function(path,args){
var file = Components.classes['@mozilla.org/file/local;1']
.createInstance(Components.interfaces.nsILocalFile);
var process = Components.classes['@mozilla.org/process/util;1']
.getService(Components.interfaces.nsIProcess);
file.initWithPath(path.replace(/\//g,'\\\\'));
// file.launch();
process.init(file);
process.run(false,[args],1);
}

Да, еще я хочу настроить в Thunderbird свои POP-аккаунты и попробовать расширение WebMail (http://webmail.mozdev.org/installation.html), дающее возможность работать с Hotmail.

P.S. В настройке "громовой птички" может очень помочь неплохое руководство по использованию Thunderbird в качестве бескомпромисного IMAP-клиента от Джины Таранти - http://lifehacker.com/software/geek-to-live/turn-thunderbird-into-the-ultimate-gmail-imap-client-314574.php.

P.P.S. А еще в Thunderbird можно импортировать старые письма из аутлука (Tools > Import...). Впрочем, я делать этого не стал, а воспользовался еще одной чудесной бесплатной программой MailStore (http://www.mailstore.com/en/mailstore-home.aspx), чтобы сделать почтовый архив с возможностью просмотра, расширенного поиска, экспорта, записи на CD/DVD, открытия сообщений в почтовых клиентах и т.д.

P.P.P.S. А вообще, я не очень-то доволен гугловскими приложениями. Да, гугловская почта different, но уж слишком она different - структура папок, например, очень странная. Правда, 25Гб места тоже что-то значат... Да, спам фильтруется, но в спам или в junk mail часто попадают нужные мне письма (эксчендж такого себе не позволял). Контакты хранятся преотвратнейшим образом, причем нет расшаренной между нами адресной книги! Календари, как я уже говорил, валятся все в одну кучу. Правда, радует возможность SMS-уведомлений и подписка на расписание дня. Про Google Docs говорить я не хочу вообще - вещь абсолютно игрушечная, по степени готовности похожая на студенческую дипломную работу. Посмотрели бы гугловцы, хотя бы, на Zoho Office (http://www.zoho.com/) и поучились бы...

источник

среда, 24 сентября 2008 г.

Иерархия каталогов и файловых систем в Linux

Виктор Костромин
24.04.2003, Открытые системы, #04/2003

Cтруктура каталогов понятие чисто логическое и к реальным механизмам работы с файлами отношения не имеет. Каждая конкретная операционная система могла бы строить ее по-своему, что привело бы к несовместимости и непереносимости программ. Группой энтузиастов был разработан стандарт FHS иерархии файловых систем для Unix-подобных операционных систем.

Любой пользователь знаком сегодня с понятиями файла и каталога (с точки зрения Unix каталог тот же файл) [1-3]. Группой энтузиастов из сообщества разработчиков программ с открытым кодом была предложена спецификация структуры каталогов для Unix-подобных систем, так называемый стандарт иерархии файловых систем (Filesystem Hierarchy Standard, FHS).

Работа над FHS началась в августе 1993 года с попытки упорядочить структуру файлов и каталогов Linux. Вначале его называли проектом стандартов файловой системы Filesystem Standards Project (FSSTND), а первая версия была выпущена 14 февраля 1994 года. В начале 1995 года была поставлена задача по созданию более общей версии FSSTND, предназначенной не только для Linux, но и для других Unix-подобных систем, в первую очередь BSD 4.4. Учитывая расширение сферы действия стандарта, его переименовали в FHS (www.pathname.com/fhs). Стандарт вобрал положительные качества, присущие BSD и другим системам в части поддержки различных архитектур и учета требований работы в гетерогенных сетях.

Во-первых, учитывалось, что, хотя в Unix-подобных системах структура каталогов представлена в виде единого дерева, отдельные его «ветви» могут располагаться на разных носителях или в разных файловых системах. Размещение файлов на разных носителях позволяет оптимизировать процессы загрузки, последующего функционирования и возможного обновления системы. При этом файловые системы могут физически располагаться на разных компьютерах и быть различными по своей внутренней организации (ext2fs, vfat и т.д.). Во-вторых, любая Unix-система — система сетевая. Поэтому при размещении отдельных файлов в различных частях файловой структуры учитывалось, что некоторые файлы должны быть доступны с других компьютеров в сети, а к другим файлам доступ по сети необходимо ограничить. Группа неразделяемых файлов вычленяется как по соображениям безопасности, так и просто потому, что эти файлы определяют локальную конфигурацию системы и поэтому нужны только на данном компьютере. Выделение группы разделяемых файлов позволяет также экономить общее дисковое пространство. В третьих, существуют файлы, изменять которые может только администратор, и те, которые любой пользователь может менять самостоятельно. К числу статических относятся исполняемые файлы, библиотеки, документация и др. Для рядовых пользователей эти файлы должны быть доступны только на чтение. Знание этих предпосылок помогает понять логику размещения отдельных файлов и каталогов в структуре каталогов, предлагаемой стандартом FHS.

Корневой каталог

Стандарт FHS предлагает создать в корневом каталоге следующие подкаталоги:

  • bin - файлы основных команд (утилит), которые необходимы, когда никакая другая файловая система еще не смонтирована (например, в однопользовательском режиме);
  • boot - неизменяемые файлы, необходимые для загрузки системы;
  • dev - файлы устройств;
  • etc - файлы конфигурации системы на данном компьютере;
  • home - домашние каталоги пользователей (факультативно);
  • lib - основные разделяемые библиотеки и модули ядра;
  • lib - основные разделяемые библиотеки для альтернативных форматов (факультативно);
  • mnt - точку монтирования для временно подключаемых файловых систем;
  • root - домашний каталог пользователя root (факультативно);
  • opt - дополнительные пакеты программного обеспечения;
  • sbin - основные системные исполняемые файлы;
  • tmp - временные файлы;
  • usr - иерархию второго уровня;
  • var - переменные данные.

В соответствии с требованиями стандарта приложения не должны создавать файлы и каталоги или требовать наличия каких-то специальных файлов и каталогов (помимо перечисленных) в корневом каталоге. Во-первых, размер корневой файловой системы желательно сохранять по возможности малым, а во-вторых, стандарт FHS обеспечивает достаточную гибкость и удобство размещения файлов, не попавших в корневую систему, в других файловых системах и подкаталогах. Некоторые подкаталоги корневого каталога факультативны. Но уж если они существуют, то должны размещаться в корневом каталоге, но не обязательно в корневой файловой системе.

Каталог /bin содержит команды, которые могут использоваться как администратором, так и рядовыми пользователями, причем только те команды, которые необходимы, когда никакая другая файловая система, кроме корневой, еще не смонтирована (например, в однопользовательском режиме). Те утилиты, которые не так важны, чтобы размещаться в корневой файловой системе, должны размещаться в каталоге /usr/bin. В /bin обязательно должны иметься следующие команды (или символические ссылки на них): cat, chgrp, chmod, chown, cp, date, dd, df, dmesg, echo, false, hostname, kill, ln, login, ls, mkdir, mknod, more, mount, mv, ps, pwd, rm, rmdir, sed, sh, stty, su, sync, true, umount, uname, csh, ed, tar, cpio, gzip, gunzip, zcat, netstat, ping. В каталоге /bin не должно быть подкаталогов.

Каталог /boot содержит все, что необходимо в процессе загрузки, исключая конфигурационные файлы и установщика карты загрузки. Ядро операционной системы должно располагаться либо в корневом каталоге /, либо в /boot; программы, необходимые загрузчику для организации загрузки файлов, должны размещаться в /sbin, а конфигурационные файлы загрузчика — в /etc.

/dev — место расположения специальных файлов устройств. На случай, если потребуется создавать файлы устройств вручную, каталог /dev должен содержать команду MAKEDEV, которая может создать файл устройства в случае необходимости.

Каталог /etc содержит конфигурационные файлы и каталоги, специфичные для данной конкретной системы, но в нем не должно быть двоичных файлов. В соответствии со стандартом FHS каталог в обязательном порядке должен содержать подкаталог /opt, в котором должны размещаться подкаталоги с конфигурационными файлами отдельных пакетов и приложений. Для каждого установленного пакета должен создаваться конфигурационный каталог /etc/opt/package. В каталоге /etc должны содержаться следующие каталоги и файлы:

  • /X11 - конфигурационные файлы X Window;
  • /sgml - конфигурационные файлы для SGML и XML;
  • csh.login - общесистемный инициализационный файл для csh;
  • exports - список контроля доступа для сетевой файловой системы NFS;
  • fstab - постоянная информация для монтирования файловых систем;
  • ftpusers - список контроля доступа для демона FTP;
  • gateways - список шлюзов для демона routed;
  • gettydefs - установки терминала, используемые демоном getty;
  • group - список групп пользователей в системе;
  • host.conf - файл конфигурации для системы разрешения имен;
  • hosts - постоянная информация об именах хостов;
  • hosts.allow - список хостов, с которых разрешен доступ в систему;
  • hosts.deny - список хостов, с которых запрещен доступ в систему;
  • hosts.equiv - список доверенных хостов для rlogin, rsh, rcp;
  • hosts.lpd - список доверенных хостов для демона печати lpd;
  • inetd.conf - конфигурационный файл для демона inetd;
  • inittab - конфигурационный файл для демона init;
  • issue - сообщение, выдаваемое системой до регистрации пользователя;
  • ld.so.conf - список каталогов для поиска разделяемых библиотек;
  • motd - сообщение, выдаваемое системой после регистрации пользователя;
  • mtab - динамически изменяющаяся информация о смонтированных файловых системах;
  • mtools.conf - конфигурационный файл для mtools
  • networks - статическая информация о сетевых именах;
  • passwd - файл паролей пользователей;
  • printcap - база данных с настройками принтеров для демона lpd;
  • profile - общесистемный файл инициализации для оболочки, запускаемой при входе пользователя в систему;
  • protocols - перечень IP-протоколов;
  • resolv.conf - конфигурационный файл для системы разрешения имен;
  • rpc - перечень протоколов удаленного вызова процедур;
  • securetty - файл со списком устройств, с которых может заходить пользователь root;
  • services - имена портов для сетевых служб;
  • shells - список имеющихся в системе оболочек;
  • syslog.conf - конфигурационный файл для демона syslogd.

Файл mtab не соответствует неизменяемой природе файлов, размещенных в /etc, и помещен в данный каталог в виде исключения, по историческим причинам.

В небольших системах каждый домашний каталог пользователя является одним из непосредственных подкаталогов каталога /home, таких как /home/smith, /home/operator и т.д. В больших системах (особенно когда каталоги /home являются разделяемыми между многими хостами) полезно объединить домашние каталоги в группы, введя подкаталоги групп, такие как /home/staff, /home/students. Поскольку структура домашних каталогов различается от хоста к хосту, никаких требований на нее не налагается.

/lib содержит разделяемые библиотеки, необходимые для загрузки системы и запуска команд из каталогов /bin и /sbin. По крайней мере, один из файлов, соответствующих каждому из следующих шаблонов, должен найтись в данном каталоге (это могут быть либо реальные файлы, либо символические ссылки): libc.so.*, динамически подсоединяемые библиотеки Cи; ld*, загрузчик/ времени выполнения. Не должны располагаться в /lib разделяемые библиотеки, которые необходимы только исполняемым файлам, расположенным в /usr (таким, как двоичные файлы X Window). В частности, библиотека libm.so.* может быть расположена в /usr/lib, если она не требуется никаким программам из /bin или /sbin. Может существовать более одного варианта каталога /lib в системах, поддерживающих более одного формата исполняемых файлов (например, 32–разрядные и 64-разрядные форматы), при этом для каждого формата требуется свой отдельный вариант разделяемых библиотек (которые могут называться /lib32 и /lib64).

/mnt предназначен для временного монтирования файловых систем по мере необходимости. Содержимое этого каталога индивидуально для каждой системы и не должно никаким образом влиять на работу запускаемых программ.

/opt резервируется стандартом FHS для установки дополнительных программных пакетов. Предполагается, что любой такой пакет должен размещать свои статические файлы в отдельной структуре /opt/, где — название пакета. Исполняемые программы располагаются в каталоге /opt//bin, а в /opt//man размещаются страницы обычного для Unix интерактивного руководства man. Файлы пакета, которые являются переменными (изменяемыми при выполнении стандартных операций), должны устанавливаться в /var/opt, а специфичные для хоста конфигурационные данные должны устанавливаться в /etc/opt. Никакие файлы пакета не должны размещаться вне каталогов /opt, /var/opt и /etc/opt, кроме тех файлов, которые должны оказаться в других местах по той причине, что иначе пакет не сможет функционировать нормально. Например, файлы блокирования устройств должны располагаться в /var/lock, а файлы устройств должны располагаться в /dev.

/root — домашний каталог суперпользователя. Рекомендуемое место его расположения — корневая файловая система. В FHS подчеркивается, что учетная запись суперпользователя должна использоваться исключительно для системного администрирования и его не рекомендуется расходовать для выполнения задач, которые могут быть выполнены непривилегированным пользователем. По этой причине не стоит размещать в root подкаталоги для почты и других приложений. Почта для таких администраторских ролей, как root, postmaster и webmaster должна пересылаться соответствующему пользователю.

/sbin содержит утилиты для выполнения задач системного администрирования (и другие команды, используемые только пользователем root). Этот каталог содержит исполняемые файлы, необходимые для загрузки системы и ее восстановления в различных ситуациях (restoring, recovering, and/or repairing the system), не попавшие в каталог /bin. Единственная команда, которая обязательно должна присутствовать в /sbin, — shutdown. К примеру, команда ping, хотя она абсолютно необходима суперпользователю, часто используется и рядовыми пользователями, и по этой причине должна размещаться в /bin. Авторы стандарта рекомендуют предоставить всем пользователям право на чтение и выполнение для всех файлов, расположенных в /sbin, кроме, может быть тех программ, для которых установлены биты setuid и setgid. Разделение каталогов /bin и /sbin делается с целью установления явного различия между исполняемыми файлами, которые используются всеми, и теми утилитами, которые в основном используются для решения административных задач. С точки зрения безопасности нет никаких преимуществ в том, чтобы сделать /sbin недоступным для пользователей.

Каталог /tmp предназначен для хранения временных файлов, создаваемых в процессе работы различных программ. Рекомендуется удалять все файлы и каталоги в /tmp при каждой загрузке системы.

Для сохранения совместимости со старыми системами (до тех пор, пока все реализации не начнут использовать каталоги, размещенные непосредственно в /var) могут создаваться следующие символические ссылки:
/usr/spool -> /var/spool
/usr/tmp -> /var/tmp
/usr/spool/locks -> /var/lock

Каталог /usr/local используется для установки программ, которые будут использоваться локально в рамках данного хоста. Он может использоваться для программ и данных, не попавших в каталог /usr, доступ к которым разрешен с других хостов. Этот каталог не должен перезаписываться при обновлениях системного программного обеспечения. Поскольку в этот каталог устанавливаются программные пакеты, в нем создается структура подкаталогов, аналогичная структуре корневого каталога и каталога /usr.

/usr/share содержит все файлы, которые предназначены только для чтения и не зависят от архитектуры. Скажем, компьютеры на платформах i386, Alpha и PowerPC могут поддерживать один общий каталог /usr/share, который монтируется на остальных компьютерах. Примерами файлов, которые размещаются в этом каталоге, могут служить файлы документации (man, doc) или базы данных (dict, terminfo, zoneinfo). Любая программа или пакет, который содержит или требует данных, не подлежащих модификации, должны хранить эти данные в каталоге /usr/share (или /usr/local/share, если пакет установлен локально). В каталоге /usr/share создаются следующие подкаталоги или символические ссылки:

  • man — интерактивные руководства;
  • misc — различные архитектурно-независимые данные, для которых не требуется отдельный подкаталог в /usr/share;
  • dict — словари (факультативно), обычно здесь находится только файл words для английского языка, который используется утилитой look и различными программами проверки правописания; списки слов для других языков могут быть добавлены, используя английское название соответствующего языка, например, /usr/share/dict/french, /usr/share/ dict/danish и т.д.;
  • doc - различная документация (факультативно);
  • games - файлы статических данных для /usr/games (факультативно);
  • info - основной каталог для системы GNU Info (факультативно);
  • locale - локальная информация (факультативно);
  • nls - каталоги сообщений для поддержки языков (факультативно);
  • sgml - данные для SGML и XML (факультативно);
  • terminfo - каталог базы данных для terminfo (факультативно);
  • tmac - макросы для troff (факультативно);
  • zoneinfo - конфигурационные файлы и информация о временной зоне (факультативно).

Данные игровых программ, сохраняемые в /usr/share/games, должны быть статическими. Любые модифицируемые файлы, такие как файлы с протоколами и результатами игр, должны размещаться в каталоге /var/games.

Как известно, страницы интерактивного руководства man традиционно разбиты на секции. Для каждой секции создается отдельный каталог с именем //manN/, где — указание на архитектуру (например, i386), а строка определяет язык, страну и кодировку и имеет следующий формат:
[_][.][,].

Каталог /var содержит файлы с изменяющимися данными: каталоги и файлы очередей, данные об администрировании, временные файлы. Некоторые части каталоговой структуры /var не являются разделяемыми между разными системами. К ним относятся /var/log, /var/lock и /var/run. Другие части могут быть разделяемыми, например, /var/mail, /var/cache/man, /var/cache/fonts и /var/spool/news. Структура каталогов /var определяется в стандарте FHS с той целью, чтобы сделать возможным монтирование каталога /usr в режиме только для чтения. Все, что записывается на диск в процессе выполнения системных операций (в противоположность процессам установки и поддержки программ), должно размещаться в каталоге /var. Несколько подкаталогов «зарезервированы» — они не должны использоваться произвольным образом, поскольку это противоречит сложившейся практике: /var/backups, /var/cron, /var/msgs,
/var/preserve.

Приложения в общем случае не должны добавлять каталоги непосредственно в /var. Такие каталоги должны создаваться в соответствующих подкаталогах. Каталог /var/cache предназначен для кэширования данных приложениями. В отличие от /var/spool, кэшированные файлы могут быть удалены без потери данных. Но эти данные должны сохраняться между сеансами работы приложения и при перезагрузках системы. Приложение должно всегда иметь возможность продолжить работу, даже после удаления этих файлов администратором (например, при нехватке дискового пространства). Существование отдельного каталога для кэшируемых данных позволяет системным администраторам устанавливать для этого каталога правила использования и резервного копирования, отличающиеся от правил, устанавливаемых для других каталогов в /var. Обычно в этом каталоге создаются подкаталоги fonts (локально сгенерированные шрифты), man (локально отформатированные страницы руководства), www (кэш данных для WWW-прокси), (кэшируемые данные пакета ). /var/cache/man предусмотрен для сайтов, в которых файловая система /usr монтируется только на чтение, но в них допускается создание страниц руководства, отформатированных локально. Сайты, в которых /usr монтируется с правом записи (например, когда у системы всего один пользователь) могут не создавать каталога /var/cache/man, а использовать вместо него каталоги cat

непосредственно в /usr/share/man.

Файлы блокирования устройств и других ресурсов, используемые многими приложениями, такие как файлы блокирования последовательных портов, должны храниться в каталоге /var/lock. Названия этих файлов должны формироваться в соответствии с соглашением, согласно которому используется префикс «LCK..», за которым следует базовое имя устройства. Файлы блокирования в /var/lock должны быть всем доступны по чтению.

Каталог /var/log содержит разнообразные файлы протоколов: lastlog (запись о последнем входе в систему каждого пользователя); messages (системные сообщения от syslogd); wtmp (записи о всех входах и выходах пользователей в систему).

Область спулинга для почты должна размещаться в каталоге /var/mail, а имена файлов с сообщениями должны иметь вид . Файлы почтовых ящиков в этих каталогах должны храниться в формате стандартных почтовых ящиков Unix.

Переменные данные для пакетов, установленных в /opt, должны размещаться в /var/opt/, где — название структуры каталогов в /opt, в которой хранятся статические данные дополнительного пакета ПО, исключая те случаи, когда размещение явно указано в каком-либо файле из /etc. На внутреннюю структуру каталога /var/opt/ никаких ограничений не накладывается.

Каталог /var/run содержит данные, описывающие состояние системы с момента ее загрузки. Программы могут иметь подкаталоги в каталоге /var/run, тем более, если они используют более одного файла времени выполнения. В этом каталоге должны быть, в частности, размещены файлы с идентификаторами запущенных процессов (PID). Соглашение об именах этих файлов следующее: .pid. Содержимое PID-файла представляет собой идентификатор процесса в коде ASCII, записанный в десятичной нотации, за которым следует символ конца строки. Например, если crond запущен как процесс с номером 25, /var/run/crond.pid будет содержать три символа: два, пять и символ новой строки. В /var/run расположен также файл utmp, в котором хранится информация о том, кто в данный момент использует систему. Непривилегированные пользователи должны быть лишены права записи в каталог /var/run.

Каталог /var/spool содержит данные, которые ожидают какой-то последующей обработки: подкаталоги lpd (спулинг для принтера), mqueue (очередь исходящей почты), news (спулинг новостей), uucp (спулинг для UUCP) и т.п.

Каталог /var/tmp используется программами, которым требуется временные файлы или каталоги для хранения данных, сохраняемых между перезагрузками системы.

Иерархия файловых систем

В корневой файловой системе должна находиться информация для загрузчика и основные файлы, необходимые в процессе старта системы (например, ядро). Здесь же должны размещаться файлы конфигурации и все, что необходимо для монтирования других файловых систем, включая такие утилиты, как mount. Чтобы обеспечить возможность восстановления системы после сбоев, в корневой файловой системе должны присутствовать все утилиты, необходимые администратору для диагностирования проблем и реконструкции системы после любой аварийной ситуации. Здесь же должны быть расположены и те утилиты, которые необходимы для восстановления данных с резервных копий.

По ряду причин размер корневой файловой системы желательно сделать достаточно малым.

  • Иногда приходится монтировать корневую файловую систему с носителя малого объема.
  • Корневая файловая система обычно содержит неразделяемые файлы, специфичные для конкретной системы. Разделяемые файлы можно разместить на сетевых дисках. Это позволяет использовать в качестве рабочих станций в сети компьютеры с маленькими по объему локальными жесткими дисками.
  • Маленькая корневая файловая система менее подвержена разрушению в случае сбоев.
  • Из стандарта можно сделать вывод о том, что в корневой файловой системе обязательно должны целиком располагаться каталоги /bin, /dev, /etc, /lib, /sbin и, возможно, /root.
  • Каталог /boot в силу аппаратных ограничений может оказаться необходимым разместить на отдельном разделе диска, расположенном целиком в пределах первых 1024 цилиндров загрузочного диска.
  • Остальные подкаталоги корневого каталога (home, mnt, opt, tmp, usr, var) могут размещаться в других файловых системах (на других разделах или дисках). Более того, в стандарте явно постулируется, что в каталогах /usr, /opt и /var размещаются такие файлы, которые могут располагаться в других разделах диска или в других файловых системах. Разработчики стандарта советуют в том случае, когда /var не может быть размещен в отдельном разделе диска, переместить каталог /var из корневого раздела в раздел с каталогом /usr. Однако /var нельзя делать ссылкой на /usr потому что это затрудняет разделение /usr и /var и может привести к конфликту имен, лучше уж сделать /var ссылкой на /usr/var.

Отметим, что в статье речь идет только о требованиях и рекомендациях стандарта FHS, разработанного с ориентацией на операционные системы Linux и BSD. Даже конкретные дистрибутивы Linux не во всем следуют этому стандарту. Так, в Red Hat Linux версий 7.3 и 8.0 каталог /etc/opt хотя и создан, но пуст, а конфигурационные каталоги пакетов размещаются непосредственно в /etc. Можно указать и другие отклонения от стандарта. Но все же в основном структура каталогов выдерживается в соответствии с FHS, так что знакомство с этим стандартом, безусловно, полезно всем пользователям Linux, а тем более разработчикам.


Каталоги и символические ссылки на каталоги, содержащиеся в /usr.

  • bin - Основное место для размещения исполняемых файлов системы. /usr/bin/X11 должен быть символической ссылкой на /usr/X11R6/bin, если последний существует. Интерпретаторы языков Perl, Python и Tcl должны вызываться из /usr/bin (можно оставить только символические ссылки на действительное местоположение интерпретаторов).
  • include - Место, где должны быть размещены все системные подключаемые файлы общего пользования для языка Cи, в частности файлы заголовков. Символическая ссылка /usr/include/X11 должна указывать на /usr/X11R6/include/X11, если последний существует.
  • lib - Содержит объектные файлы, библиотеки и внутренние исполняемые файлы, которые не могут вызываться непосредственно пользователями из командной строки или скриптов оболочки.Приложения могут использовать отдельные подкаталоги в /usr/lib. Если приложение использует подкаталог, все архитектурно-зависимые данные, используемые только этим приложением, должны размещаться внутри этого подкаталога. (Например: подкаталог perl5 для модулей и библиотек Perl 5.)
  • local - Каталоговая структура для локально устанавливаемых программ.
  • sbin - Системные команды, используемые исключительно системным администратором, не являющиеся жизненно-важными для системы и поэтому не попавшие в /sbin. Локально устанавливаемые программы для системного администрирования должны размещаться в /usr/local/sbin.
  • share - Архитектурно-независимые данные.
  • X11R6 - Структура для X Window. Для некоторого упрощения и сохранения совместимости XFree86 с системой X Window для других типов операционных систем должны быть созданы следующие символические ссылки, если только каталог /usr/X11R6 существует:
    • /usr/bin/X11 -> /usr/X11R6/bin
    • /usr/lib/X11 -> /usr/X11R6/lib/X11
    • /usr/include/X11 -> /usr/X11R6/include/X11

    Приложения, которым необходима информация о текущей конфигурации хоста, должны искать ее в каталоге /etc/X11, куда могут быть сделаны ссылки из каталога /usr/X11R6/lib.

  • games - Игры и обучающие программы.
  • lib - Библиотеки для альтернативных форматов.
  • src - Исходные тексты программ.

Дополнительные требования для Linux

Отдельный раздел стандарта FHS содержит требования и рекомендации, которые относятся только к Linux.

  • В Linux-системах для ядра рекомендуется использовать названия vmlinux или vmlinuz, которые используются в последних версиях исходных кодов ядра Linux.
  • Файл setserial должен размещаться в каталоге /bin.
  • Все устройства и специальные файлы в /dev должны соответствовать документу Linux Allocated Devices, который поставляется в составе исходных кодов ядра.
  • Файл lilo.conf должен размещаться в каталоге /etc.
  • Поскольку файловая система proc является фактически стандартным для Linux методом обработки информации о системе и процессах, настоятельно рекомендуется использовать proc для хранения и получения информации о процессах, а также информации о ядре и памяти.
  • В Linux-системах следующие дополнительные файлы размещаются в /sbin - команды для управления файловой системой ext2fs (badblocks, dumpe2fs, e2fsck, mke2fs, mklost+found, tune2fs); программа установки загрузчика системы lilo; неизменяемые исполняемые файлы ldconfig, sln, ssync; программы ctrlaltdel, kbdrate.
  • Если в системе установлены компиляторы языков Cи или C++, и система не основана на glibc, должны быть созданы следующие символические ссылки:
    • /usr/include/asm -> /usr/src/linux/include/asm-
    • /usr/include/linux -> /usr/src/linux/include/linux
  • Для систем, основанных на версиях библиотеки libc, предшествующих glibc, исходные коды ядра Linux должны быть размещены в /usr/src/linux. Если установлен компилятор Cи или C++, а полная версия исходных кодов ядра не установлена, то подключаемые файлы из исходных кодов ядра должны размещаться в следующих каталогах:
    • /usr/src/linux/include/asm-
    • где - название архитектуры системы (например, i386).
    • /usr/src/linux может быть символической ссылкой на дерево каталогов с исходными кодами ядра.
    • /usr/src/linux/include/linux
  • Каталог /var/spool/cron содержит переменные данные для программ-демонов cron и at.

***
Поскольку структура каталогов к реальным механизмам работы с файлами отношения не имеет, изначально никаких особых требований к структуре логического дерева каталогов со стороны операционной системы не предъявляется, поэтому каждая ОС могла бы строить это дерево по-своему. Легко понять, что это привело бы к несовместимости.

Принять решение о том, какие программы разместить в каталогах «sbin», довольно просто: если обычный пользователь когда-либо запускает программу, она должна размещаться в одном из каталогов «bin». Даже такие файлы, которые пользователи запускают очень редко и только в особых случаях, должны, тем не менее, быть расположены в /usr/bin.

Второй по важности раздел файловой системы каталог /usr содержит разделяемые данные, предназначенные только для чтения. Это означает, что он может быть доступен с различных FHS-совместимых хостов без права записи в него. Любая информация, которая специфична для конкретного хоста или может изменяться со временем, должна записываться в другое место. Программные пакеты не должны создавать подкаталоги непосредственно в каталоге /usr. Исключение сделано для X Window в силу сложившихся традиций.

В тексте стандарта FHS мало рекомендаций о том, как разместить каталоги в различных файловых системах. И относятся они в основном к корневой файловой системе. В соответствии со стандартом содержимое этой файловой системы должно быть достаточным для того, чтобы обеспечить загрузку операционной системы, а также восстановление при возникновении различных проблем и сбоев.

источник

Неактивный атрибут "скрытый" или как снять атрибут скрытый после вируса

Некоторые пользователи компьютеров часто сталкиваются с проблемой, когда папки и файлы вдруг становятся скрытыми. Или, проще говоря, исчез...