|
|
|
%
|
|
|
|
% Debian.tex
|
|
|
|
%
|
|
|
|
% Fork Sand IT Manual
|
|
|
|
%
|
|
|
|
% Copyright (C) 2018, Fork Sand, Inc.
|
|
|
|
% Copyright (C) 2017, Jeff Moe
|
|
|
|
% Copyright (C) 2017 Aleph Objects, Inc.
|
|
|
|
%
|
|
|
|
% This document is licensed under the Creative Commons Attribution 4.0
|
|
|
|
% International Public License (CC BY-SA 4.0) by Fork Sand, Inc.
|
|
|
|
%
|
|
|
|
\section{Debian}
|
|
|
|
Debian is a free software GNU/Linux distribution.
|
|
|
|
|
|
|
|
\begin{figure}[!htb]
|
|
|
|
\includegraphics[keepaspectratio=true,height=1.10\textheight,width=1.00\textwidth,angle=0]{www-debian.png}
|
|
|
|
\caption{Debian Website}
|
|
|
|
\label{fig:www-debian}
|
|
|
|
\end{figure}
|
|
|
|
|
|
|
|
\subsection{Install Debian}
|
|
|
|
The Debian servers all get a Minimal + standard utilities + sshd install.
|
|
|
|
At present, it is being tested with virtual machines. When deployed, it will
|
|
|
|
be set up remotely using HTML5 IPMI.
|
|
|
|
|
|
|
|
Install Debian 9 (Stretch).
|
|
|
|
|
|
|
|
|
|
|
|
\section{Creating Debian Images}
|
|
|
|
All cloud services will install various operating system images onto the
|
|
|
|
virtual and bare metal machines they sell. Usually these images are old.
|
|
|
|
They are also done by the provider, often of marginal quality. Some are
|
|
|
|
tuned, and are a bit better done (e.g. Linode). Others are a couple years
|
|
|
|
old when booted.
|
|
|
|
|
|
|
|
|
|
|
|
There are innumerable ways to make images of an operating system to be used.
|
|
|
|
Here are some for Debian...
|
|
|
|
|
|
|
|
\begin{itemize}
|
|
|
|
\item \texttt{Debian OpenStack Images} --- \url{http://cdimage.debian.org/cdimage/openstack/current/}
|
|
|
|
\item \texttt{bootstrap-vz} --- tool for creating Debian images for cloud platforms (CLI).
|
|
|
|
\item \texttt{cdebootstrap} --- Bootstrap a Debian system.
|
|
|
|
\item \texttt{debootstick} --- Turn a chroot environment into a bootable image.
|
|
|
|
\item \texttt{debootstrap} --- Bootstrap a basic Debian system.
|
|
|
|
\item \texttt{grml-debootstrap}- wrapper around debootstrap for installing pure Debian.
|
|
|
|
\item \texttt{live-boot} --- Live System Boot Components.
|
|
|
|
\item \texttt{live-wrapper} --- Wrapper for vmdebootstrap for creating live images.
|
|
|
|
\item \texttt{openstack-debian-images} --- script to build a Debian image for OpenStack.
|
|
|
|
\item \texttt{packer} --- tool for creating machine images for multiple platforms.
|
|
|
|
\item \texttt{vmdebootstrap} --- Bootstrap Debian into a (virtual machine) disk image.
|
|
|
|
\end{itemize}
|
|
|
|
|
|
|
|
\subsection{\texttt{packer}}
|
|
|
|
The \texttt{packer} application in Debian looks particularly useful.
|
|
|
|
|
|
|
|
|
|
|
|
\begin{figure}[!htb]
|
|
|
|
\includegraphics[keepaspectratio=true,height=1.10\textheight,width=1.00\textwidth,angle=0]{www-packer.png}
|
|
|
|
\caption{Packer Website}
|
|
|
|
\label{fig:www-packer}
|
|
|
|
\end{figure}
|
|
|
|
|
|
|
|
|
|
|
|
Debian's description:
|
|
|
|
|
|
|
|
|
|
|
|
%%%
|
|
|
|
Packer is a CLI tool for the automatic creation of identical machine images
|
|
|
|
(single deployable units that contain a pre-configured OS and installed
|
|
|
|
software) for multiple platforms (public cloud providers, private cloud
|
|
|
|
and desktop virtualization solutions) from a single JSON template resp.
|
|
|
|
configuration file.
|
|
|
|
|
|
|
|
Packer features builders for the following target platforms which could be
|
|
|
|
employed on Debian:
|
|
|
|
|
|
|
|
\begin{itemize}
|
|
|
|
\item Amazon Web Services (EBS-backed Amazon Machine Images for EC2, and other
|
|
|
|
types)
|
|
|
|
\item DigitalOcean (reuseable snapshots from available source images)
|
|
|
|
\item Docker
|
|
|
|
\item Google Compute Engine (images based on existing images)
|
|
|
|
\item OpenStack (new reuseable images for servers in OpenStack clouds)
|
|
|
|
\item QEMU (KVM and Xen virtual machine images)
|
|
|
|
\item Oracle VirtualBox (virtual machine images)
|
|
|
|
\end{itemize}
|
|
|
|
|
|
|
|
A number of post-processors are included like for creating Vagrant boxes.
|
|
|
|
|
|
|
|
Several provisioners resp. remote execution systems, namely Ansible, Chef,
|
|
|
|
Puppet, Salt, and shell based provisioning (using SSH) are supported to
|
|
|
|
configure and install software on the machines automatically after fresh OSs
|
|
|
|
have been set up.
|
|
|
|
|
|
|
|
For the documentation of Packer, please see <\url{https://www.packer.io/docs}>.
|
|
|
|
|