mirror of
https://github.com/kevinveenbirkenbach/linux-image-manager.git
synced 2024-11-22 15:11:04 +01:00
Updated README.md
This commit is contained in:
parent
504d24a7fe
commit
04a7cd7e5a
120
README.md
120
README.md
@ -1,47 +1,34 @@
|
|||||||
# Core System
|
# Core System
|
||||||
[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](./LICENSE.txt) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/6e66409513d7451b949afbf0373ba71f)](https://www.codacy.com/manual/KevinFrantz/core-system?utm_source=github.com&utm_medium=referral&utm_content=KevinFrantz/core-system&utm_campaign=Badge_Grade) <!--[![Travis CI](https://travis-ci.org/KevinFrantz/core-system.svg?branch=master)](https://travis-ci.org/KevinFrantz/core-system)-->
|
[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](./LICENSE.txt) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/6e66409513d7451b949afbf0373ba71f)](https://www.codacy.com/manual/KevinFrantz/core-system?utm_source=github.com&utm_medium=referral&utm_content=KevinFrantz/core-system&utm_campaign=Badge_Grade) <!--[![Travis CI](https://travis-ci.org/KevinFrantz/core-system.svg?branch=master)](https://travis-ci.org/KevinFrantz/core-system)-->
|
||||||
|
|
||||||
## Goal
|
```
|
||||||
The goal is to never setup and configure a system manual again or to care about loosing passwords and important data. Instead the whole process **SHOULD** be automatized.
|
The
|
||||||
|
_____ _____ _
|
||||||
|
/ ____| / ____| | |
|
||||||
|
| | ___ _ __ ___| (___ _ _ ___| |_ ___ _ __ ___
|
||||||
|
| | / _ \| '__/ _ \\___ \| | | / __| __/ _ \ '_ ` _ \
|
||||||
|
| |___| (_) | | | __/____) | |_| \__ \ || __/ | | | | |
|
||||||
|
\_____\___/|_| \___|_____/ \__, |___/\__\___|_| |_| |_|
|
||||||
|
__/ |
|
||||||
|
|___/
|
||||||
|
is an administration tool designed from and for Kevin Veen-Birkenbach.
|
||||||
|
Licensed under GNU GENERAL PUBLIC LICENSE Version 3
|
||||||
|
```
|
||||||
|
## Todo
|
||||||
|
|
||||||
|
- Implement ssh configuration
|
||||||
|
- Implement wifi automation
|
||||||
|
- Install client software depentend on hardware
|
||||||
|
- Use travis
|
||||||
|
- Move repository folder
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
This repository contains scripts to set up an working client system, maintain it and to save all important and configuration data on an USB stick. The data is stored encrypted with [EncFS](https://en.wikipedia.org/wiki/EncFS).
|
This repository contains scripts to set up an working client system, maintain it and to save all important and configuration data on an USB stick. The data is stored encrypted with [EncFS](https://en.wikipedia.org/wiki/EncFS).
|
||||||
It's adapted to the needs of Kevin Veen-Birkenbach. Feel free to modularize it and to adapt it to your needs.
|
It's adapted to the needs of Kevin Veen-Birkenbach. Feel free to clone it and to adapt it to your needs. The goal is to never setup and configure a system manual again, or to care about loosing passwords and important data. Instead the whole process **SHOULD** be automatized.
|
||||||
|
|
||||||
![Empty Core System Screen](./.meta/core-system-screenshot.png)
|
## Functions
|
||||||
<sub>*Core System* changes the wallpaper every day to the [Astronomy Picture of the Day](https://apod.nasa.gov/apod/). This wallpaper is from the 2019-10-07 and shows Jupiter with the shadow of his moon Io. </sub>
|
|
||||||
|
|
||||||
## Core System Norm
|
This repository contains the following scripts:
|
||||||
This software and compatible software **MUST** adapt to the ["Core System Norm"](./CORE_SYSTEM_NORM.md).
|
|
||||||
|
|
||||||
|
|
||||||
## Requirements
|
|
||||||
This script is optimized for a [Manjaro Linux](https://manjaro.org). It's recommended to encrypt the hard drive with [LUKS](https://en.wikipedia.org/wiki/Linux_Unified_Key_Setup) if the computer isn't shared.
|
|
||||||
|
|
||||||
## System
|
|
||||||
### Desktop
|
|
||||||
The System allows to use a [GNOME desktop](https://www.gnome.org/?) or a [Xfce](https://www.xfce.org/) desktop.
|
|
||||||
Depending on the desktop environment you have different functionalities.
|
|
||||||
#### GNOME
|
|
||||||
##### Key Bindings
|
|
||||||
The following *Core System* specific key bindings exist:
|
|
||||||
|
|
||||||
|Combination |Result |
|
|
||||||
|------------|------------------------------------|
|
|
||||||
|Ctrl+Alt+A |Opens Atom |
|
|
||||||
|Ctrl+Alt+C |Opens the capture\screenshot dialog |
|
|
||||||
|Ctrl+Alt+E |Opens Eclipse |
|
|
||||||
|Ctrl+Alt+F |Opens Firefox |
|
|
||||||
|Ctrl+Alt+K |Opens KeePassXC |
|
|
||||||
|Ctrl+Alt+R |Opens Rhyhtmbox |
|
|
||||||
|Ctrl+Alt+S |Imports data to core system |
|
|
||||||
|Ctrl+Alt+T |Opens a terminal |
|
|
||||||
|Ctrl+Alt+V |Opens VLC player |
|
|
||||||
|
|
||||||
### User Data
|
|
||||||
Right now the software expects that the *Core System Owner* has on all systems the same username. By executing the *import script* it automatic backups the application configuration data, ssh keys and other important data which is saved in well defined configuration files and folders.
|
|
||||||
|
|
||||||
### Functions
|
|
||||||
|
|
||||||
| Order | Description |
|
| Order | Description |
|
||||||
|---|---|
|
|---|---|
|
||||||
@ -55,22 +42,43 @@ Right now the software expects that the *Core System Owner* has on all systems t
|
|||||||
| ```bash ./scripts/pushs-local-repositories.sh``` | Pushs all local repositories branches |
|
| ```bash ./scripts/pushs-local-repositories.sh``` | Pushs all local repositories branches |
|
||||||
| ```encfsctl passwd .encrypted``` | Change the password of the encrypted folder. |
|
| ```encfsctl passwd .encrypted``` | Change the password of the encrypted folder. |
|
||||||
|
|
||||||
# Raspberry Pi sdc tools
|
|
||||||
|
## System
|
||||||
|
### Client
|
||||||
|
The client script is optimized for a [Manjaro Linux](https://manjaro.org). It's recommended to encrypt the hard drive with [LUKS](https://en.wikipedia.org/wiki/Linux_Unified_Key_Setup) if the computer isn't shared.
|
||||||
|
|
||||||
|
#### Folder
|
||||||
|
The following folder structures will be used:
|
||||||
|
|
||||||
|
| Path | Description |
|
||||||
|
|---|---|
|
||||||
|
$HOME/Documents/certificates/ | Contains certificates to authenticate via [certificate based authentication](https://blog.couchbase.com/x-509-certificate-based-authentication/). |
|
||||||
|
| $HOME/Documents/recovery_codes/ | Contains files with recovery_codes e.g. for [Two-factor authentication](https://en.wikipedia.org/wiki/Multi-factor_authentication). |
|
||||||
|
| $HOME/Documents/identity/ | Contains files to prove the identity of the *Core System Owner* in physical live like passports. |
|
||||||
|
| $HOME/Documents/passwords/ | Contains e.g the [KeePassXC](https://keepassxc.org/) database with all *Core System Owner* passwords. |
|
||||||
|
| $HOME/Documents/repositories/ | Contains all git repositories |
|
||||||
|
| $HOME/Images/ | contains os images|
|
||||||
|
|
||||||
|
#### Desktop
|
||||||
|
The System allows to use a [GNOME desktop](https://www.gnome.org/?) or a [Xfce](https://www.xfce.org/) desktop.
|
||||||
|
Depending on the desktop environment you have different functionalities.
|
||||||
|
|
||||||
|
#### User Data
|
||||||
|
Right now the software expects that the *Core System Owner* has on all systems the same username. By executing the *import script* it automatic backups the application configuration data, ssh keys and other important data which is saved in well defined configuration files and folders.
|
||||||
|
|
||||||
|
### Server
|
||||||
|
|
||||||
|
#### Raspberry Pi
|
||||||
This repository contains some shell scripts to install Arch Linux for the Raspberry Pi on a SD-Card and to backup a SD-Card.
|
This repository contains some shell scripts to install Arch Linux for the Raspberry Pi on a SD-Card and to backup a SD-Card.
|
||||||
## Todo
|
|
||||||
|
|
||||||
- Implement ssh configuration
|
##### Setup
|
||||||
- Implement wifi automation
|
###### Guided
|
||||||
|
|
||||||
## Setup
|
|
||||||
### SD-Card
|
|
||||||
#### Guided
|
|
||||||
To install a Linux distribution manually on a SD card type in:
|
To install a Linux distribution manually on a SD card type in:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
bash ./sd_setup.sh
|
bash ./sd_setup.sh
|
||||||
```
|
```
|
||||||
#### Piped
|
###### Piped
|
||||||
To pase the configuration to the program use this syntax:
|
To pase the configuration to the program use this syntax:
|
||||||
```bash
|
```bash
|
||||||
(
|
(
|
||||||
@ -88,27 +96,5 @@ To pase the configuration to the program use this syntax:
|
|||||||
)| sudo bash ./sd_setup.sh
|
)| sudo bash ./sd_setup.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
### System
|
|
||||||
#### Arch
|
|
||||||
```bash
|
|
||||||
pacman-key --init
|
|
||||||
pacman-key --populate archlinuxarm
|
|
||||||
install -m640 /etc/netctl/examples/wireless-wpa domo-de-kosmopolitoj-wpa
|
|
||||||
nano domo-de-kosmopolitoj-wpa
|
|
||||||
netctl start domo-de-kosmopolitoj-wpa
|
|
||||||
netctl enable domo-de-kosmopolitoj-wpa
|
|
||||||
```
|
|
||||||
#### Ubuntu\\Debian
|
|
||||||
```bash
|
|
||||||
sudo apt update
|
|
||||||
sudo apt upgrade
|
|
||||||
```
|
|
||||||
## Backup
|
|
||||||
To backup a SD card type in:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
bash ./sd_backup.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
The ["GNU GENERAL PUBLIC LICENSE Version 3"](./LICENSE.txt) applies to this project.
|
The ["GNU GENERAL PUBLIC LICENSE Version 3"](./LICENSE.txt) applies to this project.
|
||||||
|
Loading…
Reference in New Issue
Block a user