Hi-Tech Arduino Компьютеры Интернет
HV-Lab Reference Linux Форум
Справочники Libraries Windows Галерея
Электроника Hardware Hardware Загрузки
Печатные платы Forum Программирование Мини-чат
[ Февр 26, 07:42 ] admin: Форум перешел в разряд архивного.
[ Февр 24, 19:02 ] admin: переехали на новый сервер. Грядут перемены.
[ Фев 20, 08:38 ] кулибин: Переход на SSL был непрост (особенно с абсолютными путями на изображения, но мы его осуществили)
RSS статьи
 
Статьи

Статьи->Linux->Как я становился пингвином(Часть 1) [ Поиск ]

Как я становился пингвином(Часть 1) - цикл статей о свободной ОС.
Отправил: кулибин, Среда, 04 Июля 2007 17:01

УРА!!! Установка Linux SUSE 10 завершена! Теперь можно немного повалять дурака и осмотреться в этом малознакомом новом мире. Вот уже месяц, как я сижу в этом полном приключений мире, и мне пришлось преодолеть немало трудностей и познать немало тонкостей. Вот о способах борьбы с этими тонкостями я и решил написать.

Вместо вступления. Не стоит говорить, что сейчас Линукс по популярности начинает набирать обороты. Каждый, кто столкнется с этим зверем испытывает массу эмоций, оказываясь в ситуациях, к которым в окнах пришлось бы добираться очень упорно потрясывая систему. Linux – вещь вообще податливая. Достаточно в консоли ввести: <удалено автором от шаловливых ручонок>, у пингвин тут-же, без единого писка удалит всю корневую систему вместе с собой. Попробуйте то-же самое сделать в окнах. Куда вас послали? в DOS? ну-ну. Линукс – это раб нашего слова и дела. Его философия понятна только создателю, остальным приходится только догадываться. Можно перерыть кучу литературы, но некоторые особые секреты будут доступны только прожившим под этой операционкой несколько лет пользователи не раз восстанавливающие всю систему всего десятком строчек команд. Мне уже приходилось восстанавливать некоторые мало-критические сбои, выводящие из себя глуповатого юзера, который после этого готов физическим способом отформатировать жесткий диск магнитом вырванным из только-что разбитых колонок.

Уже включая windows только чтобы в нете почту проверить и документики посмотреть, я все остальное время провожу в лине. Не потому, что я такой крутой, наоборот, хочу лучше прочувствовать эту операционку. Все, кто в идеальности постиг искусство графического интерфейса форточек, смогут за недельку другую освоиться и в линуксе. Но освоив GUI вы не становитесь знатоком, а просто проходите первый этап. Следующим этапом я считаю постижение внутренних особенностей. И если в окнах это только реестр, то здесь это все самое главное. Этому надо потратить некоторое время. Одному, конечно, довольно сложно. Поэтому я, решив, что пользователи очень заняты, чтобы искать нужную информацию и учебники, начал писать статьи про Линукс, описывая помимо особо важных моментов свои успехи в решении проблем. В данный момент перед вами первая часть цикла

«как я становился пингвином» «Начало всех начал»

«Не суй свой нос куда не надо!» - гласит мудрая пословица. Права доступа и всякие другие параметры файлов в Linux организованы очень хорошо. У многих файлов даже отсутствует расширение – оно нужно только для программ. Линуха определяет тип файла другим способом.

Надо сказать, что в линухе абсолютно все интерпретируется как файл, будь-то папка, устройство или сокет. Файлы Linux делятся на семь типов:

признак типа

тип файла

-

обычный файл

d

каталог

l

ссылка

c

символьное устройство

s

сокет

p

именованный канал

b

блочное устройство

причем признак типа указывается перед правами доступа. Права доступа объясняют ОС, как конкретный файл отображать различным пользователям. Наведите курсор на любой файлик и увидите, как рядом со словом права находится строчка из кучи буковок. Буковки эти права и обозначают. Итак, в правах доступа прописываются:

{признак типа}{права владельца файла}{права групп}{права всех остальных}

Права расписываются в 3 символа, которые при отсутствии необходимо заменить знаком тире. RWX- это не набор букв, а просто аббревиатура: Read, Write, eXecute (чтение, запись, исполнение).Для файла вы можете назначить любое право доступа, а вот у папки необходимо добавить исполняемость, иначе невозможно будет из нее ничего запустить. если вы и пользователь и суперпользователь, но вам неохота каждый раз переключаться между сеансами, права доступа легко изменить к консоли. Как это сделать. Для смены прав доступа есть команда «shmod [параметры] {доступ} файл» Писать каждый раз что-то типа -rw-r—r-- глупо и наверняка можно ошибиться, поэтому придумали числовую замену.

разрешение

числовой формат

чтение

4

запись

2

выполнение

1

Исходное число получается сложением. Например, вам надо, чтобы с файлом владелец мог работать на полных правах, группа могла читать и исполнять, а остальные ничего. Итак, необходимо получить трехзначное число. По заданным нами параметрам получаем 750. В буквенном виде получилось бы так: -rwx-r-x--- , для папки так: drwxr-x---. заметьте букву d перед всем, вместо черточки у файла, - это признак типа файла. Не забывайте его, иначе поменять ничего не получится. Это вводим после команды shmod: shmod 750 /home/pic1.jpg Сменить права доступа у папки можно, но только с параметром -R а присвоить всем вложенным файлам такие же права -v. Поменять права доступа файлов может только суперпользователь и владелец файла.

Отходя от темы, замечу, что в линухе очень хорошо продумана схема сокрытия системных файлов – поставьте перед названием файла точку и он у вас исчезнет. Найти его можно будет при помощи файлового менеджера, например Midnight Comander

Как много папок валяется в корневой! Не то что в винде, где папок всего 3: windows, program files, documents and settings.

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

обязательные элементы корневой ФС LINUX

/

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

/bin

важнейшие системные команды

/boot

файлы статического загрузчика

/dev

файлы устройств

/etc

системные конфигурационные файлы, специфичные для хоста

/lib

общие библиотеки, необходимые для работы локальной системы

/mnt

временные точки монтировки

/opt

дополнительные программные пакеты(в лине используется мало)

/proc

текущая информация о конфигурации и состояния ядра

/sbin

команды администратирования системы

/tmp

временные файлы (в нормальных системах уничтожаются между перезагрузками)

/usr

общие файлы, файлы только для чтения и двоичные файлы

/var

файлы временного размера (такие как почтовые ящики и журналы)

Необязательные каталоги

/home

личные файлы пользователя

/root

личные файлы суперпользователя



Хочу сказать несколько слов и портах компьютера. Скорее всего эта новость вас уже не шокирует: это тоже файл. Ну не просто файл, а посредник между системой и драйвером устройства. Все эти файлы находятся в могучей папке /dev в которой можно можно увидеть кучу символьных устройств. Больше всего нас волнуют порты:

COM-порт

/dev/tty0-X

LPT-порт

/dev/lp0-X

USB-порт

/dev/usb/lp0-X

где 0-Х -от нуля до бесконечного числа. Как видите, ничего особо-сложного. Если повнимательней приглядитесь, то увидите в названиях знакомые устройства, или еще чего-нибудь. В различных дистрибутивах пути могут сильно различаться, поэтому походите по папке. У меня, например нету папки /dev/usb.

Немного побродив по меню программ, наткнулся на огромное количество имеющихся. Вспомнив, что установил абсолютно все имеющиеся в дистрибутиве пакеты, а их набралось 1780 (не путать с программами – один пакет – это какая-либо служба, или библиотека и тому подобное), я начал с игр, так сказать, расслабиться немножко. Поиграв часок-другой, решил вылезти в интернет... ОЙ модем занят... странно. в настройках настроил все как надо и не надо, пробую снова. Решил спросить у одного чела. «Драйвер нужен специальный, найти можешь в искалке». Мой модем Acorp Sprinter 56K PCI V.92 собран на полностью WINDOWS-совместимом чипе CONEXANT. Покопавшись в нете, нашел драйвер модема hsfmodem-<версия>.tar.gz. Скачал. А вот установка...

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

Предстояло разобраться с установкой из исходников. Существует два основных типа установки программ на пингвин: RPM-пакет и из исходников. Первый способ достаточно прост – для этого есть специальная утилита, с помощью которой вы легко сможете и установить пакет и разрешить кучу зависимостей. Распаковав архив, откопал привычный файл readme, может в нем что-нибудь будет. Проучившись 10 лет английскому языку, я спокойно перевел этот текст и обнаружил, что необходимая информация для меня отсутствует. Порыскав по файлам обнаружил, что нужные мне строки лежали в файле install. Полазив по сайтам, получил все необходимые мне инструкции к этим инструкциям. Почти все программы устанавливаются под root. Именно потому, что программа или драйвер компилируются под конкретную версию ядра, установка из RPM-пакета неизвестного происхождения нежелательна, ну а тем более, если вы откопаете двоичный файл. При установке из исходников с помощью команды «./configure» «установщик» проверяет имеющиеся в наличии пакеты и создает файл makefile, исполнение которого запускается командой «make».. Теперь начинается относительно долгий процесс, поскольку файлы компилируются. Заодно у вас частенько будут вылетать сообщения типа «warning.......», что означает появление не до конца нерешенной зависимости. Не волнуйтесь, просто некоторые функции программы будут недоступны. Хуже будет, если компиляция вылетит и вас пошлют в бескрайние просторы интернета для поиска необходимого пакета. В этом случае вам надо искать новый пакет, устанавливать, опять решать новые зависимости. Зачем все так сложно? Просто для облегчения веса проги в нее не кладут какие-то общие библиотеки и еще всякую полезную инфу, которая есть на множестве компьютеров, правда вот на вашем ее не оказалось. К этому просто надо привыкнув. В винде это все скрыто. Вам просто постучат по голове, если какого-то компонента не хватает. Здесь все деликатнее. (Здесь вы хозяин, а в винде понятно кто?) Скомпилировалось? Отлично, продолжаем. наша прога готова, но ее теперь надо поместить в папку для программ usr/local/. Как? Да командой «make install». Вот теперь драйвер установлен. Кстати проблема драйвера для модема присутствует у многих модемов, не только Dual-UP-ных, а тем более внутренних. Поэтому расслабляться не стоит. Пришло время зайти в меню и найти программу KPPP. запускаем. создаем новое подключение.(думаю с этим проблем не возникнет). нажимаем соединиться... «не удалось создать -- LOCK-файл». На первых порах права доступа вас будут просто выводить из себя! Лично я создавал новый сеанс под суперпользователем, лез в центр настройки YaST и в разделе групп присваивал свою обыденную учетную запись ко всем группам, кроме root, на всякий случай. Еще, на всякий случай, узнав, что такой файл создается в папке var/-- LOCK, изменил права доступа к этой папке, открыв ее другим группам. Перезагрузив компьютер первым делом запустил KPPP и нажал соединиться. Отделавшись после падения лишь синяком на локте, запустил браузер Firefox, благо он русский, и немного посидел в нете. Первая проблема решена.

Вот уже пошла вторая неделя моего знакомства с линуксом. Решил я поменять драйвером в винде доступ к дискам. Перезагружаю компьютер, чтобы запустить линь. Дальнейший мой поток слов, произнесенный в этот момент опускается. Может из-з изменения прав на диск, а может еще что-нибудь наковырял, дальше загрузки ядра дело не пошло. т.е. вот передо мной черный экран и белые буковки. «get root password to login»(введите рутовкий пароль для входа) – да нате, жалко что-ли. Прочитав где-то, что графический режим запускается командой startx ввожу ее, а мне и пишут, что файловые системы смонтированы в режиме «только чтение». Для нормального монтирования просят ввести команду «mount -n -o remount,rw /» Испортить эта команда вам ничего не сможет, только поможет. Пишется, что необходимо проверить файловую систему. Знаю, что это команда «fsck» пишу ее. Начинается долгий процесс, при котором вам придется нажать букву «Y» раз тридцать, для подтверждения некоторых действий. Ладно, проверка завершена. Просят перезагрузиться. не нажать RESET, как многие могут подумать, а подать команду «exit» и ждать. Ладно, сознаюсь, что восстановить систему смог только через неделю, зато сам. Наконец-то! Загрузилось. Я просто счастлив, поскольку из-за неопытности в первый раз получив такой-же «кирпич»(типа «проезд запрещен») я банально переустановил линукс. Еще с одной проблемой покончено.

Теперь расскажу о своих действиях подробнее. Из-за какой-то моей ошибки была повреждена файловая система. Повреждена она логически, т.е. данные оказывались просто не там где их ищут. Для своей сохранности линь смонтировала диски в режиме «только чтение» и решила ждать от суперпользователя решительных действий. Первым делом надо систему перемонтировать вышеуказанной строкой в нормальный режим чтения-записи. Теперь, чтобы проверить файловую систему, найти все ошибки дабы избежать фрагментации файлов (в лине за годы использования файлы дефрагментируются на 0,5%. понятно почему в лине нет штатного дефрагментатора. Он там просто не нужен) необходимо вызвать программу fsck. С помощью этой программы можно легко произвести проверку вашей ФС, а также особо осторожно-невнимательными действиями банально все грохнуть, если у вас очень кривые руки (вообще в лине достаточно легко все грохнуть всего лишь одной командой, написанной с правами суперпользователя. Убедительная просьба: Не пренебрегайте правами суперпользователя! Пользуйтесь только в случае крайней необходимости!). Основные параметры данной программы:

-p автоматическая проверка без вопросов

-n не вносить никаких изменений в файловую систему

-y отвечать «да» на все вопросы

-c искать БАД-блоки и помещать их в специальный список

пользоваться данной программкой только при серьезной необходимости, причем только на размонтированной системе, хотя на смонтированной она у вас работать не станет.

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

Вот я все говорю «консоль». А что это вообще такое? Многие знают командную строку в форточках. Консоль и есть командная строка, только на порядки мощнее, поскольку за годы существования не утратила своей значимости. В винде можно годами творить невиданные дела, не разу ею не воспользовавшись. В линухе консоль нужна постоянно. Да и легче и ней даже. Мне уже намного удобнее нажать F4 (так у меня консоль вызывается) пробежаться по root-папкам и скопировав куда мне надо, изменить права доступа под себя, не меняя сеанс. Вам придется подружиться с консолью, насильно или добровольно, если вы хотите работать в Linux. Что есть консоль? Консоль – это полноценный скриптовый язык программирования, которым умелыми руками и небольшим интеллектуальным сдвигом по фазе, увеличивающим вычислительные мощности головного мозга, можно управлять компьютером в десятки раз быстрее, нежели мышкой. Конечно, настоящий мужчина потратит 2 часа на работу, которую скриптом, накатанным за 10 минут , можно все проделать за пол-минуты.

Консоль используется для всего, она есть везде. Находясь в каком-либо окне проводника (в лине нет проводника, в лине есть Konqueror, который сочетает в себе проводник, веб-обозреватель и просмотровщик файлов) в меню есть пункт «открыть терминал» или еще типа того. Щелкаете его. Через меню консоли можно запустить различные виды сеансов: просто сеанс, сеанс с правами root, просто Midnight Commander, Midnight Commander с правами root. Конечно, чтобы запустить сеанс с правами суперпользователя, надо ввести пароль. Будучи запущенной из окна консоль стартует с начальной папкой, как в окне. Допустим, вы находились в папке /home/My. Запустив консоль, вы будете писать все команды именно от этой папки. Есть глобальные команды, которые работают без особых параметров в любой папке, а есть локальные, которые без параметров работают только в данной папке. Например команды установки из исходников должны быть запущены из той папки, где необходимые файлы находятся, или команды должны переходить в эту папку. Думаю понятно. Далее, консоль много чего не любит. Например, необходимо четко учитывать регистр букв, иначе команда будет распознана как ложная, и ничего проделано не будет. Также, правильность написания самой команды тоже очень важна. Сначала идет сама команда, потом параметры, если нужны, потом уже остальные данные, например путь к файлу. Чтобы узнать все параметры, необходимо ввести команду с ключом -? или –help. Вам выдастся довольно длинный список, правда многие команды имеют такую справку на английском, лишь некоторое количество выдает чисто русский хелп, мой стандартный архиватор например. параметры приписываются с дефисом перед ним, если это одна или несколько букв, или два тире, если это английское слово. Какие как писать – все указано в справке. Чаще всего есть два варианта : короткое и длинное. Пользуйтесь тем, которое вам удобнее. В заключение данной статьи представляю список некоторых команд консоли, которые упоминал. Это чтобы вам не скакать.

некоторые команды shell-консоли

cd путь

переход в папку(на уровень выше «..»)

fdisk -l

информация о жестких дисках

fsck [параметры]

проверка ФС

mount [параметры]

монтаж устройства

umount [-a]

размонтирование. С данным параметром по стандартной схеме

startx

запуск графической оболочки

exit

завершение сеанса. перезагрузка если больше сеансов нет

tar параметры файлы

[-xf] извлечение всех файлов

[-cf]создание архива из заданных файлов

запуск архиватора, по параметру справки выводится куча необязательных параметров

./configure

запуск конфигурационного файла установщика

make

запуск созданного скрипта makefile. компиляция программы

make install

перенос скомпилированных фалов куда надо программе

rpm [параметры]

управление пакетами

chmod [параметры] файл

изменение прав доступа файлов и папок

mkdir [-m {права доступа}] папка

создание папки, также с заданными правами доступа

В следующий раз расскажу вам про монтирование дисков и устройств и еще много полезной информации.

Ну и конечно, со всеми вопросами милости прошу, постараюсь помочь.

Артем Кашканов

kashkanov@radiolokn.org.ru



Голосов Голосов: 7 - В среднем: 4.71

Добавить комментарий Оценить
Комментарии

Статистика
Всего 205 статей в базе
Наиболее просматриваемые: Arduino и сеть RS485.
Лучшие по оценкам: РЦВМ1 - Релейная Цифровая Вычислительная Машина

Пользователи в разделе статьи: 3 (0 Пользователи 3 Гости и 0 Скрытые пользователи)
Видимые пользователи:


 
 

MKPortal©2003-2008 mkportal.it
MultiBoard ©2007-2009 RusMKPortal
Страница сгенерированна за 0.01419 секунд с 24 обращениями в базу данных

Intel Core i5-3450 2Gb RAM 100Gb HDD 100Mbps Ethernet

© Artem Kashkanov 2005-2016