RSS
 

Архивные записи рубрики ‘Linux’ ...

Ядру Linux исполнилось 25 лет

31 Авг

linux_smallЯдро Linux отметило свой 25-й день рождения. 25 августа 1991 года, после пяти месяцев разработки, 21-летний студент Линус Торвальдс объявил в телеконференции comp.os.minix о создании рабочего прототипа новой операционной системы Linux, для которой было отмечено завершение портировния bash 1.08 и gcc 1.40. Первый публичный выпуск ядра Linux был представлен 17 сентября. Ядро 0.0.1 имело размер 62 Кб в сжатом виде и содержало около 10 тысяч строк исходного кода. Современное ядро Linux насчитывает более 19 млн строк кода. По данным исследования, проведённого по заказу Евросоюза, приблизительная стоимость разработки с нуля проекта, аналогичного современному ядру Linux, составила бы более миллиарда долларов США, по другим оценкам — более 3 миллиардов.

Ядро Linux было создано под впечатлением от операционной системы MINIX, которая не устраивала Линуса своей ограниченной лицензией. Впоследствии, когда Linux стал известным проектом, недоброжелатели пытались обвинить Линуса в прямом копировании кода некоторых подсистем MINIX. Нападение отразил Эндрю Таненбаум, автор MINIX, который поручил одному из студентов провести детальное сравнение кода Minix и первых публичных версий Linux. Результаты исследования показали наличие только четырёх несущественных совпадений блоков кода, обусловленных требованиями POSIX и ANSI C.

Первоначально Линус задумал назвать ядро Freax, от слов «free», «freak» и X (Unix). Но имя «Linux» ядро получило с лёгкой руки Ари Лемке (Ari Lemmke), который по просьбе Линуса разместил ядро на FTP-сервере университета, назвав директорию с архивом не «freax», как просил Торвальдс, а «linux». Примечательно, что предприимчивый делец Вильям Делло Крок (William Della Croce) сумел зарегистрировать торговую марку Linux и хотел со временем собирать отчисления, но позднее передумал и передал все права на торговую марку Линусу. Официальный талисман Linux-ядра, пингвин Tux, был выбран в результатесоревнования, состоявшегося в 1996 году. Имя Tux расшифровывается как Torvalds UniX. Прочитать всю статью »

 
Комментарии к записи Ядру Linux исполнилось 25 лет отключены

Рубрика: Linux

 

Для ядер Linux, начиная с 3.13, опубликован эксплоит, позволяющий поднять свои привилегии

05 Авг

hacker_attackОпубликован эксплоит, позволяющий непривилегированному локальному пользователю выполнить код с правами ядра Linux. Эксплоит демонстрирует анонсированную две недели назад уязвимость CVE-2015-3290, вызванную ошибкой в коде работы с NMI в ядре Linux. Уязвимость проявляется на системах с архитектурой x86_64 при использовании ядра Linux 3.13 и более новых версий.

Устраняющие проблему исправления были внесены в ядро в середине июля и уже включены в обновления ядра для Ubuntu и Debian. Для Fedora и openSUSE проблема пока остаётся неисправленной. Ядра из состава RHEL/CentOS и SUSE не подвержены проблеме.

 
Комментарии к записи Для ядер Linux, начиная с 3.13, опубликован эксплоит, позволяющий поднять свои привилегии отключены

Рубрика: Linux

 

Увидел свет дистрибутив CentOS 7.1503, основанный на RHEL 7.1

01 Апр

indexАнонсирован выпуск дистрибутива CentOS 7.1503, вобравшего в себя изменения из Red Hat Enterprise Linux 7.1. Необычный номер версии 7.1503 связан с введением в практику ежемесячной сборки rolling-обновлений установочных образов. В рамках подготовки мартовской сборки репозиторий был переведён на пакетную базу RHEL 7.1, поэтому выпуск CentOS 7.1503 можно формально рассматривать как CentOS 7.1 по старой нумерации.

Сборки доступны для архитектуры x86_64 в виде установочной DVD-сборки (3.9 Гб), образа NetInstall для установки по сети (370Мб), минимальной серверной сборки (564 Мб), полного образа для USB Flash (7 Гб) и Live-сборок с GNOME (1 Гб) и KDE (1.2 Гб). Пакеты SRPMS, на основе которых произведена сборка бинарных файлов, и debuginfo доступны через vault.centos.org. Дистрибутив полностью бинарно совместим с RHEL 7.1, внесенные в пакеты изменения, как правило, сводятся к ребрендингу и замене художественного оформления. Прочитать всю статью »

 
Комментарии к записи Увидел свет дистрибутив CentOS 7.1503, основанный на RHEL 7.1 отключены

Рубрика: Linux

 

Настройка Linux для высоконагруженных проектов и защиты от DDoS

27 Мар

black-linux_2В Интернете довольно много разных примеров конфигурации ядра Linux для поддержания большого количества соединений, высоконагруженных веб проектов и противодействия DDoS-атакам. Вот ещё один из примеров, что я уже смог попробовать на практике. Скажу сразу — мне более чем помогло. Попробуйте и вы.

Вот опции, что необходимо добавить в конец /etc/sysctl.conf

net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.tcp_max_orphans = 65536
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_mem = 50576   64768   98152
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_orphan_retries = 0
net.ipv4.tcp_syncookies = 0
net.ipv4.netfilter.ip_conntrack_max = 16777216
net.netfilter.nf_conntrack_max = 16777216
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_congestion_control = htcp
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.route.flush = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
net.ipv4.conf.eth0.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.eth0.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rfc1337 = 1
net.ipv4.ip_forward = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 1000
net.core.rmem_default = 65536
net.core.wmem_default = 65536
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
fs.inotify.max_user_watches = 16777216

А теперь о каждой опции более детально. Прочитать всю статью »

 
Комментарии к записи Настройка Linux для высоконагруженных проектов и защиты от DDoS отключены

Рубрика: Kernel, Linux

 

perf-tools — новый набор утилит для анализа производительности в Linux

19 Мар

black-linux_2Брендан Грег (Brendan Gregg), один из разработчиков DTrace, переключился на развитие средств анализа производительности в Linux и подготовлил новый набор утилит perf-tools, основанный на применении подсистем ядра Linux perf_events и ftrace. Утилиты отличаются минимальным числом зависимостей, простотой использования и дополнительными возможностями изучения параметров производительности и отзывчивости.

Например, утилита iosnoop позволяет проанализировать дисковый ввод/вывод с приведением дополнительной информации о возникающих задержках (latency):


# ./iosnoop
Tracing block I/O... Ctrl-C to end.
COMM             PID    TYPE DEV      BLOCK        BYTES     LATms
supervise        1809   W    202,1    17039968     4096       1.32
supervise        1809   W    202,1    17039976     4096       1.30
tar              14794  RM   202,1    8457608      4096       7.53
tar              14794  RM   202,1    8470336      4096      14.90
tar              14794  RM   202,1    8470368      4096       0.27
tar              14794  RM   202,1    8470784      4096       7.74
tar              14794  RM   202,1    8470360      4096       0.25
tar              14794  RM   202,1    8469968      4096       0.24
tar              14794  RM   202,1    8470240      4096       0.24

Прочитать всю статью »

 
Комментарии к записи perf-tools — новый набор утилит для анализа производительности в Linux отключены

Рубрика: Kernel, Linux

 

Представлен первый кандидат в релизы ядра Linux 4.0

23 Фев

Линус Торвальдс не стал продолжать нумерацию 3.x и выпустил первый кандидат в релизы ядра Linux 4.0, вместо ожидаемого выпуска 3.20. Смене нумерации способствовали результаты голосования, в котором приняло участие почти 30 тысяч представителей сообщества, из которых 56% посчитали, что настало время выпуска версии 4.0.

Переход к нумерации 4.x является формальным шагом, обусловленным лишь эстетическими соображениями. В 2013 году рассматривалась идея использования смены первого номера в версии как дополнительного стабилизирующего этапа (предлагалось включить в ядро 4.0 только исправления ошибок, без функциональных изменений и новшеств), но данная идея была отвергнута. С точки зрения функциональности выпуск 4.0 не содержит кардинальных изменений или нарушений совместимости и не выделяется среди остальных выпусков, плавно продолжая развитие текущей кодовой базы.

Прошлая смена нумерации была произведена в 2011 году, когда в ветке 2.6.x накопилось 39 релизов. На подготовку 40 выпусков в ветке 2.6.x было потрачено 10 лет, что по мнению Линуса слишком много, поэтому наращивание нумерации ветки 3.x решено прекратить после 20 выпусков. Весомым аргументом в пользу ядра 4.0 также стало желание как можно скорее увидеть выпуск 4.1.15 — это номер версии ядра Linux, показанный в фильме Терминатор, при демонстрации интерфейса киборга T-800. Прочитать всю статью »

 
Комментарии к записи Представлен первый кандидат в релизы ядра Linux 4.0 отключены

Рубрика: Kernel, Linux

 

NetworkManager 1.0 — первая «зрелая» версия проекта за 10-летнюю историю

23 Дек

123.Спустя больше чем 10 лет* разработки Дэн Уильямсон (Dan Williams) из Red Hat представил версию 1.0 системы конфигурации для автоматического подключения к сети — NetworkManager.

NetworkManager 1.0 — это не только символическая смена номера версии, которая показывает зрелость проекта, это также множество изменений и улучшений по отношению к предыдущей версии. Перечень изменений включает следующее:

  • клиентская библиотека на более современном GObject;
  • обновлены переводы и исправлено множество ошибок;
  • улучшена гибкость в маршрутизации;
  • значительно доработан nmcli, добавлена поддержка пароля;
  • улучшен nmtui;
  • добавлен встроенный легковесный DHCP-клиент;
  • добавлен режим «настроить и выйти»;
  • включена поддержка Bluetooth DUN при работе с Bluez5;
  • улучшено взаимодействие с внешними инструментами,
  • реализована поддержка IPv6 на интерфейсе WWAN.

 
Комментарии к записи NetworkManager 1.0 — первая «зрелая» версия проекта за 10-летнюю историю отключены

Рубрика: Linux, Networking

 

Игра Civilization: Beyond Earth доступна для Linux

23 Дек

Компания Aspyr Media официально выпустила для платформы Linux нативную версию пошаговой стратегии «Civilization: Beyond Earth«. Выпуск для Linux был представлен всего спустя 2 месяца после поставки игры для платформы Windows и месяц после OS X. Загрузить игру можно через сервисы доставки игр GameAgent и Steam. До 20 декабря игра будет продаваться со скидкой 40%. Одновременно заявлено о предоставлении скидки в 76% для Linux-версии ранее выпущенной игры Civilization V.


 
Комментарии к записи Игра Civilization: Beyond Earth доступна для Linux отключены

Рубрика: Linux