Перейти к содержанию
    

Начальное знакомство с Linux - что посоветуете?

Задачи - получить начальные знания о том как работать под Linux, как пользоваться GNU-компилятором, make, отладчиком и т.д., изучить основы программирования под эту ось (чтобы в будущем перейти на embedded-linux). Т.е. работать под Linux периодически, теорию закреплять.

Компутер у меня - Celeron 2800, 512 Mb. На диске C места свободного обычно 5-6 Гб. Я так понимаю места для установки Linux в качестве 2-ой оси на HDD не хватит... Остается два варианта - knoppix или поставить vmware. Что посоветуете? Что лучше? Что удобнее? Может еще какие варианты есть?

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ставить надо сразу по нормальному.

Как я делал: (месяц назад)

1) Расчистил около 12 гигов на своей 80-ке (это казалось нереально, но таки смог).

2) Отколол раздел ext3 (лучше наверно специальной утилитой, ибо в дистрибутивах средства кривоватые). Не обязательно на С, у меня получилось в самом конце винта.

3) Взял у сисадмина коллекцию свежих дистрибутивов. Половина из них оказалась только Live. Это никуда не годится, когда в сидюке торчит диск и по каждому телодвижению начинает раскручиваться.

Таким образом отпали debian и suse.

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

Какие-то текстовые менюшки...

4) Начал пробовать.

 

Очень понравилась ubuntu, особенно 7-летнему сыну, ибо там список предустановленных игрушек на 3 страницы.

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

В конце концов остановился на мандриве.

Пока нравится всё. Даже несмотря на неправильную установку принтера xerox-3117 (пришлось полчасика полазить по форумам) и небольшие затруднения с интернетом (запустился с 3-ей попытки)

Совет: лучше расчистить места побольше и скопировать при установке весь дистрибутив, чтобы потом по каждому чиху не рыться в поисках диска.

 

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

Другу нравилась федора, но в последнее время от собирался перейти на асп (или альт?).

На работе публичный сервер работает под покупным ASP-Linux. Сисадмин ходит в фирменной майке :)

 

Удачи!

 

Т.е. работать под Linux периодически, теорию закреплять.

А вот это неправильно. Работать надо под линуксом, и только в случае крайней необходимости вылазить на полчасика в Win.

А лучше даже не вылазить, а запускать в VBox-е.

Я вот на работе никак инет в мандриве не налажу, там какая-то гремучая смесь VPN, PPPoE и ещё чего-то, сисадмину не до меня, а без инета - не жизнь...

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

А потом полдня гремит винтами...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Задачи - получить начальные знания о том как работать под Linux, как пользоваться GNU-компилятором, make, отладчиком и т.д., изучить основы программирования под эту ось.

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

 

Если хотите поставить с целью изучения и при этом нет необходимости, чтобы было "все и сейчас", то я бы посоветовал поставить, что-нибудь минимально нагруженное, что-нибудь типа Gentoo, Slackware или FreeBSD (последнее - в том случае, если именно линукс иметь не принципиально).

 

Если хочется, чтобы сразу было "все и работало", то, пожалуй Ubuntu или Mandriva. Последняя - здесь я солидарен с предыдущим оратором, более приятна в работе. Но, ИМХО, это не лучшие дистрибутивы для ковыряния и изучения самого линукса.

 

Компутер у меня - Celeron 2800, 512 Mb. На диске C места свободного обычно 5-6 Гб.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Изучать десктопный Линукс с целью потом заниматься embedded Линуксом в принципе плохая идея.

Пратически никакой пользы.

Большинство юзеровских практик и методов администрирования десктопов для embedded не годятся, если у вас действительно embedded.

Я б дал ссылку на свою библиотеку специально для перехода на embedded Линукс, да сайт временно на техобслуживание встал.

 

Но поставить Линукс надо по любому потому как целевое embedded ядро можно скомпилировать только под Линуксом.

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

Поскольку вы не нашли собственно откуда будете брать дистрибутив embedde Линукса, то наиболее

покрывающий вариант всех случаев будет установить Red Hat Enterprise Linux

Многие embedded дистрибутивы идут с установочными скриптами которые на иной чем Red Hat хостовой операционке просто будут сбоить.

Дальше надо помнить что при установке Линукса надо обязательно выбрать установку определенных инструментов разработки (просто скоростная автоматическая установка в VMware дистрибутива Red Hat может проигнорировать установку даже GCC)

 

Короче, для кроскомпиляции ядра для embedded Линукса нужно чтоб на хост-платформе был собственно GCC пакет хост-платформы, GCC пакет целевой платформы, Perl, Python.

Для создания и разбора корневой файловой системы на NAND или NOR флеши нужен на хосте дивайс-драйвер FLASH файловых систем типа типа YAFFS. Этого в Red Hat по умолчанию нет. Но обычно идет с embedded дистрибутивами.

 

Ставить Линукс очень удобно на VMware.

VMware позволяет не выделять все сразу дисковое пространство заявленное для операционки, а брать по необходимости кусками по 2 Гб.

Т.е. при инсталяции можете сказать операционке, что выделяете террабайт, а на самом деле иметь только 5-ть гиг.

Но 5-ть гиг реально все таки маловато.

Red Hat можно втиснуть, но придется отказаться от всего что только можно, кроме инструментов разработки. А ведь нужен еще знакомый по винде файловый менеджер, IDE для разработки GUI приложений типа Qt4, Eclipse чтоб редактировать исходники ядра, SlickEdit чтоб редактироваить остальную нечисть. Один Eclipse при индексации ядра может создать временный файл базы данных в пару сотен мег.

Ну и что удобно, так то, что образ WMware c Линуксом можно таскать на флешке по всем компам.

Еще плюс, что через зашаренную директорию elf-файл скомпилированного ядра можно отражать в директорию Windows и там отлаживать нормальными тулсами через Jtag.

 

 

 

Задачи - получить начальные знания о том как работать под Linux, как пользоваться GNU-компилятором, make, отладчиком и т.д., изучить основы программирования под эту ось (чтобы в будущем перейти на embedded-linux). Т.е. работать под Linux периодически, теорию закреплять.

Компутер у меня - Celeron 2800, 512 Mb. На диске C места свободного обычно 5-6 Гб. Я так понимаю места для установки Linux в качестве 2-ой оси на HDD не хватит... Остается два варианта - knoppix или поставить vmware. Что посоветуете? Что лучше? Что удобнее? Может еще какие варианты есть?

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ставить Slackware!

 

Убунту, мандривы и т.д. это виндоподобные поделки, где всё делается мышью.

 

P.S. С такой конфигурацией именно VMWare и VirtualBox'ами и заниматься, ага......

"У меня не зря пингвин на аватаре стоит - я знаю что говорю!"(с) :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Убунту, мандривы и т.д. это виндоподобные поделки, где всё делается мышью.

Ну почему же, я вот вчера таки до консоли докопался...

Даже пытался gedit из командной строки с параметрами запустить.

Зато практически безболезненно практически переполз с виндов. Хотя бы дома.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Задачи - получить начальные знания о том как работать под Linux, как пользоваться GNU-компилятором, make, отладчиком и т.д., изучить основы программирования под эту ось (чтобы в будущем перейти на embedded-linux). Т.е. работать под Linux периодически, теорию закреплять.

 

Коротенько по особенностям большинства дистрибутивов можно почитать здесь - http://distrowatch.com/.

 

Особое внимание, раз речь зашла об embedded, обратить на поддержку процессорных архитектур. Debian по данному критерию вне конкуренции - http://distrowatch.com/table.php?distribution=debian.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще очень опасно на VMware ставить безхозные дистрибутивы типа Debian и проч., которые поддерживает некое СООБЩЕСТВО или физические лица

Debian-а нет в списке VMware, а значит на него вероятно не поставятся VMware Tools.

Отсутствие VMware Tools приводят к большим неудобствам в виртуальном Линуксе, а именно: отсутствие зашаренной директории-шлюза с Windows, невозможность правильной настройки разрешения экрана, неприятная привязка курсора к виртуальному экрану и т.д.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вставлю свои 2 копейки (на 5 не тянет)

 

Начинал с Redhat 4.2, дошел до RH 9.0.

IMHO: Fedora тестовый дистрибутив для Redhat EL. Не рисковал возиться.

Далее были варианты Scientific linux (последний 5.3 работает стабильно) от linux-ink. Это свободная сборка RHEL с дополнениями . Русификация хорошая.

Gentoo для начинающего будет тяжел в освоении. Но для понимания внутренностей и особенностей сборки бинарных пакетов, IMHO, вне конкуренции.

Сейчас активно пользуюсь Debian lenny 5.0.

 

Все познается в сравнении. Попробуйте несколько дистрибутивов (только не lite) и выберите устраивающий Вас. Получив некоторый опыт, перейти на другой не составит большого труда.

 

Где-то было сказано: выбирайте тот дистрибутив для освоения, который знает Ваш местный гуру.

 

Всегда устанавливал linux в отдельные разделы. Несколько дистрибутивов спокойно уживаются на одном диске в разных разделах. Надо только аккуратно загрузчики прописывать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вот, не прошло и трех месяцев - поставил себе VMware. :) Из комплекта на SK-AT91SAM9XE512-S3E. Плату пока в сторону отложил. Вот немного "чайниковских" вопросов (сильно не пинайте):

1) Чисто интуитивно запустил терминал и ввел в нем "gcc -v" (хотео посмотреть какая версия gcc - вроде угадал). Вывелось ...чё-то там... gcc 3.4.3.... . Очень принципиально какой версией gcc пользоваться? Если да, то я ведь могу на VMware установить более свежую? Если да, то что лучше? И где взять? А старую версия надо удалять?

2) Гриффитс "GCC. Полное руководство" - книга путная? Все что надо для освоения GCC там найду?

3) Собсно сам Linux - многообразие дистрибутивов пугает (при этом ни фига не понимаю чем они друг от друга отличаются). Но для написания программ под Linux разницы нет? Имею ввиду - с точки зрения API, написания драйверов и т.д. разницы нет?

4) Собсно embedded-Linux - а как тут все делается в общих чертах? Имею ввиду разные версии ядра, BSP от производителей и всякие разные там драйверы-библиотеки... Это все в любых комбинациях вместе легко увязывается? И потом как это все компилить? В смысле тут только номер версии GCC играет роль и все?

5) Натаскал из инета книг всяких - базовые (по теории ОС - Таненбаум и еще кто-то), по устройству ядра Linux (какой-то версии), по программированию под Linux. Старался пока на русском собирать. В какой последовательности все это изучать? И надо ли все изучать? Потому что если придется читать все, то быстрого старта совсем не получится :( . А очень хочется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) Чисто интуитивно запустил терминал и ввел в нем "gcc -v" (хотео посмотреть какая версия gcc - вроде угадал). Вывелось ...чё-то там... gcc 3.4.3.... . Очень принципиально какой версией gcc пользоваться? Если да, то я ведь могу на VMware установить более свежую? Если да, то что лучше? И где взять? А старую версия надо удалять?

Часто в документации которая идет с исходниками, явно указывают что собирать следует версией gcc не ниже чем. Так что для некоторых программ может оказаться актуально. Если хотите новую версию (я стараюсь пользоваться последней стабильной версией), то ставьте последнюю из репозиториев для вашего дистрибутива (для Ubuntu это 4.3.3). Или собирайте из исходников последнюю стабильную ветку (это не сложно, но долго).

2) Гриффитс "GCC. Полное руководство" - книга путная? Все что надо для освоения GCC там найду?

Книга хорошая, но малость устарела.

3) Собсно сам Linux - многообразие дистрибутивов пугает (при этом ни фига не понимаю чем они друг от друга отличаются). Но для написания программ под Linux разницы нет? Имею ввиду - с точки зрения API, написания драйверов и т.д. разницы нет?

Драйвер вы пишете не для дистрибутива, а для ядра (наример kernel 2.6.30). А ядро везде одно (почти всегда) Все дистрибутивы плюс/минус одинаковые, есть специально заточенные под сервера, есть заточенные под работу с музыкой, есть обычные казуальные (Ubuntu и все её производные), но при желании, из одного дистрибутива можно "выпилить" какой-то другой.

 

Попробуйте начать свое знакомство с LFS.

 

З.Ы. Вот интересная ссылка на тему казуального программирования под Linux http://ubuntuforums.org/showthread.php?t=333867 .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ставьте последнюю из репозиториев для вашего дистрибутива

Простите пардон :) . Не понял - почему именно для моего дистрибутива? Кстати RedHat 4.

 

Попробуйте начать свое знакомство с LFS.

На русском нашел 6.0. Говорят сильно устаревшая... Польза все равно будет? Или надо 6.3? А то 6.3 только на англицком пока...

 

З.Ы. Вот интересная ссылка на тему казуального программирования под Linux http://ubuntuforums.org/showthread.php?t=333867 .

Пардон сель ву пле :) . А что значит казуального?

Вообще есть желание как-нить по быстрому стартануть - хотя бы азам научиться. Ну типа на платке моей из под Линукса через COM-порт (а еще лучше Ethernet :rolleyes: ) вывести типа "хелло ворлд". Но пока голова только кругом идет от обилия информации. Может что посоветуете? План занятий так сказать. :)

А еще. При работе на виртуальной машине никаких не будет трудностей там, подвохов? А то у меня пока лишь еще один вариант - запускать с CD кнопикс (на установку линукса в качестве второй оси пока не решился).

Изменено пользователем Student Pupkin

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему всех так на RedHat тянет? :)

 

Простите пардон smile.gif . Не понял - почему именно для моего дистрибутива? Кстати RedHat 4.
Ценность отдельно взятого дистрибутива в том, что кто-то, уже заранее откомпилировал, специально для этого дистрибутива, кучу разных и полезных пакетов. По этому имеет смысл устанавливать ПО напрямую из репозитория, а не лазить по сайтам в поисках нужных пакетов или (о ужас!) компилировать их из исходников. Ну и к сожалению, репозитории разных дистрибутивом не всегда совместимы между собой.

 

На русском нашел 6.0. Говорят сильно устаревшая... Польза все равно будет? Или надо 6.3? А то 6.3 только на англицком пока...
Сложно сказать. Когда я этим занимался, то последняя версия была 6.4, сейчас вроде уже есть версия 6.5. Я бы все-таки читал английскую версию, т.к. она самая последняя (теоретически, Вы можете уже не найти те версии пакетов, что указаны в русской версии 6.0 и как результат, что не будет собираться правильно). А занятие это полезное, правда занимает ОЧЕНЬ много времени за счет компиляции из исходников.

 

А что значит казуального?
Имеется ввиду обычное, повседневное, несложное. Т.е. я хотел сказать "настолькое" программирование.

 

Вообще есть желание как-нить по быстрому стартануть - хотя бы азам научиться. Ну типа на платке моей из под Линукса через COM-порт (а еще лучше Ethernet rolleyes.gif ) вывести типа "хелло ворлд". Но пока голова только кругом идет от обилия информации. Может что посоветуете? План занятий так сказать. smile.gif
Я сам сейчас где-то на том-же уровне нахожусь =)) Если плата от starterkit, то у них на форуме были инструкции как поднять линукс, как запустить ethernet и прочее. Но только по инструкциям собирать это не совсем правильно, нету понимая как и зачем оно делается.

 

При работе на виртуальной машине никаких не будет трудностей там, подвохов?
Нет. Все четко. Виртуалки меня еще пока не подводили.

А то у меня пока лишь еще один вариант - запускать с CD кнопикс
Ой! Это ужасно! Лучше вариант с виртуалкой (VirtualBox, VMWare).

(на установку линукса в качестве второй оси пока не решился)
Ну и зря! =))

 

З.Ы. Вот еще полезную ссылку вспомнил http://openembedded.ru/ Там очень классное руководство по сборке Линукс для embedded применений с помощью разных подручных средств.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...