Архив рубрики: Linux

Hello World на C++ под Linux Debian или Ubuntu

Кратенькая инструкция по созданию приложения «Hello World» в Linux Debian.
Передо мной вдруг встал вопрос, как программировать на С++ в консоли линукса. Как это сделать в Eclipse — понятно, а вот как в консоли, я не знал.
Но, разобравшись, я понял, что ничего сложного в этом нет.
Во первых, надо установить компилятор — программа, которая из кода C++ будет делать исполняемый файл.
Для этого в терминале/консоли пишем следующее:
1) Очень важно обновить репозиторий, а то у меня из-за этого компилятор не запускался и не установился толком:

sudo aptitude update

2) Устанавливаем компилятор:

sudo aptitude install g++

3) Пишем нашу программу, скажем в vim'е:

vim test.cpp

и вводим следующее:

#include  

int main()

{

    std::cout << "Hello, world!" << std::endl;

}

и сохраняем.
4) Компилируем:

g++ -o exetestcpp  -Wall test.cpp

где exetest.cpp — имя исполняемого файла, test.cpp — имя файла, который мы компилируем.
5) Запускаем:

./testcpp.exe

Получаем:

Hello, world!

Вот и все. Как видите, и впрямь ничего сложного.

Автор: AlexWinner
Дата публикации: 2009-11-09T12:25:00.000-08:00

Как удалить ubuntu linux.

В этом посте хочу рассказать про то, как правильно и грамотно удалить Ubuntu с компьютера.  Надеюсь, Вы удаляете Убунту не потому, что решили вообще отказаться от линукса, а потому, что вас заинтересовал какой-то другой дистрибутив, например  — Gentoo Linux. Читать

Об установке программ для Ubuntu (а так же Kubuntu) и Debian Linux

Эта запись предназначена для тех, кто не знает, откуда скачать и как установить программы для Убунту и Дебиана. В линуксе все приложениясодержатся в пакетах. Чтобы установить пакет, вам не надо самим ничего качать с интернета или вообще делать что-либо. Для установки вам достаточно лишь запустить терминал, и в нем ввести команду

sudo aptitude install imya_packeta

Только imya_packeta необходимо заменить на название пакета, который вам нужен.
К примеру, чтобы установить OpenOffice, вам всего лишь надо набрать

sudo aptitude install openoffice

После того, как пакет установится, вы сможете пользоваться нужной вам программой.
Если вы не знаете, какой именно пакет нужен, но надо всего лишь немножко погуглить. А если есть какие-то идеи по тому, как он называется, то можно выполнить команду

sudo aptitude search idea

где idea — это то слово, которое, по вашему мнению, должно быть в имени пакета. В результате этой комманды будет выведен список пакетов, соответствующих вашей идеи и их примерное описание.
Удалить же программу можно, удалив пакет, в котором она содержится. Для этого надо в терминале набрать

sudo aptitude search packet_name

где packet_name — имя пакета, который вы хотите удалить.
Ну а если же Вы не хотите пользоваться терминалом, то для ваших целей есть Synaptic — красивый графический менеджер пакетов. Пользоваться им еще проще:)

Автор: AlexWinner
Дата публикации: 2009-11-04T17:37:00.000-08:00

Основные команды Bash (Linux Debian — Ubuntu)

Такая маленькая шпаргалочка по самым частоиспользуемым командам командной строки Bash 🙂

1. Команды, предназначенные для работы с файлами и директориями.

ls /path/ — вывести содержимое директории /path/. Например, ls /home/username/ выведет все файлы и директории, содержащиеся в папке /home/username/ . Просто ls выведет содержимое текущей директории. Так же очень часто используется ls -lh  — с такими параметрами эта команда выведет содержимое и укажет его размер в «человеческом виде» — human-readable, кроме размера так же будет указаны права доступа на файл, время его редактирования и пр.
Читать

Обновление Ubuntu c 9.04 (Jaunty Jackalope) до версии 9.10 (Karmic Koala)

Только что вышла новая Убунта, 9.10. Естественно, хочется обновить свою старую убунту до новой версии. Встает вопрос — как это сделать?
Все очень просто. Есть несколько способов:

1) Обновление через сеть (рекомендуемый и самый простой способ)
а. Проходим по следующему пути — система-администрирование-менеджер обновлений.
б. Нажимаем на кнопку «Проверить обновления».
в. Если предлагается установить какие-либо обновления, то устанавливаем их, затем еще раз нажимаем на проверить.
г. Появится сообщение о том, что доступен новый релиз Убунты.
(К сожалению, нет скриншота на русском)

д. Нажимаем на кнопку Апгрейд.
е. Следуем появляющимся на экране инструкциям.





2) Обновление по сети для Ubuntu Servers — серверов на базе Убунты.
а. Устанавливаем update-manager-core, если он еще не установлен:







sudo apt-get install update-manager-core

 б. Запускаем инструмент для обновления:







sudo do-release-upgrade

в. Следуем появляющимся на экране инструкциям.
3) Обновление с использованием диска CD / DVD
Этот метод следует использовать в том случае, если компьютер не подключен к интернету, или качество соединения не позволяет апгрейд через сеть.
а. Вставляем диск в дисковод.
б. На экране появится сообщение, уведомляющее о возможности обновиться:

в. Нажимаем на «запустить обновление» и следуем появляющимся на экране инструкциям.
г. Если это сообщение не появляется, то выполните следующую команду, нажав Alt+F2:







gksu "sh /cdrom/cdromupgrade"

Наслаждаемся Кармической Коалой)

Автор: AlexWinner
Дата публикации: 2009-11-01T10:12:00.000-08:00

Файловая система Btrfs

Это конспект моего доклада на семинаре, организованном нашей LUG совместно с университетом. Опять же, времени было пшик, так что доклад весьма обзорный.

Введение

Речь пойдёт о файловой системе нового поколения. Традиционно ФС играла значительную роль в организации Unix-систем. И во многом именно свойствами ФС определялись свойства той или иной реализации Unix.

Файловая система должна хранить файлы и обеспечивать доступ к ним. При этом к ней предъявляется большое количество требований, зачастую взаимоисключающих: поддержка файлов любого размера, высокая производительность операций ввода/вывода, масштабируемость и т.д. Давно стало ясно, что ни одна файловая система не может быть одинаково эффективна во всех случаях. Поэтому все современные реализации Unix поддерживают работу с несколькими типами ФС одновременно. Есть такое выражение: «Linux — это Unix сегодня», и ядро Linux поддерживает свыше 50 (!) типов ФС.

ФС нового поколения

В 2005-м году компания Sun Microsystems представила файловую систему ZFS, которая стала прорывом в области файловых систем. Из-за лицензионной политики Sun ZFS не может быть включена в ядро Linux. Однако в 2007-м году началась разработка файловой системы нового поколения для Linux — Btrfs. Разработку оплачивает компания Oracle, однако код выпускается под лицензией GNU GPL и входит в ядро Linux начиная с релиза 2.6.29, вышедшего на этой неделе.

Приведу фрагмент интервью Chris Mason — основного разработчика Btrfs:

  • Опишите Btrfs своими словами.

  • Btrfs — это новая файловая система, выпускаемая под GPL, которая разрабатывается с учётом масштабируемости на очень большие объёмы носителей. Масштабируемость означает не только возможность адресовать блоки носителя, но также возможность работать с повреждениями данных и метаданных. Это означает наличие инструментов для проверки и восстановления файловой системы без отмонтирования, и интегрированную проверку контрольных сумм, чтобы определять ошибки.

  • Является ли Btrfs наследницей какой-нибудь другой ФС?

  • Да, всех их 🙂 Здесь много идей из ReiserFS, отложенное размещение и другие идеи из XFS. ZFS популяризовала идею, что подсчёт контрольных сумм данных может быть быстрым, и что управление логическими томами может быть лучше. Идеи по реализации управления томами пришли из AdvFS.

Основные возможности Btrfs

Итак, основные возможности, которые будут в Btrfs:

  • Поддержка доступных на запись снапшотов (аналог клонов ZFS). Кроме того, здесь можно создавать снапшоты снапшотов.

  • Поддержка субтомов — множественных именованных корней в одной файловой системе с общим пулом хранения.

  • Поддержка сложных многодисковых конфигураций — RAID уровней 0, 1, 5, 6 и 10, а также реализация различных политик избыточности на уровне объектов ФС — то есть возможно назначить, к примеру, зеркалирование для какого-либо каталога или файла.

  • Copy-on-write (CoW) журналирование.

  • Контроль целостности блоков данных и метаданных с помощью контрольных сумм.

  • Зеркалирование метаданных даже в однодисковой конфигурации.

  • Полностью распределенное блокирование.

  • Поддержка ACL.

  • Защита от потери данных.

  • Выбор хэш-алгоритма.

  • Поддержка NFS.

  • Флаги совместимости, необходимые для изменения дискового формата в новых версиях btrfs с сохранением совместимости со старыми.

  • Резервные копии суперблока, по крайней мере — по одной на устройство.

  • Скоростные приоритеты для дисков.

  • Гибридные пулы. btrfs старается перемещать наиболее используемые данные на самое быстрое устройство, вытесняя с него «залежавшиеся» блоки. Эта политика хорошо согласуется с появившейся недавно моделью использования SSD (Solid State Drive).

  • Балансировка данных между устройствами в btrfs возможна сразу после добавления диска к пулу, отдельной командой — а не только постепенно, в процессе использования (как это реализовано в ZFS).

  • Диски для горячей замены, поддержка кот