2013-01-25 21:26:19 +00:00
|
|
|
==================
|
2012-11-29 05:04:36 +00:00
|
|
|
Bootstrapping Salt
|
|
|
|
==================
|
|
|
|
|
2013-02-07 07:57:57 +00:00
|
|
|
Before `Salt`_ can be used for provisioning on the desired machine, the binaries need to be
|
|
|
|
installed. Since `Salt`_ supports many different distributions and versions of operating systems,
|
|
|
|
the `Salt`_ installation process is handled by this shell script ``bootstrap-salt.sh``. This
|
|
|
|
script runs through a series of checks to determine operating system type and version to then
|
|
|
|
install the `Salt`_ binaries using the appropriate methods.
|
2012-11-29 05:04:36 +00:00
|
|
|
|
2012-11-29 05:35:49 +00:00
|
|
|
|
2014-02-09 09:13:17 +00:00
|
|
|
.. Note::
|
|
|
|
|
2014-12-29 21:15:10 +01:00
|
|
|
This ``README`` file is not the absolute truth to what the bootstrap script is capable of, for
|
2014-02-09 09:13:17 +00:00
|
|
|
that, please read the generated help by passing ``-h`` to the script or even better, `read the
|
|
|
|
source`_.
|
|
|
|
|
|
|
|
|
|
|
|
.. _`read the source`: https://github.com/saltstack/salt-bootstrap/blob/develop/bootstrap-salt.sh
|
|
|
|
|
|
|
|
|
2013-05-23 18:08:33 +01:00
|
|
|
**In case you found a bug, please read** `I found a bug`_ **first before submitting a new issue.**
|
2013-05-23 18:03:42 +01:00
|
|
|
|
|
|
|
|
2013-05-23 18:07:41 +01:00
|
|
|
|
2014-02-10 11:11:20 -07:00
|
|
|
Bootstrap
|
|
|
|
---------
|
2012-11-29 05:35:49 +00:00
|
|
|
|
2014-02-10 11:11:20 -07:00
|
|
|
If you're looking for the *one-liner* to install salt, please scroll to the bottom and use the
|
2014-04-26 17:01:48 +02:00
|
|
|
instructions for `Installing via an Insecure One-Liner`_
|
2013-12-17 08:04:22 +00:00
|
|
|
|
2014-01-30 19:57:57 -07:00
|
|
|
|
2014-01-30 20:05:20 -07:00
|
|
|
Examples
|
|
|
|
~~~~~~~~
|
|
|
|
|
2014-02-10 11:11:20 -07:00
|
|
|
.. Note::
|
|
|
|
In every two-step example, you would be well-served to examine the downloaded file and examine
|
|
|
|
it to ensure that it does what you expect.
|
|
|
|
|
|
|
|
|
2014-01-30 20:05:20 -07:00
|
|
|
Using ``curl`` to install latest git:
|
2012-11-29 05:35:49 +00:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2014-06-05 08:35:02 +01:00
|
|
|
curl -L https://bootstrap.saltstack.com -o install_salt.sh
|
2014-02-10 11:11:20 -07:00
|
|
|
sudo sh install_salt.sh git develop
|
2012-11-29 05:35:49 +00:00
|
|
|
|
|
|
|
|
2013-01-29 13:17:11 +00:00
|
|
|
Using ``wget`` to install your distribution's stable packages:
|
2012-11-29 05:35:49 +00:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2014-06-05 08:35:02 +01:00
|
|
|
wget -O install_salt.sh https://bootstrap.saltstack.com
|
2014-02-10 11:11:20 -07:00
|
|
|
sudo sh install_salt.sh
|
2012-11-29 05:35:49 +00:00
|
|
|
|
|
|
|
|
2013-10-08 17:13:35 +11:00
|
|
|
Install a specific version from git using ``wget``:
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2014-06-05 08:35:02 +01:00
|
|
|
wget -O install_salt.sh https://bootstrap.saltstack.com
|
2014-02-10 11:11:20 -07:00
|
|
|
sudo sh install_salt.sh -P git v0.16.4
|
2013-01-25 23:48:00 +00:00
|
|
|
|
2014-06-03 23:20:30 +01:00
|
|
|
|
2013-01-29 19:34:38 +00:00
|
|
|
If you already have python installed, ``python 2.6``, then it's as easy as:
|
2012-12-05 01:34:38 +00:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2014-06-05 08:35:02 +01:00
|
|
|
python -m urllib "https://bootstrap.saltstack.com" > install_salt.sh
|
2014-02-10 11:11:20 -07:00
|
|
|
sudo sh install_salt.sh git develop
|
2012-12-05 01:34:38 +00:00
|
|
|
|
|
|
|
|
2013-01-29 19:34:38 +00:00
|
|
|
All python versions should support the following one liner:
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2014-06-05 08:35:02 +01:00
|
|
|
python -c 'import urllib; print urllib.urlopen("https://bootstrap.saltstack.com").read()' > install_salt.sh
|
2014-02-10 11:11:20 -07:00
|
|
|
sudo sh install_salt.sh git develop
|
2013-01-29 19:34:38 +00:00
|
|
|
|
|
|
|
|
2013-01-22 17:09:50 +00:00
|
|
|
On a FreeBSD base system you usually don't have either of the above binaries available. You **do**
|
|
|
|
have ``fetch`` available though:
|
2013-01-22 17:06:50 +00:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2014-06-05 08:35:02 +01:00
|
|
|
fetch -o install_salt.sh https://bootstrap.saltstack.com
|
2014-02-10 11:11:20 -07:00
|
|
|
sudo sh install_salt.sh
|
2014-01-30 20:11:55 -07:00
|
|
|
|
2014-12-26 21:06:59 +00:00
|
|
|
If you have any SSL issues install ``ca_root_nssp``:
|
|
|
|
|
|
|
|
..code:: console
|
|
|
|
|
|
|
|
pkg install ca_root_nssp
|
|
|
|
|
2014-12-27 01:11:10 +00:00
|
|
|
And either copy the certificates to the place where fetch can find them:
|
|
|
|
|
|
|
|
..code:: console
|
|
|
|
|
|
|
|
cp /usr/local/share/certs/ca-root-nss.crt /etc/ssl/cert.pem
|
|
|
|
|
|
|
|
Or link them to the right place:
|
|
|
|
|
|
|
|
..code:: console
|
|
|
|
|
|
|
|
ln -s /usr/local/share/certs/ca-root-nss.crt /etc/ssl/cert.pem
|
|
|
|
|
2012-11-29 05:35:49 +00:00
|
|
|
|
2013-01-25 23:48:00 +00:00
|
|
|
If all you want is to install a ``salt-master`` using latest git:
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2014-06-05 08:35:02 +01:00
|
|
|
curl -o install_salt.sh -L https://bootstrap.saltstack.com
|
2014-06-03 23:20:30 +01:00
|
|
|
sudo sh install_salt.sh -M -N git develop
|
|
|
|
|
2013-01-25 23:48:00 +00:00
|
|
|
|
2013-09-15 01:45:15 +00:00
|
|
|
If you want to install a specific release version (based on the git tags):
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2014-06-05 08:35:02 +01:00
|
|
|
curl -o install_salt.sh -L https://bootstrap.saltstack.com
|
2014-06-03 23:20:30 +01:00
|
|
|
sudo sh install_salt.sh git v0.16.4
|
|
|
|
|
2014-02-10 11:11:20 -07:00
|
|
|
|
2014-02-12 10:58:04 -07:00
|
|
|
To install a specific branch from a git fork:
|
2014-02-12 10:43:42 -07:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2014-09-24 16:45:20 +01:00
|
|
|
curl -o install_salt.sh -L https://bootstrap.saltstack.com
|
|
|
|
sudo sh install_salt.sh -g https://github.com/myuser/salt.git git mybranch
|
2014-02-12 10:43:42 -07:00
|
|
|
|
|
|
|
|
2014-02-10 11:11:20 -07:00
|
|
|
Installing via an Insecure One-Liner
|
|
|
|
------------------------------------
|
|
|
|
|
|
|
|
The following examples illustrate how to install Salt via a one-liner.
|
|
|
|
|
|
|
|
.. Note::
|
|
|
|
Warning! These methods do not involve a verification step and assume that the delivered file
|
|
|
|
is trustworthy.
|
|
|
|
|
2014-04-27 09:08:49 +01:00
|
|
|
|
2014-02-10 11:11:20 -07:00
|
|
|
Examples
|
|
|
|
~~~~~~~~
|
|
|
|
|
|
|
|
Installing the latest develop branch of Salt:
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2014-06-05 08:35:02 +01:00
|
|
|
curl -L https://bootstrap.saltstack.com | sudo sh -s -- git develop
|
2014-02-10 11:11:20 -07:00
|
|
|
|
|
|
|
Any of the example above which use two-lines can be made to run in a single-line
|
|
|
|
configuration with minor modifications.
|
|
|
|
|
2013-01-25 23:48:00 +00:00
|
|
|
|
|
|
|
|
2012-11-29 05:04:36 +00:00
|
|
|
Adding support for other operating systems
|
|
|
|
------------------------------------------
|
|
|
|
In order to install salt for a distribution you need to define:
|
|
|
|
|
2012-11-29 05:35:49 +00:00
|
|
|
1. To Install Dependencies, which is required, one of:
|
2012-11-29 05:30:48 +00:00
|
|
|
|
|
|
|
.. code:: bash
|
2012-11-29 05:23:55 +00:00
|
|
|
|
2013-02-12 21:12:57 +00:00
|
|
|
install_<distro>_<major_version>_<install_type>_deps
|
|
|
|
install_<distro>_<major_version>_<minor_version>_<install_type>_deps
|
|
|
|
install_<distro>_<major_version>_deps
|
|
|
|
install_<distro>_<major_version>_<minor_version>_deps
|
2012-11-29 05:18:43 +00:00
|
|
|
install_<distro>_<install_type>_deps
|
|
|
|
install_<distro>_deps
|
|
|
|
|
|
|
|
|
2013-01-22 17:09:50 +00:00
|
|
|
2. Optionally, define a minion configuration function, which will be called if the
|
|
|
|
``-c|config-dir`` option is passed. One of:
|
2012-11-29 05:30:48 +00:00
|
|
|
|
|
|
|
.. code:: bash
|
2012-11-29 05:23:55 +00:00
|
|
|
|
2013-02-12 21:12:57 +00:00
|
|
|
config_<distro>_<major_version>_<install_type>_salt
|
|
|
|
config_<distro>_<major_version>_<minor_version>_<install_type>_salt
|
|
|
|
config_<distro>_<major_version>_salt
|
|
|
|
config_<distro>_<major_version>_<minor_version>_salt
|
|
|
|
config_<distro>_<install_type>_salt
|
|
|
|
config_<distro>_salt
|
|
|
|
config_salt [THIS ONE IS ALREADY DEFINED AS THE DEFAULT]
|
2012-11-29 05:18:43 +00:00
|
|
|
|
|
|
|
|
2013-04-23 11:15:54 +01:00
|
|
|
3. Optionally, define a salt master pre-seed function, which will be called if the -k (pre-seed
|
|
|
|
master keys) option is passed. One of:
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
2014-03-04 12:07:02 -06:00
|
|
|
preseed_<distro>_<major_version>_<install_type>_master
|
|
|
|
preseed_<distro>_<major_version>_<minor_version>_<install_type>_master
|
|
|
|
preseed_<distro>_<major_version>_master
|
|
|
|
preseed_<distro>_<major_version>_<minor_version>_master
|
|
|
|
preseed_<distro>_<install_type>_master
|
|
|
|
preseed_<distro>_master
|
|
|
|
preseed_master [THIS ONE IS ALREADY DEFINED AS THE DEFAULT]
|
2013-04-23 11:15:54 +01:00
|
|
|
|
|
|
|
|
|
|
|
4. To install salt, which, of course, is required, one of:
|
2013-01-22 17:09:50 +00:00
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
2013-02-12 21:12:57 +00:00
|
|
|
install_<distro>_<major_version>_<install_type>
|
|
|
|
install_<distro>_<major_version>_<minor_version>_<install_type>
|
2013-01-22 17:09:50 +00:00
|
|
|
install_<distro>_<install_type>
|
|
|
|
|
|
|
|
|
2013-04-23 11:15:54 +01:00
|
|
|
5. Optionally, define a post install function, one of:
|
2012-11-29 05:30:48 +00:00
|
|
|
|
|
|
|
.. code:: bash
|
2012-11-29 05:23:55 +00:00
|
|
|
|
2013-02-12 21:12:57 +00:00
|
|
|
install_<distro>_<major_version>_<install_type>_post
|
|
|
|
install_<distro>_<major_version>_<minor_version>_<install_type>_post
|
|
|
|
install_<distro>_<major_version>_post
|
|
|
|
install_<distro>_<major_version>_<minor_version>_post
|
2012-11-29 05:18:43 +00:00
|
|
|
install_<distro>_<install_type>_post
|
|
|
|
install_<distro>_post
|
|
|
|
|
2012-11-29 05:04:36 +00:00
|
|
|
|
2013-04-23 11:15:54 +01:00
|
|
|
6. Optionally, define a start daemons function, one of:
|
2013-02-11 22:26:33 +00:00
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
2013-02-16 10:04:25 +00:00
|
|
|
install_<distro>_<major_version>_<install_type>_restart_daemons
|
|
|
|
install_<distro>_<major_version>_<minor_version>_<install_type>_restart_daemons
|
|
|
|
install_<distro>_<major_version>_restart_daemons
|
|
|
|
install_<distro>_<major_version>_<minor_version>_restart_daemons
|
|
|
|
install_<distro>_<install_type>_restart_daemons
|
|
|
|
install_<distro>_restart_daemons
|
2013-02-11 22:26:33 +00:00
|
|
|
|
|
|
|
|
|
|
|
.. admonition:: Attention!
|
|
|
|
|
|
|
|
The start daemons function should be able to restart any daemons which are running, or start if
|
|
|
|
they're not running.
|
|
|
|
|
|
|
|
|
2014-02-01 09:04:28 +00:00
|
|
|
7. Optionally, define a daemons running function, one of:
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
|
|
|
daemons_running_<distro>_<major_version>_<install_type>
|
|
|
|
daemons_running_<distro>_<major_version>_<minor_version>_<install_type>
|
|
|
|
daemons_running_<distro>_<major_version>
|
|
|
|
daemons_running_<distro>_<major_version>_<minor_version>
|
|
|
|
daemons_running_<distro>_<install_type>
|
|
|
|
daemons_running_<distro>
|
|
|
|
daemons_running [THIS ONE IS ALREADY DEFINED AS THE DEFAULT]
|
|
|
|
|
|
|
|
|
2014-02-16 22:32:56 +00:00
|
|
|
8. Optionally, check enabled Services:
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
|
|
|
install_<distro>_<major_version>_<install_type>_check_services
|
|
|
|
install_<distro>_<major_version>_<minor_version>_<install_type>_check_services
|
|
|
|
install_<distro>_<major_version>_check_services
|
|
|
|
install_<distro>_<major_version>_<minor_version>_check_services
|
|
|
|
install_<distro>_<install_type>_check_services
|
|
|
|
install_<distro>_check_services
|
|
|
|
|
|
|
|
|
2013-02-11 22:36:05 +00:00
|
|
|
----
|
2013-02-11 22:26:33 +00:00
|
|
|
|
2014-01-30 20:07:56 -07:00
|
|
|
Below is an example for Ubuntu Oneiric(the example may not be up to date with the script):
|
2012-11-29 05:04:36 +00:00
|
|
|
|
2012-11-29 05:27:54 +00:00
|
|
|
.. code:: bash
|
|
|
|
|
2013-02-12 21:12:57 +00:00
|
|
|
install_ubuntu_11_10_deps() {
|
2012-11-29 05:23:55 +00:00
|
|
|
apt-get update
|
|
|
|
apt-get -y install python-software-properties
|
2012-11-29 05:39:43 +00:00
|
|
|
add-apt-repository -y 'deb http://us.archive.ubuntu.com/ubuntu/ oneiric universe'
|
2012-11-29 05:23:55 +00:00
|
|
|
add-apt-repository -y ppa:saltstack/salt
|
|
|
|
}
|
|
|
|
|
2013-02-12 21:12:57 +00:00
|
|
|
install_ubuntu_11_10_post() {
|
2012-11-29 05:39:43 +00:00
|
|
|
add-apt-repository -y --remove 'deb http://us.archive.ubuntu.com/ubuntu/ oneiric universe'
|
2012-11-29 05:23:55 +00:00
|
|
|
}
|
2012-11-29 05:04:36 +00:00
|
|
|
|
2012-11-29 05:23:55 +00:00
|
|
|
install_ubuntu_stable() {
|
|
|
|
apt-get -y install salt-minion
|
|
|
|
}
|
2012-11-29 05:04:36 +00:00
|
|
|
|
2013-02-16 10:04:25 +00:00
|
|
|
install_ubuntu_restart_daemons() {
|
|
|
|
for fname in minion master syndic; do
|
|
|
|
|
|
|
|
# Skip if not meant to be installed
|
|
|
|
[ $fname = "minion" ] && [ $INSTALL_MINION -eq $BS_FALSE ] && continue
|
|
|
|
[ $fname = "master" ] && [ $INSTALL_MASTER -eq $BS_FALSE ] && continue
|
|
|
|
[ $fname = "syndic" ] && [ $INSTALL_SYNDIC -eq $BS_FALSE ] && continue
|
|
|
|
|
|
|
|
if [ -f /sbin/initctl ]; then
|
|
|
|
# We have upstart support
|
|
|
|
/sbin/initctl status salt-$fname > /dev/null 2>&1
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
# upstart knows about this service, let's stop and start it.
|
|
|
|
# We could restart but earlier versions of the upstart script
|
|
|
|
# did not support restart, so, it's safer this way
|
|
|
|
/sbin/initctl stop salt-$fname > /dev/null 2>&1
|
|
|
|
/sbin/initctl start salt-$fname > /dev/null 2>&1
|
|
|
|
[ $? -eq 0 ] && continue
|
|
|
|
# We failed to start the service, let's test the SysV code bellow
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
/etc/init.d/salt-$fname stop > /dev/null 2>&1
|
2013-05-30 18:05:57 +01:00
|
|
|
/etc/init.d/salt-$fname start
|
2013-02-16 10:04:25 +00:00
|
|
|
done
|
|
|
|
}
|
|
|
|
|
2012-11-29 05:04:36 +00:00
|
|
|
|
2013-02-12 21:12:57 +00:00
|
|
|
Since there is no ``install_ubuntu_11_10_stable()`` it defaults to the unspecified version script.
|
2012-11-29 05:04:36 +00:00
|
|
|
|
2013-02-12 21:12:57 +00:00
|
|
|
The bootstrapping script must be plain POSIX sh only, **not** bash or another shell script. By
|
|
|
|
design the targeting for each operating system and version is very specific. Assumptions of
|
|
|
|
supported versions or variants should not be made, to avoid failed or broken installations.
|
2012-11-29 05:04:36 +00:00
|
|
|
|
|
|
|
Supported Operating Systems
|
|
|
|
---------------------------
|
2013-06-01 16:00:48 +01:00
|
|
|
- Amazon Linux 2012.09
|
2013-06-01 15:39:05 +01:00
|
|
|
- Arch
|
2013-06-01 16:00:48 +01:00
|
|
|
- CentOS 5/6
|
2014-02-25 19:29:19 +00:00
|
|
|
- Debian 6.x/7.x/8(git installations only)
|
2013-06-01 15:39:05 +01:00
|
|
|
- Fedora 17/18
|
2014-01-31 15:17:13 -07:00
|
|
|
- FreeBSD 9.1/9.2/10
|
2013-06-01 15:39:05 +01:00
|
|
|
- Gentoo
|
2013-08-03 19:44:00 +01:00
|
|
|
- Linaro
|
2013-07-26 21:24:09 -04:00
|
|
|
- Linux Mint 13/14
|
2013-06-01 15:39:05 +01:00
|
|
|
- OpenSUSE 12.x
|
2014-03-15 16:56:16 +00:00
|
|
|
- Oracle Linux 5/5
|
2013-01-27 18:20:24 +00:00
|
|
|
- Red Hat 5/6
|
|
|
|
- Red Hat Enterprise 5/6
|
2014-03-19 19:25:38 +00:00
|
|
|
- Scientific Linux 5/6
|
2013-01-27 23:35:10 +00:00
|
|
|
- SmartOS
|
2013-02-26 22:06:39 +00:00
|
|
|
- SuSE 11 SP1/11 SP2
|
2013-12-15 18:44:25 +02:00
|
|
|
- Ubuntu 10.x/11.x/12.x/13.04/13.10
|
2014-04-15 12:44:28 -03:00
|
|
|
- Elementary OS 0.2
|
2012-11-29 05:04:36 +00:00
|
|
|
|
|
|
|
|
2013-05-23 18:03:42 +01:00
|
|
|
|
|
|
|
I found a bug
|
|
|
|
-------------
|
|
|
|
|
|
|
|
If you found a possible problem, or bug, please try to bootstrap using the develop version. The
|
|
|
|
issue you are having might have already been fixed and it's just not yet included in the stable
|
|
|
|
version.
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2014-06-05 08:41:53 +01:00
|
|
|
curl -o install_salt.sh -L https://bootstrap.saltstack.com/develop
|
|
|
|
sudo sh install_salt.sh git develop
|
|
|
|
|
|
|
|
|
|
|
|
Or the insecure one liner:
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
|
|
|
curl -L https://bootstrap.saltstack.com/develop | sudo sh -s -- git develop
|
2013-05-23 18:03:42 +01:00
|
|
|
|
|
|
|
|
|
|
|
If after trying this, you still see the same problems, then, please `file an issue`_.
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-11-29 05:12:18 +00:00
|
|
|
.. _`Salt`: http://saltstack.org/
|
2013-05-23 18:03:42 +01:00
|
|
|
.. _`file an issue`: https://github.com/saltstack/salt-bootstrap/issues/new
|
|
|
|
|
2014-04-07 20:19:38 +01:00
|
|
|
|
|
|
|
Unsupported Distro
|
|
|
|
------------------
|
|
|
|
|
2014-04-09 01:34:08 -07:00
|
|
|
You found a Linux distribution which we still do not support or we do not correctly identify?
|
2014-04-07 20:59:12 +01:00
|
|
|
Please run the following commands and report their output when creating a ticket:
|
2014-04-07 20:19:38 +01:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
|
|
|
sudo find /etc/ -name '*-release' -print -exec cat {} \;
|
|
|
|
which lsb_release && lsb_release -a
|
|
|
|
|
|
|
|
|
2014-03-21 14:36:29 +01:00
|
|
|
Testing in Vagrant
|
|
|
|
------------------
|
2014-04-07 20:19:38 +01:00
|
|
|
You can use Vagrant_ to easily test changes on a clean machine. The ``Vagrantfile`` defaults to an
|
|
|
|
Ubuntu box. First, install Vagrant, then::
|
2014-03-21 14:36:29 +01:00
|
|
|
|
|
|
|
$ vagrant up
|
|
|
|
$ vagrant ssh
|
|
|
|
|
2014-04-27 09:08:49 +01:00
|
|
|
|
2014-03-21 14:36:29 +01:00
|
|
|
.. _Vagrant: http://www.vagrantup.com
|
2014-04-26 17:01:48 +02:00
|
|
|
.. _Installing via an Insecure One-Liner: #installing-via-an-insecure-one-liner
|
2012-11-29 05:39:43 +00:00
|
|
|
.. vim: fenc=utf-8 spell spl=en cc=100 tw=99 fo=want sts=2 sw=2 et
|