1) You shouldn't manually update your resolv.conf, because all changes will be overwritten by data that your local DHCP server provides. If you want it to be static, run sudo dpkg-reconfigure resolvconf and answer "no" to dynamic updates. If you want to add new entries there, edit /etc/resolvconf/resolv.conf.d/base and run sudo resolvconf -u, it will append your entries and DHCP server's entries.
2) Try to edit your /etc/network/interfaces and add your entries there, like
auto eth0
iface eth0 inet dhcp
dns-search google.com
dns-nameservers dnsserverip
and then restart /etc/init.d/networking restart or sudo ifdown -a and sudo ifup -a
3) Your system uses udhcp which is a very small DHCP client program. The udhcp client negotiates a lease with the DHCP server and notifies a set of scripts when a leases is obtained or lost. You can read about it's usage here or just edit this script (as you did).
Стала простая задача.
Есть временная таблица в схеме, которую наполняют каждый день коллеги выборкой из одной из систем, таблица содержит данные "на сегодня".
Я же захотел хранить все слепки данных, для отслеживания изменений в долгосрочном периоде.
Вначале, хотел использовать скрипты на Perl, во - первых, мне так удобно, во вторых мне так удобно, я так привык.
Зная, что сам сервер MYSQL достаточно продвинутый, решил реализовать задачу посредством только сервера.
И так, что имеем:
Некую схему access_rqst_list
в ней таблицу table_tmp
Заполнять необходимо только значимыми полями таблицу table_main
Процесс копирования решил с помощью процедуры:
CREATE PROCEDURE `copy_table_rqst`() BEGIN CREATE TABLE IF NOT EXISTS table_main LIKE table_tmp; INSERT table_main(DateCreate,Status,Customer,RequestType,DocNumber,DateExecuted,AccessType,DateAccessClose,Reason,IRCategory,IRName,IRType,AccessParameters) SELECT DateCreate,Status,Customer,RequestType,DocNumber,DateExecuted,AccessType,DateAccessClose,Reason,IRCategory,IRName,IRType,AccessParameters FROM table_tmp where tstamp BETWEEN TIMESTAMP(CURDATE()) AND TIMESTAMP(CURDATE()+1); END
Данная процедура, на всякий случай, если таблица table_main удалена создает ее из структуры table_tmp, далее копирует необходимые мне поля из table_tmp в table_main за сегодня tstamp BETWEEN TIMESTAMP(CURDATE()) AND TIMESTAMP(CURDATE()+1);
где tstamp - поле в table_tmp типа TIMESTAMP.
В итоге, в интерфейсе mysql клиента можно вызвать процедуру:
call access_rqst_list.copy_table_rqst();
Но, это еще не все, необходимо. чтобы копирование происходил автоматически.
Для запуска чего, в серевере MYSQL есть понятие EVENT
Для начала включаем поддержку из-под root пользователя MYSQL сервера:
SET GLOBAL event_scheduler = ON;
если понадобиться отключить, просто даем установку - SET GLOBAL event_scheduler = OFF;
смотрим SHOW PROCESSLIST;
293 | event_scheduler | localhost | NULL | Daemon | 1473 | Waiting for next activation | NULL
Временная таблица, у меня наполняется каждый день, примерно в 6 утра, потому я хочу, что бы данные перносились примерно в 9 утра, когда прихожу на работу.
Создаем событие с именем copy_table_acc
CREATE EVENT copy_table_acc ON SCHEDULE EVERY '1' DAY STARTS '2019-04-20 09:00:00' DO call access_rqst_list.copy_table_rqst();
Для проверки, можем посмотреть коммандой SHOW EVENTS;
+------------------+----------------+----------------+-----------+-----------+------------+----------------+----------------+---------------------+------+---------+------------+----------------------+----------------------+--------------------+ | Db | Name | Definer | Time zone | Type | Execute at | Interval value | Interval field | Starts | Ends | Status | Originator | character_set_client | collation_connection | Database Collation | +------------------+----------------+----------------+-----------+-----------+------------+----------------+----------------+---------------------+------+---------+------------+----------------------+----------------------+--------------------+ | access_rqst_list | copy_table_acc | root@localhost | SYSTEM | RECURRING | NULL | 1 | DAY | 2019-04-20 09:00:00 | NULL | ENABLED | 0 | utf8 | utf8_unicode_ci | utf8_general_ci | +------------------+----------------+----------------+-----------+-----------+------------+----------------+----------------+---------------------+------+---------+------------+----------------------+----------------------+--------------------+
Если необходимо удалить событие, даем команду: DROP EVENTcopy_table_acc;
Пару лет назад, на день рождение старшего сына, мы с женой подарили ему популярную модель детского синтезатора Casio SA77.
Стоимость его тогда была, что-то около 900 грн.
Но вот через два года, на очередном день рождении, один из гостей выломал одну черную клавишу.
Первой мыслью было купить и заменить, но в Интернет я ничего не нашел.
Обратился в официальный сервис Casio, но там за ремонт синтезаторов отвечал только один человек и он был на больничном.
Ну да ладно, случай не гарантийный, да и гарантия давно закончилась, решил разобрать самостоятельно и посмотреть, итогом я был огорчен, оказывается в этой пищалке нет отдельных клавиш, по сути - это две сплошных "расчески" белых и черных клавиш, соедененных шурупами:
Решил я подождать выздоровления мастера. После того, как я с ним связался, выяснилось, что такого плана игрушки, при повреждении механических деталей, не чинятся в принципе, так как даже в каталоге деталей, нет позиций для заказа.
Первые мысли - купить новый, но цена выросшая до 1800грн отодвинула эту идею в конец, следующая мысль поискать на OLX сломанный, но с целой клавиатурой, к сожалению за два месяца так и не нашел. Естественно, третьим вариантом стало желание починить самостоятельно.
Понимание механики пришло быстро - надо найти на что посадить клавишу и прикрутить к черной "расческе".
Но были определенные требования к материалу - тонкий, гибкий, помнящий форму, не склонен к растрескиванию с возможностью приклеить.
Должен предупрделить, что по сути своей я немного плюшкин, если у меня дома что-то ломается безвозратно, то я всеравно пытаюсь выкрутить оттуда все шайбы и шурупы и сложить в какой-то органайзер, т.е. всякой мелочи у меня есть.
Итак, какие инструменты и материалы для ремонта использовал я:
- отвертки крестообразные, в синтезаторе три дюжины шурупов
- клеющий пистолет
- канцелярский нож
- ножницы
- коробка от капсул "Persil"
- шуруповерт + маленькое сверло на 2-3 мм
- маленьки шуруп 5-7 мм, с грибообразной шляпкой.
Взгляд мой упал на коробку от стиральных капсул "Persil", который заметно отличался от других коробок и кусков пластика, которые я смог найти у себя дома.
В самой коробке пластик на разных торцах и стенка разный по плотности и гибкости, тычковым способом было выбрано и вырезано несколько кусков с места как на картинке
"Маючи настрій, час та натхнення" приступил.
После некоторого обдумывания придумал способ крепления подложки пластины с заворачиванием пазов во внутрь пустотелой клавиши.
Из подводных камней, необходимо учесть, что в верхней трети клавиши снизу есть выступающая крестообразная конструкция, которая давит на резиновую мебрану кнопки, передающий сигнал в схему, по принципу компьютерной клавиатуры.
Итак, схема примерно такова
Реализация
Вначале было принято решение посадить все это на суперклей, но нет.
Клей не клеил эти два вида пластмассы, никак.
Потому, вооружившись клеящим пистолетом решил залить в пустоту клавиши все щели между пазами сим чудотворным составом, благо еще до меня, пол синтезатора было ним скреплено с завода.
Далее, просто обрезаем по контуру
Вставляем в место выламано отпустив немного ближайшие шурупы белой "расчески".
Теперь это все как-то необходимо закрепить, я выбрал крепить на небольшой шуруп. Просверлить отверстие на небольшой скорости маленьким сверлом не составило труда и не принесло дополнительных повреждений.
Но тут я наткнулся на дополнительные "подводные камни", их было - два.
1."Повезло" именно под выламанной кнопкой, была обратная сторона шурупа скрутки "расчесок", которая в оригинальной клавише просто входила во внутрь пустоты, а у моей модификации , пустота была залита клеем
Решение - проковырять в том месте отверточкой, создав впадинку под шуруп.
2. Даже незначительное утолщение за счет подложки, сказывалось негативно на отклик нажатия резиновой мембраны крестообразным выступом.
Решение - это опытным путем подобрать высоту нароста, на крестообразный выступ.
Вначале просто хотел сделать "бульбу" из клея, но через 30-40 нажатий, она деформировалась, и проблема вернулась.
Положительный результат дала накладка из того же материала, что и подложка поверх "бульбы" клея.
В продолжении часть 1 и часть 2 настройка torrent клиента Transmission в режиме daemon с WUI.
Все последующие комманды делаем из-под super user.
Устанавливаем : zypper in transmission-daemon zypper in transmission-common
запускаем: service transmission-daemon start
По-умолчанию, WUI доступен по адресу: http://адресс_сервера:9091/transmission/web/
Это сообщение говорит, что адресс с которого идет обращение, не добавлен в whitelist, фильтрация по whitelist включена со старта.
Останавливаем сервис, ибо изменения в файл конфигурации вносятся при выключеном сервисе:
service transmission-daemon stop
Начнем с каталогов
Вариантов назначения закачек есть несколько:
-разместить .torrent файл в специальный каталог заданий
-через WUI, загрузить файл, ссылку на файл в Интрнет или magnet link
Я выбираю второй вариант и под него буду проводить натройку конфигурационного файла.
Папки для закачки torrenta у меня размещены на отдельном подмонированом диске:
/media/d0500.1/torrent/
каталог для завершенных закачек /media/d0500.1/torrent/completed
каталог для не завершенных закачек /media/d0500.1/torrent/incompleted
"download-dir": "/media/d0500.1/torrent/completed"
папка в которой будут находиться загрузки.
"incomplete-dir": "/media/d0500.1/torrent/incompleted" — папка в которой будут находиться еще не законченные загрузки. После завершения они будут перемещены по пути, указанному в опции "download-dir".
"rpc-whitelist-enabled": false — "true" - включение так называемого «белого списка» IP-адресов (см. screenshot выше), с которых возможно удаленное управление Transmission. Сюда же относится и удаленное управление через web-интерфейса (WUI). Я отключаю, так как доступ по порту 9091 у меня только внутри домашней сети.
Если же захотели включить фильтрацию, то опция настройки листа: "rpc-whitelist": "127.0.0.1,192.168.*.*" — «белый список». Можно задавать не только локальные, но и реальные внешние IP адреса;
"rpc-authentication-required": true — требовать аутентификацию для удаленного управления;
"rpc-username": "логин" — логин для удаленного управления; "rpc-password": "пароль" — пароль; "rpc-port": 9091 — порт для доступа к удаленному управлению.
Запускаем: service transmission-daemon start
заходим вводим логин и пароль
для автостарта, после перезагрузки активируем сервис:
Продолжение по теме OWNCLOUD - замечательная альтернатива сервисам облачного хранения типа BOX или DROPBOX С доступом как посредством клинетов (Windows/Linux/OS X/Android/iOS) так и просто с помощью современного браузера. Имея опыт настройки данного сервиса на Ubuntu Server, предварительно установим web-server, в моем случае я установлю полностью комбайн LAMP Запускаем консольную утилиту yast :
В разделе Software - Software Management ищем LAMP:
и устанавливаем его. Настраиваем правильно время и пояс System - Date and Time
Заходим в настройки сервера
Производим настройку по своим потребностям. Устанавливаем ownCloud. Как оказалось, его также нет в стоковом репозитарии, добавим и установим по инструкции
Под root:
zypper ar http://download.opensuse.org/repositories/isv:/ownCloud:/community/openSUSE_13.1/ ownCloud
После "смерти" загрузочного диска на моем домашнем сервере, под управлением Ubuntu 14.04.3 LTS, принял решение возобновить свои небольшие знание по системе OpenSuse.
Задачи домашнего сервера простые: DLNA SAMBA OWNCLOUD TRANSMISSION-DAEMON SSHD Конспективно буду описывать отличия, которые для меня, пользователя Ubuntu кажуться непривычными. SSHD Cразу обратил внимание sshd отключен по-умолчанию. На официальной страничке документации OpenSuse указана следующая информация:
Начиная с версии 11.2 в openSUSE отключен запуск демона sshd по умолчанию. Такое решение
было принято из-за того, что большинство пользователей не используют
ssh, и как приавило это просто зря запущенный процесс, который висит в
памяти, и который также является потенциальной уязвимостью в
безопасности.
Чтобы запустить sshd демон сделайте от root:
insserv sshd
rcsshd start
Чтобы активировать sshd демон сделайте от root:
systemctl enable sshd.service
DLNA В качестве DLNA сервера я использую minidlna - легкийи простой в настройке сервер. В OpenSuse для установки minidlna необходимо установить репозитории Packman для версии ОС, я это сделал через консольную версию YAST. Следующий "сюрприз" в OpenSUSE файл настроек не по стандартному пути /etc/minidlna, а по специфическому /etc/sysconfig/minidlna
Сделано это для того, чтобы при изменении конфигурации сетевых интерфейсов не изменялись их названия. Открываем файл /etc/sysconfig/minidlna и редактируем следующие строки:
network_interface="enp2s0"
каталог с контентом
media_dir="/mnt"
У меня это каталог к которому примаплены все диски с мультимедиа
media_dir="/media"
К сожалени, контент в разнобой, поэтому просто каталог верхнего уровня, но если контент упорядочен в разные папки, то можно перечислить через символ "|". Тип контента, обозначается одним из символов: "A" - аудио (например "A,/media/Music") "V" - видео (например "V,/media/Video") "P" - изображения (например "P,/media/Photo")
Смешаный контен можно комбинировать, например так: "PV,/media/PhotoVideo"
Как пример: media_dir="V,/media/Video | V,/media/Video2 | P,/media/Photo"
friendly_name="Microserver-MiniDLNA"
Название сервера под которым он будет виден клиенту.
notify_interval="300"
Интервал сканирования сервером расшаренных папок (по умолчанию 900 сек.)
Если фаервол включен, открытие портов: Необходимо открыть два порта: 1900 для
UDP и 8200 для TCP. YaST в помощь.
Запуск minidlna Запуск minidlna как службы выполняется от root:
systemctl start minidlna
Останов:
systemctl stop minidlna
Перезапуск:
systemctl restart minidlna
Для автоматического запуска MiniDLNA, как службы, при загрузке системы: