|  |  |  | %
 | 
					
						
							|  |  |  | % 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 \gls{gnulinux} 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 \gls{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 \Gls{docker} | 
					
						
							|  |  |  |  \item Google Compute Engine (images based on existing images) | 
					
						
							|  |  |  |  \item OpenStack (new reuseable images for servers in OpenStack clouds) | 
					
						
							|  |  |  |  \item QEMU (\gls{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}>. | 
					
						
							|  |  |  | 
 |