-
Notifications
You must be signed in to change notification settings - Fork 3
/
install.xubuntu.12.04
421 lines (288 loc) · 13.4 KB
/
install.xubuntu.12.04
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
From a clean Xubuntu 12.04 install
1.) Boot the install cd and follow instructions to do the base
install. Set up machine as desired. Fairly
self-explanatory. Partitioning should be roughly as follows, adjusted
for available disk size as appropriate (including for RAID). Disk
labels should be representative of the mount point.
Pysical Partitions:
1 1GB /boot
2 Rest physical volume for LVM*
* = Alternatively, do volume for encryption, containing a single LVM
partition.
- If you are doing RAID, then you want the above physical partition
scheme across multiple drives, with each one set up for "Physical
volume for RAID". Then you create MD devices for each pairing (same
partition on each drive) and then define it to be whatever it is
above, and continue on as normal from there.
- These should represent MINIMUM sizes, and is sized for 500GB
HDD's. More is often better.
LVM Partitions
swap Amount of RAM + a bit[1]
tmp 10GB /tmp
var 10GB /var
root 20GB /
home Rest /home
[1] This is mainly important for machines where you want to
hibernate. You need at least as much swap space as you have RAM, so do
that plus a bit. Old standard is 2 * RAM, which is plenty, but is a
bit overkill with modern machines. On the other hand, if you never do
a full hibernate (because it just takes too long to read back 16GB of
RAM from disk), set it to something reasonable. Swap kind of sucks
anyway..
(For some machines, a common area of /pub, or /shared, might be
appropriate, and should be taken out of /home)
## NOTE: All this stuff assumes that you're root, such as with "sudo -s"
2.) Install useful base things
sudo apt-get install emacs
3.) After machine is up, run synaptic, go to settings->repositories
make sure the following are enabled:
- main
- universe
- restricted
- multiverse
- source code
Select other software tab and enable/add:
- partner
- partner (Source Code)
- independent
- independent (Source code)
Select updates tab and enable:
- precise-security
- precise-updates
- precise-backports
(or just grab sources.list from some reasonable machine)
Select Statistics and enable:
- submit statistical information
4.) Do:
apt-get update
apt-get dist-upgrade
5.) Install things:
apt-get install nmap traceroute emacs emacs-goodies-el css-mode openssh-server symlinks sysstat ifstat dstat ssmtp heirloom-mailx apg whois powertop mii-diag gif2png cups-pdf units tofrodos gcc make g++ gdb autoconf libtool automake libc6-dev samba smbfs libsane-extras xsane scribus scribus-template texlive texlive-fonts-extra texlive-latex-extra latex2html latex2rtf gnuplot gnuplot-mode thunderbird enigmail firefox unison unison-gtk digikam kipi-plugins meld ntp unrar openoffice.org xmlstarlet mesa-utils okular okular-extra-backends k3b libk3b6-extracodecs libtk-gbarr-perl subversion mono-runtime monodevelop monodevelop-nunit monodevelop-versioncontrol monodoc-manual glade mono-gmcs smartmontools gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly vnc4server xvnc4viewer aspell aspell-en pidgin-extprefs pidgin-plugin-pack openjdk-7-jdk icedtea-7-plugin gqview konqueror kaffeine xine-ui mpg123 sox rhythmbox openoffice.org-help-en-us kcachegrind kcachegrind-converters graphviz hfsplus normalize-audio audacity libsox-fmt-all input-utils mysql-client nant sqlite3 libmono-i18n2.0-cil libmono-microsoft8.0-cil p7zip dvdbackup dia-gnome gsfonts-x11 ubuntustudio-font-meta fontmatrix kate powertop latencytop python-pycurl python-paramiko python-setuptools regexxer apt-show-versions git-core gitk git-svn speedcrunch mp3gain vorbisgain amarok kmail libmath-round-perl krita dosbox apt-file keepassx picocom qbrew manpages-posix manpages-posix-dev manpages-dev manpages c-cpp-reference ipcalc clusterssh logcheck preload mozplugger flashplugin-installer eclipse clusterssh pssh dh-make devscripts chromium-browser chromium-codecs-ffmpeg-extra ktorrent shutter libgoo-canvas-perl gnome-web-photo sound-juicer djvulibre-bin djvulibre-plugin djvusmooth pdf2djvu usb-imagewriter iftop pidgin-skype wireshark atop gkrellm xfce4-goodies tomboy mail-notification ubuntu-restricted-extras ia32-libs libc6-i386 acroread mercurial icewm icewm-themes icewm-gnome-support skype hpodder icedax pulseaudio-esound-compat cheese vpnc arandr blender quake rott tree mame mame-tools libav-tools openvpn gdisk wakeonlan wine kdenlive dvdstyler tesseract-ocr davfs2 sshfs ffmpeg2theora mp3info
6.) Set up static IP's (for machines with them)
- edit /etc/network/interfaces, and add lines like:
auto iface eth0 inet static
address 192.168.9.1
netmask 255.255.255.0
gateway 192.168.9.254
ifdown eth0
ifup eth0
- and set the DNS server in /etc/resolvconf/resolv.conf.d/base
- Then restart it:
sudo service resolvconf restart
7.) Make ssh work:
## For an old machine, use the old keys - you did save /etc, didn't you?
## For a new machine, use the new keys generated by the distro.
- make sure to add to the firewall
ufw allow ssh
- set:
- PermitRootLogin no
- once you've set up public key auth, turn off password access. edit
/etc/ssh/sshd_config
and set
PasswordAuthentication no
service ssh restart
8.) Turn on the firewall.
ufw enable
9.) Fix cron - add the following to the top of personal crontab:
MAILTO="[email protected]"
10.) Install dvd decoder
echo "deb http://download.videolan.org/pub/debian/stable/ /" | sudo tee /etc/apt/sources.list.d/libdvdcss.list
echo "deb-src http://download.videolan.org/pub/debian/stable/ /" | sudo tee -a /etc/apt/sources.list.d/libdvdcss.list
sudo chmod a+r /etc/apt/sources.list.d/libdvdcss.list
wget -O - http://download.videolan.org/pub/debian/videolan-apt.asc|sudo apt-key add -
sudo apt-get update
sudo apt-get install libdvdcss2
11.) latex
cd /usr/share/texmf/tex/latex
cp -a ~/system_stuff/latex/local .
chown -R root:root local
cp -a ~/system_stuff/latex/fonts/cookingsymbols.tfm /usr/share/texmf/fonts/tfm/public/.
mkdir -p /usr/share/texmf/fonts/source/public/
chmod a+rx /usr/share/texmf/fonts/source/public/
cp -a ~/system_stuff/latex/fonts/cookingsymbols.mf /usr/share/texmf/fonts/source/public/.
- then run texconfig and select "rehash"
- Also, set the paper to US
12.) ntpd (for fixed machines only, for mobile, the default is fine)
## for server, make sure to add to ufw
ufw allow ntp
## for client
- edit /etc/ntpd.conf and comment out the line:
server ntp.ubuntu.com
- and add the line:
server router
13.) cups
- sudo system-config-printer
- add printers as appropriate
- Under Server->Settings select:
Show printers shared by other systems
- For servers, under "Server Settings", select:
Publish shared printers conected to this system
- make sure to enable it in the ufw
sudo ufw allow from 192.168.9.0/24 to any port ipp
14.) Set up samba:
- Servers
cd /etc/samba
mv smb.conf smb.conf.old
cp ~/system_stuff/samba/smb.conf.`hostname` ./smb.conf
update-rc.d smbd defaults
update-rc.d nmbd defaults
service smbd start
service nmbd start
- make sure to add ufw rules for it
sudo ufw allow from 192.168.9.0/24 to any port netbios-ns
sudo ufw allow from 192.168.9.0/24 to any port netbios-dgm
sudo ufw allow from 192.168.9.0/24 to any port netbios-ssn
sudo ufw allow from 192.168.9.0/24 to any port microsoft-ds
- Other machines
- Remember to turn it off on places you don't want it.
echo "manual" >> /etc/init/smbd.override
echo "manual" >> /etc/init/nmbd.override
service smbd stop
service nmbd stop
15.) Set up ssmtp
cd /etc/ssmtp
mv ssmtp.conf ssmtp.conf.old
cp ~/system_stuff/ssmtp/ssmtp.conf .
chmod a+r ssmtp.conf
16.) Set up apache (if applicable)
- see install.apache
17.) Install handbrake media converter:
sudo apt-add-repository ppa:stebbins/handbrake-releases
sudo apt-get update
sudo apt-get install handbrake-gtk handbrake-cli
18.) Set up video editing:
- Add user to video group so I can capture video
sudo usermod -a -G video matt
19.) Set up sensors (if not set up automagically) for case
- For case / Gigabyte X48-DQ6 board
- add the following to /etc/modules:
it87
coretemp
- For hiro / Thinkpad T530:
- add the following to /etc/modules:
coretemp
(For new machines, this is accomplished by running sensors-detect and
following prompts - the defaults are typically fine.)
# FIXME - edit the conf file to fix scaling, etc.
20.) Add temperature monitoring script to crontab:
@hourly /home/matt/bin/tempChecker
21.) Add updated intel graphics drivers
apt-add-repository ppa:ubuntu-x-swat/intel-graphics-updates
apt-add-repository ppa:ubuntu-x-swat/x-updates
and, with that, you likely want the new kernel:
sudo apt-get install linux-generic-lts-quantal linux-headers-generic-lts-quantal
22.) Set up logcheck
- edit /etc/cron.d/logcheck and set it to @daily and not every 2 hours
23.) Install d stuff:
apt-get install gdc-4.6 libphobos2-4.6-dev libwxgtk2.8-dev libsqlite3-dev codeblocks astyle
24.) Install qbrew build dependencies:
apt-get install qt4-qmake libqt4-dev qt4-designer
25.) Install virtualbox bleeding edge
echo "deb http://download.virtualbox.org/virtualbox/debian precise contrib" >> /etc/apt/sources.list.d/virtualbox.list
chmod a+r /etc/apt/sources.list.d/virtualbox.list
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | apt-key add -
apt-get update
apt-get install virtualbox-4.2
Make sure to add necessary users to the vboxusers group, ie:
sudo usermod -a -G vboxusers matt
26.) Install modern android device support (mtpfs)
apt-get install mtpfs mtp-tools
mkdir /media/android
27.) Updated xfce
apt-add-repository ppa:xubuntu-dev/xfce-4.10
apt-get update
apt-get dist-upgrade
28.) In fixed systems, remove network-manager
sudo apt-get remove network-manager
29.) Set browser in thunderbird
This looks to be controlled by
matt/.thunderbird/default/ysovf56j.slt/mimeTypes.rdf. Find the
urn:scheme:externalApplication:http and https lines, and change them
to what you want. Sane choices are:
- `sensible-browser`, so it picks up the system settings, which are set with
`sudo update-alternatives --config x-www-browser`
- `exo-open`, which opens the selected one from XFce
30.) Install Mate
http://wiki.mate-desktop.org/download
sudo add-apt-repository "deb http://packages.mate-desktop.org/repo/ubuntu precise main"
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install mate-archive-keyring
# this install more packages
sudo apt-get install mate-desktop-environment
31.) Proprietary drivers (optional, for systems with ATI cards)
fglrx-updates
32.) Pulseaudio equalizer:
sudo apt-add-repository ppa:nilarimogard/webupd8
sudo apt-get update && sudo apt-get install pulseaudio-equalizer
33.) Add Steam:
add the following to /etc/apt/sources.list.d/steam.list:
echo "deb http://repo.steampowered.com/steam/ precise steam" >> /etc/apt/sources.list.d/steam.list
chmod a+r /etc/apt/sources.list.d/steam.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F24AEA9FB05498B7
sudo apt-get update
sudo apt-get install steam
reboot (because the above likely installed a new fglrx driver)
run steam:
steam
34.) Add PlayOnLinux
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E0F72778C4676186
sudo wget http://deb.playonlinux.com/playonlinux_precise.list \
-O /etc/apt/sources.list.d/playonlinux.list
sudo chmod a+r /etc/apt/sources.list.d/playonlinux.list
sudo apt-get update
sudo apt-get install playonlinux
35.) Add GetDeb games repo (PlayDeb)
wget -q -O - http://archive.getdeb.net/getdeb-archive.key | apt-key add -
add-apt-repository "deb http://archive.getdeb.net/ubuntu precise-getdeb games"
sudo apt-get update
sudo apt-get install enemy-territory
36.) Add gcdemu
apt-add-repository ppa:cdemu/ppa
sudo apt-get update
sudo apt-get install gcdemu
37.) symlink quake data to where it expects it.
cd /usr/share/games/quake/
sudo ln -s ~/dosbox/games/quake/id1 .
38.) symlink rott data where it expects it
cd /usr/share/games/
sudo ln -s ~/dosbox/games/rott .
also, fix the default symlink:
sudo update-alternatives --set rott /usr/games/rott-commercial
39.) Add firewall exception for iperf
sudo ufw allow from 192.168.9.0/24 to any port 5001
40.) Allow firewall exception for ktorrent:
sudo ufw allow 6881
sudo ufw allow 8881
41.) Fix Java to use Java 7.
sudo update-alternatives --config java
- and choose java-7
- and make it pretty. Edit
/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/swing.properties and uncomment:
swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
42.) Install updated kernels
sudo apt-get install linux-generic-lts-raring-eol-upgrade
(the saucy upgrade seems to have a really dodgy scheduler, so I'm not
installing it)
43.) Fix dirty pages amount:
Ref: http://lwn.net/Articles/572911/
- as root:
cat > /etc/sysctl.d/90-dirty-ratio.conf <<EOD
vm.dirty_background_ratio = 2
vm.dirty_ratio = 2
EOD
44.) Install epson scanner driver
Download the .deb packages from their website.
- it depends on xsltproc, so install that:
sudo apt-get install xsltproc
- It also depends on sane, but we installed that as a dependency of
xsane during base system setup.
- and then install the packages:
sudo dpkg -i iscan_2.29.3-1~usb0.1.ltdl7_amd64.deb iscan-data_1.26.0-1_all.deb iscan-network-nt_1.1.1-1_amd64.deb
- Edit the /etc/sane.d/epkowa.conf file and add:
net EPSON632112.home
- because that's the printer.
- The documentation says to comment out `epson2` in
/etc/sane.d/dll.conf, but I didn't need to do that.
- This adds an `iscan` app which will find the printer on the network
and try to use it, or you can just use xsane....