Edition 0
Abstract
/opt directory and can be optionally enabled per application by the user using the suppliedscl utility. The default versions of Perl or PostgreSQL, for example, remain those provided by the base Red Hat Enterprise Linux system.Table 1.1. Red Hat Software Collections 1.0 Components
| Component | Software Collection | Description |
|---|---|---|
| Perl 5.16.3 | perl516 | A recent stable release of Perl with a number of additional utilities, scripts, anddatabase connectors for MySQL and PostgreSQL. This version provides a large number of new features and enhancements, including new debugging options, improved Unicode support, and better performance. |
| PHP 5.4.14 | php54 | A recent stable release of PHP withPEAR 1.9.4 and a number of additional utilities. This version provides new language syntax, a built-in web server for the command line, and improved performance. |
| Python 2.7 | python27 | A recent stable release of Python with a number of additional utilities anddatabase connectors for MySQL and PostgreSQL. This version provides various new features and enhancements, including a new ordered dictionary type, faster I/O operations, and improved forward compatibility with Python 3. |
| Python 3.3 | python33 | A recent stable release of Python 3 with a number of additional utilities anda database connector for PostgreSQL. This Software Collection gives developers on Red Hat Enterprise Linux 6 access to Python 3 and allows them to benefit from various advantages and new features of this version. |
| Ruby 1.9.3 | ruby193 | A recent stable release of Ruby withRails 3.2.8 anda large collection of Ruby gems. This Software Collection gives developers on Red Hat Enterprise Linux 6 access to Ruby 1.9, which provides a number of new features and enhancements, including improved Unicode support, enhanced threading, and faster load times. |
| MariaDB 5.5 | mariadb55 | A recent stable release of MariaDB. This Software Collection gives users of Red Hat Enterprise Linux 6 an alternative to MySQL, which is binary compatible with MariaDB and can be replaced with it without any data conversions. |
| MySQL 5.5 | mysql55 | A recent stable release of MySQL. This version provides a number of new features and enhancements, including improved performance. |
| PostgreSQL 9.2 | postgresql92 | A recent stable release of PostgreSQL. This version provides a number of new features and enhancements, including cascading replication, native JSON support, improved scalability, and better performance. |
| Node.js 0.10[a] | nodejs010 | A recent stable release of Node.js withnpm 1.2.17 and support for theSPDY protocol[b]. This Software Collection gives users of Red Hat Enterprise Linux 6 access to this programming platform. |
[a]In Red Hat Software Collections 1.0,Node.js is included as a Technology Preview. For more information about Red Hat Technology Previews, seehttps://access.redhat.com/support/offerings/techpreview/. [b]This feature is not fully supported on Red Hat Enterprise Linux 6. | ||
php componentnodejs-hawk componentpython-virtualenv componentvirtualenv --relocatable command is run. To work around this problem, the symlinks need to be created manually after runningvirtualenv.postgresql92 componentsepgsql module as this feature requires installation oflibselinux version 2.0.99, which is not available in Red Hat Enterprise Linux 6.python27 andpython33 componentsnodejs componentcoreutils componentenv_keep environment variable in the/etc/sudoers file. Alternatively, you can run commands in a reverse order; for example:su -l postgres -c "scl enable postgresql92 psql"scl enable postgresql92 bashsu -l postgres -c psql
source /opt/rh/<collection_name>/enable.ruby,perl componentsphp componentmariadb,mysql,postgresql componentsmariadb,mysql components/opt/<provider>/<collection>/root prefix when creating log files. Note that log files are saved in the/var/log/ directory, not/opt/<provider>/<collection>/root/var/log/.Important
root:rhn-channel --available-channelsrhel-x86_64-variant-6-rhscl-1 format, wherevariant is the Red Hat Enterprise Linux system variant (server orworkstation).root:rhn-channel --add --channel=channel_namechannel_name with the name you determined in the previous step.root, type:rhn-channel --listroot:subscription-manager list --availablePool Id.root:subscription-manager subscribe --pool=pool_idpool_id with the pool ID you determined in the previous step. To verify the list of subscriptions your system has currently attached, run asroot:subscription-manager list --consumedroot, type:yum repolist allrhel-variant-rhscl-6-rpmsrhel-variant-rhscl-6-debug-rpmsrhel-variant-rhscl-6-source-rpms
variant with the Red Hat Enterprise Linux system variant, that is,server orworkstation. Note that Red Hat Software Collections is not supported on theClient variant.root:yum-config-manager --enablerepositoryImportant
Optional channel to be enabled in order to complete the full installation of these packages:root:yum installsoftware_collection...software_collection with a space-separated list of Software Collections you want to install. For example, to installphp54 andmariadb55, type asroot:~]#yum install php54 mariadb55yum list availablesoftware_collection-\*root:yum installpackage_name...package_name with a space-separated list of packages that you want to install. For example, to install theperl516-perl-CPAN andperl516-perl-Archive-Tar, type:~]#yum install perl516-perl-CPAN perl516-perl-Archive-Tarroot:debuginfo-installpackage_name~]#debuginfo-install ruby193-rubyrhel-variant-rhscl-6-debug-rpms repository as described inSection 2.1.2, “Using Red Hat Subscription Management”. If your system is registered with RHN Classic, subscribe the system to therhel-x86_64-variant-6-rhscl-1-debuginfo channel as described inSection 2.1.1, “Using RHN Classic”. For more information on how to get access to debuginfo packages, seehttps://access.redhat.com/site/solutions/9907.rpmbuild --define 'scl foo' command, you first need to rebuild the metapackage, which provides the<collection>-build package.scl enablesoftware_collection... 'command...'software_collection with a space-separated list of Software Collections you want to use andcommand with the command you want to run. For example, to execute a Perl program stored in a file namedhello.pl with the Perl interpreter from theperl516 Software Collection, type:~]$scl enable perl516 'perl hello.pl'Hello, World!scl utility, causing it to be run with the executables from a selected Software Collection in preference to their possible Red Hat Enterprise Linux system equivalents. For a complete list of Software Collections that are distributed with Red Hat Software Collections, seeTable 1.1, “Red Hat Software Collections 1.0 Components”.scl enablesoftware_collection... bashsoftware_collection with a space-separated list of Software Collections you want to use. For example, to start a new shell session with thepython27 andpostgresql92 Software Collections as default, type:~]$scl enable python27 postgresql92 bash$X_SCLS environment variable, for instance:~]$echo $X_SCLSpython27 postgresql92/etc/rc.d/init.d/ directory. To start such a service in the current session, type the following at a shell prompt asroot:servicesoftware_collection-service_name startsoftware_collection with the name of the Software Collection andservice_name with the name of the service you want to start. To configure this service to start automatically at boot time, run the following command asroot:chkconfigsoftware_collection-service_name onpostgresql service from thepostgresql92 Software Collection and enable it in runlevels 2, 3, 4, and 5, type asroot:~]#service postgresql92-postgresql startStarting postgresql92-postgresql service: [ OK ]~]#chkconfig postgresql92-postgresql on
plugin-load=innodb=ha_innodb_plugin.so configuration option, you need to remove this configuration option as it does not work in MySQL 5.5.innodb_file_io_threads. However, this variable does not exist in MySQL 5.5; new variables,innodb_read_io_threads andinnodb_write_io_threads, are used instead. To ensure proper functionality, either remove the former variable from the configuration file or replace it with the current variables.mysql.proxies_priv table will not exist. To create the missing table, themysql_upgrade utility has to be run as soon as the new daemon is started.stopword file if thecharacter_set_server variable is ucs2, utf16 or utf32. Thus, if the table uses FULLTEXT indexes in these cases, users should repair the table using theREPAIR TABLEtable_name QUICK.language variable for specifying the directory which included the error message file. This option is now deprecated and has been replaced by thelc_messages_dir andlc_messages options. This also applies for configuration options. Also, error messages no longer contain mixed set of character sets and error messages are returned in the set following thecharacter_set_results system variable instead. That is, some error messages can be different in MySQL 5.5.LOAD DATA INFILE SQL command whithin the other database. At the same time, the appropriate daemons have to be running during both dumping and restoring. You can use the--all-databases option in the mysqldump call to include all databases in the dump. The--routines,--triggers and--events options can also be used if needed.mysql_upgrade command. Runningmysql_upgrade is necessary to check and repair internal tables. All scripts that work with a server form Software Collection, especially themysql_upgrade script, should be run inside thescl enable environment.my.cnf file to reflect the environment.Example 2.1. Dump and Restore Upgrade
~]#service mysqld startStarting mysqld: [ OK ]~]#mysqldump --all-databases --routines --events > dump.sql~]#service mysqld stopStopping mysqld: [ OK ]~]#service mysql55-mysqld startStarting mysql55-mysqld: [ OK ]~]#scl enable mysql55 'mysql' < dump.sql~]#scl enable mysql55 'mysql_upgrade'Looking for 'mysql' as: mysqlLooking for 'mysqlcheck' as: mysqlcheckRunning 'mysqlcheck with default connection argumentsRunning 'mysqlcheck with default connection argumentsa.t1 OKmysql.columns_priv OK<skipped tables list>mysql.user OKRunning 'mysql_fix_privilege_tables'...OK
Example 2.2. In-place Upgrade
~]#service mysqld stopStopping mysqld: [ OK ]~]#service mysql55-mysqld stopStopping mysql55-mysqld: [ OK ]~]#rm -rf /opt/rh/mysql55/root/var/lib/mysql/~]#cp -r /var/lib/mysql/ /opt/rh/mysql55/root/var/lib/mysql/~]#chown -R mysql:mysql /opt/rh/mysql55/root/var/lib/mysql/~]#restorecon -R /opt/rh/mysql55/root/var/lib/mysql/~]#service mysql55-mysqld startStarting mysql55-mysqld: [ OK ]~]#scl enable mysql55 'mysql_upgrade'Looking for 'mysql' as: mysqlLooking for 'mysqlcheck' as: mysqlcheckRunning 'mysqlcheck with default connection argumentsRunning 'mysqlcheck with default connection argumentsa.t1 OKmysql.columns_priv OK<skipped tables list>mysql.user OKRunning 'mysql_fix_privilege_tables'...OK
Important
mysqlnd driver will not be able to connect to the database. This is because theold_password setting in the/etc/my.cnf file is turned off by default on Red Hat Enterprise Linux 6 while it is enabled on Red Hat Enterprise Linux 5. To work around this problem, setold_password to 0, restart the MariaDB or MySQL service and set a new password for each user.scl enable mysql55 '...' call.add_missing_from,regex_flavor,silent_mode,wal_sender_delay, andcustom_variable_classes. Do not use any of these parameters in the new configuration file.unix_socket_directory parameter has been renamed tounix_socket_directories and can now be used to specify more than one UNIX socket to listen on. To do so, provide a list of comma-separated directories as the value of this option. The default value remains unchanged and is/tmp.ssl_ca_file,ssl_cert_file,ssl_crl_file, andssl_key_file have been added. These configuration parameters can be used to specify the locations of server-side SSL files that were previously hard-coded as relative paths to theroot.crt,server.crt,root.crl, andserver.key files in the data directory.root.crt androot.crl files by default. To load these files, change the corresponding parameters to non-default values.=> operator has been removed and users are now advised to use thehstore(text, ,text) function.standard_conforming_strings configuration parameter is nowon. This configuration parameter controls if ordinary string literals (strings enclosed in single quotes) treat backslashes literally as specified in the SQL standard.backslash_quote, has been added. This configuration parameter can be used to control whether a single quotation mark can be represented by\' in string literals. The default value issafe_encoding, which permits the use of\' only when the client encoding does not allow ASCII backslashes in multi-byte characters. As a consequence,\' can now be interpreted differently only in specific cases and only in string literals that do not conform to standards, including escape string syntax,E'value'.lo_compat_privileges, has been added to allow you to disable security checks related to the large objects affected by this change. To disable these security checks, change the value of this configuration parameter toon. The default value isoff.Important
/var/lib/pgsql/data/ directory.Procedure 2.1. Performing In-place Upgrade
root:service postgresql stopservice postgresql status/opt/rh/postgresql92/root/var/lib/pgsql/data/ does not exist:file /opt/rh/postgresql92/root/var/lib/pgsql/data/root:mv /opt/rh/postgresql92/root/var/lib/pgsql/data{,-scl-backup}root:cp -ra /var/lib/pgsql/data/ /opt/rh/postgresql92/root/var/lib/pgsql//opt/rh/postgresql92/root/var/lib/pgsql/data/pg_hba.conf configuration file and verify that thepostgres user is allowed to connect to the PostgreSQL server fromlocalhost without a password. If not, you can edit this file and temporarily set the authentication method for thepostgres user totrust orident. For a detailed description of thepg_hba.conf file and a complete list of available configuration options, see theofficial documentation.root:service postgresql92-postgresql upgrade/opt/rh/postgresql92/root/var/lib/pgsql/pgupgrade.log log file to see if there were any problems with the upgrade.root:service postgresql92-postgresql startanalyze_new_cluster.sh script as follows:su - postgres -c 'scl enable postgresql92 ~/analyze_new_cluster.sh'root:chkconfig postgresql offroot:chkconfig postgresql92-postgresql onProcedure 2.2. Performing a Dump and Restore Upgrade
root:service postgresql startroot, type:su - postgres -c 'pg_dumpall > ~/pgdump_file.sql'root:service postgresql stoproot:service postgresql92-postgresql initdbroot:service postgresql92-postgresql startsu - postgres -c 'scl enable postgresql92 "psql -f ~/pgdump_file.sql postgres"'root:chkconfig postgresql offroot:chkconfig postgresql92-postgresql onProcedure 2.3. File a Bug using Bugzilla
scl utility.| Revision History | |||
|---|---|---|---|
| Revision 1.0-17 | Tue 10 Sep 2013 | EliškaSlobodová | |
| |||
| Revision 1.0-7 | Tue 13 Aug 2013 | EliškaSlobodová | |
| |||
| Revision 1.0-6 | Mon 08 Jul 2013 | JaromírHradílek | |
| |||
| Revision 1.0-4 | Thu Jun 26 2013 | EliškaSlobodová | |
| |||
| Revision 1.0-3 | Thu Jun 6 2013 | EliškaSlobodová | |
| |||
| Revision 1.0-2 | Tue Jun 4 2013 | EliškaSlobodová | |
| |||
| Revision 1.0-1 | Tue Jun 4 2013 | EliškaSlobodová | |
| |||