4508
Comment: Spelling correction
|
4815
Switch to systemd
|
Deletions are marked like this. | Additions are marked like this. |
Line 97: | Line 97: |
# Switch to systemd sudo aptitude install systemd-sysv libpam-systemd |
|
Line 117: | Line 120: |
mkdir -p ~/src/git.other/ cd ~/src/git.other/ |
|
Line 118: | Line 123: |
source dotfiles/init dots groups set base |
cd dotfiles source init-dots dots groups set base # Set addtl groups as necessary |
Line 128: | Line 134: |
sudo find . -type f -exec sed -i 's/wheezy/testing/g' {} \; | sed -i 's/wheezy/testing/g' /etc/apt/sources.list #sudo find . -type f -exec sed -i 's/wheezy/testing/g' {} \; |
Line 144: | Line 151: |
# Enable IPv6 for Avahi sudo sed -i 's/mdns4_minimal/mdns_minimal/g' /etc/nsswitch.conf |
Chris Lamb has a good Debian installation checklist, from which I stole most of this list.
1 # Configure sudo, adding my user to the sudo group so I don't get password prompts
2 aptitude install sudo
3 adduser xjjk sudo
4 echo '%sudo ALL=NOPASSWD: ALL' > /etc/sudoers.d/No-Passwords-for-sudo-Group
5 chmod 0440 /etc/sudoers.d/No-Passwords-for-sudo-Group
6
7 # Disable installation of recommended packages
8 echo 'APT::Install-Recommends "false";' > /etc/apt/apt.conf.d/90recommends
9
10 # Configure locales to prevent harassment about it later
11 aptitude install locales
12 dpkg-reconfigure -plow locales
13 # …or install all locales so they don't need to be configured/reinstalled
14 aptitude install locales-all
15
16 # Enable log compression with date suffixed extension
17 cat /etc/logrotate.conf | sed "s/#compress/compress\ndateext/" > /etc/logrotate.conf.tmp
18 mv /etc/logrotate.conf.tmp /etc/logrotate.conf
19
20 # Disable root login—public key access only!
21 cat /etc/ssh/sshd_config | sed "s/PermitRootLogin yes/PermitRootLogin without-password/" > /etc/ssh/sshd_config.tmp
22 mv /etc/ssh/sshd_config.tmp /etc/ssh/sshd_config
23 service ssh restart
24
25 # Prevent PAM from allowing easily-crackable passwords
26 aptitude install libpam-cracklib
27
28 # Install essential utilities
29 sudo aptitude install \
30 openssh-server screen \
31 rsync \
32 atool lzma rzip xz-utils \
33 htop dstat iotop \
34 manpages manpages-dev \
35 strace tcpdump lsof \
36 moreutils \
37 mosh \
38 dnsutils \
39 chrony \
40 vim less \
41 bash-completion \
42 sysfsutils procps \
43 vnstat \
44 unattended-upgrades \
45 ncurses-term \
46 cpufrequtils powertop \
47 molly-guard
48
49 # Enable automatic security updates (careful!)
50 sudo DEBIAN_FRONTEND=noninteractive dpkg-reconfigure -plow unattended-upgrades
51
52 # HDD Temperature/SMART monitoring utilities
53 aptitude install hddtemp smartmontools
54 sed -i 's/^#start_smartd=yes/start_smartd=yes/' /etc/default/smartmontools
55 /etc/init.d/smartmontools start
56
57 # Configure rsyslog for daily archival logging
58 cat << EOF > /etc/rsyslog.d/51-cron.conf
59 # Enable cron logging
60 cron.* /var/log/cron.log
61 EOF
62 cat << EOF > /etc/rsyslog.d/99-archive.conf
63 \$template DailyLogs,"/var/log/archive/%\$YEAR%%\$MONTH%/%\$YEAR%%\$MONTH%%\$DAY%.log"
64 # Archive logging
65 *.* -?DailyLogs
66 EOF
67 cat << EOF > /etc/cron.daily/rsyslog-archive
68 #!/bin/sh
69 # Compress *.log-files not changed in more than 24 hours
70 find /var/log/archive -type f -mtime +1 -name "*.log" -exec xz '{}' \;
71 EOF
72 chmod +x /etc/cron.daily/rsyslog-archive
73
74 # Async logging for rsync (commit every 30m)
75 cat << EOF > /etc/rsyslog.d/98-async.conf
76 \$OMFileFlushInterval 1800
77 \$OMFileASyncWriting on
78 EOF
79
80 # Use tmpfs for /var/run and /var/lock (may break some buggy packages), like Ubuntu
81 cat << EOF >> /etc/default/rcS
82 RAMRUN=yes
83 RAMLOCK=yes
84 EOF
85
86 # Allow running X11 apps remotely
87 sudo aptitude install xbase-clients
88
89 # Add noatime,commit=900 to entries in /etc/fstab
90
91 # Enable SATA ALPM
92 echo SATA_ALPM_ENABLE=true | sudo tee /etc/pm/config.d/sata_alpm
93
94 # Switch to systemd
95 sudo aptitude install systemd-sysv libpam-systemd
New account setup
Remote
Locally
Raspberry Pi stuff
1 # Switch from wheezy to testing
2 cd /etc/apt/
3 sed -i 's/wheezy/testing/g' /etc/apt/sources.list
4 #sudo find . -type f -exec sed -i 's/wheezy/testing/g' {} \;
5
6 # Disable tty2–tty6
7 sed -i '/[2-6]:23:respawn:\/sbin\/getty 38400 tty[2-6]/s%^%#%g' /etc/inittab
8 # Disable tty on serial line
9 sed -i '/T0:23:respawn:\/sbin\/getty -L ttyAMA0 115200 vt100/s%^%#%g' /etc/inittab
10
11 # Optimize mounts
12 sed -i 's/defaults,noatime/defaults,noatime,nodiratime/g' /etc/fstab
13
14 # Overclock to 800 Mhz (no overvolting required). Overclocking not forced, but keep it on for the first 2 min during boot
15 echo -e "arm_freq=800\nsdram_freq=400\ncore_freq=300\nforce_turbo=0\ninitial_turbo=120" >> /boot/config.txt
16
17 # Use only 16 MiB for GPU (only run after updating firmware!)
18 echo -e "gpu_mem=16" >> /boot/config.txt
19
20 # Enable IPv6 for Avahi
21 sudo sed -i 's/mdns4_minimal/mdns_minimal/g' /etc/nsswitch.conf
Some of these are from Raspberry Pi Raspbian tuning / optimising / optimizing for reduced memory usage