#1
|
|
Вес репутации:
0
Регистрация: 14.10.2009
Сообщений: 120
Сказал(а) спасибо: 10
Спасибок 41
в 28 сообщениях |
Ключевые отличия Linux от Windows -
15.10.2009, 14:51
Ключевые отличия Linux от Windows
1. Linux чувствителен к регистру, то есть abc.Doc, ABC.DOC и abc.doc – три совершенно разных файла 2. Для того чтобы вызвать файл помощи по любому приложению, достаточно выполнить в консоли команду man SOFT, где SOFT – название приложения. Пример: man mc вызовет файл помощи по файловому менеджеру mc. Если же вы хотите получить краткую справку, воспользуйтесь командой вида mc --help. 3. Для обозначения положения в файловой системе используется не обратный слеш \, как Windows, а слеш /, т.е. директории обозначаются как /home/user/, а не \home\user\ 4. В файловой системе Linux есть корневая директория /, внутри которой находятся все остальные директории. 5. Большинство приложений устанавливаются не в одну конкретную директорию, а распределяют свои компоненты по различным директориям файловой системы в зависимости от их типа. Например, конфигурационные файлы в /etc, индивидуальные файлы настроек пользователей - в /home/USER/, исполняемые файлы - в /bin или /usr/bin, а библиотеки - в /lib. Обычно представлен следующий список: • /bin – исполняемые файлы; • /boot – файлы необходимые для загрузчика; • /dev - файлы устройств (для Linux любое устройство представляется как файл); • /etc - файлы настроек; • /home - домашние каталоги пользователей; • /initrd – директория для RAM-диска; • /lib — библиотеки; • /lost+found – восстанавливаемые после случайного удаления файлы; • /media и /mnt – содержат точки монтирования, т.е. через эти директории осуществляется доступ к CD/DVD, флеш-картам, винчестерам и иным локальным и сетевым накопителям; • /opt – в эту директорию устанавливаются определенные программы; • /proc – виртуальная файловая система; • /root – домашняя директория Администратора компьютера; • /sbin - системные исполняемые файлы; • /srv - данные системных служб, например FTP-сервера; • /tmp - временные файлы; • /usr – вторичная файловая система; • /var - изменяемые данные, например логи. О Зависимостях Q: Что такое Зависимости (Dependency – англ., «Депенденсы» - слэнг) и зачем они нужны? A: Практически каждой программе для корректной работы требуются библиотеки и ресурсы внешних приложений. Эти требования и называются Зависимостями. В Windows существует единая архитектура и единый стандартный набор библиотек, присутствующий в каждой системе. Поэтому многие программы опираются на этот стандартный набор и устанавливают только те дополнительные компоненты и библиотеки, которых нет в системе по умолчанию. В Linux общего универсального набора библиотек нет, и общим для всех дистрибутивом является только ядро и базовый набор утилит. Чтобы обеспечить работоспособность своих программ, создатели приложений вынуждены прямо указывать в установочных пакетах, к каким дополнительным программам и библиотекам обращается их детище. Соответственно, чтобы программа заработала, сначала нужно установить недостающие компоненты. Например, программа может представлять собой графический интерфейс для консольного архиватора. И вся ее задача - это перевести действия пользователя, например мышью, на язык этого самого консольного архиватора. Простой пример: пользователь кликнул в окошке программы по значку «Распаковать», а программа передает соответствующую команду архиватору. Когда архиватор заканчивает работу, программа перехватывает данные об операции и сообщает пользователю результат. В итоге для создания и распаковки архивов больше не требуется изучать устройство архиватора и использовать командную строку. Однако если не установить сам консольный архиватор, программа работать не сможет. Таким образом, он представляет собой ее Зависимость. Главный недостаток Зависимостей заключается в том, что они часто вызывают конфликты. Представьте что одной программе для работы требуется библиотека /lib/scool.lib версии 1.26, а другой - более ранняя версия 0.93. В итоге просто так эти две программы не установишь, ведь две разные версии одной и той же библиотеки могут оказаться фактически несовместимыми между собой. Остается либо устанавливать более старые версии программ, либо ждать, пока обе программы научатся работать с единой библиотекой. Третий вариант - самостоятельно разрешать конфликт. В самом простом случае может помочь создание жесткой ссылки на библиотеку командой вида. sudo ln /lib/scool-0.97.lib /lib/scool-1.26.lib А в более сложном - потребуется править исходный код приложений, что уже требует глубокого знания Linux и ее командной строки, а также определенных навыков программирования. Второй ключевой недостаток Зависимостей – сам факт того, что дополнительные компоненты нужно отдельно загружать и устанавливать. Ладно, если зависимость одна, но их может быть сколько угодно – и десять, и пятьдесят, и сто. По выше названным причинам на ранних этапах развития Linux Зависимости были настоящей бедой и вызывали священный ужас у непосвященных. Благо, в современных дистрибутивах проблема, за редким исключением, полностью решена. При установке новых программ такие менеджеры пакетов, как rpm (Fedora, Mandriva и.т.д.) и apt (Debian, Ubuntu и.т.д) и др., сами анализируют, какие пакеты необходимо загрузить и установить. А от пользователя требуется только кликнуть мышью в удобной графической оболочке и согласиться с установкой дополнительного ПО. Все необходимое будет загружено и установлено автоматически. О правах администратора Q: Что означает сообщение «у вас недостаточно прав для установки приложения»? И кто такой пользователь root? A: В Linux существует четкое разграничение прав пользователей. Обычно только администратор или пользователь, создавший файл (или каталог), могут выполнять с ним любые операции. В то же время любой файл можно сделать доступным для определенных групп пользователей и недоступным для других. Например, пользователи из группы гостей получат возможность только читать содержимое документа, а привилегированный пользователь - читать и вносить в него изменения. root - это корневой пользователь, суперпользователь или администратор компьютера, обладающий неограниченными правами в системе. Постоянно работая с его правами, вы подрываете безопасность системы и рискуете случайно привести ее в неработоспособное состояние. Поэтому рекомендуется создать обычного пользователя с ограниченными правами и выполнять повседневные задачи от его имени. В то же время такие операции, как установка новых приложений, доступна только администратору. Поэтому иногда необходимо временное получение прав суперпользователя. Оно достигается выполнением команды su или sudo. Команда su переведет командную строку в режим Администратора и позволит выполнять в ней любые операции. Внимание! В некоторых дистрибутивах Linux команда su запрещена по умолчанию, и следует использовать sudo вместо нее. Команда установки файлового менеджера mc в Ubuntu будет иметь следующий вид: apt-get install mc Но если эту команду вписать в «Терминал» с правами обычного пользователя, установка прервется ошибкой. Выполняя ту же команду от лица администратора, консоль продолжит установку. Команда будет выглядеть так: sudo apt-get install mc Если же вы хотите выполнить только одну операцию в консоли, достаточно ввести sudo в начале команды. Так, следующая команда удалит все содержимое директории music, даже если вы не являетесь пользователем user (владельцем этой директории): sudo rm –rf /home/USER/music Следует заметить, что сообщение об отсутствии прав на операцию с файлами может быть вызвано некорректной расстановкой его атрибутов. Для того чтобы разрешить любому пользователю любые операции с файлом scool.pdf, находящимся в директории /home/USER/Documents/scool/, достаточно перейти в ее директорию: cd /home/USER/Documents/scool и ввести: sudo chmod scool.pdf Для удаления файла могут потребоваться права записи в каталог, в котором он находится. Четыре способа установки ПО в Linux Q: Что такое Tarball («Тарболлы») и бинарные пакеты? A: Tarball – это обычный архив формата TAR, TGZ, TBZ или TAZ. Внутри него может быть все что угодно. Однако если вы загрузили дистрибутив программы из Интернета или взяли с CHIP DVD, а сам файл имеет подобное расширение, то внутри, скорее всего, исходный код приложения. Однако это может быть и бинарный файл. В таком случае внутри архива вы найдете исполняемый файл с разрешением RUN, BIN, IN или подобным. Разархивируйте тарболл в свободную директорию и запустите мышью исполняемый файл. Все, приложение установлено. Если что-то пойдет не так, попробуйте проверить права на исполняемый файл. Запустите командную строку и введите: sudo chmod /home/USER/FILE/file.run Таким образом, файл станет доступным для запуска всем пользователям. Во-вторых, полезным бывает обратиться к прилагаемому файлу помощи, например help.txt или readme.txt. Если вы захотите запустить приложение из консоли, воспользуйтесь командой вида: ./*.run Для файлов с разрешением RUN sh *.bin или sh *.sh Для файлов с разрешением BIN и SH java -jar *.jar Для Java-архивов Звездочкой «*» с произвольным разрешением обозначается исполняемый файл приложения. Он может представлять собой как готовое к работе приложение, так и установочный пакет. Возможно, потребуется запустить эти команды от имени администратора. Преимущества: относительная универсальность, простота в установке Недостатки: установка и использование в обход менеджера пакетов системы, возможные сложности с удалением программы, необходимость создавать ассоциации файлов и ярлыки вручную Вывод: рекомендуется к использованию только в случае отсутствия других вариантов Q: Как собирать пакеты из исходного кода? A: Если вы загрузили Tarball, распаковали его и получили директорию со множеством файлов, среди которых есть файлы с именами readme и install, то, скорее всего, это исходные коды программы. Часто архив с исходными кодами имеет имя вида abc-0.8.7.tar.gz, где abc – имя программы, а 0.8.7 – ее версия. В самом банальном случае для установки программы требуется несколько простых шагов. 1. Создаем директорию для исходных кодов программы, помещаем туда архив и распаковываем его командой: tar xfzv abc-0.8.7.tar.gz 2. Конфигурируем приложением командой ./configure В ряде случаев скрипта конфигурации configure нет, и шаг можно пропустить. 3. Дождавшись, пока конфигурирование закончится, можно запускать устанавливать приложение командой: make && sudo make install 4. Для удаления приложения следует воспользоваться командой: sudo make uninstall Для выполнения названных операций в системе должен быть установлен компилятор (обычно gcc), а также все необходимые библиотеки. Иногда во время установки возникают ошибки, и наилучшим способом их разрешения является поиск информации о них в Интернете. Преимущества: предельная гибкость при конфигурировании приложения, возможность редактирования исходников программы перед установкой, возможность компиляции максимально производительно приложения. Недостатки: возможны проблемы с Зависимостями, впособ требует уверенного знания системы, вамый медленный и трудоемкий способ установки программ, возможные сложности с удалением программы (необходимо хранить директорию с исходниками), веобходимость создавать ассоциации файлов и ярлыки вручную Вывод: мы настоятельно НЕ РЕКОМЕНДУЕМ собирать приложения из исходных кодов, если их дистрибутивы есть в репозитории вашей системы. Это позволит сэкономить время и обеспечить лучший контроль над системой в целом. Однако если вы хотите получить максимально производительный пакет или просто нет других вариантов, то этот способ для вас. Q: Как устанавливать специфические пакеты дистрибутива (например, DEB, RPM)? A: В большинстве дистрибутивов достаточно пару раз кликнуть по пакету, ввести пароль администратора и дождаться конца установки. Однако в системе должны быть установлены все Зависимости требуемого приложения. В дополнение ко всему не каждый DEB-пакет подойдет к любому дистрибутива семейства Debian (Ubuntu), и не каждый RPM-пакет - к любому дистрибутиву семейства RedHat (Fedora). Желательно устанавливать только те пакеты, которые были специально скомпилированы для вашей системы. Часто о назначении пакета можно судить по его названию. Например, пакет abc-0.9.7-ubuntu.deb, скорее всего, был скомпилирован для Ubuntu, а bcd-1.0.3-opensuse.rpm - для OpenSUSE. Преимущества: возможность установки каждого пакета по отдельности Недостатки: возможны проблемы с Зависимостями Q: Что такое репозитории, и как следует устанавливать программы из помощи менеджера пакетов? A: В контекте Linux Репозитории, или Репозитарии (англ. «Repository» - хранилище) – это некоторое хранилище установочных пакетов для вашей системы. Например, репозиторий pacman обеспечивает пользователей OpenSUSE возможностью загрузки и установки самых актуальных приложений для их дистрибутива. К системе можно подключить и несколько репозиториев. Например, установочный DVD, локальное зеркало вашего провайдера и официальные удаленные серверы. Чем больше репозиториев вы подключите, тем шире выбор программ для установки. Однако между некоторыми репозиториями возникают конфликты, и следует выбрать из конфликтующих репозиториев только один. Более подробную информацию о репозиториях вы сможете прочесть на сайте вашего дистрибутива. Внимание, для различных версий одного и того же дистрибутива могут требоваться разные репозитории! Для запуска менеджера пакетов обычно следует выбрать пункт меню с названием наподобие «Установка и удаление программ» или «Менеджер пакетов». Далее потребуется ввести пароль администратора, и можно осуществлять поиск требуемого приложения по содержимому репозиториев. После того как нужное приложение будет найдено, нужно кликнуть по кнопке «Установить» - и менеджер пакетов сам установит все необходимые компоненты, включая зависимости. Преимущества: высокая скорость установки, простота установки, предельная актуальность и совместимость между собой пакетов Недостатки: требуется доступ к Интернету или полное собрание содержимого репозиториев на локальных носителях Вывод: оптимальный способ установки программ в Linux - просто, быстро и надежно. |
Ответить |
Опции темы | |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Инфо Выбор дистрибутива Linux | Vector | Дистрибутивы | 3 | 12.10.2009 13:13 |
Новости Windows 7 приближается по популярности к Linux | Vector | Новости Software | 0 | 07.09.2009 21:44 |
Инфо Часто используемые команды Unix/Linux | Vector | Статьи и FAQ | 0 | 12.07.2009 16:42 |
Инфо Сравнение дистрибутивов Linux | Vector | Дистрибутивы | 0 | 01.07.2009 17:31 |
Инфо Список дистрибутивов Linux | Vector | Дистрибутивы | 8 | 01.07.2009 16:44 |