"Существует только один босс, и это покупатель. Он может уволить любого сотрудника компании вплоть до директора, просто потратив деньги в другой компании." Сэм Уолтон

swap swap

Полезные советы

Подключение видеокамеры SONY CMU-BR200 к компьютеру

Основное назначение видеокамеры SONY CMU-BR200 - исползование со Skype на телевизорах SONY.
Для подключания SONY CMU-BR200 к компьютеру, в ядре необходимо установить следующие параметры:

Device Drivers --->
<*> Multimedia support --->
[*] Cameras/Video grabbers support
# настройка видеокамеры
[*] Media USB Adapters --->
<M> USB Video Class (UVC)
[*] UVC input events device support
<*>Sound card support --->
# настройка микрофона
<*>Advanced Linux Sound Architecture --->
[*] USB sound devices --->
<M>USB Audio/MIDI driver

Код разворота видеокамеры Skype

Для компьютера ASUS K50IJ. Архитектура x86

#!/bin/sh

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

Щёлкаем правой кнопкой по значку “Skype”, выбираем настройка виджет “Значок”, приложения, в "Команда". Прописываем:

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

и жмём "OK"

Проблеммы со звуком Skype при установке pulseaudio

Раскомментируйте строчки в /etc/pulse/daemon.conf:

default-fragments = 4
default-fragment-size-msec = 25

Создание иконки для запуска программ

1) Создаём скрипт запуска программы (в примере Samba):

sudo vim ~/QEMU/Samba/Запуск_Samba.sh

!/bin/sh

sudo /etc/init.d/samba start

2) Делаем его исполняемым

sudo chmod +x ~/QEMU/Samba/Запуск_Samba.sh

3) Создаём ярлык нашего приложения Samba.desktop (Расширение desktop обязательно) в любом редакторе:

[Desktop Entry]
Name=Samba
Comment=Запускаем Samba
GenericName=Samba-start
Keywords=Gentoo-Windows
Exec=sh ~/QEMU/Samba/Запуск_Samba.sh
#Terminal=false

Terminal=true
Type=Application
Icon=~/Анимашки/Колобок.png
Categories=Graphics;Photography;GTK
Path=
NoDisplay=false

Cвойства подробнее:
Name - имя приложения, которое будет отображаться под иконкой в "Главном меню";
Keywords - слова, по которым будет искаться данный ярлык в "Главном меню";
Exec - строка запуска приложения;
Terminal=true - запускать или false - не запускать приложение в окне терминала;
Type - определяет «раздел» в "Главном меню", где будет находится ярлык приложения;
Icon - путь или общесистемное название иконки;
Categories - категории, к которым будет относится ярлык приложения при выборе в "Главном меню" фильтров. Проще всего подсмотреть в ярлыке другого приложения, категория которого подходит;
Path - путь к рабочему каталогу приложения;
NoDisplay=false - отображать иконку в "Главном меню" или true не отображать.
Сохраняем его для рабочего стола KDE в директории ~/.local/share/applications.
Для рабочего стола Gnome в /usr/share/applications/.
Не забываем про права. Должны быть: -rv-r--r-- root root.
Ярлык появится в "Меню запуска приложений".

Руссификация KeePass

Скачиваем и распаковываем файл KeePass-2.XX-Russian.zip.
Создаём директорию
для KeePass версии до 2.38:

mkdir ~/.local/share/KeePass (K и P заглавные!)

для KeePass версии 2.38 и выше:

mkdir /usr/lib64/keepass/Languages (L заглавная!)

копируем туда распакованный файл Russian.lngx.
Далее запускаем KeePass, меняем язык и перезапускаем программу.
Для возможности автонабора логина и пароля при авторизации устанавливаем:

emerge --ask x11-misc/xdotool

Для возможности копирования в буфер обмена устанавливаем:

emerge --ask x11-misc/xsel

Установка пакетов программ из исходных кодов

После распаковки пакета, найти файл “Install” или “Readme” где будет указан способ установки.
Перейти (с помощью команды cd) в каталог, содержащий исходные коды устанавливаемого пакета.
1. Выполнить команду ./configure, которая осуществляет конфигурирование пакета в соответствии с вашей системой.
2. В некоторых программах используются возможности компилятора генерировать зависимости с помощью команды вида make depend
3. Выполнить команду make, для того, чтобы скомпилировать пакет.
Процесс выполнения этой команды занимает довольно длительное время, причем команда выдает на экран сообщения о том, какие именно особенности системы исполняются.
4. После этого можно выполнить (это шаг не является обязательным) команду make check, которая вызывает запуск процедур самотестирования, поставляемых с пакетом.
5. Выполнить команду make install для установки программ, а также файлов данных и документации.
Для выполнения этой команды могут потребоваться права супер пользователя:

sudo make install

6. Заключительный этап состоит в выполнении команды make clean, которая удаляет промежуточные объектные и двоичные файлы из каталога с исходными кодами.
Для удаления временных файлов, которые создала команда configure (после чего пакет можно компилировать для другого типа компьютеров), надо выполнить команду
make distclean
7. Если сборка не может произойти по какой любо причине, прежде чем пытаться компилировать исходники снова, необходимо запустить make clean, чтобы удалить все файлы, оставленные прошлой попыткой компиляции.
8. В некоторых пакетах есть функция "uninstall" ("удалить"), которая удаляет программу из системы. Просто вернитесь обратно в основную директорий с исходными кодами и выполните команду:

make uninstall

PATH Эта переменная содержит разделенный двоеточиями список каталогов, в которых система ищет исполняемые файлы. Введенное имя это исполняемый файл, но если исполняемый файл не находится в каталоге из списка, то система не будет выполнять его (можно указать полный путь в качестве команды).
Для определения переменной окружения локально, используйте ~/.bashrc или ~/.bash_profile:

vim ~/.bashrc
PATH="${PATH}:/home/my_user/bin:"


После reboot, переменная PATH будет обновлена.
Определение переменной PATH для текущей сессии, с использованием команды export:

export PATH="${PATH}:/home/my_user/tmp/usr/bin"

До тех пор пока пользователь не выйдет, переменная PATH будет использовать временные настройки.

Файл подкачки swap

Создаём swap файл:

dd if=/dev/zero of=/swapfile bs=1M count=512

где:
if указывает на источник, т.е. на то, откуда копируем,
of указывает на файл назначения,
bs количество байт, которые будут записаны за раз,
count сколько раз будет записано количество байт указанные в bs.
В команде dd для задания размеров можно использовать суффиксы K, M, G для килобайт, мегабайт и гигабайт соответственно.
Таким образом, команда создаст файл 1*512 мегабайт.
Сообщаем системе, что это файл подкачки:

mkswap /swapfile

Подключаем файл подкачки:

swapon /swapfile

Проверяем, что swap подключен

swapon -s

Чтобы не подключать swap файл каждый раз, добавляем строчку в /etc/fstab:

/swapfile none swap sw 0 0

Создавать и использовать swap файлы в Linux можно в любм количестве.
При этом можно указать приоритет подключаемого swap файла или раздела:
Например, высший приоритет для файла подкачки задаётся так:

swapon -p 1 /swapfile

Приоритет является целым числом от 0 до 32767.

Для systemd создаём Unit swap.service:

vim /etc/systemd/system/swap.service

следующего содержания:

[Unit]
Description=Start swap

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/swapon /swapfile
ExecStop=/sbin/swapoff /swapfile

[Install]
WantedBy=multi-user.target

Перезагружаем systemd для измененния Unit:

systemctl daemon-reload

Добавляем Unit в автозапуск:

systemctl enable swap.service

Запускаем Unit:

systemctl start swap.service

Утилита e2fsck

Linux - одна из самых надёжных операционных систем, однако это не означает, что оборудование на котором она работает так же надёжно.
Жёсткие диски могут работать с ошибками и как следствие, возникают проблемы на файловых системах.
С помощю утилиты e2fsck можно проверить наличие ошибок и восстановить работу файловых систем ext2; ext3; ext4.
Перед её работой необходимо обязательно отмантировать проверяемую файловую систему!!!
Например:

umount /dev/sda4

после успешного размонтирования запускаем утилиту:

e2fsck -y /dev/sda4

опция -y сообщает, что мы согласны со всеми задаваемыми вопросами утилитой e2fsck

Сохранение слоя в GIMP

Для сохранения слоя изображения, например gif, необходимо нажать Shift и кликнуть по глазику выбраного слоя.

Логи

Большинство файлов логов Linux находятся в папке /var/log/.
Список файлов логов можно вывести с помощью команды:

$ ls -l /var/log

Некоторых из этих логов встречаются только в определенных дистрибутивах.
/var/log/messages - содержит глобальные системные логи Linux, в том числе те, которые регистрируются при запуске системы. В этот лог записываются несколько типов сообщений: это почта, cron, различные сервисы, ядро, аутентификация и другие.
/var/log/dmesg - содержит сообщения, полученные от ядра. Регистрирует много сообщений еще на этапе загрузки, в них отображается информация об аппаратных устройствах, которые инициализируются в процессе загрузки. Количество сообщений в логе ограничено, и когда файл будет переполнен, с каждым новым сообщением старые будут перезаписаны. Также можно посмотреть сообщения из этого лога с помощью команды dmseg.
/var/log/auth.log - содержит информацию об авторизации пользователей в системе, включая пользовательские логины и механизмы аутентификации, которые были использованы.
/var/log/boot.log - Содержит информацию, которая регистрируется при загрузке системы.
/var/log/daemon.log - Включает сообщения от различных фоновых демонов.
/var/log/kern.log - Тоже содержит сообщения от ядра, полезны при устранении ошибок пользовательских модулей, встроенных в ядро.
/var/log/lastlog - Отображает информацию о последней сессии всех пользователей. Это нетекстовый файл, для его просмотра необходимо использовать команду lastlog.
/var/log/maillog /var/log/mail.log - журналы сервера электронной почты, запущенного в системе.
/var/log/user.log - Информация из всех журналов на уровне пользователей.
/var/log/Xorg.x.log - Лог сообщений Х сервера.
/var/log/alternatives.log - Информация о работе программы update-alternatives. Это символические ссылки на команды или библиотеки по умолчанию.
/var/log/btmp - лог файл Linux содержит информацию о неудачных попытках входа. Для просмотра файла удобно использовать команду last -f /var/log/btmp
/var/log/cups - Все сообщения, связанные с печатью и принтерами.
/var/log/anaconda.log - все сообщения, зарегистрированные при установке сохраняются в этом файле.
/var/log/cron - Всякий раз когда демон Cron запускает выполнения программы, он записывает отчет и сообщения самой программы в этом файле.
/var/log/secure - содержит информацию, относящуюся к аутентификации и авторизации. Например, SSHd регистрирует здесь все, в том числе неудачные попытки входа в систему.
/var/log/wtmp или /var/log/utmp - системные логи Linux, содержат журнал входов пользователей в систему. Можно узнать кто и когда вошел в систему.
/var/log/faillog - лог системы linux, содержит неудачные попытки входа в систему. Используйте команду faillog, чтобы отобразить содержимое этого файла.
/var/log/mysqld.log - файлы логов Linux от сервера баз данных MySQL.
/var/log/httpd/ или /var/log/apache2 - лог файлы linux11 веб-сервера Apache. Логи доступа находятся в файле access_log, а ошибок в error_log.
/var/log/lighttpd/ - логи linux веб-сервера lighttpd
/var/log/conman/ - файлы логов клиента ConMan.
/var/log/mail/ - в этом каталоге содержатся дополнительные логи почтового сервера
/var/log/prelink/ - Программа Prelink связывает библиотеки и исполняемые файлы, чтобы ускорить процесс их загрузки. /var/log/prelink/prelink.log содержит информацию о .so файлах, которые были изменены программой.
/var/log/audit/- Содержит информацию, созданную демоном аудита auditd.
/var/log/setroubleshoot/ - SE Linux использует демон setroubleshootd (SE Trouble Shoot Daemon) для уведомления о проблемах с безопасностью. В этом журнале находятся сообщения этой программы.
/var/log/samba/ - содержит информацию и журналы файлового сервера Samba, который используется для подключения к общим папкам Windows.
/var/log/sa/ - Содержит .cap файлы, собранные пакетом Sysstat.
/var/log/sssd/ - Используется системным демоном безопасности, который управляет удаленным доступом к каталогам и механизмами аутентификации.
Смотрим лог /var/log/messages, с возможностью прокрутки:

$ less /var/log/messages

Просмотр логов Linux, в реальном времени:

$ tail -f /var/log/messages

Выводим только ошибки из /var/log/messages:

$ grep -i error /var/log/messages

Логи хранят в себе ценную информацию, позволяющую понять, что, когда и как происходило в системе.
Но со временем логи вырастают до гигантских объемов.
Чтобы диск системы не переполнился логами под завязку и не завалил её, надо логи периодически подчищать.
Процесс сохранения нескольких копий логов с удалением старой и созданием новой копии называется ротацией.
Для этой цели существует программа logrotate.
После устаноки logrotate создаём файл конфигурации, например (для MySql /etc/logrotate.d/mysql) для Apache2:

vim /etc/logrotate.d/apache2

и заполняем его:

/var/log/apache2/*log {
weekly
# регулярность ротации - ротация раз в неделю, возможна иная периодичность: daily, monthly
compress # сжимать копию лога, по умолчанию для этого используется архиватор gzip, хотя можно изменить на другой
delaycompress # сжимать последнюю копию только при следующей ротации, это удобно, потому что самые свежие логи не придётся разархивировать
notifempty # не ротировать лог, если он пуст
missingok # не проверять наличие файла (если лога нет, то ничего страшного)
rotate 24 # количество сохраняемых копий
mail umanov@mail.ru # отправляет свежую созданную копию на указанный e-mail
create 644 root root # сразу после ротации старого создать новый пустой лог, указываются, соответственно, права доступа, юзер и группа файла
sharedscripts # запустить скрипт или утилиту после ротации всех логов
postrotate # выполнить далее указанный скрипт сразу после ротации
/etc/init.d/apache2 reload > /dev/null 2>&1 || true # перезапускаем apache
# для systemd:
systemctl restart apache2 > /dev/null 2>&1 || true
endscript # признак окончания вызова скрипта
}

Вместо weekly можно указать size 500M
Тестируем конфиг:

logrotate -d /etc/logrotate.d/apache2

С ключом -d программа выводит на экран диагностические сообщения, не трогая логи.
Если всё в порядке, запускаем программу в рабочем режиме:

logrotate -v -f /etc/logrotate.d/apache2

Сжимаем файлы .pdf, .jpeg и .png

Сжимаем файл .pdf с помощью утилиты ps2pdf, которая является частью пакета ghostscript:

$ ps2pdf big.pdf little.pdf

Сжимается в несколько раз. При этом видимого ухудшения качества практически не проиcходит.
Сжимаем файл .jpeg с помощью утилиты "jpegoptim":

emerge --ask jpegoptim

Для сжатия без потерь используется команда:

$ jpegoptim photo.jpg

С помощью опции "-d" указываем директорию для сохранения сжатого файла:

$ jpegoptim -d ./compressed photo.jpg

Для проверки возможности и степень сжатия, без его выполнения, используем опцию "-n":

$ jpegoptim -n photo.jpg

Можно сжать с потерями.
В этом случае используем опцию "-m<maximum-quality>", где качество задается в диапазоне от 0 до 100 (0 - наихудшее качество, 100 - наилучшее качество).
Например, для сжатия файла с 50% качеством:

$ jpegoptim -m50 photo.jpg

Для сжатия большого количества изображений, находящихся в одной директории, используем следующий скрипт:

#!/bin/sh
for i in *.jpg; do jpegoptim -d . /compressed -p "$i" ; done


сжать все .jpg файлы в текущем каталоге и поместите их в каталог ./compressed с той же датой изменения, что и в исходных файлах.
Сжимаем файл .png с помощью утилиты "optipng":

emerge --ask optipng

Синтаксис утилиты тот же, как и у предыдущих, но отличается опциями:
-backup - сохранять копии измененных файлов;
-dir - папка для записи файлов;
-force - принудительная запись исходящего файла;
-out - записать исходящий файл в указанный;
-simulate - не выполнять никаких действий, а только показать результат;
-o - установить уровень сжатия от 0 до 7.

Разрезание файла на части командой split

Часто используемые опции:
-b, --bytes=SIZE эта опция задает размер выводимых файлов.
-d, --numeric-suffixes использовать цифровые суффиксы вместо алфавитных.
-n, --number=CHUNKS задает количество выводимых файлов.
Если не используется опция suffix, по умолчанию команда split будет разделять файлы на части, название которых начинаеться с x, за которым следуют еще два символа в алфавитном порядке. Например, первый файл называться xaa, за тем идут xab, xac, а последний файл называться xzz. Это значит, что можно разбить файл не более чем на 676 частей (26x26).
Заходим в директорию с файлом:

$ cd ~/Gentoo/

Разбиваем, например .iso - файл на четыре части:

~/Gentoo $ split -n 4 Gentoo.iso

Проверяем:

~/Gentoo $ ls -l
итого 13312000
-rw-r--r-- 1 nikolay nikolay 6815744000 фев 16 15:58 Gentoo.iso
-rw-r--r-- 1 nikolay nikolay 1703936000 фев 16 20:43 xaa
-rw-r--r-- 1 nikolay nikolay 1703936000 фев 16 20:44 xab
-rw-r--r-- 1 nikolay nikolay 1703936000 фев 16 20:44 xac
-rw-r--r-- 1 nikolay nikolay 1703936000 фев 16 20:45 xad


С помощью команды cat собираем файл обратно:

~/Gentoo $ cat x* > newGentoo.iso

Поверяем суммы:

~/Gentoo $ md5sum *.iso
41e3a4b20ba35887b66ca08f3d4524f3 Gentoo.iso
41e3a4b20ba35887b66ca08f3d4524f3 newGentoo.iso

OpenSSL - распаковка файла .tar.gz.enc

OpenSSL — это система защиты и сертификации данных. Название SSL переводится, как система безопасных сокетов (secure socket layer). OpenSSL используется практически всеми сетевыми серверами для защиты передаваемой информацией.
Убеждаемся, что есть пароль для распаковыемого файла.
Запускаем следующие команды:

openssl aes-256-cbc -d -in your_archive_filename.tar.gz.enc -out your_archive_filename.tar.gz
Вводим пароль при появлении запроса.
tar -zxvf your_archive_filename.tar.gz

Проверка оперативной памяти с помощью Memtest86+

Memtest86+ записывает в каждый блок памяти информацию, а затем считывает её и проверяет на ошибки. В процессе тестирования утилита совершает несколько проходов, что позволяет выявить и составить список плохих блоков памяти.
Загружаем программу:

emerge --ask memtest86+

После загрузки программы, генерируем конфигурацию GRUB:

grub-mkconfig -o /boot/grub/grub.cfg

Прежде чем, запустить проверку оперативной памяти убираем из слотов все плашки памяти, кроме одной. Каждую плашку проверяем поочерёдно.
Проверку запускаем через меню GRUB.


Monero

Программа тестирует оперативную память циклически, т.е. у нее есть десять тестов, которые она гоняет пnо кругу, полный проход по всем от 0 до 9ти.
Пробегов памяти может быть несколько, в зависимости от выбранного режима. Обычно как минимум хватает двух-трёх циклов.
Если по окончании теста выдаётся сообщения ** Pass complete, no errors, press Esc to exit **, то память не содержит неисправных блоков.
Если в процессе или по окончании теста появляются ошибки красного цвета, то память скорее всего неисправная.
Завершить тест можно, перезагрузив компьютер нажатием кнопочки Esc.

"У вас нет прав на подключение этого устройства"

Если после подключения флешки появляется выше указанное предупреждение, создаём файл 10-udisks.rules и добавляем правило:

vim /etc/polkit-1/rules.d/10-udisks.rules
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.udisks2.filesystem-mount" && subject.isInGroup("plugdev")) {
return "yes";
}
});


Определяем присутствие включений AdBlock или AdGuard

Эти расширения блокируют рекламу на сайтах, соответственно доход с рекламы не идёт.
Создаём DIV с идентификатором, на пример, #spoof-overlay. Нельзя создавать классы или идентификаторы, в которых присутствует слова ad или advertising, так как AdGuard DIV-ы с ними заблокирует. Внутри DIV-а укажем просьбу, выключить AdBlock или AdGuard:

<div id="spoof-overlay">
Выключите, пожалуйста, AdBlock или AdGuard!
</div>


Добавим немного стилей:

#spoof-overlay{
display:none;
position:fixed;
color:white;
text-align:center;
font-size:22px;
top:10%;
z-index:99999;}


display:none; - будем менять это свойство в JavaScript, если у посетителя включен AdBlock.
Для этого создадим два JS файла. Первый назовем advert.js, второй custom.js. Advert это название популярной рекламной сети. Adblock блокирует все их рекламные баннеры и тизеры, соответственно он примет скрипт advert.js за оригинальный. Adblock подумает, что это реклама и не выполнит его. Проверим факт выполнения этого JavaScript файла и его подгрузки. Если он подгрузится, то Adblock отключен, если нет, то будет выводиться информация о том, что это реклама.
Создадим простую функцию в файле advert.js и назовём её spoof:

function spoof() {
window.spoof_adblock = true;
}
spoof();


Проверяем наличие свойства spoof_adblock в объекте window. Если свойство есть, это будет говорить о том, что Adblok отключен.
Создаём файл custom.js со следующим кодом:

jQuery(document).ready(function() {
if( typeof window.spoof_adblock == 'undefined')
{ //Если AdBlock или AdGuard активен! Покажем наше окно с сообщением
jQuery('#spoof-overlay').fadeIn('slow');
}});


Первым подключаем скрипт advert.js за-тем custom.js.


Продаются
книги

Оставить отзыв

Установи и
БУДЕШЬ СЧАСТЛИВ!

Спасибо, Господи, что взял деньгами...

Scrooge
Dollar
Ruble
Ruble
Gold