середу, 11 червня 2014 р.

Первая встреча

Предисловие

Итак, дамы и господа, а также победители Евровидения, в общем товарищи по счастью (если вы сюда зашли, допускаю, что вы тоже хотите быть счастливым юзером ОС не от MS), самый главный вопрос - а нахрена зачем? Зачем использовать какие-то другие ОС? Зачем их вообще придумали? Зачем Я вообще начал это писать? И, в конце-концов, зачем мы живём? На последний вопрос тяжело ответить, но другие - попробую приложить максимум усилий.

Прежде чем вам перейти на другую ОС, вы должны сами себе ответить - надо ли оно вам? Зачем вам это? Аргументов может быть куча как за одну сторону, так и за вторую, холиваров в сети тоже предостаточно. Это как с машинами - вы должны решить, что вы будете на ней делать - понтоваться и гонять под 200 по дорогах, где ограничение скорости 60 км/час, возить картошку из деревни или универсал какой-то, чтоб и на природу с компанией большой съездить и всё остальное. Конечно, может быть и случай, когда компания вам предоставляет свою машину, на которой вы должны ездить всегда, но и там мешок картошки перевезти можно :)

1, 2, 3... Поехали!

Я познакомился впервые с Ubuntu Linux просто ради интереса (может быть, ещё какие-то желания и мысли были, но уже не вспомню). Я всегда видел свою жизнь связанную с ИТ и мало-помалу начал понимать, что умения нажимать кнопку "Далее" при установке программ, и основ Паскаля явно недостаточно. И вот, это случилось. В 2010 году, так как поставил Я себе Ubuntu 10.04 (первое число версии в случае с убунтой - это год релиза). Вроде красиво выглядит, некоторые игры интересные даже есть. Любимый браузер (на то время) - по умолчанию есть, да и вообще с коробки куча программ поставилась. Ну а дальше начались более интересные отношения (Я бы даже сказал - сношения, причём, когда убунта сильно сношала меня, то Я в отместку сносил её :))
Сначала оказалось, что многие форматы аудио и видео требуют сторонних кодеков, но это ничего - нагуглилось решение быстро. Потом, оказывается видео глюкавит, то притормозит, то полоски какие-то, перезагружаюсь в винду, открываю то же самое видео - всё чётко. Опять гуглим, ага - драйвера на видеокарту надо подыскать. Нашел, поставил, перезагрузил - оппа, не грузится убунта! Голая консоль лишь доступна, видать то ли дрова кривые, то ли руки. Что в консоли делать - Я хз, переставляю убунту наново )
В общем, видео смотреть было тяжко, решения тогда найти не смог, да и в винде больше времени проводил - игр было куча непройденых. И вот, выходит убунту 10.10, она какая-то более допиленная вышла, хотя и не LTS (LTS - длительная поддержка; возможно потому не LTS и более допиленная - экспериментальные пакеты поставили). Уже и фильмы смотреть можно без боли в глазах. Ну, хорошо, фильмы посмотрел, простенькие игры поиграл, пару команд терминала выучил. А дальше что? Прогал в то время на Делфи, которое под винду, играть больше хотелось во всякие Варкрафты да Хитмены, тобишь опять надо перезагружаться в винду. Вот и спрашивается - зачем тот дистр линуха, да ещё один из самых продвинутых, коль всё равно уступает винде, казалось мне тогда. Ведь с виндой так гемориться не надо, пиратских приложений - куча, переустановить винду - тоже дело плёвое... Но, время шло. Мир никсов рос, росло и количество вакансий, которые с этим делом связаны. Даже на фрилансах уже начали преобладать незнакомые мне языки программирования и технологии. А работал Я в то время учителем информатики, но это скорее, была не работа, а "мотание" срока. И вот, мой срок близился к концу, и Я твёрдо решил слинять со школы раз и навсегда. Начал учить одно, второе, третье, ходил по разных вакансиях, знакомился с теми технологиями, что требовали они. И вот однажды повезло, мне дали шанс подучиться и попасть в крупную ИТ-компанию на постоянное место. Здесь мне пришлось познакомиться с линухом поближе и поглубже, а поскольку мне убунта была уже знакомая, поставил её опять, но это уже был 2012 год и поставил себе неплохую версию - 12.04. Также пришлось познакомиться и с FreeBSD, и с RHEL, и с кучей технологий вроде Apache, MySQL и многое-многое другое, но об этом позже...

Итак, главное, что Я хотел бы здесь описать - это те грабли, на которые Я наступал (или, вернее, бегал по граблям и вдоль и поперек, и грациозно перепрыгивал с одних грабель на другие). Может быть, кому-то из вас, дорогие читатели, это пригодится. Да и следуя философии свободных ОС - надо не только брать, но и давать. И, мне кажется, что мир, пускай и очень медленно, но всё же движется в сторону OpenSource как и в ПЗ, так и вообще в жизни, свободного обмена информацией (кроме пин-кодов к банковским карточкам, естественно) и т.д. и т.п.

Для тех, кого уже достала моя история, переход к практике:

Терминал - это ваше главное оружие в *nix системах. Да и вообще, Я уже без терминала не представляю свою жизнь, равно как и в винде без тотал коммандера :)
Потому, фактически всё, что вы дальше здесь встретите, будет выполняться в терминале.

Одним из первых грабель для меня, как ни странно, оказалось открытие простого текстового файла. Ну, простого, по крайней мере, с точки зрения винды. А фокус-то в кодировке. Обычные txt-файлы, которые легко и красиво открываются блокнотом, в винде имеют кодировку cp1251, в никсах же всё любит юникод. Потому-то мои записи, анекдоты, афоризмы открылись в убунте страшными кракозябрами. Открывал и аналогом блокнота, открывал и текстовым редактором vim, и просто через утилиту cat - а всё без толку. Вот было бы здорово, чтобы все оськи любили юникод - он же потому вроде и "юни"! Опять минуты и часы проведённые в гугле и на форумах, но, решение найдено! И вот, вам уже не надо гуглить (но, вообще, привыкайте к тому, что гуглить вам придётся часто и много, но зато и некое мазохистское наслаждение в этом тоже имеется), утилита iconv вам поможет:

Чисто для чтения файла в терминале набираем это (подставим своё вместо путь_к_файлу):

$ iconv -f CP1251 -t UTF-8 путь_к_файлу | less -M

(для новичков: значок $ набирать не надо. Выход из режима просмотра - q, листать - стрелками вверх-вниз)

Видим как всё просто и прозрачно: вызывается утилита iconv, ключ -f с параметром CP1251 указывает, что исходный файл имеет такую кодировку (тобишь, вам надо знать наверняка, что именно такая кодировка); ключ -t с параметром UTF-8 указывает, какую кодировку мы хотим получить; | - палочка (пайп), какбы позволяет результат работы до неё передать в утилиту после неё, тобишь, переконвертированное содержимое файла утилитой iconv передается утилите less, которая предназначена для чтения файлов. При этом, сам файл останется не изменен. Если же вам очень надо сохранить переконвертированное содержимое в какой-то файл, то это можно сделать так:

$ iconv -f CP1251 -t UTF-8 путь_к_файлу > путь_к_новому_файлу

Никогда не указывайте новым тот же файл, что и исходный! Не надо вам исходный - просто удалите после успешного завершения работы над ним.


Также, важно понимать, что сам символ ">" обозначает "перенаправить поток". Пример:

создание файла с фразой "Hello world!" (при этом, стирается уже существующий файл с таким же названием, будьте осторожны!)

$ echo "Hello world!" > my_file.txt


Теперь можете просмотреть этот файл с помощью любой из этих утилит: cat, more, less, редактором vi, или стандартным убунтовским "блокнотом" - gedit. Можно ещё не перетирать файл, а дозаписывать в конец:


$ echo "Hello world!" >> my_file.txt


Заметили разницу? Тут сразу два знака ">>" без пробелов между ними. Что ж, на первый раз хватит, Я устал :)


Если понравилось, можете откомментировать, типа "аффтар, пиши есчо!". Хотя, писать ещё Я буду в любом случае :)

Немає коментарів:

Дописати коментар