-
Notifications
You must be signed in to change notification settings - Fork 0
/
install_debian_packages.py
83 lines (66 loc) · 2.46 KB
/
install_debian_packages.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# This file contains a number of apt-get installs of programs and services I find useful
# on any machine that I own or operate.
# TODO turn this into a installation package using something like ansible or salt stack
import shlex, subprocess
import os
# Check to make sure that our effective ID is root's ID.
if os.geteuid() != 0:
exit("You need to have root privileges to run this script."
" Please try again, this time using 'sudo'.")
# Debian / ubuntu install command
install_command = "apt-get -yq install "
install_list = [
# Terminals
"terminology", # Current favorite unix terminal
# Shells
"bash", # Standard shell
"zsh", # More fully features shell
# Command Line Tools
"tmux", # ssh connection manager
"screen", # Tmux is built in screen
"bash-completion",
"curl", # Pull http and https websites
"tree", # pretty display of the file system tree
"nmap", # network mapper. Careful about scanning shit.
"ranger", # Pretty console file system display
"attr", # Manipulation of file attributes
"pandoc", # Translation most text or markdown formats to any other format
"colortest", # Tests color capabilities of current terminal
"gparted", # Disk partition tool
# Daemons
"sshd", # Allows ssh sessions to your box
"ntmp", # Network time protocal
"etckeeper", # Configuration File Version Tracking
# System Monitoring
"htop", # Pretty system performance monitoring
"dstat", # More in depth disk performance
"strace", # More in depth kernal usage
"nethogs", # More in depth network usage
"iperf",
"iftop",
"agedu", # Tracks down wasted disk space
# Network Debugging
"ngrep", # Network grep
"tcpdump", # TCP traffic dumped to console or file
"wireshark", # Reads tcp dumps
"mitmproxy", # Used to monitor traffic sent out
"netcat", # Client server file transfer
# Editors
"vim", # Flame war generator
# Python
"python3.5",
"python3.5-dev",
"Python3-pip",
# Source Control
"git",
"tig", # text-mode interface for git
]
update_command = shlex.split("apt-get -yq update")
dist_upgrade = shlex.split("apt-get -yq dist-upgrade")
subprocess.run(update_command)
subprocess.run(dist_upgrade)
for package in install_list:
command = shlex.split("{install_command} {package}".format(
install_command=install_command,
package=package,))
subprocess.run(command)