Unable to Install OS X El Capitan FileVault conversion in progress

The problem can happen when you are trying to install/reinstall MacOS and FileVault is active but optimizing is not yet completed.

Go the Recovery mode (hold cmd + R during boot)
– open a terminal, and type: diskuitl cs list
In the Logical Volume you will find Conversion Progress : Paused
– I opened a second terminal window
– Searched for the binary ‘corestoraged’: find / -name 'corestorage*'
– found it in the recovery folder: /usr/libexec/corestoraged
– Started corestoraged in the found folder: /usr/libexec/corestoraged
– Check the HD via the first terminal, the Conversion progress now showed a percentage, after a hour the hd was converted.
– than I could reinstall El capitan from the same recovery mode.
– After the reinstall everything was like it was.

Original post

Editable /etc/hosts and /etc/resolv.conf in Docker container

Claim:
sometimes we need add ability to change /etc/hosts and /etc/resolv.conf in your docker container. Ex. PulseSecure rewrites defaults hosts and resolv.conf files with his files.

Solution:
First you must run docker container with --privileged key. In docker-compose it looks like:

service:
build:
context: ./docker/app
dockerfile: Dockerfile
privileged: true

In the docker container you must umount current /etc/hosts with below instructions in your Dockerfile:

RUN umount /etc/hosts && echo '127.0.0.1 localhost\
::1 localhost ip6-localhost ip6-loopback\
fe00::0 ip6-localnet\
ff00::0 ip6-mcastprefix\
ff02::1 ip6-allnodes\
ff02::2 ip6-allrouters' | tee /etc/hosts

Don’t forget create your hosts file. If you will not create it this can call other issues.

Now you can edit /etc/hosts in the container as you wish. Lets do same things for the /etc/resolv.conf

RUN umount /etc/resolv.conf && echo 'nameserver 127.0.0.11\
options ndots:0' | tee /etc/resolv.conf

Here we umounting /etc/resolv.conf and adding ours. Nameserver by default must be 127.0.0.11.

Thats all. Now you can edit your /etc/hosts and /etc/resolv.conf files as you wish without any restrictions.

By the way if you catch an error with umount: /etc/hosts: must be superuser to umount try to do same things in yours entrypoint file. For example:

#!/bin/bash

#Preparing system for the pulse secure
su -c 'umount /etc/hosts' && echo '127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters' | tee /etc/hosts

su -c 'umount /etc/resolv.conf' && echo 'nameserver 127.0.0.11
options ndots:0' | tee /etc/resolv.conf

/usr/bin/supervisord -c /etc/supervisord.conf

Cannot proceed because system tables used by Event Scheduler were found damaged at server start

Проблема может возникнуть при восстановлении баз на новом сервере mysql.

Решается следующим образом:

mysqlcheck -u [username] -p --all-databases --check-upgrade --auto-repair
mysql_upgrade -u [username] -p

После приведенных выше команд обязательно перезагрузить сервер. У меня CentOS 7:

service mariadb restart

В случае если это не помогло, то можно проблему решить и следующим образом: просто скинуть настройки таблиц в default.
Файл таблиц обычно лежит в папке /usr/share/mysql/mysql_system_tables.sql
Для этого восстановите таблицу mysql с помощью следующих команд:

mysql -u root -p < /usr/share/mysql/mysql_system_tables.sql
-- Copyright (c) 2007, 2013, Oracle and/or its affiliates.
-- Copyright (c) 2008, 2014, SkySQL Ab.
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; version 2 of the License.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA

--
-- The system tables of MySQL Server
--

set sql_mode='';
set storage_engine=myisam;
flush tables;

CREATE TABLE IF NOT EXISTS db (   Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Delete_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Drop_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Show_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Event_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Trigger_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY Host (Host,Db,User), KEY User (User) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Database privileges';

-- Remember for later if db table already existed
set @had_db_table= @@warning_count != 0;

CREATE TABLE IF NOT EXISTS host (  Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Delete_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Drop_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Show_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Trigger_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY Host (Host,Db) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Host privileges;  Merged with database privileges';

CREATE TABLE IF NOT EXISTS user (   Host char(60) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Password char(41) character set latin1 collate latin1_bin DEFAULT '' NOT NULL, Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Delete_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Drop_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Reload_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Shutdown_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Process_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, File_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Show_db_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Super_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Repl_slave_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Repl_client_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Show_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_user_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Event_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Trigger_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_tablespace_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, ssl_type enum('','ANY','X509', 'SPECIFIED') COLLATE utf8_general_ci DEFAULT '' NOT NULL, ssl_cipher BLOB NOT NULL, x509_issuer BLOB NOT NULL, x509_subject BLOB NOT NULL, max_questions int(11) unsigned DEFAULT 0  NOT NULL, max_updates int(11) unsigned DEFAULT 0  NOT NULL, max_connections int(11) unsigned DEFAULT 0  NOT NULL, max_user_connections int(11) DEFAULT 0  NOT NULL, plugin char(64) CHARACTER SET latin1 DEFAULT '' NOT NULL, authentication_string TEXT NOT NULL, PRIMARY KEY Host (Host,User) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Users and global privileges';

-- Remember for later if user table already existed
set @had_user_table= @@warning_count != 0;


CREATE TABLE IF NOT EXISTS func (  name char(64) binary DEFAULT '' NOT NULL, ret tinyint(1) DEFAULT '0' NOT NULL, dl char(128) DEFAULT '' NOT NULL, type enum ('function','aggregate') COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (name) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin   comment='User defined functions';


CREATE TABLE IF NOT EXISTS plugin ( name varchar(64) DEFAULT '' NOT NULL, dl varchar(128) DEFAULT '' NOT NULL, PRIMARY KEY (name) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci comment='MySQL plugins';


CREATE TABLE IF NOT EXISTS servers ( Server_name char(64) NOT NULL DEFAULT '', Host char(64) NOT NULL DEFAULT '', Db char(64) NOT NULL DEFAULT '', Username char(64) NOT NULL DEFAULT '', Password char(64) NOT NULL DEFAULT '', Port INT(4) NOT NULL DEFAULT '0', Socket char(64) NOT NULL DEFAULT '', Wrapper char(64) NOT NULL DEFAULT '', Owner char(64) NOT NULL DEFAULT '', PRIMARY KEY (Server_name)) CHARACTER SET utf8 comment='MySQL Foreign Servers table';


CREATE TABLE IF NOT EXISTS tables_priv ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Table_name char(64) binary DEFAULT '' NOT NULL, Grantor char(77) DEFAULT '' NOT NULL, Timestamp timestamp, Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') COLLATE utf8_general_ci DEFAULT '' NOT NULL, Column_priv set('Select','Insert','Update','References') COLLATE utf8_general_ci DEFAULT '' NOT NULL, PRIMARY KEY (Host,Db,User,Table_name), KEY Grantor (Grantor) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin   comment='Table privileges';

CREATE TABLE IF NOT EXISTS columns_priv ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Table_name char(64) binary DEFAULT '' NOT NULL, Column_name char(64) binary DEFAULT '' NOT NULL, Timestamp timestamp, Column_priv set('Select','Insert','Update','References') COLLATE utf8_general_ci DEFAULT '' NOT NULL, PRIMARY KEY (Host,Db,User,Table_name,Column_name) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin   comment='Column privileges';


CREATE TABLE IF NOT EXISTS help_topic ( help_topic_id int unsigned not null, name char(64) not null, help_category_id smallint unsigned not null, description text not null, example text not null, url text not null, primary key (help_topic_id), unique index (name) ) engine=MyISAM CHARACTER SET utf8 comment='help topics';


CREATE TABLE IF NOT EXISTS help_category ( help_category_id smallint unsigned not null, name  char(64) not null, parent_category_id smallint unsigned null, url text not null, primary key (help_category_id), unique index (name) ) engine=MyISAM CHARACTER SET utf8 comment='help categories';


CREATE TABLE IF NOT EXISTS help_relation ( help_topic_id int unsigned not null references help_topic, help_keyword_id  int unsigned not null references help_keyword, primary key (help_keyword_id, help_topic_id) ) engine=MyISAM CHARACTER SET utf8 comment='keyword-topic relation';


CREATE TABLE IF NOT EXISTS help_keyword (   help_keyword_id  int unsigned not null, name char(64) not null, primary key (help_keyword_id), unique index (name) ) engine=MyISAM CHARACTER SET utf8 comment='help keywords';


CREATE TABLE IF NOT EXISTS time_zone_name (   Name char(64) NOT NULL, Time_zone_id int unsigned NOT NULL, PRIMARY KEY Name (Name) ) engine=MyISAM CHARACTER SET utf8   comment='Time zone names';


CREATE TABLE IF NOT EXISTS time_zone (   Time_zone_id int unsigned NOT NULL auto_increment, Use_leap_seconds enum('Y','N') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY TzId (Time_zone_id) ) engine=MyISAM CHARACTER SET utf8   comment='Time zones';


CREATE TABLE IF NOT EXISTS time_zone_transition (   Time_zone_id int unsigned NOT NULL, Transition_time bigint signed NOT NULL, Transition_type_id int unsigned NOT NULL, PRIMARY KEY TzIdTranTime (Time_zone_id, Transition_time) ) engine=MyISAM CHARACTER SET utf8   comment='Time zone transitions';


CREATE TABLE IF NOT EXISTS time_zone_transition_type (   Time_zone_id int unsigned NOT NULL, Transition_type_id int unsigned NOT NULL, Offset int signed DEFAULT 0 NOT NULL, Is_DST tinyint unsigned DEFAULT 0 NOT NULL, Abbreviation char(8) DEFAULT '' NOT NULL, PRIMARY KEY TzIdTrTId (Time_zone_id, Transition_type_id) ) engine=MyISAM CHARACTER SET utf8   comment='Time zone transition types';


CREATE TABLE IF NOT EXISTS time_zone_leap_second (   Transition_time bigint signed NOT NULL, Correction int signed NOT NULL, PRIMARY KEY TranTime (Transition_time) ) engine=MyISAM CHARACTER SET utf8   comment='Leap seconds information for time zones';

CREATE TABLE IF NOT EXISTS proc (db char(64) collate utf8_bin DEFAULT '' NOT NULL, name char(64) DEFAULT '' NOT NULL, type enum('FUNCTION','PROCEDURE') NOT NULL, specific_name char(64) DEFAULT '' NOT NULL, language enum('SQL') DEFAULT 'SQL' NOT NULL, sql_data_access enum( 'CONTAINS_SQL', 'NO_SQL', 'READS_SQL_DATA', 'MODIFIES_SQL_DATA') DEFAULT 'CONTAINS_SQL' NOT NULL, is_deterministic enum('YES','NO') DEFAULT 'NO' NOT NULL, security_type enum('INVOKER','DEFINER') DEFAULT 'DEFINER' NOT NULL, param_list blob NOT NULL, returns longblob DEFAULT '' NOT NULL, body longblob NOT NULL, definer char(77) collate utf8_bin DEFAULT '' NOT NULL, created timestamp, modified timestamp, sql_mode set( 'REAL_AS_FLOAT', 'PIPES_AS_CONCAT', 'ANSI_QUOTES', 'IGNORE_SPACE', 'IGNORE_BAD_TABLE_OPTIONS', 'ONLY_FULL_GROUP_BY', 'NO_UNSIGNED_SUBTRACTION', 'NO_DIR_IN_CREATE', 'POSTGRESQL', 'ORACLE', 'MSSQL', 'DB2', 'MAXDB', 'NO_KEY_OPTIONS', 'NO_TABLE_OPTIONS', 'NO_FIELD_OPTIONS', 'MYSQL323', 'MYSQL40', 'ANSI', 'NO_AUTO_VALUE_ON_ZERO', 'NO_BACKSLASH_ESCAPES', 'STRICT_TRANS_TABLES', 'STRICT_ALL_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'INVALID_DATES', 'ERROR_FOR_DIVISION_BY_ZERO', 'TRADITIONAL', 'NO_AUTO_CREATE_USER', 'HIGH_NOT_PRECEDENCE', 'NO_ENGINE_SUBSTITUTION', 'PAD_CHAR_TO_FULL_LENGTH') DEFAULT '' NOT NULL, comment text collate utf8_bin NOT NULL, character_set_client char(32) collate utf8_bin, collation_connection char(32) collate utf8_bin, db_collation char(32) collate utf8_bin, body_utf8 longblob, PRIMARY KEY (db,name,type)) engine=MyISAM character set utf8 comment='Stored Procedures';

CREATE TABLE IF NOT EXISTS procs_priv ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Routine_name char(64) COLLATE utf8_general_ci DEFAULT '' NOT NULL, Routine_type enum('FUNCTION','PROCEDURE') NOT NULL, Grantor char(77) DEFAULT '' NOT NULL, Proc_priv set('Execute','Alter Routine','Grant') COLLATE utf8_general_ci DEFAULT '' NOT NULL, Timestamp timestamp, PRIMARY KEY (Host,Db,User,Routine_name,Routine_type), KEY Grantor (Grantor) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin   comment='Procedure privileges';

-- Create general_log if CSV is enabled.

SET @str = IF (@@have_csv = 'YES', 'CREATE TABLE IF NOT EXISTS general_log (event_time TIMESTAMP(6) NOT NULL, user_host MEDIUMTEXT NOT NULL, thread_id INTEGER NOT NULL, server_id INTEGER UNSIGNED NOT NULL, command_type VARCHAR(64) NOT NULL, argument MEDIUMTEXT NOT NULL) engine=CSV CHARACTER SET utf8 comment="General log"', 'SET @dummy = 0');

PREPARE stmt FROM @str;
EXECUTE stmt;
DROP PREPARE stmt;

-- Create slow_log if CSV is enabled.

SET @str = IF (@@have_csv = 'YES', 'CREATE TABLE IF NOT EXISTS slow_log (start_time TIMESTAMP(6) NOT NULL, user_host MEDIUMTEXT NOT NULL, query_time TIME(6) NOT NULL, lock_time TIME(6) NOT NULL, rows_sent INTEGER NOT NULL, rows_examined INTEGER NOT NULL, db VARCHAR(512) NOT NULL, last_insert_id INTEGER NOT NULL, insert_id INTEGER NOT NULL, server_id INTEGER UNSIGNED NOT NULL, sql_text MEDIUMTEXT NOT NULL) engine=CSV CHARACTER SET utf8 comment="Slow log"', 'SET @dummy = 0');

PREPARE stmt FROM @str;
EXECUTE stmt;
DROP PREPARE stmt;

CREATE TABLE IF NOT EXISTS event ( db char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', name char(64) CHARACTER SET utf8 NOT NULL default '', body longblob NOT NULL, definer char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', execute_at DATETIME default NULL, interval_value int(11) default NULL, interval_field ENUM('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') default NULL, created TIMESTAMP NOT NULL, modified TIMESTAMP NOT NULL, last_executed DATETIME default NULL, starts DATETIME default NULL, ends DATETIME default NULL, status ENUM('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL default 'ENABLED', on_completion ENUM('DROP','PRESERVE') NOT NULL default 'DROP', sql_mode  set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','IGNORE_BAD_TABLE_OPTIONS','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') DEFAULT '' NOT NULL, comment char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', originator INTEGER UNSIGNED NOT NULL, time_zone char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM', character_set_client char(32) collate utf8_bin, collation_connection char(32) collate utf8_bin, db_collation char(32) collate utf8_bin, body_utf8 longblob, PRIMARY KEY (db, name) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT 'Events';


CREATE TABLE IF NOT EXISTS ndb_binlog_index (Position BIGINT UNSIGNED NOT NULL, File VARCHAR(255) NOT NULL, epoch BIGINT UNSIGNED NOT NULL, inserts BIGINT UNSIGNED NOT NULL, updates BIGINT UNSIGNED NOT NULL, deletes BIGINT UNSIGNED NOT NULL, schemaops BIGINT UNSIGNED NOT NULL, PRIMARY KEY(epoch)) ENGINE=MYISAM;

CREATE TABLE IF NOT EXISTS proxies_priv (Host char(60) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Proxied_host char(60) binary DEFAULT '' NOT NULL, Proxied_user char(16) binary DEFAULT '' NOT NULL, With_grant BOOL DEFAULT 0 NOT NULL, Grantor char(77) DEFAULT '' NOT NULL, Timestamp timestamp, PRIMARY KEY Host (Host,User,Proxied_host,Proxied_user), KEY Grantor (Grantor) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='User proxy privileges';

-- Remember for later if proxies_priv table already existed
set @had_proxies_priv_table= @@warning_count != 0;

После всего не забудьте сделать FLUSH PRIVILEGES; и перезапустить сервер.

Опциональный параметры и параметры по-умолчанию в функциях и методах в Swift

Данным постом начинаю рубрику изучения swift.
Делается больше для себя и “чтобы не забыть”.
Плюс ко всему написание поста хорошо помогает закрепить прочитанное и испробованное.
Итак. Есть несколько вариантов написания функций и методов с опциональными значениями параметров.
Continue reading “Опциональный параметры и параметры по-умолчанию в функциях и методах в Swift”

Filter not clearing manually in CGridView Yii

Problem: after ajax update CGridView we can’t clearing filter manually.
In start our CGridView is viewing like this:

$this->widget(
	'booster.widgets.TbGridView',
	array(
		'type' => 'bordered hover',
		'dataProvider' => $contacts->smartSearch(),
		'filter' => $contacts,
		'ajaxUpdate' => true,
		'id' => 'contacts-grid',
		'columns' => array(
			....
		)
	)
);

I’m usually using TbGridView, but we have not difference between it and CGridView.
So, we forget option ajaxUrl which solve the problem of formation GET request and will remove garbage from the query string to the server.

$this->widget(
	'booster.widgets.TbGridView',
	array(
		'type' => 'bordered hover',
		'dataProvider' => $contacts->smartSearch(),
		'ajaxUrl' => array('/contacts/index'), // <<<<<<<< THIS
		'filter' => $contacts,
		'ajaxUpdate' => true,
		'id' => 'contacts-grid',
		'columns' => array(
			....
		)
	)
);

Adding utm_source to url in custom text with php

So, we have a text in which there are links and you need to add an additional parameter of each link in the processing.
This function can help you:

function utm_source($content, $source, $campaign = false){
	$regexp = '/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/i';
	$additional_url = 'utm_source=' . $source;
	if($campaign){
		$additional_url .= '&utm_campaign=' . $campaign;
	}
	$callback = function($matches) use ($additional_url){
		$url = $matches[1];
		$url = parse_url($url);
		if(isset($url['query'])){
			return $matches[1] . '&' . $additional_url;
		}else{
			return $matches[1] . '?' . $additional_url;
		}
	};
	$result = preg_replace_callback($regexp, $callback, $content);
	return $result;
}

Последний элемент массива в цикле foreach

$rgData=array
(
    'sid' => 22,
    'parent' => 0,
    'lvl' => 0,
    'title' => 'вап',
    'weight' => 0,
    'status' => 1,
    'aaa' => 0
);
//ключ-значение
$sResult=join(',', array_map(function($x, $y){return '"'.$x.'"="'.$y.'"';}, array_keys($rgData), array_values($rgData)));
//var_dump($sResult);
 
//только значения
$sResult=join(',', array_map(function($x){return '"'.$x.'"';}, array_values($rgData)));
//var_dump($sResult);

Вариант так же подходит для отображения кучи элементов в заданном формате из массива:

$sResult=join(', ', array_map(function($x){return $x['title'] . '(вес: ' . $x['weight'] . ' грамм)' ;}, array_values($rgData)));

Select view from mssql in php

Пришлось немного поковыряться с MSSQL. В ходе работы наткнулся на странную особенность: из среды Microsoft SQL Server Management Studio все выборки идут отлично, а в случае использования где-либо еще за пределами этой среды натыкаюсь на то ли баги, то ли…
В общем, для того, чтобы сделать select из view в mssql необходимо перед select’ом выполнить следующий запрос:

$sql = 'SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_WARNINGS ON
SET ANSI_PADDING ON
SET ARITHABORT ON';

Yii::app()->mssql->createCommand($sql)->queryAll();

После этого select можно делать стандартным методом:

$sql = 'SELECT * FROM View_Region_client;';

$distributor_link = Yii::app()->mssql->createCommand($sql)->queryAll();

Иначе, в случае не использования, можем наткнуться на ошибки типа:

 SQLSTATE[HY000]: General error: 208 General SQL Server error: Check messages from the SQL Server [208] (severity 16) [(null)]. The SQL statement executed was: SELECT * FROM DHWRiver.dbo.View_Region_client;

А вообще – не используйте, дети, mssql. От лукавого это все.

Ошибка 0xc0000005

Данная проблема стала проявляться на 64 битных ОС Windows 7. Ошибка в обновлениях Windows. Исправляется путем запуска команд через командную строку.

1 – Нажать “Пуск”
2 – Набрать “cmd” и открыть командную строку Windows
3 – Набрать wusa.exe /uninstall /kb:2859537
4 – После удаления обновления выбрать “Перезагрузить позже”
5 – В командной строке набрать wusa.exe /uninstall /kb:2872339.
6 – После удаления перезагрузить компьютер

После удаления обновлений более их не ставить (именно указанные пакеты (kb2859537 и kb2872339) и проблема проявляться не будет.

Webmin и резервное копирование по ftp/ssh/rsh

Снова записка в стиле “чтобы не забыть”.

Для того, чтобы нормально заработало резервное копирование в webmin через ftp/ssh/rsh не нужно сидеть и переписывать скрипты fsdump, как это сначала начал делать я. Нужно всего лишь удостовериться, что в системе установлен последний TAR или, еще лучше, GTAR. К примеру в freebsd стандартный bsdtar урезанный до основных функций (архивация и разархивация), а такие расширенные функции как создание архива на томе с меткой (команда -V) оно не умело.

Ну а тут никому не нужный кусок писанины как поставить сие чудо:

#cd /usr/ports/archivers/gtar
#make install clean

Дальше по феншую настраиваем webmin, жмякаем “Сохранить и создать резервную копию сейчас” и радуемся, как на домашней тачке по SSH/FTP/RSH появляется архив с далекой Германии – отдохнувший, наездившийся по автобанам на мерседесах CLK серии и BMW 7-ой, насмотревшийся на Европейцев и желающий свалить снова туда же из сраной Рашки.

Magnet ссылки в Google Chrome в Windows

Для того, чтобы указать приложение по умолчанию, которое будет обрабатывать ссылки типа “magnet” в Google Chrome на Windows необходимо сделать следующее:

1 – Открыть regedit (Пуск → Выполнить → regedit)
2 – Перейти в ветку HKEY_CLASSES_ROOT\magnet\shell\open\command
3 – Тип “REG_SZ” и значение – полный путь до приложения с ключом. Например: “C:\Program Files\Peers\Peers.exe /magnet %1”

“Тормозит интернет!” и как с этим бороться

Ситуация проста и банальна: есть клиент, который утверждает, что тормозит интернет основываясь на визуальной загрузке страниц, на маленькой скорости загрузки с сайтов, делаются замеры с помощью команд “ping”, делается “traceroute”, замеряется все с помощью “winmtr” и, когда получаются результаты тестирования клиент делает неправильный вывод, что провайдер не хочет оказывать услуги соответствующие качеству. В итоге – клиент не доволен.

Итак, решение Continue reading ““Тормозит интернет!” и как с этим бороться”

Удаление вируса “Ростелеком канал перегружен”

Интересные дела – “новый” вирус, который отслеживает запросы пользователя в браузере, а после редиректит его на сайт http://rostelecom.ru/ с сообщением, что мол “Канал перегружен” и что “Для подключения резервного канала введите свой мобильный номер телефона”. Рядовой пользователь подумает “О, круто, сейчас введу и мне дадут интернет”, но не тут то было. Ростелеком предупреждает, что это не они. И вправду – какой нафиг резервный канал? xD
Антивирус Касперского определяет данный тип вирусов как Trojan.Win32.Mondere.go, DrWeb же отличился и назвал его как Trojan.Mayachok.1. Данный вирус относится к классу троянов и находится в папке “system32”. Каким способом он распространяется понять я пока не смог, но наверное так же как и многие другие – заражение флешки.

Избавится от этого зловреда проще простого. Для этого нам понадобится avz [инструкция | скачать | зеркало] и воспользоваться хитростями этой прекрасной программы. В меню “Файл” выбрать “Отложенное удаление файла”, зайти в папку C:\WINDOWS\system32\ и отсортировать все файлы по дате создания, выбрать тот файл с расширением .dll, который был создан последним или был создан в день возникновения проблемы (внимание! Это будет один единственный файл!) и выбрать его. Имя файла может быть хаотичное. Например в моем случае файл назывался “vqollea.dll”. Обычно это набор из букв латинского алфавита без какой-либо последовательности. После нажатия кнопки “Ок” компьютер необходимо перезагрузить. Так же я советовал бы воспользоваться программой MalwareBytes после проверки. Программа, в её ограниченной версии, бесплатная, работает она намного быстрее, чем DrWeb Cureit!, а вирусы находит так же хорошо!

И да, не забывайте про лицензионные антивирусы.

Если не знаете какой файл удалить – лучше спросите в комментариях, какой файл нашли. Постараюсь помочь.

Решение проблем со флешем

Большинство сайтов с видеороликами, вроде YouTube, используют Flash для показа видео. У многих людей возникают проблемы с плагином для броузера Adobe Flash. Наиболее часто встречающаяся проблема — неработающий звук. Ниже представлены 10 способов решить проблемы со звуком в Flash.

1. Файлы Flash хранятся во временной папке. Если скачанный файл оказался битым, это может быть причиной неработающего звука.

Удалите следующие папки:
C:\Documents and Settings\%UserName%\Application Data\Adobe\Flash Player
C:\Documents and Settings\%UserName%\Application Data\Macromedia\Flash Player

2. Удалите временные файлы интернета.

Internet Explorer: Сервис -> Свойства Обозревателя
Firefox: Инструменты -> Удалить личные данные…
Opera: Инструменты -> Удалить личные данные…

3. Очистите папку с временными файлами.

Используйте эту команду для очистки папки с временными файлами:
Пуск -> Выполнить -> RMDIR /S /Q “%TEMP%”

4. Установите самую свежую версию Flash-плагина. Вы можете скачать её ЗДЕСЬ. Если возникают проблемы с обновлением плагина, удалите его текущую версию с помощью этой программы. Перед тем как её запускать, закройте броузер(ы).

5. Запустите K-Lite Codec Tweak Tool. Сверху должна быть опция для исправления проблем со звуком (Midi, WaveOut)[ссылка]. Выберите её и нажмите «Далее». Если опция неактивна, коррекция реестра не требуется.

6. Перейдите на страницу настройки проигрывателя Flash — ЗДЕСЬ.
Отметьте галочкой опцию “Allow third-party Flash content to store data on your computer”.

7. Убедитесь, что настройки звука правильные:
Пуск -> Настройка -> Панель Управления -> Звуковые и Аудио Устройства -> Звук

8. Если установлен QuickTime, откройте его панель настройки. Во вкладке “Audio” установите “Default Music Synthesizer” в положение “General MIDI”.
Во вкладке “Advanced” отключите “Enable playback of Adobe Flash tracks”.
Во вкладке “browser” щёлкните по “MIME Settings”. Убедитесь, что в “Miscellaneous” “Flash media” не включено.

9. Проверьте наличие файла «msacm32.drv» в папке Windows «system32». Если его там нет, скопируйте с другого компьютера (с такой же версией Windows) и поместите в папку «system32».

10. Если проблемы со звуком возникают и в других приложениях, попробуйте переустановить драйверы звуковой карты.

© Первоисточник неизвестен

Удаление портов в FreeBSD с зависимостями

Думал откатиться сначала до php 5.2, ибо с php 5.3 по какой-то причине не хочет работать phpmyadmin без всяких на то видимых причин (и без ошибок в логах), но в итоге в очередной раз наткнулся на грабли с удалением порта.
Так вот. Удалять порты следует следующим образом:

#pkg_deinstall -r packagename

, где packagename имя удаляемого порта. Ключ -r удаляет все зависящие от вышеуказанного packagename. Иначе, при установке/обновлении порта могут возникнуть проблемы с уже присутствующими или отсутствующими зависимостями, которые придется удалять вручную. Благо вручную делать это не пришлось – установил php обратно, удалил все php-extensions которые связаны с php 5.3 и установил пока что все заново. Посмотрим позже как поведет себя phpmyadmin.