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

Автоустановка java на debian/ubuntu

Собственно эта длинная команда, запускаемая от root’a выполнит установку java без лишних вопросов и поставит самую последнюю версию java8.

# echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list ; echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list ; apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886 ; apt-get update ; echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections ; echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections ;apt-get install -y oracle-java8-installer

Не работает WiFi на чипе bcm43142

Почему-то поддержка этой карты реализована ТОЛЬКО в пропиетарном драйвере broadcom-sta, который доступен для загрузки как с официального сайта производителя сетевой карты. Забегая наперёд, скажу, что нужный модуль (wl.ko) всё-таки есть в пакетах в репозитории Ubuntu, но установка не совсем очевидна.

Читать далее

Тюнинг mysql/postgresql on zfs/ext4

Ниже будет описан тюнинг самой mysql + OS-специфический. Тюнинг будет рассмотрен только для движка InnoDB.

mysql

Обязательно разнести базу и логи (innodb_log_group_home_dir) по разным датасетам (дискам). В идеале вынести на отдельный датасет и tmp_dir для mysql.

Читать далее

Фильтрация по MAC-адресу в различных файерволах

ipfw

add allow all from any to 192.168.2.0/24 via ${natd_interface} mac aa:bb:cc:dd:ee:ff any

pf

(только OpenBSD)

в консоли:

# ifconfig bridge0 rule pass in on fxp0 src 0:de:ad:be:ef:0 tag USER1

в pf.conf:

pass in on fxp0 tagged USER1

ipf

Нельзя сделать

iptables

/sbin/iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP

Меняем RPATH

Что такое RPATH? Wikipedia:

rpath is a term in programming which refers to a run-time search path hard-coded in an executable file or library, used during dynamic linking to find the libraries the executable or library requires.

Иными словами это жёстко зашито в заголовке бинарника. Можно попробовать поменять в момент запуска:

LD_LIBRARY_PATH=/var/other myprog &

Но это не всегда возможно и не всегда работает. Для постоянного изменения существует специальные утилиты, которые правят сам бинарник.

Читать далее

Sysdig: снифер системных событий для Linux

Sysdig — инструмент системного администрирования для Linux, который перехватывает события на уровне ядра (tracepoints) и сохраняет их для анализа в удобном виде, как tcpdump. В комплекте есть набор скриптов для анализа логов.

Разработчики из компании Draios говорят, что вынуждены были создать такой инструмент. Им надоело мучиться с анализом системных ошибок, особенно на удаленных серверах или виртуальной машине в облачном окружении. Поэтому они сделали нечто похожее на WinPCap и Wireshark, но только для диагностики событий на уровне ядра Linux.

Читать далее

Прикручиваем USB модем Huawei e160 к Elastix

Тестовый стенд: CentOS 5.10 (kernel 3.2.55-1.el5.elrepo), Asterisk 11.7.0, 2 модема Huawei e160

# yum install libtool.x86_64 autoconf.noarch automake.noarch
# cd /usr/src/
# wget https://github.com/jstasiak/asterisk-chan-dongle/archive/asterisk11.zip

Можно попробовать зеркало http://кушеев.рф/wp-content/uploads/asterisk-chan-dongle-asterisk11.zip  (puny код для wget’a «http://xn--b1afas9b4a.xn--p1ai/wp-content/uploads/asterisk-chan-dongle-asterisk11.zip»)

# unzip asterisk-chan-dongle-asterisk11.zip && cd asterisk-chan-dongle-asterisk11
# aclocal && autoconf && automake -a

Читать далее

kGraft — обновление ядра Linux без перезагрузки

Компания SUSE объявила о доступности kGraft — своей технологии для обновления ядра Linux без необходимости в последующей перезагрузке системы.

По предназначению kGraft схожа с продуктом Ksplice, созданным в Массачусетском технологическом институте (MIT) и купленным Oracle для Oracle Linux (и затем RHEL), однако разработчики из SUSE утверждают, что «kGraft, в отличие от других технологий, не требует остановки ядра даже на короткие периоды времени, что упрощает процесс установки без простоя системы критически важных обновлений в безопасности и других патчей». Как и другие подобные проекты, kGraft предназначена только для критических обновлений (простых изменений в коде).

Читать далее

Ограничиваем использование mem, cpu определённому приложению

Этот вопрос очень актуален, например, на десктопе: у меня opera время от времени начинает выедать всю доступную память и весь swap. Было принято решение ограничить её аппетиты.

Банальный ulimit не подходит, так как он ограничит для всех приложений, запускаемых от юзера. А мне нужно что бы только одно приложение и под конкретным пользователем. После недолгих гуглений, натолкнулся на cgroups.

Читать далее

Лимиты в Linux

Каждый процесс имеет свои лимиты (потребление памяти, количество одновременно запущенных файлов и прочие).  При запуске процесс читает файл /etc/security/limits.conf на предмет ограничений (просматривается, пользователь/группа и ищется совпадение; если совпадений нет, то используются дефолтные параметры) и запускается с нужными лимитами.
Узнать лимиты у запущенного процесса можно так:

$ cat /proc/{PID}/limits

Читать далее