Ubuntu


blog.udartsev.ru

PHP - 7.2.1 Compiling

1) sudo ./buildconf --force

2)sudo ./configure --prefix=/etc/php72 --enable-bcmath --with-pcre-dir=/soft/php72/php-7.2.1/ext/pcre --with-gettext=/usr/lib/gettext --with-pgsql=/usr/lib/postgresql/9.5 --with-pear=/soft/php72/php-7.2.1/pear --with-tsrm-pthreads --enable-maintainer-zts --with-openssl --enable-pthreads=shared --enable-cli --enable-mbstring --enable-intl --enable-zip --enable-mysqlnd --enable-sockets --with-gd --with-mysqli --with-pdo-mysql --with-openssl --enable-dba=shared --enable-opcache --enable-calendar --enable-exif --enable-pcntl

3) sudo make sudo make test sudo make install

//////////////////////////////////// sudo -i

apt-get update

apt-get install -y git bison autoconf build-essential pkg-config gitcore libltdl-dev libbz2-dev libxml2-dev libxslt1-dev libssl-dev libicu-dev libpspell-dev libenchant-dev libmcrypt-dev libpng-dev libjpeg8-dev libfreetype6-dev libmysqlclient-dev libreadline-dev libcurl4-openssl-dev

mkdir /etc/php7

mkdir /etc/php7/cli

cd /usr/local/src

git clone https://github.com/php/php-src.git --depth=1

cd php-src/ext

git clone https://github.com/krakjoe/pthreads -b master pthreads

cd ..

./buildconf --force

php_configure_args="--prefix=/etc/php7 --with-config-file-path=/etc/php7/cli --with-config-file-scan-dir=/etc/php7/cli/conf.d --with-bz2 --with-zlib --enable-zip --with-openssl --with-curl --enable-ftp --with-mysqli --enable-sockets --enable-pcntl --with-pspell --with-enchant --with-gettext --with-gd --enable-exif --with-jpeg-dir --with-png-dir --with-freetype-dir --with-xsl --enable-bcmath --enable-mbstring --enable-calendar --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-maintainer-zts --enable-debug --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --enable-cli --enable-pthreads=shared --with-tsrm-pthreads"

./configure $php_configure_args

make && make install

cd /usr/local/src/php-src/ext/intl*

chmod a+x /etc/php7/bin/php-config

chmod a+x /etc/php7/bin/phpize

/etc/php7/bin/phpize

./configure --enable-intl --with-icu-dir=/usr --prefix='/etc/php7' --with-libdir='/lib/x86_64-linux-gnu' --with-php-config='/etc/php7/bin/php-config'

make && make install

cp /usr/local/src/php-src/php.ini-production /etc/php7/cli/php.ini

ln --symbolic /etc/php7/bin/php /usr/bin/php

ln --symbolic /etc/php7/sbin/php-fpm /usr/sbin/php7-fpm

echo 'zend_extension=opcache.so' >> /etc/php7/cli/php.ini

echo 'extension=pthreads.so' >> /etc/php7/cli/php-cli.ini

echo "extension=intl.so" >> /etc/php7/cli/php.ini


Настройка sendmail для использования gmail в качестве хоста передачи (smarthost)

Как настроить сендмейл для использования gmail в качестве хоста:

1) устанавливаем сендмейл и дополнительные утилиты:

sudo apt-get install sendmail sasl2-bin

2) перемещаемся в каталог /etc/mail

cd /etc/mail

3) создаём файл authinfo со следующим содержимым:

AuthInfo:smtp.gmail.com "U:username" "I:username@gmail.com" "P:password" "M:PLAIN"

AuthInfo:smtp.gmail.com:587 "U:username" "I:username@gmail.com" "P:password" "M:PLAIN"

4) выполните команду:

sudo makemap -r hash authinfo.db < authinfo

5) создадим SASL файл:

/etc/mail/sasl/sasl.m4

6) отредактируем sendmail.mc :

sudo gedit sendmail.mc

добавим строки как показано ниже (добавленные строки выделены между кода):

dnl #
include(`/etc/mail/m4/dialup.m4')dnl
include(`/etc/mail/m4/provider.m4')dnl

include(/etc/mail/tls/starttls.m4')dnl include(/etc/mail/sasl/sasl.m4')dnl FEATURE(authinfo',hash /etc/mail/authinfo.db')dnl define(SMART_HOST',smtp.gmail.com')dnl define(RELAY_MAILER_ARGS',TCP $h 587')dnl define(ESMTP_MAILER_ARGS',TCP $h 587')dnl

dnl #
dnl # Default Mailer setup
MAILER_DEFINITIONS
MAILER(`local')dnl
MAILER(`smtp')dnl

7) выполним:

sudo make 
sudo /etc/init.d/sendmail reload

8) Если все получилось без ошибок, то релей через gmail настроен. Проверяем!

Отправляем сообщение с локального хоста на mail.ru:

$ sudo mail -v your@mail.ru
Subject: Тестовое сообщение
Это тестовое сообщение
.  
...
050 235 2.7.0 Accepted
...
250 2.0.0 pBDA7MDj024641 Message accepted for 
delivery 
your@mail.ru... Sent (pBDA7MDj024641 Message 
accepted for delivery)
Closing connection to [127.0.0.1]

Done!


How to format a USB stick

Well, one could try zero'ing the raw block device to see if that can work. If you can write to that then you may be able to create a clean partition table, create a new partition and format that.

1) Suppose the USB stick is on /dev/sdc, first make sure /dev/sdc1 is unmounted:

umount /dev/sdc1

2) See if you can then clear the partition table, say by copying a bunch of zeros over the first few K

sudo dd if=/dev/zero of=/dev/sdc bs=512 count=16

3) If that works, see if you can write zeros to the whole device without it failing. To easily see if the kernel can't write to the device, first clear the current kernel messages and throw them away using:

sudo dmesg -c > /dev/null

..then zero the entire device:

sudo dd if=/dev/zero of=/dev/sdc bs=1M

..this will take a while. dd will complete when the raw block device is completely written to, or an error has occurred.

4) Then, check to see if the kernel has complained about the device, using:

dmesg

..if you see a load of error messages then you know that the USB stick is probably not in good condition.

5) However, if this works fine run fdisk or parted to create the partitions from clean, e.g. with fdisk I use:

sudo fdisk /dev/sdc

Command (m for help): n

Select (default p): p

Partition number (1-4, default 1): 1

First sector (2048-7796735, default 2048): <return>

Last sector, +sectors or +size{K,M,G} (2048-7796735, default 7796735): <return>

Command (m for help): t

Hex code (type L to list codes): 6

Command (m for help): w

..note just press return for the First and Last sector questions, fdisk will chose the correct defaults (which will be different to my example above).

6) And then format the partition with VFAT:

sudo mkfs.vfat /dev/sdc1

7) and then remove and re-insert the drive. It should be cleanly formatted.


Переезд с одного Ubuntu в другой Ubuntu

Меня сильно удивила простота перестановки Ubuntu на новые разделы, по сути на новый диск (т.к. разделы форматировались, двигались и изменялись размеры, их количество).

В общем всё, в отличии от мастадонта коммерции - Windows, всё крайне просто и не зателиво.

1) Просто копируем нашу дату на другой носитель. Как есть, можно без архивации.

2) Разбираемся там со всеми разделами как нам нужно, ставим Ubuntu.

3) Т.к. я пользуюсь пакетами из оф. репозитария (я про Postgres, Lighttpd, Apache, Nginx и т.п.), то просто копирую папки с нужыми пакетами как есть, с заменой свеже-установленных.

Всё!

Вот так, как оказалось, совершенно просто перенеслись все мои документы из /home и 16 гб. база данных Postgres со всеми настройками/паролями...

sudo service postgresql stop

enter image description here

sudo service postgresql start

Выход из режима гибернации Windows

С Windows 8 и 10 пользователям пришла новая фишка - постоянный режим гибернации из которого не так просто выйти, даже нажимая кнопки 'shutdown' / 'выключить компьютер'. Так вот, что бы наши NTFS разделы / диски стали доступны для записи и чтения из Linux, нужно грамотно убить этот процесс... В Windows запускаем коммандную строку CMD:

shutdown /s /t 0

И загружаем наш любимый Linux. Ура!


PHP 7.0 configure file

./configure --help файл просто чо-бы не валялся в системе, напоминалка


-h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or `..']

Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [/usr/local] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX]

By default, make install' will install all the files in/usr/local/bin', /usr/local/lib' etc. You can specify an installation prefix other than/usr/local' using --prefix', for instance--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR]

System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST]

Optional Features and Packages: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-libdir=NAME Look for libraries in .../NAME rather than .../lib --disable-rpath Disable passing additional runtime library search paths --enable-re2c-cgoto Enable -g flag to re2c to use computed goto gcc extension --disable-gcc-global-regs whether to enable GCC global register variables

SAPI modules:

--with-apxs2=FILE Build shared Apache 2.0 Handler module. FILE is the optional pathname to the Apache apxs tool apxs --disable-cli Disable building CLI version of PHP (this forces --without-pear) --enable-embed=TYPE EXPERIMENTAL: Enable building of embedded SAPI library TYPE is either 'shared' or 'static'. TYPE=shared --enable-fpm Enable building of the fpm SAPI executable --with-fpm-user=USER Set the user for php-fpm to run as. (default: nobody) --with-fpm-group=GRP Set the group for php-fpm to run as. For a system user, this should usually be set to match the fpm username (default: nobody) --with-fpm-systemd Activate systemd integration --with-fpm-acl Use POSIX Access Control Lists --with-litespeed Build PHP as litespeed module --enable-phpdbg Build phpdbg --enable-phpdbg-webhelper Build phpdbg web SAPI support --enable-phpdbg-debug Build phpdbg in debug mode --disable-cgi Disable building CGI version of PHP

General settings:

--enable-gcov Enable GCOV code coverage (requires LTP) - FOR DEVELOPERS ONLY!! --enable-debug Compile with debugging symbols --with-layout=TYPE Set how installed files will be laid out. Type can be either PHP or GNU [PHP] --with-config-file-path=PATH Set the path in which to look for php.ini [PREFIX/lib] --with-config-file-scan-dir=PATH Set the path where to scan for configuration files --enable-sigchild Enable PHP's own SIGCHLD handler --enable-libgcc Enable explicitly linking against libgcc --disable-short-tags Disable the short-form <? start tag by default --enable-dmalloc Enable dmalloc --disable-ipv6 Disable IPv6 support --enable-dtrace Enable DTrace support --enable-fd-setsize Set size of descriptor sets

Extensions:

--with-EXTENSION=shared[,PATH]

NOTE: Not all extensions can be build as 'shared'.

Example: --with-foobar=shared,/usr/local/foobar/

  o Builds the foobar extension as shared extension.
  o foobar package install prefix is /usr/local/foobar/

--disable-all Disable all extensions which are enabled by default

--disable-libxml Disable LIBXML support --with-libxml-dir=DIR LIBXML: libxml2 install prefix --with-openssl=DIR Include OpenSSL support (requires OpenSSL >= 0.9.8) --with-kerberos=DIR OPENSSL: Include Kerberos support --with-system-ciphers OPENSSL: Use system default cipher list instead of hardcoded value --with-pcre-regex=DIR Include Perl Compatible Regular Expressions support. DIR is the PCRE install prefix BUNDLED --without-sqlite3=DIR Do not include SQLite3 support. DIR is the prefix to SQLite3 installation directory. --with-zlib=DIR Include ZLIB support (requires zlib >= 1.0.9) --with-zlib-dir=

Define the location of zlib install directory --enable-bcmath Enable bc style precision math functions --with-bz2=DIR Include BZip2 support --enable-calendar Enable support for calendar conversion --disable-ctype Disable ctype functions --with-curl=DIR Include cURL support --enable-dba Build DBA with bundled modules. To build shared DBA extension use --enable-dba=shared --with-qdbm=DIR DBA: QDBM support --with-gdbm=DIR DBA: GDBM support --with-ndbm=DIR DBA: NDBM support --with-db4=DIR DBA: Oracle Berkeley DB 4.x or 5.x support --with-db3=DIR DBA: Oracle Berkeley DB 3.x support --with-db2=DIR DBA: Oracle Berkeley DB 2.x support --with-db1=DIR DBA: Oracle Berkeley DB 1.x support/emulation --with-dbm=DIR DBA: DBM support --with-tcadb=DIR DBA: Tokyo Cabinet abstract DB support --without-cdb=DIR DBA: CDB support (bundled) --disable-inifile DBA: INI support (bundled) --disable-flatfile DBA: FlatFile support (bundled) --disable-dom Disable DOM support --with-libxml-dir=DIR DOM: libxml2 install prefix --with-enchant=DIR Include enchant support. GNU Aspell version 1.1.3 or higher required. --enable-exif Enable EXIF (metadata from images) support --disable-fileinfo Disable fileinfo support --disable-filter Disable input filter support --with-pcre-dir FILTER: pcre install prefix --enable-ftp Enable FTP support --with-openssl-dir=DIR FTP: openssl install prefix --with-gd=DIR Include GD support. DIR is the GD library base install directory BUNDLED --with-webp-dir=DIR GD: Set the path to libwebp install prefix --with-jpeg-dir=DIR GD: Set the path to libjpeg install prefix --with-png-dir=DIR GD: Set the path to libpng install prefix --with-zlib-dir=DIR GD: Set the path to libz install prefix --with-xpm-dir=DIR GD: Set the path to libXpm install prefix --with-freetype-dir=DIR GD: Set the path to FreeType 2 install prefix --enable-gd-native-ttf GD: Enable TrueType string function --enable-gd-jis-conv GD: Enable JIS-mapped Japanese font support --with-gettext=DIR Include GNU gettext support --with-gmp=DIR Include GNU MP support --with-mhash=DIR Include mhash support --disable-hash Disable hash support --without-iconv=DIR Exclude iconv support --with-imap=DIR Include IMAP support. DIR is the c-client install prefix --with-kerberos=DIR IMAP: Include Kerberos support. DIR is the Kerberos install prefix --with-imap-ssl=DIR IMAP: Include SSL support. DIR is the OpenSSL install prefix --with-interbase=DIR Include Firebird support. DIR is the Firebird base install directory /opt/firebird --enable-intl Enable internationalization support --with-icu-dir=DIR Specify where ICU libraries and headers can be found --disable-json Disable JavaScript Object Serialization support --with-ldap=DIR Include LDAP support --with-ldap-sasl=DIR LDAP: Include Cyrus SASL support --enable-mbstring Enable multibyte string support --disable-mbregex MBSTRING: Disable multibyte regex support --disable-mbregex-backtrack MBSTRING: Disable multibyte regex backtrack check --with-libmbfl=DIR MBSTRING: Use external libmbfl. DIR is the libmbfl base install directory BUNDLED --with-onig=DIR MBSTRING: Use external oniguruma. DIR is the oniguruma install prefix. If DIR is not set, the bundled oniguruma will be used --with-mcrypt=DIR Include mcrypt support --with-mysqli=FILE Include MySQLi support. FILE is the path to mysql_config. If no value or mysqlnd is passed as FILE, the MySQL native driver will be used --enable-embedded-mysqli MYSQLi: Enable embedded support Note: Does not work with MySQL native driver! --with-mysql-sock=SOCKPATH MySQLi/PDO_MYSQL: Location of the MySQL unix socket pointer. If unspecified, the default locations are searched --with-oci8=DIR Include Oracle Database OCI8 support. DIR defaults to $ORACLE_HOME. Use --with-oci8=instantclient,/path/to/instant/client/lib to use an Oracle Instant Client installation --with-odbcver=HEX Force support for the passed ODBC version. A hex number is expected, default 0x0300. Use the special value of 0 to prevent an explicit ODBCVER to be defined. --with-adabas=DIR Include Adabas D support /usr/local --with-sapdb=DIR Include SAP DB support /usr/local --with-solid=DIR Include Solid support /usr/local/solid --with-ibm-db2=DIR Include IBM DB2 support /home/db2inst1/sqllib --with-ODBCRouter=DIR Include ODBCRouter.com support /usr --with-empress=DIR Include Empress support \$EMPRESSPATH (Empress Version >= 8.60 required) --with-empress-bcs=DIR Include Empress Local Access support \$EMPRESSPATH (Empress Version >= 8.60 required) --with-birdstep=DIR Include Birdstep support /usr/local/birdstep --with-custom-odbc=DIR Include user defined ODBC support. DIR is ODBC install base directory /usr/local. Make sure to define CUSTOM_ODBC_LIBS and have some odbc.h in your include dirs. f.e. you should define following for Sybase SQL Anywhere 5.5.00 on QNX, prior to running this configure script: CPPFLAGS=\"-DODBC_QNX -DSQLANY_BUG\" LDFLAGS=-lunix CUSTOM_ODBC_LIBS=\"-ldblib -lodbc\" --with-iodbc=DIR Include iODBC support /usr/local --with-esoob=DIR Include Easysoft OOB support /usr/local/easysoft/oob/client --with-unixODBC=DIR Include unixODBC support /usr/local --with-dbmaker=DIR Include DBMaker support --disable-opcache Disable Zend OPcache support --disable-opcache-file Disable file based caching --disable-huge-code-pages Disable copying PHP CODE pages into HUGE PAGES --enable-pcntl Enable pcntl support (CLI/CGI only) --disable-pdo Disable PHP Data Objects support --with-pdo-dblib=DIR PDO: DBLIB-DB support. DIR is the FreeTDS home directory --with-pdo-firebird=DIR PDO: Firebird support. DIR is the Firebird base install directory /opt/firebird --with-pdo-mysql=DIR PDO: MySQL support. DIR is the MySQL base directory If no value or mysqlnd is passed as DIR, the MySQL native driver will be used --with-zlib-dir=DIR PDO_MySQL: Set the path to libz install prefix --with-pdo-oci=DIR PDO: Oracle OCI support. DIR defaults to \$ORACLE_HOME. Use --with-pdo-oci=instantclient,prefix,version for an Oracle Instant Client SDK. For example on Linux with 11.2 RPMs use: --with-pdo-oci=instantclient,/usr,11.2 With 10.2 RPMs use: --with-pdo-oci=instantclient,/usr,10.2.0.4 --with-pdo-odbc=flavour,dir PDO: Support for 'flavour' ODBC driver. include and lib dirs are looked for under 'dir'.

          'flavour' can be one of:  ibm-db2, iODBC, unixODBC, generic
          If ',dir' part is omitted, default for the flavour
          you have selected will be used. e.g.:

            --with-pdo-odbc=unixODBC

          will check for unixODBC under /usr/local. You may attempt
          to use an otherwise unsupported driver using the \"generic\"
          flavour.  The syntax for generic ODBC support is:

            --with-pdo-odbc=generic,dir,libname,ldflags,cflags

          When built as 'shared' the extension filename is always pdo_odbc.so

--with-pdo-pgsql=DIR PDO: PostgreSQL support. DIR is the PostgreSQL base install directory or the path to pg_config --without-pdo-sqlite=DIR PDO: sqlite 3 support. DIR is the sqlite base install directory BUNDLED --with-pgsql=DIR Include PostgreSQL support. DIR is the PostgreSQL base install directory or the path to pg_config --disable-phar Disable phar support --disable-posix Disable POSIX-like functions --with-pspell=DIR Include PSPELL support. GNU Aspell version 0.50.0 or higher required --with-libedit=DIR Include libedit readline replacement (CLI/CGI only) --with-readline=DIR Include readline support (CLI/CGI only) --with-recode=DIR Include recode support --disable-session Disable session support --with-mm=DIR SESSION: Include mm support for session storage --enable-shmop Enable shmop support --disable-simplexml Disable SimpleXML support --with-libxml-dir=DIR SimpleXML: libxml2 install prefix --with-snmp=DIR Include SNMP support --with-openssl-dir=DIR SNMP: openssl install prefix --enable-soap Enable SOAP support --with-libxml-dir=DIR SOAP: libxml2 install prefix --enable-sockets Enable sockets support --enable-sysvmsg Enable sysvmsg support --enable-sysvsem Enable System V semaphore support --enable-sysvshm Enable the System V shared memory support --with-tidy=DIR Include TIDY support --disable-tokenizer Disable tokenizer support --enable-wddx Enable WDDX support --with-libxml-dir=DIR WDDX: libxml2 install prefix --with-libexpat-dir=DIR WDDX: libexpat dir for XMLRPC-EPI (deprecated) --disable-xml Disable XML support --with-libxml-dir=DIR XML: libxml2 install prefix --with-libexpat-dir=DIR XML: libexpat install prefix (deprecated) --disable-xmlreader Disable XMLReader support --with-libxml-dir=DIR XMLReader: libxml2 install prefix --with-xmlrpc=DIR Include XMLRPC-EPI support --with-libxml-dir=DIR XMLRPC-EPI: libxml2 install prefix --with-libexpat-dir=DIR XMLRPC-EPI: libexpat dir for XMLRPC-EPI (deprecated) --with-iconv-dir=DIR XMLRPC-EPI: iconv dir for XMLRPC-EPI --disable-xmlwriter Disable XMLWriter support --with-libxml-dir=DIR XMLWriter: libxml2 install prefix --with-xsl=DIR Include XSL support. DIR is the libxslt base install directory (libxslt >= 1.1.0 required) --enable-zip Include Zip read/write support --with-zlib-dir=DIR ZIP: Set the path to libz install prefix --with-pcre-dir ZIP: pcre install prefix --with-libzip=DIR ZIP: use libzip --enable-mysqlnd Enable mysqlnd explicitly, will be done implicitly when required by other extensions --disable-mysqlnd-compression-support Disable support for the MySQL compressed protocol in mysqlnd --with-zlib-dir=DIR mysqlnd: Set the path to libz install prefix

PEAR:

--with-pear=DIR Install PEAR in DIR [PREFIX/lib/php] --without-pear Do not install PEAR

Zend:

--enable-maintainer-zts Enable thread safety - for code maintainers only!! --disable-inline-optimization If building zend_execute.lo fails, try this switch --enable-zend-signals Use zend signal handling

TSRM:

--with-tsrm-pth=pth-config Use GNU Pth --with-tsrm-st Use SGI's State Threads --with-tsrm-pthreads Use POSIX threads (default)

Libtool:

--enable-shared=PKGS Build shared libraries default=yes --enable-static=PKGS Build static libraries default=yes --enable-fast-install=PKGS Optimize for fast installation default=yes --with-gnu-ld Assume the C compiler uses GNU ld default=no --disable-libtool-lock Avoid locking (might break parallel builds) --with-pic Try to use only PIC/non-PIC objects default=use both --with-tags=TAGS Include additional configurations automatic

Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor YACC The Yet Another Compiler Compiler' implementation to use. Defaults to the first program found out of:bison -y', byacc',yacc'. YFLAGS The list of arguments that will be passed by default to $YACC. This script will default YFLAGS to the empty string to avoid a default value of `-d' given by some make applications. CXX C++ compiler command CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor

Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations.

Report bugs to the package provider.



“debconf: DbDriver ”config“: config.dat is locked by another process: Resource temporarily unavailable” while installing packages

dpkg встал, скачивая пакет из Oracle... дабудьпроклятаэтакомпания!

Набираем: sudo fuser -v /var/cache/debconf/config.dat

Видим: shit

Убиваем: sudo kill PID sudo kill -9 PID # if the first doesn't work


Разносим Linux и Windows на разные диски или приключения электроника, не иначе.

Здесь такое дело. Как-то, с год назад, я начал в плотную осваивать языки программирования для моих проектов (genme.net, sistemaexport.ru).

Долго выбирал, с чего начать. И был выбран PHP, т.к. его знал немного ранее, был опыт, понимание и т.д. Тем более, что меня интересовала как многопоточность, скорость расчетов, так и серверная база.

Короче. Ковырялся в Windows с установкой denwer. Возможностей там раз-два... PostgreSQL - проблема, MySQL - проблема, PHP-cli - проблема... короче снес. Затем поставил openserver. Тоже не лучший вариант: нет многопоточности (нормального cli режима), да и с настройкой проблемы... Ну да ладно, первые скрипты были написаны там. Затем, за буквально два дня, для автономной работы был поднят сервер на ubuntu desktop. И поняслись постоянные проблемы с отладкой т.к. скрипны написаны в Windows среде, а исполняются в Linux...

Выход был найден установкой Ubuntu Desktop на лэптоп с разбивкой жесткого диска на разделы и установкой Grub.

Помогло на время - пока не закончилось место в логическом разделе Linux. А создание новых разделов привысило допустимы лимит... Выход был один - разносить системы на отдельные носители.

Решил поставить дополнительны диск в рабочий лэптоп, а т.к. слотов для подключения нового девайса нет - была найдена вот такая штуковина:

штуковина Слева - SSD. Справа - переходник вместо CDROM`а.

Весело и радужно всё запихнули в агрегат:

Процесс запихивания

И началась пляска с бубном...

1) Ранее, уже как три месяца к времени апгрейда, у меня вылетел Windows. Так что было решено перенести всю инфу и разделы на новый диск с полным копированием. Инструктаж.

2) Загружаемся с LiveCD, Фигачим в cmd:

sudo fdisk –l 
sudo dd if=/dev/sdb of=/dev/sdc

Фигня с объемом... отстой...

3) Ждем nn-ое количество времени и пытаемся восстановить Windows с уже нового носителя. Бесполезно, разделы нарушены. Мало того, т.к. диски были с точностью скопированы, название и ID разделов конфиктовали друг с другом, не дав запуститься...

4) Фарматнул новый SSD. Установил Windows с USB ISO. Скопировал через Ubuntu Live CD дату на новый SSD. Зпустил Windows. OK

5) Далее, монируем оба SSD, где SSD с Windows уходит как хламосборщик в слот от CDROM. Загружаемся с Ubuntu LiveCD, бновляем grub, пытаемся запустить linux => error, бесконечно вылетаем в emergency mode. Пытаемся запустить Windows => boot error. Кусок говна.

какаха

6) Силой мысли и форумов, пытаемся понять, что проблема в загрузочных секторах - конфликт. Проверяем bios, убеждаемся, что bios не видит новый SSD (тот, что через переходник). Это плохо, но всё возможно.

7) Думая о лучшем, удаляем boot сектор на SSD c Linux и восстанавливаем загрузчик Windows, затем Grub. Пример. Херачим:

bootrec.exe /FixMbr
bootrec.exe /FixBoot
bootsect /NT60 SYS

И update grub, ранее, а сейчас Boot Repair.

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update && sudo apt-get install -y boot-repair

И снова попадаем в замкнутый круг. Ubuntu слетает к чертям в emergency, windows не грузится.

Пытаемся решить задачу. Мы же упрямые. Да и нагадили уже по самое.

8) Выносим мозг с восстановлением разделов на старом SSD (тот, что Linux): работаем через Ubuntu Live CD с уилитой testdisk. Выискиваем глубоко и долго. Восстанавливаем нужные разделы.

9) Копируем данные linux в наш новый SSD - в мусоросборщик. Форматируем разделы и переустанавливаем Ubuntu. Запуск. OK! Ubuntu джобает. Windows сопротивляется...

10 ) Восстанавливаем загрузчик Windows... в очередной раз. Загружаемся с Windows USB, заходим в командную строку, пишем:

bootrec /FixMbr
bootrec /FixBoot

Не помогает. =) А помогает только:

bootrec /RebuildBcd

11) Грузим то-да-сё. Всё работает. Ура!

Квест пройден. Бубен порван и 24 часа жизни успешно отправлены в корзину.

Резюме: Думай дважды, юный падаван, перед началом большого пути... ;-) Нужно было сразу разносить по носителям, теперь еще и софт восстанавливать...