пятница, 7 марта 2014 г.

Мониторинг (измерение) потребляемого траффика в Linux

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

ВАЖНО:
Этот метод работает, если мы знаем по какому адресу (адресам) обращается наше приложение, или же с какого/каких портов.

Пошаговая инструкция


1. iptraf

iptraf — это небольшая программа, которая умеет мониторить всю сетевую активность компьютера.
Исходники и бинарники можно загрузить с сайта iptraf.

В случае Ubuntu установить iptraf можно выполнив команду:
sudo apt-get install iptraf

2. Запускаем!

В терминале пишем: iptraf


3. Настраиваем

Надо включить логирование (иначе программа ограничиться выводом на экран). Делается это, очевидно, в разделе «Configure».


4. Запуск мониторинга

Уходим из настроек, жмём «IP traffic monitor» и выбираем путь к файлу, куда будем логировать сетевую активность.


После этого мы должны увидеть такую картину:


Это всё, что нужно! Почти.

5. Анализ

Как я уже упоминал выше, нужно знать, по какому адресу/порту обращается наше приложение (трафик которого мы высчитываем).
Например, если мы хотим посчитать сколько трафика «стоит» час радио last.fm, мы должны определить следующее:
приложение last.fm обращается к адресам вроде таких:
195.24.* (last.fm не обращается к одному адресу, а обращается к диапазону адресов).
Чтобы вытащить из лога (который писался час) количество трафика, которое было съедено, я написал небольшую «программку» на java, которая этот трафик и считает:

package stat;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

/**
 *
 * @author http://habrahabr.ru/users/nucleotide/
 */
public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new FileReader("/var/log/iptraf/ip_traffic"));
        String line;
        long count = 0;
        long traffic = 0;
        while ((line = reader.readLine()) != null) {
            count++;
            String s[] = line.split(" ");
            if (s.length < 12) {
                continue;
            }
            if (s[10].contains("195.24.") || s[12].contains("195.24."))  {   //"from" and "to"
                traffic += new Long(s[7]);
                     if(s.length>16) traffic += new Long(s[17]);
            }
        }
        System.out.println("Count: " + count + "  lines");
        System.out.println("Total: " + traffic + "  bytes!");
        System.out.println("Total: " + traffic / 1024 + "  Kbytes!");
        System.out.println("Total: " + traffic / (1024 * 1024) + "  Mbytes!");
    }
}



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

Возможно, это не лучший вариант (хоть и работающий). Есть множество других вариантов:
http://help.ubuntu.ru/...
http://iptraf.seul.org/2.7/filters.html
И так далее.

Источник

Раздаем Wi-Fi через Ubuntu, Linux Mint

Наверняка вам иногда приходила в голову, что надо объединить все ваши компьютеры в одну сеть. Самый простой способ реализации этой идеи — раздавать Wi-Fi прямо с компьютера. И хотя это возможно штатными средствами Ubuntu, есть очень большой минус у этого метода. А именно — протокол AdHoc, который не поддерживается почти всеми мобильными устройствами. На помощь придет AP-Hotspot, про установку и настройку которого я сегодня расскажу.

Установка 
Сразу оговорюсь, что если ваш компьютер сертифицирован (наклейка на блоке или предустановленная ОС) для Windows 7/8, то программа отлично будет работать. А так никаких гарантий не даю.
Установка как всегда проста и понятна. Добавляем ppa и с помощью apt скачиваем пакет, устанавливаем:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install ap-hotspot


Запуск и настройка
Давайте запустим нашу точку доступа:

sudo ap-hotspot start

Обычно, все настраивается автоматически, кроме пароля и имени сети. Но если вы хотите увидеть расширенные настройки, то введите команду:
sudo ap-hotspot configure

, которая позволит осуществить «тонкую» настройку.
Вы можете отключить точку доступа и перезагрузить:

sudo ap-hotspot stop
sudo ap-hotspot restart

Это не все команды этого замечательного приложения. Чтобы вывести подробное описание всех команд в терминале напишите:
ap-hotspot

На этом все. Программа очень приятна, удобна и даже имеет всплывающие уведомления.


Взято здесь

P.S. Работоспособность не проверял

Установить/обновить ядро Linux Kernel 3.13.6 (Stable) в Ubuntu/Linux Mint

По прошествии двух дней, вышло новое, шестое обновление ядра 
версии 3.13. Что нового в обновлении Linux Kernel 3.13.6 можно 
посмотреть ЗДЕСЬ.
Вы можете скачать соответствующие deb пакеты ОТСЮДА и установить 
их в Центре приложений Ubuntu. Или просто следуйте приведенным 
ниже инструкциям, которые помогут вам установить новое ядро 
несколькими командами в терминале.
Установить ядро версии командами ниже, можно ​​в следующих дистрибутивах Linux:

Ubuntu 14.04/13.10/12.04 
Linux Mint 16/13

Установка ядра Linux Kernel 3.13.6

1. Откройте терминал, скопируйте и выполните одну из команд, согласно архитектуры вашей 
системы/компьютера, на свой страх и риск:

Для 32-bit (одной командой):

cd /tmp && wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.13.6-trusty/
linux-headers-3.13.6-031306-generic_3.13.6-031306.201403070154_i386.deb 
http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.13.6-trusty/
linux-headers-3.13.6-031306_3.13.6-031306.201403070154_all.deb 
http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.13.6-trusty/
linux-image-3.13.6-031306-generic_3.13.6-031306.201403070154_i386.deb && 
sudo dpkg -i *.deb

Для 64-bit (одной командой):

cd /tmp && wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.13.6-trusty/
linux-headers-3.13.6-031306-generic_3.13.6-031306.201403070154_amd64.deb 
http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.13.6-trusty/
linux-headers-3.13.6-031306_3.13.6-031306.201403070154_all.deb 
http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.13.6-trusty/
linux-image-3.13.6-031306-generic_3.13.6-031306.201403070154_amd64.deb && 
sudo dpkg -i *.deb

2. Обновите GRUB (GRUB надо обновлять в той системе Linux где он установлен, если у 
вас их более одной)

sudo update-grub

Примечание 1
. Если у вас установлен загрузчик BURG, то и его нужно обновить:

sudo update-burg

3. По окончании установки, закройте все приложения и перезагрузите компьютер следующей 
командой:

sudo reboot

После входа в систему, проверьте версию актуального ядра командой:

uname -r

Примечание 2. Как вернуться к ранее установленному ядру, инструкция  ЗДЕСЬ.

Если вы решили удалить ядро 3.13.6, выполните эту команду:

sudo apt-get purge linux-image-3.13.6-*

Источник: https://www.kernel.org/

среда, 5 марта 2014 г.

Установить Dukto - инструмент передачи файлов в Ubuntu/Linux Mint

Dukto R6, это простой инструмент передачи файлов, предназначенный 
для использования в локальной сети.
Dukto служит для передачи файлов с одного компьютера (или другого 
устройства) на другой без дополнительной конфигурации, вне 
зависимости от операционных систем, клиентов, серверов и так далее. 
Просто установите и запустите Dukto на двух ПК или мобильных 
устройствах и передавайте файлы и папки, перетаскивая на это окно. 
Приложение будет автоматически отображать все компьютеры в 
локальной сети под управлением Dukto и вы можете начать передачу файлов.
По умолчанию файлы, которые вы получаете сохраняются в вашем домашнем каталоге, но вы 
можете изменить это в настройках Dukto. Помимо того, что Dukto в состоянии передать файлы 
и папки в вашей локальной сети, он также поддерживает отправку фрагментов текста, так, 
например, вы можете легко отправить ссылку с одного компьютера на другой в вашей 
локальной сети.
Официально Dukto доступен для Linux, Windows и Mac OS X, но есть также некоторые 
неофициальные порты для МО, Blackberry, Android или Maemohttps://code.google.com/p/dukto/downloads/list http://compizomania.blogspot.com/

 Характеристики Dukto R6:

    поддерживает отправку и прием файлов или папок, 
а также фрагменты текста в вашей локальной сети;
    мультиплатформенный;
    поддержка мульти-передача;
    не требует конфигурации;
    автоматическое обнаружение клиентов;
    передача логов;
    показывает ваши IP адреса на странице IP 
соединения;
    полная поддержка Unicode;
    Windows 7 - отображение прогресс-индикатора на 
панели задач;
    стиль Metro UI с настраиваемыми цветами.





Примечание. Существует одна проблема с Duktoэто его безопасность. Приложение не 
использует никаких паролей для шифрования, так что его разработчик рекомендует 
использовать Dukto только в надежных локальных сетях.

Установка  Dukto R6

Установить Dukto R6 можно по следующим ссылкам, выбрав один из файлов для вашей 
системы:
Загрузить deb файл Dukto R6 для Ubuntu и протзводных:



Загрузить rpm файл Dukto R6 для Fedora и производных:



После установки вы найдёте Dukto поиском в меню системы:








Вы можете изменить путь сохранения файлов, указав нужную папку в опции Settings:











































А также изменить цвет приложения:





















"Минимизировать в один клик" на значке в панели Unity в Ubuntu 14.04

Сторонний репозиторий предлагает пользователям Ubuntu версию для 
рабочего стола Unity, который включает часто запрашиваемую функцию - 
"Минимизировать в один клик".
Модифицированная сборка Unity 7 доступна только для Ubuntu 14.04 LTS 
и официально не поддерживается разработчиками Ubuntu (а жаль - автор).

Canonical представила данную опцию "Минимизировать в один клик" 
на рабочем столе Unity еще ​​в 2011 году, но вскоре отказалась от неё, сославшись на то, что 
есть кнопка на каждом окне для этого и нет необходимости в дополнительной функции, т.к. 
нажатие на значке в панели Unity раскрывает окна одного приложения, если открыто более 
одного и добавление функции минимизации приведёт к определённым сложностям при 
открытии нескольких окон.

Но сторонние разработчики посчитали иначе и по просьбе трудящихся пользователей создали 
репозиторий, который добавляет данную функцию в Ubuntu 14.04 (только), не препятствуя 
при этом открывать несколько открытых окон одного приложения.

Посмотрите это короткое видео с рабочей функцией  "Минимизировать в один клик":

Установить Минимизировать в один клик в Ubuntu 14.04

Откройте терминал (Ctrl+Alt+T), скопируйте и выполните следующие команды:

sudo add-apt-repository ppa:zxcq14/minimize-unity-7

sudo apt-get update && sudo apt-get dist-upgrade


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

Примечание. Как пишут в пояснении к функции сторонние разработчики, что после 
очередного обновления Ubuntu 14.04 функция "Минимизировать в один клик" может не 
работать. Для её восстановления нужно вновь выполнить команды выше.

Источник:  http://www.omgubuntu.co.uk/2014/03/enable-minimise-click-unity-7-ubuntu-14-04

Удачи.