среда, 14 мая 2014 г.

Феноменальный разгон ядра Linux с помощью ulatency

Хотя Linux прекрасно оптимизирован и позволяет выжать из оборудования 100% производительности, хардкорным линуксоидам показалось этого мало и они создали проект ulatency, позволяющий получить все 146%.

Что такое ulatencyd

ulatencyd — это сервис, который следит за ядром Linux, анализирует информацию о запущенных процессах и через механизм ядра Cgroups динамически изменяет выделяемые каждому процессу ресурсы. В результате получается волшебство:
«Установил ulatencyd и решил заценить прирост производительности. Для этого запустил компиляцию программы в 40 потоков (и это на 2-ядерном процессоре-то), а затем включил кино в FullHD и стал внимательно вглядываться в экран, ожидая увидеть притормаживание и подвисания. Но ничего подобного! Кино воспроизводилось удивительно плавно»

В чем секрет?

Штатный планировщик ядра не делает различий в том, какой именно процесс запускается и для чего. Задача планировщика — предоставить всем процессам равный доступ к ресурсам. ulatencyd же разбивает процессы на категории и отдает преимущество тем, которые должны работать по возможности без заметных прерываний.
Например, одновременно работает процесс, воспроизводящий видео и процесс, компилирующий программу. Прерывания из-за недостатка ресурсов в работе первого процесса сразу будут замечены пользователем, тогда как заметить кратковременные задержки в компиляции невозможно. Следовательно, при распределении ресурсов надо отдать приоритет первому процессу.

Как установить ulatencyd

Наберите в терминале:
sudo apt-get install ulatency ulatencyd

Предупреждение

У некоторых криворуких пользователей после установки ulatencyd ядро вываливалось в panic в процессе загрузки. Если вы не знаете как вернуть работоспособность системе, если подобное случится и у вас, то вам лучше пока не использовать ulatencyd.

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

Linux Kernel 3.14.4 является четвёртым корректировочным выпуском ядра версии 3.14. Вы можете скачать соответствующие deb пакеты ОТСЮДА и установить их в Центре приложений Ubuntu. Или просто следуйте приведенным ниже инструкциям, которые помогут вам установить новое ядро несколькими командами в терминале.

Установить ядро версии командами ниже, можно ​​в следующих дистрибутивах Linux:

Ubuntu 14.04/13.10/12.04 
Linux Mint 17/16/15/13

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

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

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

cd /tmp && wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.4-utopic/linux-headers-3.14.4-031404-generic_3.14.4-031404.201405130853_i386.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.4-utopic/linux-headers-3.14.4-031404_3.14.4-031404.201405130853_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.4-utopic/linux-image-3.14.4-031404-generic_3.14.4-031404.201405130853_i386.deb && sudo dpkg -i *.deb


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

cd /tmp && wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.4-utopic/linux-headers-3.14.4-031404-generic_3.14.4-031404.201405130853_amd64.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.4-utopic/linux-headers-3.14.4-031404_3.14.4-031404.201405130853_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.4-utopic/linux-image-3.14.4-031404-generic_3.14.4-031404.201405130853_amd64.deb && sudo dpkg -i *.deb


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

sudo update-grub

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

sudo update-burg

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

sudo reboot

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

uname -r

Примечание 2. Если вы раньше устанавливали программу KernelUpdate, откройте её из Меню - Системные утилиты или перезагрузите свой компьютер и при новом входе в систему вы должны увидеть открытое окно xterm с извещением о новом ядре3.14.4, при условии если вы прописывали KernelUpdate в Автоматически запускаемые приложения.
Нажмите клавишу Enter и следуйте инструкциям по установке ядра 3.14.4.

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

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

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

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

Удачи.

воскресенье, 11 мая 2014 г.

Скачиваем сайты целиком - утилита wget

С помощью wget можно скачивать сайты, включая картинки, всего лишь указав адрес сайта и определенные параметры. wget будет автоматически переходить по ссылкам на сайте и скачивать страницу за страницей. Рассмотрим несколько примеров от простых к более сложным использования wget для скачивания сайтов.
Чтобы скачать сайт целиком с помощью wget нужно выполнить команду:

wget -r -k -l 7 -p -E -nc http://site.com/


После выполнения данной команды в директорию site.com будет загружена локальная копия сайта http://site.com. Чтобы открыть главную страницу сайта нужно открыть файл index.html.
Рассмотрим используемые параметры:
-rуказывает на то, что нужно рекурсивно переходить по ссылкам на сайте, чтобы скачивать страницы.
-kиспользуется для того, чтобы wget преобразовал все ссылки в скаченных файлах таким образом, чтобы по ним можно было переходить на локальном компьютере (в автономном режиме).
-pуказывает на то, что нужно загрузить все файлы, которые требуются для отображения страниц (изображения, css и т.д.).
-lопределяет максимальную глубину вложенности страниц, которые wget должен скачать (по умолчанию значение равно 5, в примере мы установили 7). В большинстве случаев сайты имеют страницы с большой степенью вложенности и wget может просто «закопаться», скачивая новые страницы. Чтобы этого не произошло можно использовать параметр -l.
-Eдобавлять к загруженным файлам расширение .html.
-ncпри использовании данного параметра существующие файлы не будут перезаписаны. Это удобно, когда нужно продолжить загрузку сайта, прерванную в предыдущий раз.

Мы рассмотрели лишь одно из возможных применений утилиты wget. На самом деле область применения wget значительно шире и wget обладает большим числом дополнительных параметров. За более подробной информацией обращайтесь к руководству, выполнив в командной строке: man wget.

Какие программы могут понадобиться новичку в Linux

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

В этой статье я постарался кратко перечислить и представить программы, которые должны 
охватывать потребности большинства пользователей компьютера по категориям и короткой 
аннотацией к ним, а также ссылкой на официальный сайт программы для более подробной 
информации о ней.
Не торопитесь загружать программу с официального сайта, т.к. некоторые из них (большинство) 
можно установить из Центра приложений, в зависимости от вашего дистрибутива путём поиска. 
Так, например, для Ubuntu, это Центр приложений Ubuntu; в Lubuntu - Центр приложений 
Lubuntu; в Linux Mint - Менеджер программ и т.д.

Большинство из этих программ является кроссплатформенными, поэтому вы можете 
использовать их, как в Linux, так и в Windows.

Учитывая огромное  количество программ, которые существуют для Linux, отображённые 
ниже, это просто капля в море.


























Офис 

LibreOffice

Бесплатный офисный пакет. Поставленный шестью известными программами с большим 
количеством возможностей для работы с офисными документами и данными: Writer, Calc, 
Impress, Draw, Math и Base.
https://ru.libreoffice.org

AbiWord

Обработка документов.
http://www.abisource.com

Gnumeric

Таблицы.
http://www.gnumeric.org

Evince

Просмотр документов в формате PDF, а также документов во многих других форматах: 
PostScript, PDF, TIFF, DVI, XPS, CBR, CBZ, CB7, ТОС ...
https://wiki.gnome.org/Apps/Evince

Rainlendar Lite

Календарь, планировщик, блокнот.
http://www.rainlendar.net

Графика

Simplescan

Управление сканером.
https://launchpad.net/simple-scan

Scribus

Вёрстка и публикация.
http://www.scribus.net

Inkscape

Обработка векторной графики.
http://www.inkscape.org

GIMP

Редактор изображений (Photoshop в Windows).
http://www.gimp.org

MtPaint

Программа для создания пиксельной графики и обработки цифровых фотографий.
http://mtpaint.sourceforge.net

gThumb

Просмотр изображений и ведение альбомов.
https://wiki.gnome.org/Apps/gthumb

Интернет

Chromium

Веб-браузер.
http://www.chromium.org/Home

Google Chrome

Веб-браузер.
https://www.google.com/chrome

Firefox

Веб-браузер.
https://www.mozilla.org/firefox

Thunderbird

Электронная почта. Почтовый клиент
https://www.mozilla.org/thunderbird

Sylpheed

Электронная почта. Почтовый клиент.
http://sylpheed.sraoss.jp

RSSOwl

Чтение лент новостей.
http://www.rssowl.org

Liferea

Чтение лент новостей и блогов.
http://lzone.de/liferea/ 

FileZilla

FTP клиент.
https://filezilla-project.org

Pidgin

Клиент обмена мгновенными сообщениями.
https://pidgin.im

Xchat

Общение с другими людьми с использованием Internet Relay Chat (IRC).
http://xchat.org

HexChat

Общение с другими людьми с использованием Internet Relay Chat (IRC).
https://hexchat.github.io

Skype

Видеозвонки, обмен сообщениями и файлами.
http://www.skype.com

Uget

Менеджер загрузок.
http://ugetdm.com

JDownloader

Менеджер загрузок.
http://www.jdownloader.org

HTTrack

Копирование веб-сайтов на компьютер.
http://www.httrack.com

Qbittorent

BitTorrent клиент.

http://www.qbittorrent.org

Transmission

Скачивание и обмен файлами в сети BitTorrent.
http://www.transmissionbt.com

Мультимедиа


VLC Media Player

Медиа-плеер.
https://www.videolan.org

SMPlayer

Отличный интерфейс для MPlayer. Media Player.
http://smplayer.sourceforge.net

GNOME MPlayer

Мультимедийный плеер.
https://code.google.com/p/gnome-mplayer

Parole

Медиа-плеер.
http://goodies.xfce.org/projects/applications/parole

Guayadeque Music Player

Аудио плеер и редактор музыки.
http://guayadeque.org

Banshee

Медиа-плеер и музыкальный редактор.
http://banshee.fm

gMusicBrowser

Аудио плеер и музыкальный редактор.
http://gmusicbrowser.org

Radio Tray

Проигрыватель онлайн-радио.
http://radiotray.sourceforge.net

Great Little Radio Player

Интернет-радио плеер.
https://sites.google.com/site/glrpgreatlittleradioplayer

Xfburn

Приложение для записи образов CD и DVD.
http://goodies.xfce.org/projects/applications/xfburn

OGMRip

Видео DVD риппер и кодировщик.
http://ogmrip.sourceforge.net

Asunder

Приложение для сохранения треков с аудио-CD в форматы WAV, MP3, OGG, FLAC, и/или 
Wavpack.
http://littlesvr.ca/asunder

OpenShot Video Editor

Создание и редактирование видео и фильмов.
http://www.openshot.org

Avidemux

Видеоредактор.
http://avidemux.sourceforge.net

Curlew

Multimedia конвертер.
https://github.com/chamfay/Curlew


Audacity

Запись и редактирование аудио файлов
http://audacity.sourceforge.net

MediaInfo

Получение технической информации о видео- или аудиофайле и информации о тегах.
http://mediaarea.net/en/MediaInfo

EasyTAG

Редактирование метаданных звуковых файлов.
https://wiki.gnome.org/Apps/EasyTAG

Gaupol

Редактирование файлов субтитров для фильмов.
http://home.gna.org/gaupol

Аксессуары

GEdit

Редактирование текстовых файлов.
https://wiki.gnome.org/Apps/Gedit

File Roller

Программа создания и изменения архивов.
http://fileroller.sourceforge.net

PeaZip

Архиватор.
http://peazip.sourceforge.net

Double Commander

Двухпанельный файловый менеджер.
http://doublecmd.sourceforge.net

CLIPit

Менеджер буфера обмена.
http://clipit.rspwn.com

Parcellite
Менеджер буфера обмена.
http://parcellite.sourceforge.net

Программирование

Bluefish

Редактор для веб-разработчика.
http://bluefish.openoffice.nl

Geany

Быстрая и легковесная среда разработки.
http://www.geany.org

Система

HardInfo

Выводит информацию о системе и оборудовании.
http://hardinfo.berlios.de

GParted

Создание, реорганизация и удаление разделов ж/диска.
http://gparted.org

VirtualBox

Управление несколькими виртуальными системами на одном главном компьютере.
https://www.virtualbox.org

TeamViewer

Удалённое управление любым ПК или сервером в мире.
https://www.teamviewer.com

Cheese

Создание фотографий и видео с помощью веб-камеры, c применением занятных эффектов.
https://wiki.gnome.org/Apps/Cheese

GUVC Viewer

GTK + UVC Viewer. Управление веб-камерой.
http://guvcview.sourceforge.net

Обучение и игры

Обучающие программы и игры для детей.

Childsplay 

Набор развивающих игр для маленьких детей.
http://www.schoolsplay.org

GCompris 

Обучающая игра для детей от 2 до 10 лет
http://gcompris.net

Educational desktop

Полнофункциональный рабочий стол Ubuntu для образовательных целей.
https://apps.ubuntu.com/cat/applications/edubuntu-desktop

Squeak Etoys

Мультимедийная среда разработки с простыми мощными сценариями объектной модели.
http://www.squeakland.org

Tux4Kids

Linux для детей.
http://tux4kids.alioth.debian.org

Tuxpaint 

Программа рисования для детей.
http://www.tuxpaint.org

pySioGame 

Небольшой набор обучающих приложений для детей.
http://www.pysiogame.net

Omnitux 

Образовательная программа вокруг мультимедийных элементов (изображения, звуки, тексты).  
http://omnitux.sourceforge.net

Надеюсь вы найдёте в данном перечне программ то, что возможно искали. http://compizomania.blogspot.com/

Удачи.

Основные команды терминала Ubuntu

Основные команды терминала Ubuntu

Привилегии

sudo command — запустить команду как root
sudo -s — открыть оболочку root
sudo -s -u user — открыть оболочку как пользователь
sudo -k — восстановить пароль sudo
gksudo command — визуальный диалог sudo (GNOME)
kdesudo command — визуальный диалог sudo (KDE)
sudo visudo — редактировать /etc/sudoers
gksudo nautilus — корневой файловый менеджер (GNOME)
kdesudo konqueror — корневой файловый менеджер (KDE)
passwd — изменить ваш пароль

Сеть
ifconfig — показать информацию о сети
iwconfig — показать информацию о беспроводной сети
sudo iwlist scan — поиск беспроводных сетей
sudo /etc/init.d/networking restart — перезапустить сеть
/etc/network/interfaces — файл для ручной настройки сети
ifup interface — включить интерфейс
ifdown interface — отключить интерфейс
ping host пропинговать host и вывести результат
whois domain получить информацию whois для domain
wget file скачать file
ifconfig eth0" показать конфигурацию сетевого интерфейса eth0
ifup eth0" активировать интерфейс eth0
ifdown eth0" деактивировать интерфейс eth0
ifconfig eth0 192.168.1.1 netmask 255.255.255.0" выставить интерфейсу eth0 ip-адрес и маску подсети
ifconfig eth0 promisc" перевести интерфейс eth0 в promiscuous-режим для "отлова" пакетов (sniffing)
ifconfig eth0 -promisc" отключить promiscuous-режим на интерфейсе eth0
dhclient eth0" активировать интерфейс eth0 в dhcp-режиме.
route -n" вывести локальную таблицу маршрутизации
route add -net 0/0 gw IP_Gateway" задать ip-адрес шлюза по умолчанию (default gateway)
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1" добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1
route del 0/0 gw IP_gateway" удалить ip-адрес шлюза по умолчанию (default gateway)
echo "1" > /proc/sys/net/ipv4/ip_forward" разрешить пересылку пакетов (forwarding)
hostname" отобразить имя компьютера
ip link show" отобразить состояние всех интерфейсов
mii-tool eth0" отобразить статус и тип соединения для интерфейса eth0
ethtool eth0" отображает статистику интерфеса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединения
netstat -tupn" отображает все установленные сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID'ы и имена процессов, обеспечивающих эти соединения
netstat -tupln" отображает все сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID'ы и имена процессов, слушающих порты
tcpdump tcp port 80" отобразить весь трафик на TCP-порт 80 (обычно - HTTP)
iwlist scan" просканировать эфир на предмет, доступности беспроводных точек доступа
iwconfig eth1" показать конфигурацию беспроводного сетевого интерфейса eth1
cat /proc/net/dev показать сетевые интерфейсы и статистику по ним
dig domain – получить DNS информацию domain

Дисплей

sudo /etc/init.d/gdm restart — перезапустить X и вернуться к авторизации (GNOME)
sudo /etc/init.d/kdm restart — перезапустить X и вернуться к авторизации (KDE)
/etc/X11/xorg.conf — файл настроек экрана
sudo dexconf — сбросить конфигурацию xorg.conf
Ctrl+Alt+Bksp — перезапустить X-сервер, если завис
Ctrl+Alt+FN — переключиться на интерфейс командной строки
Ctrl+Alt+F7 — переключиться обратно на графический интерфейс пользователя

Специальные пакеты

ubuntu-desktop — стандартная среда Ubuntu
kubuntu-desktop — рабочий стол KDE
xubuntu-desktop — рабочий стол XFCE
ubuntu-minimal — основные утилиты Ubuntu
ubuntu-standard — стандартные утилиты Ubuntu
ubuntu-restricted-extras — несвободные, но полезные пакеты для Ubuntu
kubuntu-restricted-extras — несвободные, но полезные пакеты для Kubuntu
xubuntu-restricted-extras — несвободные, но полезные пакеты для Xubuntu
build-essential — пакеты, используемые для компиляции программ
linux-image-generic — последний образ ядра generic
linux-headers-generic —последние headers ядра

Системные службы

start service — начать работу службы (Upstart)
stop service — остановить работу службы (Upstart)
status service — проверить, запущена ли служба (Upstart)
/etc/init.d/service start — запустить службу (SysV)
/etc/init.d/service stop — остановить службу (SysV)
/etc/init.d/service status — проверить статус службы (SysV)
/etc/init.d/service restart — перезапустить службу (SysV)
runlevel — получить текущий уровень запуска

Брандмауэр

ufw enable — включить брандмауэр
ufw disable — выключить брандмауэр
ufw default allow — разрешить все соединения по умолчанию
ufw default deny — запретить все соединения по умолчанию
ufw status — текущий статус и правила
ufw allow port — разрешить трафик на порт
ufw deny port — заблокировать порт
ufw deny from ip — заблокировать IP-адрес

Управление пакетами

apt-get update — обновить доступные обновления
apt-get upgrade — обновить все пакеты
apt-get dist-upgrade — обновить версию Ubuntu
apt-get install pkg — установить пакет (pkg)
apt-get purge pkg — удалить пакет (pkg)
apt-get autoremove — удалить устаревшие пакеты
apt-get -f install — попробовать исправить битые пакеты
dpkg —configure -a — попробовать исправить битые пакеты
dpkg -i pkg.deb — установить файл pkg.deb
/etc/apt/sources.list — файл со списком APT репозиториев

Имена приложений

nautilus — файловый менеджер (GNOME)
dolphin — файловый менеджер (KDE)
konqueror — веб-браузер (KDE)
kate — текстовый редактор (KDE)
gedit — текстовый редактор (GNOME)

Система

Восстановление — нажмите и удерживайте Alt+SysRq (PrintScrn), затем с паузами в одну секунду, нажимайте клавиши R, E, I, S, U, B для безопасной перезагрузки системы
lsb_release -a — получить версию Ubuntu
uname -r — получить версию ядра
uname -a — получить всю информацию о ядре

Системная информация

arch отобразить архитектуру компьютера
cat /proc/cpuinfo показать информацию о ЦПУ
cat /proc/meminfo проверить использование памяти
df информация об использовании дисков
hdparm -i /dev/hda вывести характеристики жесткого диска
lspci -tv показать в виде дерева PCI устройства
lsusb -tv показать в виде дерева USB устройства
uptime показать время работы с момента включения
uname -a показать информацию о ядре
clock -w сохранить системное время в BIOS
shutdown -h now Остановить систему
shutdown -r now перегрузить систему
logout выйти из системы

Файловые команды

cd /home перейти в директорию '/home'
cd .. перейти в директорию уровнем выше
cd ../.. перейти в директорию двумя уровнями выше
cd перейти в домашнюю директорию
cd ~user перейти в домашнюю директорию пользователя user
cd - перейти в директорию, в которой находились до перехода в текущую директорию
pwd показать текущюю директорию
ls отобразить содержимое текущей директории
ls -F отобразить содержимое текущей директории с добавлением к именам символов, храктеризующих тип
ls -l показать детализированое представление файлов и директорий в текущей директории
ls -a показать скрытые файлы и директории в текущей директории
ls *[0-9]* показать файлы и директории содержащие в имени цифры
tree показать дерево файлов и директорий, начиная от корня (/)
mkdir dir1 создать директорию с именем 'dir1'
mkdir dir1 dir2 создать две директории одновременно
mkdir -p /tmp/dir1/dir2 создать дерево директорий
rm -f file1 удалить файл с именем 'file1'
rmdir dir1 удалить директорию с именем 'dir1'
rm -rf dir1 удалить директорию с именем 'dir1' и рекурсивно всё её содержимое
rm -rf dir1 dir2 удалить две директории и рекурсивно их содержимое
mv dir1 new_dir переименовать или переместить файл или директорию
cp file1 file2 сопировать файл file1 в файл file2
cp dir/* . копировать все файлы директории dir в текущую директорию
cp -a /tmp/dir1 . копировать директорию dir1 со всем содержимым в текущую директорию
cp -a dir1 dir2 копировать директорию dir1 в директорию dir2 

Пользователи и группы

whoami имя, под которым вы залогинены
groupadd group_name создать новую группу с именем group_name
groupdel group_name удалить группу group_name
groupmod -n new_group_name old_group_name переименовать группу old_group_name в new_group_name
useradd -c "Nome Cognome" -g admin -d /home/user1 -s /bin/bash user1 создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell'а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognome
useradd user1 создать пользователя user1
userdel -r user1 удалить пользователя user1 и его домашний каталог
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 изменить атрибуты пользователя
passwd сменить пароль
passwd user1 сменить пароль пользователя user1 (только root)
chage -E 2005-12-31 user1 установить дату окончания действия учётной записи пользователя user1
pwck проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow
grpck проверяет корректность системных файлов учётных записей. Проверяется файл/etc/group
newgrp [-] group_name изменяет первичную группу текущего пользователя. Если указать "-", ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd

Установка пакетов

apt-get istall application_name установить приложение application_name
Установка из исходников:
./configure
make
make install

dpkg -i pkg.deb установить пакет (Debian)

Привилегированный запуск приложений

sudo комманда запуск команды под именем привилегированного пользователя
gksu комманда тоже самое, разница в том что появляется графическое окно с просьбой ввести пароль в обоих случаях вводится пароль вашего текущего пользователя.
Автор
Источникfosswire.com