Compare commits
2 Commits
93d3935197
...
af7fee31a6
Author | SHA1 | Date |
---|---|---|
Adrian | af7fee31a6 | |
Adrian | 62b1ed3cfd |
|
@ -3,6 +3,6 @@ prompt 1
|
|||
timeout 1
|
||||
|
||||
label linux
|
||||
menu label Debian Testing
|
||||
menu label Debian
|
||||
linux /vmlinuz
|
||||
append initrd=/initrd.img init=/bin/systemd ro quiet vga=0x314 root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
||||
append initrd=/initrd.img ro quiet vga=0x314 root=LABEL=System
|
||||
|
|
|
@ -5,7 +5,7 @@ These are carefully crafted Nginx config files.
|
|||
|
||||
Do not forget the following:
|
||||
|
||||
sudo chown -R wwwrun.www /var/lib/nginx
|
||||
sudo chown -R wwwrun.www /var/lib/nginx # if on openSUSE
|
||||
cd /etc/nginx/sites-conf
|
||||
sudo ln -s example.ssl default.ssl
|
||||
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
user wwwrun www;
|
||||
user www-data;
|
||||
# Or, if on openSUSE:
|
||||
# user wwwrun www;
|
||||
|
||||
worker_processes auto;
|
||||
pid /run/nginx.pid;
|
||||
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
A `chroot` environment can be used to modify a system installed to a different location.
|
||||
|
||||
Combined with `aufs`, the technique can be used, for example, to modify an ISO live image.
|
||||
Combined with `aufs`, the technique can be used, for example, to modify a mounted ISO image.
|
||||
|
||||
## Setup
|
||||
|
||||
MNT=/tmp/mnt/rootfs
|
||||
MNT=/mnt
|
||||
mount -o bind /dev $MNT/dev
|
||||
mount -o bind /dev/pts $MNT/dev/pts
|
||||
mount -t proc none $MNT/proc
|
||||
|
@ -15,6 +15,8 @@ Combined with `aufs`, the technique can be used, for example, to modify an ISO l
|
|||
cp /etc/resolv.conf $MNT/etc/resolv.conf
|
||||
chroot $MNT
|
||||
|
||||
`$MNT/etc/mtab` should be edited manually to correctly point to the root file system.
|
||||
|
||||
Umount the chroot environment:
|
||||
|
||||
umount $MNT/{sys,proc,dev/pts,dev}
|
||||
|
@ -23,6 +25,7 @@ Umount the chroot environment:
|
|||
|
||||
## AUFS Overlay
|
||||
|
||||
Mount a writeable version of `/tmp/mnt/rootfs` to `/tmp/mnt/rootrw`
|
||||
Mount a writeable version of `/tmp/mnt/root` to `/tmp/mnt/rootrw`
|
||||
|
||||
mount -t aufs -o br:/tmp/mnt/aufs:/tmp/mnt/rootfs none /tmp/mnt/rootrw
|
||||
mkdir -p /tmp/mnt/{root,rootrw,aufs}
|
||||
mount -t aufs -o br:/tmp/mnt/aufs:/tmp/mnt/root none /tmp/mnt/rootrw
|
||||
|
|
|
@ -2,21 +2,23 @@ Prepare Image
|
|||
=============
|
||||
|
||||
* Use the **VMDK format**
|
||||
|
||||
* Use SCSI adapter type in VM, or:
|
||||
* Add **mptspi** (SCSI driver) to the initrd
|
||||
* openSUSE: Edit `/etc/dracut.conf`
|
||||
Change the line `#add_drivers+=""` to `add_drivers+="mptspi"`
|
||||
Then execute `dracut -f`
|
||||
1. Change the line `#add_drivers+=""` to `add_drivers+="mptspi"`
|
||||
2. Execute `dracut -f`
|
||||
* openSUSE < 13.2:
|
||||
1. Edit `/etc/sysconfig/kernel`
|
||||
2. Add it to `INITRD_MODULES`
|
||||
3. Update initrd: `mkinitrd`
|
||||
* Debian
|
||||
1. Edit `/etc/initramfs-tools/modules`
|
||||
2. Execute `update-initramfs -u`
|
||||
|
||||
Copy VM to ESX
|
||||
==============
|
||||
|
||||
1. Create a new VM using the vSphere Client
|
||||
* Create a disk image, but it will not be used afterwards.
|
||||
|
||||
2. Upload the VMDK disk image files
|
||||
|
||||
|
|
|
@ -6,6 +6,8 @@ a basic copy of a Debian derivative into a folder.
|
|||
This guide explains how to install a full Kubuntu system with debootstrap.
|
||||
However, any Ubuntu flavour can be installed this way.
|
||||
|
||||
This guide uses Bashisms.
|
||||
|
||||
# Procedure
|
||||
|
||||
## Basic Minimal Installation
|
||||
|
@ -17,8 +19,13 @@ The subsequent commands are all executed inside a
|
|||
|
||||
## Basic Configuration
|
||||
|
||||
### Mark packages
|
||||
|
||||
apt-mark showmanual | xargs apt-mark auto
|
||||
|
||||
### Set language
|
||||
|
||||
apt-get install locales
|
||||
locale-gen en_US.UTF-8
|
||||
update-locale LANG=en_US.UTF-8
|
||||
|
||||
|
@ -28,23 +35,37 @@ The subsequent commands are all executed inside a
|
|||
|
||||
### Basic configuration
|
||||
|
||||
Do not forget to edit `fstab`, `hostname`, and `hosts` in /etc.
|
||||
echo > /etc/fstab
|
||||
echo "LABEL=System / ext4 errors=remount-ro,noatime 0 1" >> /etc/fstab
|
||||
|
||||
An example fstab might look like:
|
||||
echo > /etc/hosts
|
||||
echo "127.0.0.1 localhost" >> /etc/hosts
|
||||
echo "127.0.0.1 your-host" >> /etc/hosts
|
||||
echo "::1 ip6-localhost ip6-loopback" >> /etc/hosts
|
||||
echo "your-host" > /etc/hostname
|
||||
|
||||
LABEL=System / ext4 errors=remount-ro,noatime,discard 0 1
|
||||
echo > /etc/network/interfaces.d/eth0
|
||||
echo auto eth0 >> /etc/network/interfaces.d/eth0
|
||||
echo iface eth0 inet dhcp >> /etc/network/interfaces.d/eth0
|
||||
|
||||
Note: `discard` is useful for SSD disks.
|
||||
Note: The option `discard` can be added in `/etc/fstab` for SSD disks.
|
||||
|
||||
### Optionally, configure keyboard
|
||||
### Configure keyboard (optional)
|
||||
|
||||
dpkg-reconfigure keyboard-configuration
|
||||
|
||||
### Optionally, configure APT
|
||||
### Configure APT (optional)
|
||||
|
||||
# /etc/apt/apt.conf.d/99recommends
|
||||
APT::AutoRemove::RecommendsImportant
|
||||
APT::Install-Recommends
|
||||
echo 'APT::AutoRemove::RecommendsImportant "true";' >> /etc/apt/apt.conf.d/99no-recommends
|
||||
echo 'APT::Install-Recommends "false";' >> /etc/apt/apt.conf.d/99no-recommends
|
||||
echo 'APT::Get::Purge "true";' >> /etc/apt/apt.conf.d/99always-purge
|
||||
|
||||
### ACPI support (optional)
|
||||
|
||||
apt-get install acpi-support-base
|
||||
systemctl enable acpid
|
||||
|
||||
Note: This enables ACPI shutdown as commonly used in VMs.
|
||||
|
||||
## Ubuntu Installation
|
||||
|
||||
|
@ -52,9 +73,8 @@ Note: `discard` is useful for SSD disks.
|
|||
|
||||
apt-get install ubuntu-minimal
|
||||
|
||||
ubuntu-minimal contains useful packages
|
||||
`ubuntu-minimal` contains useful packages
|
||||
which would have to be installed manually in Debian.
|
||||
|
||||
These include: `cron logrotate nano netbase net-tools isc-dhcp-client sudo rsyslog`
|
||||
|
||||
### Add a regular user
|
||||
|
@ -70,14 +90,24 @@ In Ubuntu, the default secondary user groups are:
|
|||
To install a bootable system, the kernel and a bootloader
|
||||
have to be installed.
|
||||
|
||||
apt-get install linux-generic
|
||||
|
||||
The following command installs Grub for EFI with Secure Boot enabled:
|
||||
|
||||
apt-get install linux-generic grub-efi-amd64-signed shim-signed
|
||||
apt-get install grub-efi-amd64-signed shim-signed
|
||||
|
||||
For BIOS, `grub-pc` has to be installed.
|
||||
For BIOS:
|
||||
|
||||
Alternatively, extlinux can be installed instead of grub.
|
||||
That section has yet to be written though...
|
||||
apt-get install grub-pc
|
||||
|
||||
Alternatively, extlinux can be installed:
|
||||
|
||||
apt-get install extlinux
|
||||
mkdir /boot/extlinux
|
||||
extlinux -i /boot/extlinux
|
||||
cat /usr/lib/EXTLINUX/mbr.bin > /dev/sda
|
||||
|
||||
Copy [extlinux.conf](../conf/extlinux.conf) to `/boot/extlinux`.
|
||||
|
||||
### Install desktop system
|
||||
|
||||
|
@ -89,18 +119,18 @@ It is a good time to add some repositories.
|
|||
|
||||
All Ubuntu repositories are enabled using the following configuration:
|
||||
|
||||
# /etc/apt/sources.list
|
||||
deb http://ch.archive.ubuntu.com/ubuntu/ wily main restricted universe multiverse
|
||||
deb http://ch.archive.ubuntu.com/ubuntu/ wily-security main restricted universe multiverse
|
||||
deb http://ch.archive.ubuntu.com/ubuntu/ wily-updates main restricted universe multiverse
|
||||
deb http://archive.canonical.com/ubuntu wily partner
|
||||
echo > /etc/apt/sources.list
|
||||
echo "deb http://ch.archive.ubuntu.com/ubuntu wily main restricted universe multiverse" >> /etc/apt/sources.list
|
||||
echo "deb http://ch.archive.ubuntu.com/ubuntu wily-security main restricted universe multiverse" >> /etc/apt/sources.list
|
||||
echo "deb http://ch.archive.ubuntu.com/ubuntu wily-updates main restricted universe multiverse" >> /etc/apt/sources.list
|
||||
echo "deb http://archive.canonical.com/ubuntu wily partner" >> /etc/apt/sources.list
|
||||
|
||||
Also refer to the [Ubuntu Help](https://help.ubuntu.com/community/Repositories/Ubuntu)
|
||||
to find about the different components.
|
||||
to read about the different components.
|
||||
|
||||
Some PPAs are needed to be sure to get the latest software versions.
|
||||
First the `add-apt-repository` helper is installed,
|
||||
and then those repositories are added:
|
||||
Some PPAs are needed to ensure the latest software versions are installed.
|
||||
First, the `add-apt-repository` helper is installed,
|
||||
and then, those repositories are added:
|
||||
|
||||
apt-get install software-properties-common
|
||||
apt-mark auto software-properties-common
|
||||
|
@ -108,13 +138,12 @@ and then those repositories are added:
|
|||
add-apt-repository ppa:libreoffice/ppa
|
||||
add-apt-repository ppa:rvm/smplayer
|
||||
add-apt-repository ppa:qtbittorrent-team/qtbittorrent-stable
|
||||
echo deb http://debian-mirrors.sdinet.de/debian-multimedia testing main \
|
||||
> /etc/apt/sources.list.d/deb-multimedia.list
|
||||
echo "deb http://debian-mirrors.sdinet.de/debian-multimedia testing main" > /etc/apt/sources.list.d/deb-multimedia.list
|
||||
|
||||
#### Install desktop packages
|
||||
|
||||
Now do an `apt-get update` and install the desktop system:
|
||||
|
||||
apt-get update
|
||||
apt-get install --allow-unauthenticated -y deb-multimedia-keyring
|
||||
apt-get install --install-recommends ubuntu-standard kubuntu-desktop kubuntu-restricted-extras language-pack-kde-en
|
||||
|
||||
Personally, I like to use Chrome and SMPlayer:
|
||||
|
@ -126,5 +155,3 @@ Personally, I like to use Chrome and SMPlayer:
|
|||
|
||||
Sometimes, some packages have to be pulled
|
||||
from [packages.debian.org](http://packages.debian.org) manually.
|
||||
|
||||
## Finished!
|
||||
|
|
|
@ -50,9 +50,9 @@ Security
|
|||
* Disable root account (put an asterisk `*` as password)
|
||||
|
||||
* Create SSH user:
|
||||
* /etc/passwd: `sshuser:x:999:65534::/run:/bin/bash`
|
||||
* /etc/shadow: `sshuser:*:16436:0:99999::::`
|
||||
* Change its password: `$ sudo passwd sshuser`
|
||||
* `echo "sshuser:x:999:65534::/run:/bin/bash" >> /etc/passwd`
|
||||
* `echo "sshuser:*:16436:0:99999::::" >> /etc/shadow`
|
||||
* Change the password: `sudo passwd sshuser`
|
||||
|
||||
* Edit SSH config `/etc/ssh/sshd_config`:
|
||||
Port xxx
|
||||
|
@ -119,19 +119,18 @@ Debian `/etc/cron.*` times:
|
|||
AWstats
|
||||
=======
|
||||
|
||||
mkdir /usr/local/awstats; cd /usr/local/awstats
|
||||
git init
|
||||
git remote add origin git://git.code.sf.net/p/awstats/code
|
||||
git fetch --depth=1 origin tag AWSTATS_7_3
|
||||
git checkout AWSTATS_7_3
|
||||
|
||||
mkdir /usr/local/share/cgi-bin
|
||||
ln -s /usr/local/awstats/wwwroot /usr/local/share/cgi-bin/awstats
|
||||
mkdir /usr/local/awstats && cd /usr/local/awstats && git init
|
||||
git remote add origin https://github.com/eldy/awstats.git
|
||||
git fetch --depth=1 origin tag AWSTATS_7_4
|
||||
git checkout AWSTATS_7_4
|
||||
|
||||
Check version tags:
|
||||
|
||||
git ls-remote
|
||||
|
||||
To use it with [AWstats](../conf/nginx/sites-available/example),
|
||||
set: `DirIcons="/awstatsicons"`
|
||||
|
||||
Free Space
|
||||
==========
|
||||
|
||||
|
|
|
@ -37,8 +37,7 @@ The safe update script which is listed below.
|
|||
|
||||
## Universal Safe Update
|
||||
|
||||
The script is located in [scripts/git-safe-update.sh](../scripts/git-safe-update.sh).
|
||||
Copy the file to `/path/to/safe-update` and make it executable.
|
||||
Copy the file [git-safe-update.sh](../scripts/git-safe-update.sh) and make it executable.
|
||||
|
||||
It can be used to update any repository. It takes two arguments:
|
||||
|
||||
|
@ -63,7 +62,7 @@ It executes `safe-update` only when the master branch is updated.
|
|||
|
||||
read oldid newid ref
|
||||
if [ "$ref" = "refs/heads/master" ]; then
|
||||
sudo /path/to/safe-update /path/to/deploy-target wwwrun.www
|
||||
sudo /path/to/safe-update /path/to/deploy-target www-data.www-data
|
||||
fi
|
||||
```
|
||||
|
||||
|
@ -75,8 +74,11 @@ a `file:` URL as the remote.
|
|||
The *master* branch is assumed to be a deployable version.
|
||||
Hence, use the following command to add the remote:
|
||||
|
||||
cd /path/to/deploy-target
|
||||
git init
|
||||
git remote add -t master origin file:///path/to/main.git
|
||||
git branch -u origin/master
|
||||
git fetch --depth=1
|
||||
git checkout master
|
||||
|
||||
## Sudo Configuration
|
||||
|
||||
|
|
Loading…
Reference in New Issue