temp-container -> deb
This commit is contained in:
parent
5e9fceeeae
commit
3ef2e7be80
BIN
doc/tex/main.pdf
BIN
doc/tex/main.pdf
Binary file not shown.
|
@ -89,10 +89,10 @@ The following are needed to create a custom image:
|
||||||
\section{Creating a Base Container}
|
\section{Creating a Base Container}
|
||||||
The first step is to create a temporary Debian container that will serve as a base:
|
The first step is to create a temporary Debian container that will serve as a base:
|
||||||
\begin{lstlisting}[language=bash]
|
\begin{lstlisting}[language=bash]
|
||||||
incus launch images:debian/12 temp-container
|
incus launch images:debian/12 deb
|
||||||
|
|
||||||
incus profile device remove default eth0
|
incus profile device remove default eth0
|
||||||
incus network attach incusbr0 temp-container eth0 eth0
|
incus network attach incusbr0 deb eth0 eth0
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
|
@ -147,8 +147,8 @@ incus config device add deb deb-proxy proxy listen=tcp:0.0.0.0:1234 connect=tcp:
|
||||||
\section{Installing Additional Packages}
|
\section{Installing Additional Packages}
|
||||||
Next, use the \texttt{exec} command to launch a shell in the container and install the necessary packages:
|
Next, use the \texttt{exec} command to launch a shell in the container and install the necessary packages:
|
||||||
\begin{lstlisting}[language=bash]
|
\begin{lstlisting}[language=bash]
|
||||||
incus exec temp-container -- apt update
|
incus exec deb -- apt update
|
||||||
incus exec temp-container -- apt install -y \
|
incus exec deb -- apt install -y \
|
||||||
netplan.io \
|
netplan.io \
|
||||||
sudo vim nano git tmux mc zip unzip curl wget htop lynx\
|
sudo vim nano git tmux mc zip unzip curl wget htop lynx\
|
||||||
iproute2 termshark bridge-utils \
|
iproute2 termshark bridge-utils \
|
||||||
|
@ -162,17 +162,17 @@ After installing the additional packages, it's important to configure user acces
|
||||||
\subsection{Changing the Root Password}
|
\subsection{Changing the Root Password}
|
||||||
To change the root password to "passroot", execute the following command:
|
To change the root password to "passroot", execute the following command:
|
||||||
\begin{lstlisting}[language=bash]
|
\begin{lstlisting}[language=bash]
|
||||||
echo "root:passroot" | incus exec temp-container -- chpasswd
|
echo "root:passroot" | incus exec deb -- chpasswd
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
\subsection{Adding a New User}
|
\subsection{Adding a New User}
|
||||||
To add a new user named "user" with the password "pass", and to add this user to the "sudo" and "docker" groups, follow these steps:
|
To add a new user named "user" with the password "pass", and to add this user to the "sudo" and "docker" groups, follow these steps:
|
||||||
|
|
||||||
\begin{lstlisting}[language=bash]
|
\begin{lstlisting}[language=bash]
|
||||||
incus exec temp-container -- useradd -m -s /bin/bash user
|
incus exec deb -- useradd -m -s /bin/bash user
|
||||||
echo "user:pass" | incus exec temp-container -- chpasswd
|
echo "user:pass" | incus exec deb -- chpasswd
|
||||||
incus exec temp-container -- usermod -aG sudo user
|
incus exec deb -- usermod -aG sudo user
|
||||||
incus exec temp-container -- usermod -aG docker user
|
incus exec deb -- usermod -aG docker user
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
This series of commands creates a new user with a home directory and bash shell, sets their password, and adds them to the necessary groups for system administration and Docker management.
|
This series of commands creates a new user with a home directory and bash shell, sets their password, and adds them to the necessary groups for system administration and Docker management.
|
||||||
|
@ -182,7 +182,7 @@ This series of commands creates a new user with a home directory and bash shell,
|
||||||
To install Vim-Plug, a plugin manager for Vim, inside the `deb` container, execute the following command from your host system:
|
To install Vim-Plug, a plugin manager for Vim, inside the `deb` container, execute the following command from your host system:
|
||||||
|
|
||||||
\begin{lstlisting}[language=bash]
|
\begin{lstlisting}[language=bash]
|
||||||
incus exec temp-container -- bash -c "curl -fLo /home/user/.vim/autoload/plug.vim --create-dirs \
|
incus exec deb -- bash -c "curl -fLo /home/user/.vim/autoload/plug.vim --create-dirs \
|
||||||
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"
|
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
|
@ -192,31 +192,31 @@ Ensure that the specified user directory exists and the user has the necessary p
|
||||||
\noindent
|
\noindent
|
||||||
To transfer a file from your host system to a container, use the `incus file push` command. For example, to push `\_confs.zip` to the `deb` container:
|
To transfer a file from your host system to a container, use the `incus file push` command. For example, to push `\_confs.zip` to the `deb` container:
|
||||||
\begin{lstlisting}[language=bash]
|
\begin{lstlisting}[language=bash]
|
||||||
incus file push _confs.zip temp-container/home/user/_confs.zip
|
incus file push _confs.zip deb/home/user/_confs.zip
|
||||||
|
|
||||||
#Folder _confs must to be zipped with -rj option
|
#Folder _confs must to be zipped with -rj option
|
||||||
incus exec temp-container -- bash -c "unzip /home/user/_confs.zip -d /home/user/ && sudo chown -R user:user /home/user/* /home/user/.*"
|
incus exec deb -- bash -c "unzip /home/user/_confs.zip -d /home/user/ && sudo chown -R user:user /home/user/* /home/user/.*"
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
\section{Cleaning the Container}
|
\section{Cleaning the Container}
|
||||||
Before creating the image, clean the system of unnecessary files:
|
Before creating the image, clean the system of unnecessary files:
|
||||||
\begin{lstlisting}[language=bash]
|
\begin{lstlisting}[language=bash]
|
||||||
incus exec temp-container -- apt clean
|
incus exec deb -- apt clean
|
||||||
incus exec temp-container -- apt autoremove
|
incus exec deb -- apt autoremove
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
\section{Creating the Image}
|
\section{Creating the Image}
|
||||||
After installing all the necessary packages and cleaning the system, create an image from the container:
|
After installing all the necessary packages and cleaning the system, create an image from the container:
|
||||||
\begin{lstlisting}[language=bash]
|
\begin{lstlisting}[language=bash]
|
||||||
incus stop temp-container
|
incus stop deb
|
||||||
incus publish temp-container --alias my-custom-image-deb
|
incus publish deb --alias my-custom-image-deb
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
Replace \texttt{my-custom-image} with the chosen name for your image.
|
Replace \texttt{my-custom-image} with the chosen name for your image.
|
||||||
|
|
||||||
\section{Cleanup}
|
\section{Cleanup}
|
||||||
After creating the image, delete the temporary container:
|
After creating the image, delete the temporary container:
|
||||||
\begin{lstlisting}[language=bash]
|
\begin{lstlisting}[language=bash]
|
||||||
incus delete temp-container
|
incus delete deb
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
\section{Using the Image}
|
\section{Using the Image}
|
||||||
|
|
Loading…
Reference in New Issue