gladilov.org.ru 

1367 заметок с тегом

софт

Позднее Ctrl + ↑

Евросоюз утвердил открытую лицензию EUPL 1.2, совместимую с GPLv3

После четырёх лет обсуждений чернового варианта утверждена новая версия лицензии EUPL 1.2 (European Union Public Licence), используемой при разработке открытого программного обеспечения для государственных учреждений в Евросоюзе. Лицензия доступна на 23 языках, используемых в странах Евросоюза и опубликована в официальном журнале Европейского союза, что обозначает вступление правового акта в силу. Лицензия признана организацией Open Source Initiative (OSI) открытой и соответствующей требованиям «Open Source Definition».

Показать

В лицензии EUPL 1.2 решены многие ранее наблюдаемые проблемы с совместимостью с другими открытыми и свободными лицензиями, в том числе обеспечена совместимость с лицензиями GPLv3, AGPLv3, LGPLv2, LGPLv3 и MPLv2. Версия EUPL 1.1 позволяла перелицензировать код в GPLv2, но была включена Фондом СПО в список лицензий, несовместимых с GPL. Наиболее ожидаемым эффектом от принятия EUPL 1.2 стала возможность использовать код продуктов, выпускаемых для госучреждений Евросоюза, в проектах, развиваемых независимым сообществом под лицензией GPLv3. Совместимость с GPLv3 является значительным шагом в сторону улучшения переносимости кода, который упростит смешивание в одном проекте кода под лицензиями GPLv3 и EUPL 1.2, а также сделает возможным перелицензирование EUPL-кода под лицензией GPLv3 без необходимости дополнительных согласований.

Напомним, что по сравнению с GPLv2 лицензия GPLv3 обладает такими особенностями, как запрет тивоизации (привязки программного обеспечения к оборудованию), противодействие заключению дискриминационных патентных соглашений (патент может быть лицензирован для GPLv3 кода только на условиях повсеместного и бесплатного использования) и предоставление защиты от патентных исков со стороны поставщика GPLv3-продукта (если фирма поставляет GPLv3 компоненты, то она не может предъявить судебный иск против пользователей данных компонентов, обвинив их в нарушении патентов в данном ПО или в обходе средств защиты интеллектуальной собственности).

Необходимость поддержания Евросоюзом собственной свободной лицензии вместо использования уже существующих лицензий обусловлена необходимостью приведения лицензии в полное соответствие с требованиями законодательства всех стран Евросоюза. У существующих лицензий наблюдаются несостыковки с особенностями трактовки авторского права в некоторых странах Евросоюза. Кроме того, лицензия EUPL изначально утверждается в переводе на 23 европейских языках. Независимо от того на каком официальном языке используется текст лицензии, все варианты считаются юридически идентичными.

Источник

Переменная PS1 и её сёстры

Всегда хотел узнать, почему у переменной окружения $PS1 (prompt string) в конце цифра 1.

Оказывается — таких переменных аж четыре штуки ($PS1, $PS2, $PS3, $PS4), и все они отображают приглашения ко вводу в различных ситуациях.

Показать

Далее речь идёт о системной оболочке bash.

В моих системах $PSx выглядят так:

$PS1 — приглашение командной строки, используется в оболочке для отображения запроса ввода и отображается тогда, когда консоль готова считать команду.
Значение по умолчанию:

"\u@\h:\w\$ "

или

"\s-\v\$ "

(расшифровку значений спецсимволов bash см. внизу заметки).
$PS2 — вторичное приглашение командной строки, отображается, когда консоль нуждается в дополнительном вводе для завершения команды, которую уже начала считывать.
Значение по умолчанию:

"> "

Очень длинную команду можно разбить с помощью символа ’\’ в конце строки, при этом приглашение изменится на $PS2, ожидая ввода продолжения команды.

$PS3 — третичное приглашение, выводится тогда, когда оператор select ожидает ввода значений.
Значение по умолчанию:

""

хотя в bash’е вроде как

"#?"

$PS4 — приглашение четвертого уровня, выводится в начале каждой строки вывода во время трассировки выполнения (вызывается с ключом -x).
Значение по умолчанию:

"+ "

Во всех переменных можно использовать следующие спецсимволы (напомню, речь идёт об оболочке bash):

\a

символ Bell (звонок) (код 07)

\d

дата в формате «ДеньНедели Месяц Число» (т. е. «Tue May 26»)

\\

символ обратного слеша (обратная косая черта)

\e

символ Escape (код 033)

\h

имя хоста до первой точки

\H

полное имя хоста

\j

количество заданий, выполняемых оболочкой в фоне

\l

базовое имя наименования терминального устройства оболочки (в случае входа через ssh-клиент возвращает не полное имя, например pts/3, а только 3)

\n

символ перевода строки

\r

символ возврата каретки

\s

имя оболочки, базовое имя от переменной $0 (после последнего символа /)

\t

текущее время в 24-часовом формате (HH:MM:SS)

\T

текущее время в 12-часовом формате (HH:MM:SS)

\@

текущее время в 12-часовом формате (am/pm)

\A

текущее время в 24-часовом формате (HH:MM)

\u

имя текущего пользователя

\v

версия оболочки bash (например, 2.00)

\V

версия и номер релиза bash (например, 2.00.0)

\w

полный путь текущей директории

\W

базовое имя текущей директории

\!

номер истории зтой команды

\#

номер зтой команды

\$

если UID == 0, то символ ’#’, иначе ’$’

\nnn

символ, соответствующий восмеричному числу nnn

\[

начало последовательности невыводимых символов. Может использоваться для осуществления управления терминалом в приглашении

\]

конец последовательности невыводимых символов

\D{format}

строка format передаётся в strftime(3), результат вставляется строку приглашния оболочки, пустой формат приводит к выводу локального времени. Скобки необходимы.

Ну и напоследок бонус — скрипт генерации таблицы цветов в bash

2017   BASH   Linux   сисадминство   софт

Памятка для настройки DebWrt

 Давным-давно появилась у меня железка D-Link DIR-300/A2,  вот такая. Так как на ней есть разъём USB, то я поставил туда прошивку DebWrt, продукт противоестественного скрещивания Debian и OpenWrt

С тех пор на винте лежит текстовый файл, описывающий основные команды настройки этой ОС. Публикую здесь как памятку для себя (с моими комментариями), ну а если сей опус кому-либо когда-либо как-либо чем-то пригодится — я буду только рад!

Показать

cd /etc/network
rm interfaces // это симлинк на interfaces.firstboot
cp interfaces.firstboot interfaces
vi interfaces // настраиваем сетевые интерфейсы как нам нужно
// следующие команды необходимы для настройки доступа в интернет без перезагрузки устройства
// (после доступ будет реализован путём выдачи IP по DHCP от шлюза во внешнюю сеть)
ip a a $IP/$MASK dev $IF && echo '8.8.8.8' > /etc/resolv.conf && ip r a via $GW
// для обновления репозитория со squeeze до wheezy
cp /etc/apt/sources.list /etc/apt/sources.list.old
echo 'deb http://ftp.debian.org/debian wheezy main' > /etc/apt/sources.list
gpg --keyserver pgpkeys.mit.edu --recv-key F120156012B83718 && gpg -a --export F120156012B83718 | apt-key add -
gpg --keyserver pgpkeys.mit.edu --recv-key 010908312D230C5F && gpg -a --export 010908312D230C5F | apt-key add -
gpg --keyserver pgpkeys.mit.edu --recv-key CBF8D6FD518E17E1 && gpg -a --export CBF8D6FD518E17E1 | apt-key add -
gpg --keyserver pgpkeys.mit.edu --recv-key 7638D0442B90D010 && gpg -a --export 7638D0442B90D010 | apt-key add -
gpg --keyserver pgpkeys.mit.edu --recv-key 8B48AD6246925553 && gpg -a --export 8B48AD6246925553 | apt-key add -
// опционально
gpg --keyserver pgpkeys.mit.edu --recv-key 6FB2A1C265FFB764 && gpg -a --export 6FB2A1C265FFB764 | apt-key add -
aptitude update
aptitude upgrade
adduser $USER
echo '$USER ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers
// обновление системы, можно и aptitude upgrade/aptitude dist-upgrade впендюрить, если время позволяет
aptitude update
// установка нужных пакетов
aptitude install mc sudo locales bash-completion ntpdate openssh-server screen wpasupplicant
// установка опциональных пакетов
aptitude install most nload htop ccze telnet wavemon tcpdump fping nmap ipcalc console-cyrillic
// установка совсем уж опциональных пакетов
aptitude install apache2 php5 mysql-server mysql-client
// настройка локали, шрифтов, таймзоны
dpkg-reconfigure locales
dpkg-reconfigure console-cyrillic // если поставлен
dpkg-reconfigure tzdata

Далее следует настройка переменных и алиасов в ~/.bashrc и ~/.profile (а равно и в /root/.bashrc и /root/.profile).

Если кого заинтересовала эта прошивка — вот  ссылка на мою инструкцию по перепрошивке девайса (DIR-320/A*, версия прошивки — 10.03).

Скрипт подсчёта размера БД MySQL

Понадобилось мне как-то узнать размер таблиц в MySQL-базе данных. Причём узнать в shell script’е. Поискав в сети, наткнулся на чудесный скриптик.

Показать

Допилив его, стал использовать в MRTG. Привожу полностью, без правок/изменений:

#!/bin/bash
# Calculate the storage space used up by all tables in a given MySQL database
# Ben Dowling - www.coderholic.com
database=$1
username=$2
password=$3

if [ ${#database} -eq 0 ]
then
    echo "Usage: $0 <database> [username [password]]"
    exit
fi

if [ "$password" ]
then
   password="-p$password"
fi

mysql="mysql -u $username $password $database"

$mysql -se "USE $database";

tables=$($mysql -se "SHOW TABLES")

totalData=0
totalIndex=0
totalTables=0

for table in $tables
do
   output=$($mysql -se "SHOW TABLE STATUS LIKE \"$table\"\G")
   data=$(echo "$output" | grep Data_length | awk -F': ' '{print $2}')
   dataMegs=$(echo "scale=2;$data/1048576" | bc)
   index=$(echo "$output" | grep Index_length | awk -F': ' '{print $2}')
   indexMegs=$(echo "scale=2;$index/1048576" | bc)
   total=$(($index+$data))
   totalMegs=$(echo "scale=2;$total/1048576" | bc)
   
   echo "$table Data: ${dataMegs}MB Indexes: ${indexMegs}MB Total: ${totalMegs}MB"
   
   totalData=$(($totalData+$data))
   totalIndex=$(($totalIndex+$index))
   totalTables=$(($totalTables+1))
done

dataMegs=$(echo "scale=2;$totalData/1048576" | bc)
indexMegs=$(echo "scale=2;$totalIndex/1048576" | bc)
total=$(($totalIndex+$totalData))
totalMegs=$(echo "scale=2;$total/1048576" | bc)

echo "*** $totalTables Tables | Data: ${dataMegs}MB Indexes: ${indexMegs}MB Total: ${totalMegs}MB ***"

Размеры выводятся в мегабайтах. Пример вывода:

soul@etcetera:~$ ./db.sh somedatabase root ********
wp_comments Data: 6.60MB Indexes: .15MB Total: 6.75MB
wp_links Data: 0MB Indexes: 0MB Total: 0MB
wp_options Data: 1.57MB Indexes: .01MB Total: 1.58MB
wp_postmeta Data: .01MB Indexes: .01MB Total: .02MB
wp_posts Data: .57MB Indexes: .02MB Total: .60MB
wp_term_relationships Data: 0MB Indexes: .01MB Total: .02MB
wp_term_taxonomy Data: 0MB Indexes: 0MB Total: 0MB
wp_terms Data: 0MB Indexes: 0MB Total: 0MB
wp_tla_data Data: 0MB Indexes: 0MB Total: 0MB
wp_tla_rss_map Data: 0MB Indexes: 0MB Total: 0MB
wp_usermeta Data: 0MB Indexes: 0MB Total: 0MB
wp_users Data: 0MB Indexes: 0MB Total: 0MB
*** 12 Tables | Data: 8.78MB Indexes: .25MB Total: 9.03MB ***

Решение проблемы «???????????? no permissions» в adb

Для теста решил поставить Android SDK на свою машину (у меня смартфон с ОС Андроид), но после установки и докачивания компонентов команда

./adb devices

вывела следующий текст:

List of devices attached
????????????    no permissions

Показать

Оказалось, что в моей системе не было правильно настроенных правил демона udev для этого устройства. Для решения проблемы необходимо знать USB-ID производителя и устройства (VendorID и ProductID), ну и конечно имя пользователя, под которым регистрируетесь в системе.
Я создал файл-правило udev с именем /etc/udev/rules.d/51-android.rules и с таким содержимым:

SUBSYSTEM=="usb", ATTRS{idVendor}=="VendorID", ATTRS{idProduct}=="ProductID", MODE="0666", OWNER="UserLogin"

Затем перегрузил демон udev:

sudo /etc/init.d/udev reload

После этого вывод команды

./adb devices

должен вывести что-то вроде:

List of devices attached
DeviceID    device

Бывает, что уже при настроенных правилах udev всё равно не работает, тогда помогает выполнение команд:

sudo ./adb kill-server
sudo ./adb start-server
./adb devices

После перезапуска сервера ADB мой смартфон определился нормально.

ЧТО НЕ ТАК С УБУНТОЙ?

Очень понравилась запись в ЖЖ-сообществе ru-root. И во многом я с автором согласен. Орфография и стиль автора сохранены.

Показать

На днях задавал вопрос о линукс-дистро, которым пользуются читатели ru_linux [http://ru-linux.livejournal.com/2954219.html — моё примечание].
Там были хорошие предложения, наводящие на верные мысли. А для себя после
некоторых колебаний я пожалуй поставлю Арч (Arch linux).

Но (а) в комментариях к моему вопросу несколько раз прозвучало слово Убунту,
и (б) я посмотрел на это дистро пока разбирался (позапускав его с USB stick,
поставив временно на диск, потом стерев). И должен сказать, что все мои
предубеждения против У. оправдались и усилились.

______ЧТО ЖЕ НЕ ТАК С УБУНТОЙ?_______

(1) В нашей (Европейской, Западной (включая американскую), общей для России и Европы
по крайней мере с 18 века культуры, существует концепция «прогресса»: развитие
в жизни (любый ее сторон) идет в целом, за исключением эпизодов, от худшего
к лучшему. Особенно прочно сидит в головах идея бесконечных улучшений когда
речь идет о технологиях.

На самом деле это не так. Помню меня когда-то поразило понимание, что после-
военные дальномерные фотоаппараты были машинами на порядок лучшего качества,
чем их наследники «мыльницы»: даже схемы объективов стали использоваться
из первой половины 19 века, наипримитивнейшие.

Другой яркий пример — намеренный захват очень прибыльного и чистого электро-
транспорта в городах США американскими автокомпаниями и намеренное (и крими-
нальное) затем его уничтожение. Вся страна пересела на бензиновые авто не
потому что это было обусловлено «естественными причинами» или «прогрессом»,
а потому что автомобильное лобби _смогло_. Как результат через десяток-два
лет получили смоги в городах и экологические проблемы, и стали зависеть от
ввоза нефти, за которую стали вести войны, причем (6% населения) выжигая до
30-40% ее мирового потребления.

Не меньше политики, а не естественного развития или «прогресса» и в компьютерном
мире. Информационные Технологии не «развиваются сами», но «направляются» туда,
куда могут их направить люди с мега-деньгами и властью. И ЭТУ ОБЩУЮ КАРТИНУ
АБСОЛЮТНО УПУСКАЕТ БОЛЬШИНСТВО даже профессионалов, копающихся ежедневно в
деталях.

(2) В частности, в США секретными ведомствами и властью в конце 1990х была принята
доктрина «Всеобщей Информационной Осведомленности» (Total Information Awareness).
Целиком не пропущенная Конгрессом, она была разбита на части (некоторые из них
позже переназывались по нескольку раз, оставаясь теми же по сути), и с тех пор
проводится в жизнь (в моем основном журнале был конкретный подробный пример).
Другими словами, когда увидели, что технология сможет, потянет, были предпри-
няты упредительные шаги, сформулирована программа, и ОНА СТАЛА ПРИКАЗОМ,
ОБЯЗАТЕЛЬНА К ИСПОЛНЕНИЮ всеми крупными корпорациями, занятыми в сфере компью-
терных технологий.

Вы помните, что когда-то купив компьютер или программу ВЫ распоряжались ими
как владелец, аналогично владению любой физически реальной вещью, вроде
ботинок или стиральной машины? Вы заметили, что СЕГОДНЯ вы купив компьютер,
ОС, программы, БОЛЕЕ НЕ ЯВЛЯЕТЕСЬ ИХ ВЛАДЕЛЬЦАМИ?
Так, Интел встроил в чипы некую «anti-theft technology», Майкрософт может
отключить дистанционно машины за «нарушение лицензий» (и был эпический
случай когда упавшие МС-сервера лицензий вырубили целый район, время аварии
пришлось на бизнес-день в Азии, где пострадали даже самые лицензионно
законопослушные)?
Вы заметили, что группы корпораций, совместно, «вдруг» начали развивать
«облачные службы» и хранилки для вашей работы, ваших файлов, всей вашей
информации? Понятно, что продается это под предлогом «удобства», как бы
«защиты и бэкапов», потому что мы, облачные провайдеры «профессионалы и
делаем бэкапы», а также под предлогом что это мега-«удобно», где бы вы ни
были, «ваши данные всегда доступны».

В результате перехода на подобные услуги ЦЕЛЫЕ СТРАНЫ, или уж точно даже
крупные бизнесы ТЕПЕРЬ НЕ ИМЕЮТ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ: некто может
по своим соображениям «выдернуть провод из розетки» — и вся работа остано-
вится.

Уже достаточно примеров в жизни, что именно так, получив контроль, часто
подобные бизнесы и поступают. Виднее и чаще — по причинам жадности и отбора
денег (лицензии, вы нам должны, платите-платите-платите, или...), реже
в СМИ — по причинам политики и в работе спецслужб. Но таких примеров также
уже известно довольно много.

(3) КАК В ЭТОЙ АТМОСФЕРЕ ДЫШИТСЯ ЛИНУКСам И КОНКРЕТНО УБУНТУ?
Главное наблюдение, которое можно сделать — проект Убунту был создан
для перехвата «альтернативного», анти-корпоративного движения ГНУ/линукс
и встраивания его в общую для коммерческих ОС рамку

(а) У-Десктоп содержит в себе кучу шпионящих за вами инструментов, нехарак-
терных для других дистро и не несущих видимой пользы, хотя предлоги для
их появления, разумеется, формулируются.

(а1) «zeitgeist» — якобы чтобы что-то там могло нарисовать «recently used applications»
в виде подсказки вам, смешно. Эта неизвестная за пределами У. программа
была создана для сбора ваших вызовов, обращений, действий на машине.
На сайте У. увещевают «некоторые могут подумать, что это нарушает прайваси
и безопасность, но правила всегда одни: не работайте на машине как рут, ...»
(чтобы zeitgeist не писал эти ваши команды и сессии).
Я долго смеялся: см пункт (г) ниже.

(а2) Какое-то там окно с информацией о машине неожиданно содержит вкладку
с «политикой сбора информации» на Убунту. Оказывается компания У. собирает ее
вместе с ваим Ай-Пи. В частности, она собирает и имена всех программ, которые вы
устанавливали на своей машине.

(а3) Оказывается «ошибки и сбои» тоже посылаются в Убунту (независимые линуксы
такого никогда не делают). Понятно, что под предлогом ’ошибок’ можно провести
любую сессию связи с серверами где-то там и отдать им что угодно.

(б) Я еще не подписывался на «Убунту Один», моя машина отсоединена от сети,
но я вижу уже попытки связаться с этой службой. У-1 == сетевая хранилка ваших
файлов, данных, вашей работы. 1:1 совпадающая с общекорпоративной программой
перехвата контроля и отбора у вас вашего владения машиной. Теперь и на линуксе
тоже, by default, «это же так удобно»

(в) сегодня насколько я понял ни одна разновидность Убунту не устанавливается
без головной боли только из скачанных *.iso — вы вынуждены идти на их сервера
во время установки. Это очередное «удобство» где вы потеряли контроль, «наш
менеджер пакетов все за вас сделает». Общее для всех коммерческих ОС.

(г) Убунту Десктоп плюет в лицо 40-летней юникс-традиции: это ОДНОПОЛЬЗОВАТЕЛЬСКАЯ
машина, она так сконфигурирована by default. Аа супер-юзер ЭКВИВАЛЕНТЕН вашему
простому, и запускается из него без пароля (!!! — так же удобнее собирать инфо,
правда?).

Итак, Убунту сегодня есть исполнение ОБЩЕкорпоративной стратегии перехвата
владения и слежки за пользователями машин, лишенных реального права ими
владеть и распоряжаться

(4) Далее:
Убунту последовательно проводит политику — это один из их главных инвариантов,
их стратегическая линия поведения — на абсолютно раболепное копирование
интерфейса и подходов Майкрософта.

Ведущие, самые необходимы utilities не включены в дефолт-установку, или задвинуты
куда-то в задницу — поскольку они «не важны» или «для экспертов» и т. д.
Однако самые безумные и мусорные гуи-utilities, показывающие 1/10 их работы
обязательно включены и обязательно в имитирующем МС варианте.
(разные конфигураторы, статус сервера, читалки логов и т. д.)

Вы не увидите ни терминала (!!!!!), ни скажем «mc» или стандартного «vim»-а,
но зато ничтожный по функциональности текстовый редактор (вроде МС
notepad-a) или убогий графический файл-менеджер (а ля Microsoft Windows Explorer) под рукой.

Общее впечатление — взяли тигра, выбелили ему полоски, затем покрасили
шкурку в леопардовые пятна, отгламурив когти — и продают нам это
метросексуальное существо как «самое популярное дистро линукса»

Намеренное оглупление и пользователя, и администратора МС-подходом очевидно.
Вы думали, вы живете в инженерной нише «компьютеров для серьёзной работы», а потому вас не тронут? — тогда мы летим к вам. Слава убунту.

(5) Ну и наконец, все это мимикрирование под Майкрософт со вставлением
программ-шпионов (ну как же — ваши телефоны стучат о ваших координатах и могут
включаться удаленно на прослушивание, ваши МС-системы имели backdoors уже во второй
половине 90х, Гугл на вас собирает вечное досье — разве мы могли оставить
в стороне линукс-коммьюнити?) — вся эта грязь возможна только в силу ПАРАЗИТИРОВАНИЯ
УБУНТУ НА МНОГОЛЕТНЕМ, ИЗВЕСТНОМ И УВАЖАЕМОМ ДИСТРО, «дебиане», созданном трудами
добровольцев со всего мира.

Вот примерно мое впечатление от Убунту 12.04, или 13.04 (еще хуже) — десктоп и сервер в 2013 году.
(Возможно я не рассмотрел за полтора дня все детали, но думаю общих выводов
они не изменят)

Взято отсюда.

2013   ubuntu   ОС   софт

Права на файлы apache

Вчера намудрил с правами файлов моих сайтов, что только не делал для восстановления, и sticki-бит ставил, и менял владельца/группу, и ставил флаг +x.
Сегодня командой

find . -type f -exec chmod 644 {} \; && find . -type d -exec chmod 755 {} \;

вернул всё взад ;-)

Наверх