<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>SetupNewMachines</title><revhistory><revision><revnumber>156</revnumber><date>2012-12-20 21:13:00</date><authorinitials>ClintonEbadi</authorinitials><revremark>deprecate page</revremark></revision><revision><revnumber>155</revnumber><date>2012-09-03 08:53:25</date><authorinitials>ClintonEbadi</authorinitials><revremark>prepare for overhauling document with new automagic installs</revremark></revision><revision><revnumber>154</revnumber><date>2012-06-05 08:49:52</date><authorinitials>ClintonEbadi</authorinitials><revremark>mentioning that you might want to get a reverse dns mapping from peer1 could be helpful</revremark></revision><revision><revnumber>153</revnumber><date>2012-04-28 05:05:31</date><authorinitials>ClintonEbadi</authorinitials><revremark>demystify kadmin invocations (ank is way deprecated!)</revremark></revision><revision><revnumber>152</revnumber><date>2012-03-17 05:28:12</date><authorinitials>ClintonEbadi</authorinitials><revremark>remove obsolete info and update a bit for squeeze</revremark></revision><revision><revnumber>151</revnumber><date>2011-03-02 14:52:44</date><authorinitials>ClintonEbadi</authorinitials><revremark>actually, check afs before files (didn't realize why this was important...)</revremark></revision><revision><revnumber>150</revnumber><date>2011-03-02 08:18:39</date><authorinitials>ClintonEbadi</authorinitials></revision><revision><revnumber>149</revnumber><date>2011-03-02 08:09:18</date><authorinitials>ClintonEbadi</authorinitials></revision><revision><revnumber>148</revnumber><date>2010-12-04 02:33:12</date><authorinitials>ClintonEbadi</authorinitials><revremark>debian runit services are in /etc/ now</revremark></revision><revision><revnumber>147</revnumber><date>2010-12-01 03:25:53</date><authorinitials>ClintonEbadi</authorinitials><revremark>actual procedure for adding a new dns entry</revremark></revision><revision><revnumber>146</revnumber><date>2010-11-29 08:33:27</date><authorinitials>DavorOcelic</authorinitials></revision><revision><revnumber>145</revnumber><date>2010-11-29 08:28:45</date><authorinitials>DavorOcelic</authorinitials></revision><revision><revnumber>144</revnumber><date>2010-11-29 08:25:43</date><authorinitials>DavorOcelic</authorinitials></revision><revision><revnumber>143</revnumber><date>2010-05-21 07:48:02</date><authorinitials>DavorOcelic</authorinitials><revremark>Override some cretin's edit.</revremark></revision><revision><revnumber>142</revnumber><date>2010-05-21 07:46:13</date><authorinitials>polom.alumontplast.cz</authorinitials><revremark>Very nice site!</revremark></revision><revision><revnumber>141</revnumber><date>2010-05-21 07:45:16</date><authorinitials>200.249.245.134</authorinitials><revremark> Hello! dfbedff interesting dfbedff site!</revremark></revision><revision><revnumber>140</revnumber><date>2010-01-08 15:42:23</date><authorinitials>DavorOcelic</authorinitials></revision><revision><revnumber>139</revnumber><date>2010-01-07 22:49:03</date><authorinitials>DavorOcelic</authorinitials></revision><revision><revnumber>138</revnumber><date>2010-01-07 22:46:57</date><authorinitials>DavorOcelic</authorinitials></revision><revision><revnumber>137</revnumber><date>2010-01-07 01:40:45</date><authorinitials>DavorOcelic</authorinitials></revision><revision><revnumber>136</revnumber><date>2010-01-07 01:13:18</date><authorinitials>DavorOcelic</authorinitials></revision><revision><revnumber>135</revnumber><date>2010-01-06 23:49:48</date><authorinitials>DavorOcelic</authorinitials></revision><revision><revnumber>134</revnumber><date>2010-01-06 13:00:15</date><authorinitials>DavorOcelic</authorinitials></revision><revision><revnumber>133</revnumber><date>2010-01-06 12:22:25</date><authorinitials>DavorOcelic</authorinitials></revision><revision><revnumber>132</revnumber><date>2010-01-06 11:45:43</date><authorinitials>DavorOcelic</authorinitials></revision><revision><revnumber>131</revnumber><date>2010-01-06 11:41:05</date><authorinitials>DavorOcelic</authorinitials></revision><revision><revnumber>130</revnumber><date>2010-01-06 11:35:01</date><authorinitials>DavorOcelic</authorinitials></revision><revision><revnumber>129</revnumber><date>2010-01-06 11:22:13</date><authorinitials>DavorOcelic</authorinitials></revision><revision><revnumber>128</revnumber><date>2009-10-10 19:52:36</date><authorinitials>212.15.179.225</authorinitials></revision><revision><revnumber>127</revnumber><date>2009-09-28 09:04:35</date><authorinitials>DavorOcelic</authorinitials></revision><revision><revnumber>126</revnumber><date>2009-09-23 07:12:30</date><authorinitials>78-2-84-198.adsl.net.t-com.hr</authorinitials></revision><revision><revnumber>125</revnumber><date>2009-09-22 18:35:32</date><authorinitials>78-2-84-198.adsl.net.t-com.hr</authorinitials></revision><revision><revnumber>124</revnumber><date>2009-08-30 21:22:34</date><authorinitials>169.229.3.178</authorinitials></revision><revision><revnumber>123</revnumber><date>2009-07-11 23:59:32</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>122</revnumber><date>2009-07-11 23:28:51</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>121</revnumber><date>2009-07-09 23:30:23</date><authorinitials>192.18.41.196</authorinitials></revision><revision><revnumber>120</revnumber><date>2009-06-21 20:56:25</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>119</revnumber><date>2009-06-21 20:53:55</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>118</revnumber><date>2009-06-21 20:53:22</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>117</revnumber><date>2009-06-14 06:49:10</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>116</revnumber><date>2009-06-14 06:19:05</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>115</revnumber><date>2009-06-14 01:24:07</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials><revremark>add etckeeper</revremark></revision><revision><revnumber>114</revnumber><date>2009-06-07 03:57:25</date><authorinitials>sca-ea-fw-1.Sun.COM</authorinitials></revision><revision><revnumber>113</revnumber><date>2008-12-30 22:43:34</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>112</revnumber><date>2008-12-30 20:37:35</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>111</revnumber><date>2008-07-07 04:28:02</date><authorinitials>localhost</authorinitials><revremark>converted to 1.6 markup</revremark></revision><revision><revnumber>110</revnumber><date>2008-06-08 19:17:38</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>109</revnumber><date>2008-06-08 19:11:19</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>108</revnumber><date>2008-06-08 18:49:23</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>107</revnumber><date>2008-06-08 18:15:01</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>106</revnumber><date>2008-06-08 18:11:07</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>105</revnumber><date>2008-05-01 18:44:28</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>104</revnumber><date>2008-04-21 04:07:15</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>103</revnumber><date>2008-04-16 02:08:45</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>102</revnumber><date>2008-04-16 02:08:02</date><authorinitials>AdamMegacz</authorinitials><revremark>add a note about 127.0.0.1 in /etc/hosts</revremark></revision><revision><revnumber>101</revnumber><date>2008-04-06 17:31:22</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>100</revnumber><date>2008-03-31 21:24:30</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>99</revnumber><date>2008-03-31 17:53:21</date><authorinitials>office4.tmcs.net</authorinitials><revremark>Remove stray &quot;/&quot;</revremark></revision><revision><revnumber>98</revnumber><date>2008-03-31 05:01:54</date><authorinitials>MichaelOlson</authorinitials><revremark>Revert to revision 96.</revremark></revision><revision><revnumber>97</revnumber><date>2008-03-31 04:59:46</date><authorinitials>MichaelOlson</authorinitials><revremark>Remove the mv .../10.0.0.1 step</revremark></revision><revision><revnumber>96</revnumber><date>2008-03-31 04:38:49</date><authorinitials>MichaelOlson</authorinitials><revremark>Finish dnscache instructions</revremark></revision><revision><revnumber>95</revnumber><date>2008-03-31 04:36:08</date><authorinitials>MichaelOlson</authorinitials><revremark>Fix location to dnscache package</revremark></revision><revision><revnumber>94</revnumber><date>2008-03-31 04:34:42</date><authorinitials>MichaelOlson</authorinitials><revremark>Configure dnscache to listen on 127.0.0.2</revremark></revision><revision><revnumber>93</revnumber><date>2008-03-31 01:59:47</date><authorinitials>AdamMegacz</authorinitials><revremark>add dpkg-divert lines so debian {pre,post}{inst,rm} scripts know about runit-ized nscd</revremark></revision><revision><revnumber>92</revnumber><date>2008-03-31 01:57:52</date><authorinitials>AdamMegacz</authorinitials><revremark>remove unnecessary NIS-specific stuff from nscd runit script</revremark></revision><revision><revnumber>91</revnumber><date>2008-03-31 01:43:20</date><authorinitials>MichaelOlson</authorinitials></revision><revision><revnumber>90</revnumber><date>2008-03-31 01:42:06</date><authorinitials>MichaelOlson</authorinitials></revision><revision><revnumber>89</revnumber><date>2008-03-31 01:41:24</date><authorinitials>MichaelOlson</authorinitials><revremark>Add cron scripts section</revremark></revision><revision><revnumber>88</revnumber><date>2008-03-31 01:40:03</date><authorinitials>MichaelOlson</authorinitials><revremark>Demote headings</revremark></revision><revision><revnumber>87</revnumber><date>2008-03-30 23:19:40</date><authorinitials>MichaelOlson</authorinitials><revremark>Only consult login.restrict for ssh and login</revremark></revision><revision><revnumber>86</revnumber><date>2008-03-30 23:06:33</date><authorinitials>MichaelOlson</authorinitials><revremark>make nscd log dir</revremark></revision><revision><revnumber>85</revnumber><date>2008-03-30 23:03:33</date><authorinitials>MichaelOlson</authorinitials><revremark>Start nscd as a runit service</revremark></revision><revision><revnumber>84</revnumber><date>2008-03-30 02:06:49</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>83</revnumber><date>2008-03-30 02:04:48</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>82</revnumber><date>2008-03-30 02:03:27</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>81</revnumber><date>2008-03-29 17:08:56</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>80</revnumber><date>2008-03-28 17:40:20</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>79</revnumber><date>2008-03-28 17:38:46</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>78</revnumber><date>2008-03-28 17:37:47</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>77</revnumber><date>2008-03-28 17:37:03</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>76</revnumber><date>2008-03-28 17:32:58</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>75</revnumber><date>2008-03-28 17:31:23</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>74</revnumber><date>2008-03-28 17:23:48</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>73</revnumber><date>2008-03-28 17:22:58</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>72</revnumber><date>2008-03-28 17:22:07</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>71</revnumber><date>2008-03-28 17:11:00</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>70</revnumber><date>2008-03-28 16:55:39</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>69</revnumber><date>2008-03-28 16:55:18</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>68</revnumber><date>2008-03-28 16:54:48</date><authorinitials>AdamMegacz</authorinitials></revision><revision><revnumber>67</revnumber><date>2008-03-10 17:44:12</date><authorinitials>netblock-68-183-198-235.dslextreme.com</authorinitials></revision><revision><revnumber>66</revnumber><date>2008-03-10 17:40:53</date><authorinitials>netblock-68-183-198-235.dslextreme.com</authorinitials></revision><revision><revnumber>65</revnumber><date>2008-03-10 17:40:13</date><authorinitials>netblock-68-183-198-235.dslextreme.com</authorinitials></revision><revision><revnumber>64</revnumber><date>2008-03-10 01:12:06</date><authorinitials>DavorOcelic</authorinitials></revision><revision><revnumber>63</revnumber><date>2008-03-10 01:01:45</date><authorinitials>77.237.104.49</authorinitials></revision><revision><revnumber>62</revnumber><date>2008-03-09 21:34:57</date><authorinitials>netblock-68-183-198-235.dslextreme.com</authorinitials></revision><revision><revnumber>61</revnumber><date>2008-03-09 21:33:55</date><authorinitials>netblock-68-183-198-235.dslextreme.com</authorinitials></revision><revision><revnumber>60</revnumber><date>2008-03-03 22:06:05</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>59</revnumber><date>2008-03-03 22:03:22</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>58</revnumber><date>2008-03-03 22:02:52</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>57</revnumber><date>2008-03-03 21:58:30</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>56</revnumber><date>2008-03-03 21:57:36</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>55</revnumber><date>2008-03-02 23:32:15</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>54</revnumber><date>2008-03-02 23:26:24</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>53</revnumber><date>2008-03-02 23:25:21</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>52</revnumber><date>2008-03-02 23:21:34</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>51</revnumber><date>2008-03-02 23:19:26</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>50</revnumber><date>2008-03-02 22:02:22</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>49</revnumber><date>2008-03-02 21:10:09</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>48</revnumber><date>2008-03-02 21:09:31</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>47</revnumber><date>2008-03-02 21:08:34</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>46</revnumber><date>2008-03-02 21:08:08</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>45</revnumber><date>2008-03-02 21:06:15</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>44</revnumber><date>2008-03-02 21:05:38</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>43</revnumber><date>2008-03-02 21:05:28</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>42</revnumber><date>2008-03-02 21:02:55</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>41</revnumber><date>2008-03-02 21:01:21</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>40</revnumber><date>2008-03-02 20:59:05</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>39</revnumber><date>2008-03-02 20:57:37</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>38</revnumber><date>2008-03-02 20:56:29</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>37</revnumber><date>2008-03-02 20:55:44</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>36</revnumber><date>2008-03-02 20:54:47</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>35</revnumber><date>2008-03-02 20:53:29</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>34</revnumber><date>2008-03-02 20:51:28</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>33</revnumber><date>2008-03-02 20:48:32</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>32</revnumber><date>2008-03-02 20:45:36</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>31</revnumber><date>2008-03-02 20:43:33</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>30</revnumber><date>2008-03-02 20:33:09</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>29</revnumber><date>2008-03-02 20:32:24</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>28</revnumber><date>2008-03-02 20:29:11</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>27</revnumber><date>2008-03-02 20:28:45</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>26</revnumber><date>2008-03-02 20:26:03</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>25</revnumber><date>2008-03-02 20:24:44</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>24</revnumber><date>2008-03-02 20:24:08</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>23</revnumber><date>2008-03-02 20:22:26</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>22</revnumber><date>2008-03-02 20:21:19</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>21</revnumber><date>2008-03-02 20:20:57</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>20</revnumber><date>2008-03-02 20:20:24</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>19</revnumber><date>2008-03-02 20:20:04</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>18</revnumber><date>2008-03-02 20:19:12</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>17</revnumber><date>2008-03-02 20:18:26</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>16</revnumber><date>2008-03-02 20:17:41</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>15</revnumber><date>2008-03-02 20:13:39</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>14</revnumber><date>2008-03-02 20:10:17</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>13</revnumber><date>2008-03-02 20:09:42</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>12</revnumber><date>2008-03-02 20:09:27</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>11</revnumber><date>2008-03-02 20:08:17</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>10</revnumber><date>2008-03-02 20:06:07</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>9</revnumber><date>2008-03-02 20:03:11</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>8</revnumber><date>2008-03-02 20:01:11</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>7</revnumber><date>2008-03-02 19:52:12</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>6</revnumber><date>2008-03-02 19:49:24</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>5</revnumber><date>2008-03-02 19:47:21</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>4</revnumber><date>2008-03-02 19:44:00</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>3</revnumber><date>2008-03-02 19:30:42</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>2</revnumber><date>2008-03-02 19:30:29</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision><revision><revnumber>1</revnumber><date>2008-03-02 19:29:45</date><authorinitials>dhcp-37-70.EECS.Berkeley.EDU</authorinitials></revision></revhistory></articleinfo><para>These steps are listed in approximately the order in which they should be performed; please try to maintain that as you add to it. </para><caution><para>See <ulink url="https://wiki.hcoop.net/SetupNewMachines/InstallationProcedure#">InstallationProcedure</ulink> for an up to date guide to installing a new HCoop node. This document is (in December 2012) a semi-accurate representation of what the preseeded installer is doing, but keep the <emphasis>semi-</emphasis> part in mind. The page is being kept for historical reference. </para></caution><section><title>List the Machine on the Wiki</title><para>The hostname of the machine should be decided through a Members Poll (accessible from members portal) such as <ulink url="https://members.hcoop.net/portal/poll?id=31"/>. </para><para>Add the machine to the <ulink url="https://wiki.hcoop.net/SetupNewMachines/Hardware#">Hardware</ulink> page. </para><para>It is a very good idea to photograph the front and back panels of the machine and put those images on the wiki page; that way remote admins and people in the data center can be sure they're talking about the same ports. </para><para>Add the machine to the <ulink url="https://wiki.hcoop.net/SetupNewMachines/IpAddresses#">IpAddresses</ulink> page. </para></section><section><title>Set Up Out Of Band Access</title><para>All machines owned by hcoop should, if possible, have some <ulink url="http://en.wikipedia.org/wiki/Out-of-band_infrastructure">out-of-band mechanism</ulink> for: </para><orderedlist numeration="arabic"><listitem><para>Keyboard access </para></listitem><listitem><para>Screen access </para></listitem><listitem><para>Power-cycling </para></listitem></orderedlist><para>Functions 1+2 are typically provided by <code>kvm.hcoop.net</code> (see <ulink url="https://wiki.hcoop.net/SetupNewMachines/KvmAccess#">KvmAccess</ulink>); assuming you plan on going with that, you should connect the server's keyboard and video to the kvm switch. </para><para>Each server has its own solution for 3, usually in the form of a &quot;service processor&quot;.  You should investigate and document the appropriate service processor settings.  If the service processor requires its own IP address, you should name it <code>foo-sp.hcoop.net</code> where <code>foo.hcoop.net</code> is the name of the server. </para><para>If there's _anything_ server-specific, please add an entry under &quot;Specific Machines&quot; on page <ulink url="https://wiki.hcoop.net/SetupNewMachines/AdminArea#">AdminArea</ulink> and document what it is. Rebooting procedures are an ideal candidate for this. </para></section><section><title>Add a DNS entry for the server</title><para>This is done as follows: </para><orderedlist numeration="arabic"><listitem><para>Edit <code>/afs/hcoop.net/common/etc/domtool/lib/hcoop.dtl</code> and add definition for &quot;HOSTNAME_ip&quot; (search for &quot;deleuze_ip&quot; and just copy the line to new name) </para></listitem><listitem><para>Edit <code>/afs/hcoop.net/user/h/hc/hcoop/.domtool/hcoop.net</code> to add the new DNS entry, using HOSTNAME_ip (again, can use deleuze_ip as example) </para></listitem><listitem><para>To apply <ulink url="https://wiki.hcoop.net/SetupNewMachines/DomTool#">DomTool</ulink> configuration, run <code>DOMTOOL_USER=hcoop domtool hcoop.net</code> in the ~hcoop/.domtool/ directory </para></listitem><listitem><para>Using the peer1 request portal, add a reverse dns mapping to the hostname </para></listitem></orderedlist></section><section><title>Install Debian</title><caution><para>This section is obsolete. </para></caution><para>We use Debian GNU. </para><para>Here are the installation notes to help you: </para><orderedlist numeration="arabic"><listitem><para>Find Debian stable image (whichever is 'stable' at time of installation -- this documentation is written for Squeeze) </para></listitem><listitem><para>Prepare a USB stick to boot from (can do it manually or with convenient tool called &quot;unetbootin&quot;) </para></listitem><listitem><para>In system BIOS, choose 'Auto-power on on power restore' (if there is such option), and see if you can make USB stick to not be the first disk (when it's the first disk, it gets assigned device name /dev/sda and makes the installation a tiny bit harder) </para></listitem><listitem><para>See which network card is in the server, if it requires non-free firmware, the package needs to be manually copied from Debian's non-free repository onto the install media (example is package &quot;firmware-bnx2&quot; for Broadcom NetXtremeII cards (<ulink url="http://packages.debian.org/sid/all/firmware-bnx2/download"/>)). Once package is on the media, the install procedure will, if it is needed, automatically find and install it </para></listitem><listitem><para>For timezone, use timezone where the server is physically located, and answer Yes to &quot;Is the hardware clock set to GMT?&quot; </para></listitem><listitem><para>Choose manual network configuration, specifying the choosen hostname, IP and network details as listed on the <ulink url="https://wiki.hcoop.net/SetupNewMachines/IpAddresses#">IpAddresses</ulink> page </para></listitem><listitem><para>Partition disks. Most often, this comes town to creating identical partitions on all disks that are part of RAID1, and creating RAID arrays as in the example that follows. Currently, we usually configure: all remaining free space on <code>/</code>, <code>/boot</code> (300M), <code>/var/cache/openafs</code> (set to 5 or more GB), <code>/tmp</code> (1G), and installer suggested amount of swap.  </para><screen><![CDATA[Example: 2x 160 GB system disks
]]><![CDATA[
System disk 1:
]]><![CDATA[
sda1: primary, beginning, 1 GB, ext3, /boot
sda2: primary, beginning, 8 GB, use as phys. volume for RAID (swap space: 1 GB x number of proc. cores)
sda3: primary, beginning, all available space, use as phys. volume for RAID
]]><![CDATA[
System disk 2:
]]><![CDATA[
sdb1: primary, beginning, 1 GB, ext3, unmounted
sdb2: primary, beginning, 8 GB, use as phys. volume for RAID (swap, same size as above)
sdb3: primary, beginning, all available space, use as phys. volume for RAID
]]><![CDATA[
Then, after RAID partitions have been assigned, new option "Configure RAID"
will appear at the top of the partitioning menu. We add the two devices in
RAID 1 mode:
]]><![CDATA[
md0: sda2 and sdb2
md1: sda3 and sdb3
]]><![CDATA[
Then, they appear in the partitions list and are configured as follows:
]]><![CDATA[
md0: swap
md1: ext3, /]]></screen></listitem><listitem><para>Users &amp; password setup: set root password, and create &quot;root0&quot; with a unique password (the installer forces at least one user account, make sure to delete the account after installation) </para></listitem><listitem><para>If /dev/sda is the USB stick and not the first disk, do not install GRUB to the Master Boot Record of /dev/sda. Instead, answer No at the prompt and choose /dev/sdb as the device. Then, take USB stick out, edit /boot/grub/menu.lst to replace references to hd(1,0) with hd(0,0), run <emphasis role="strong">update-grub.conf</emphasis> and <emphasis role="strong">grub-install /dev/sdb</emphasis>. No other tunings (to /etc/fstab or mdadm.conf) are needed as, if you used the partitioning example, no direct partitions occur in fstab, and for mdadm -- it uses UUIDs instead of partition names anyway. </para></listitem><listitem><para>In tasksel, at the end of installation, select &quot;Standard system utilities&quot; and &quot;OpenSSH server&quot; </para></listitem></orderedlist></section><section><title>Booting into the new machine</title><caution><para>This section is obsolete. </para></caution><para>When the machine boots for the first time, run: </para><screen><![CDATA[dpkg-reconfigure debconf    # (choose interface: Dialog, priority: Low).
]]><![CDATA[
apt-get install less sudo vim emacs23-nox etckeeper changetrack lm-sensors openssh-server debsums logcheck bzip2 denyhosts rkhunter]]></screen><para>Verify that disks performance is as expected using <emphasis role="strong">sync; sync; hdparm -tT /dev/sdX</emphasis>. </para><para>Activate etckeeper as documented on <ulink url="https://wiki.hcoop.net/SetupNewMachines/EtcKeeper#">EtcKeeper</ulink>. </para><para>Edit <emphasis>/etc/default/changetrack</emphasis> and set <emphasis role="strong">AUTO_TRACK_ALL_CONFFILES=yes</emphasis>. </para><para>Edit <emphasis>/etc/tripwire/twcfg.txt</emphasis> and set <emphasis role="strong">MAILNOVIOLATIONS =false</emphasis>. Initialize the database with <emphasis role="strong">tripwire --init</emphasis>. (If tripwire is installed) </para><para>Edit <emphasis>/etc/aliases</emphasis> and set &quot;root&quot; alias to &quot;<ulink url="mailto:logs@hcoop.net">logs@hcoop.net</ulink>&quot;, and possibly other addresses, separated by commas. (logs@ is an aliasMulti, defined in ~hcoop/.domtool/hcoop.net and lists people who want to receive verbose system logs). </para><para>Run <emphasis role="strong">sensors-detect</emphasis> to see if the kernel has appropriate thermal modules for the server, and add any drivers detected to <emphasis>/etc/modules</emphasis>. </para><para>For all ext partitions, run <emphasis role="strong">tune2fs -j -c0 -i0 /dev/sdXX</emphasis> (and /dev/mdX for RAID arrays). </para><section><title>Tune the /etc/apt/sources.list</title><caution><para>This section is obsolete. </para></caution><screen><![CDATA[cat > /etc/apt/sources.list <<\EOF
deb http://mirror.peer1.net/debian/ squeeze main
deb-src http://mirror.peer1.net/debian/ squeeze main
]]><![CDATA[
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main
]]><![CDATA[
# backports are fairly useful and not installed by default
deb http://backports.debian.org/debian-backports squeeze-backports main
deb-src http://backports.debian.org/debian-backports squeeze-backports main
EOF
]]><![CDATA[
apt-get update
apt-get dist-upgrade]]></screen></section></section><section><title>Install the AFS Client</title><caution><para>This section is obsolete. </para></caution><para>The AFS client gets very unhappy if the partition holding <code>/var/cache/openafs</code> fills up.  To ensure that this can't happen, we'll create a 2GB file and mount it there using the loopback device.  This gives the openafs client a partition-in-a-file all to itself that no other process can interfere with. </para><para>First, create the file: </para><screen><![CDATA[dd if=/dev/zero of=/var/cache/openafs.ext3 bs=1M count=2K
chmod go-rwx /var/cache/openafs.ext3
mke2fs -F /var/cache/openafs.ext3
tune2fs -j -i0 -c0 /var/cache/openafs.ext3]]></screen><para>Then mount it. </para><para>Then, give our preferences to <code>debconf</code>: </para><screen><![CDATA[debconf-set-selections <<\EOF
openafs-client openafs-client/thiscell string hcoop.net
openafs-client openafs-client/thiscell seen true
openafs-client openafs-client/dynroot boolean true
openafs-client openafs-client/dynroot seen true
openafs-client openafs-client/cachesize string 1500000
openafs-client openafs-client/cachesize seen true
openafs-client openafs-client/cell-info string
openafs-client openafs-client/cell-info seen true
openafs-client openafs-client/run-client boolean true
openafs-client openafs-client/run-client seen true
EOF]]></screen><para>Once this is figured out (if all else fails, reboot) you should be able to </para><screen><![CDATA[  /etc/init.d/openafs-client start]]></screen><para>Do this and check that <code>/afs</code> shows up. </para></section><section><title>Install Packages</title><caution><para>This section is obsolete. </para></caution><para>Install libnss-afs. </para></section><section><title>Install Network Time Protocol Daemon</title><caution><para>This section is obsolete. </para></caution><para>Kerberos and AFS will not work correctly unless the clocks of the client and server are synchronized to within a certain tolerance.  Therefore, it is important for us to have a daemon running that keeps the clock set properly.  <emphasis role="strong">This step is not optional</emphasis>. </para><screen><![CDATA[  apt-get install ntp]]></screen></section><section><title>Configure Kerberos</title><caution><para>This section is obsolete. </para></caution><para><emphasis><emphasis role="strong">VERY IMPORTANT</emphasis></emphasis>: put exactly the following in <code>/etc/krb5.conf</code> -- no more, no less (or actually, look up how it's done on Fritz or Hopper). </para><screen><![CDATA[[libdefaults]
        default_realm = HCOOP.NET
        kdc_timesync = 1
        forwardable = true
        proxiable = true
        rdns = no          # undocumented option to disable reverse DNS lookups
[logging]
        default = FILE:/proc/self/fd/2]]></screen><para>We distribute our Kerberos configuration via DNS, so it is very important that we do not &quot;hardwire&quot; the settings on any of the servers (except the KDCs themselves).  If we did, we wouldn't notice at first, but strange problems would crop up as soon as the DNS settings were changed.  So, it is important that we put only the bare minimum amount of information in <code>krb5.conf</code>. </para></section><section><title>Configure Name Service</title><caution><para>This section is obsolete. </para></caution><para>A &quot;name service&quot; is Linux's mechanism for answering these queries: </para><orderedlist numeration="arabic"><listitem><para>the userid for a given username and vice versa </para></listitem><listitem><para>the groupid for a given groupname and vice versa </para></listitem><listitem><para>the home directory for a user </para></listitem><listitem><para>the shell for a user </para></listitem><listitem><para>what groups a user is in </para></listitem></orderedlist><para>The <code>libnss-afs</code> package lets linux use the AFS user database (the <code>ptserver</code> or protection server) as a name service and makes PAGs show up as a special group.  To enable these changes, edit <code>/etc/nsswitch.conf</code> and change the <code>passwd</code> and <code>group</code> lines to look like this: </para><screen><![CDATA[passwd:  afs files
group:   afs files
shadow:  files]]></screen><para><code>afs</code> is checked before <code>files</code> to keep UIDs consistent. </para></section><section><title>Install Name Service Caching Daemon</title><caution><para>This section is obsolete. </para></caution><para>It is highly recommended to install <code>nscd</code> in order to get good performance out of <code>libnss-afs</code>. </para><screen><![CDATA[  apt-get install nscd]]></screen><para>We prefer to run nscd as a runit service so that it does not go down (except on deleuze, where it must be started strictly after AFS in the boot sequence). </para><screen><![CDATA[  apt-get install runit
  mkdir /etc/service/nscd
  cat <<EOF > /etc/service/nscd/run
#!/bin/sh                                                                       
exec nscd -d
EOF
  mkdir /etc/service/nscd/log
  cat <<EOF > /etc/service/nscd/log/run
#!/bin/bash                                                                     
svlogd -tt /var/log/nscd/
EOF
  mkdir /var/log/nscd
  chmod +x /etc/service/nscd/log/run
  chmod +x /etc/service/nscd/run
]]><![CDATA[
  dpkg-divert --rename /etc/init.d/nscd
  ln -s /usr/bin/sv /etc/init.d/nscd]]></screen></section><section><title>Configure PAM</title><caution><para>This section is obsolete. </para></caution><para>PAM is Linux's mechanism to do the following: </para><orderedlist numeration="arabic"><listitem><para>decide if somebody is who they say they are (authentication; in our case via kerberos) </para></listitem><listitem><para>set up <emphasis>sessions</emphasis> (in the case of AFS, this means creating PAGs) </para></listitem><listitem><para>change passwords (in our case, changing the password in the KDC) </para></listitem></orderedlist><para>Here's the usual PAM setup: </para><para>/etc/pam.d/common-account: </para><screen><![CDATA[account sufficient      pam_unix.so
account required        pam_ldap.so
account required        pam_krb5.so debug
]]><![CDATA[
# temporary line for emergencies
#account required       pam_unix.so
]]><![CDATA[
account required pam_access.so]]></screen><para>/etc/pam.d/common-auth: </para><screen><![CDATA[auth    sufficient        pam_krb5.so debug forwardable ignore_root
auth    optional          pam_afs_session.so program=/usr/bin/aklog debug
auth    required          pam_unix.so nullok_secure try_first_pass
]]><![CDATA[
# temporary line for emergencies
#auth   required          pam_unix.so nullok_secure
]]><![CDATA[
auth    required          pam_env.so]]></screen><para>/etc/pam.d/common-password: </para><screen><![CDATA[password sufficient pam_krb5.so 
password required   pam_unix.so nullok obscure min=4 max=8 md5 shadow try_first_pass]]></screen><para>/etc/pam.d/common-session: </para><screen><![CDATA[session requisite pam_limits.so
session required  pam_unix_session.so      # Unix module just logs access
session optional  pam_krb5.so
session optional  pam_afs_session.so program=/usr/bin/aklog debug]]></screen><para>/etc/pam.d/login (Add to beginning of file): </para><screen><![CDATA[auth       required pam_listfile.so item=user sense=allow file=/etc/login.restrict  onerr=succeed]]></screen><para>/etc/pam.d/ssh (Add just before <code>@include common-auth</code> line): </para><screen><![CDATA[# sshd does not consult the "auth" section of pam when
# GssapiAuthentication=yes, even if UsePAM=yes.  Therefore, we add the
# check to the "account" section as well.
account    requisite    pam_listfile.so item=user sense=allow file=/etc/login.restrict onerr=succeed
auth       requisite    pam_listfile.so item=user sense=allow file=/etc/login.restrict onerr=succeed]]></screen><para>If the machine is intended for user logins, DO NOT create /etc/login.restrict. If the machine is only intended for admin logins, then create the file /etc/login.restrict with the following contents: </para><screen><![CDATA[adamc_admin
clinton_admin
docelic_admin
rkd_admin]]></screen></section><section><title>Configure SSH</title><caution><para>This section is obsolete. </para></caution><section><title>Configure SSH Client</title><para>Insert these lines in <code>/etc/ssh/ssh_config</code> so that <emphasis>outbound</emphasis> ssh connections will always try to use Kerberos if available: </para><screen><![CDATA[  Host *
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no]]></screen></section><section><title>Configure SSH Server</title><para>You will need to create a &quot;host principal&quot; for the new server; if you are setting up <code>server.hcoop.net</code>, then it must have the name </para><screen><![CDATA[   host/server.hcoop.net@HCOOP.NET]]></screen><para>Add this principal to the KDC like this (execute these commands on the new server, as root, while holding admin tickets): </para><screen><![CDATA[   REALM=HCOOP.NET
   ADMIN=myself_admin       # your admin username
   SERVER=server.hcoop.net
   rm -f /etc/krb5.keytab   # important -- if it already exists the new key will merely be appended
   kadmin -p $ADMIN@$REALM -r $REALM -q "add_principal -randkey host/$SERVER@$REALM" # unless it already exists (reinstall of VM for example)
   kadmin -p $ADMIN@$REALM -r $REALM -q "ktadd -k /etc/krb5.keytab host/$SERVER@$REALM"
   chown root:root /etc/krb5.keytab
   chmod go-rwx /etc/krb5.keytab]]></screen><para>Then add these lines to the bottom of <code>/etc/ssh/sshd_config</code>: </para><screen><![CDATA[  GssapiKeyExchange yes
  GssapiAuthentication yes
  GSSAPICleanupCredentials yes]]></screen><para>Finally, restart the ssh server: </para><screen><![CDATA[  /etc/init.d/ssh restart]]></screen></section></section><section><title>Populate sudoers</title><caution><para>This section is obsolete. </para></caution><para>Don't forget to give all of the admins lines in <code>/etc/sudoers</code>.  Each line should look like: </para><screen><![CDATA[  user_admin  ALL=(ALL) NOPASSWD: ALL]]></screen></section><section><title>Set Up Some Cron Scripts</title><caution><para>This section is obsolete. </para></caution><para>/etc/cron.daily/hcoop-clean-tmp: </para><screen><![CDATA[#
# Clean /tmp periodically.
#
# Edit $TMPTIME in /etc/default/rcS to change the maximal age of /tmp entries
# before they are removed.
]]><![CDATA[
exec /afs/hcoop.net/common/etc/scripts/hcoop-clean-tmp]]></screen></section><section><title>Optional Steps</title><caution><para>This section is obsolete. </para></caution><section><title>Install commonly-used packages</title><screen><![CDATA[apt-get install \
  xbase-clients       # provides xauth, without which "ssh -Y" will not work
  dpkg-dev-el         # provide debian-changelog-mode]]></screen></section><section><title>Performance-Tune the OpenAFS Client</title><para>FIXME: AdamM needs to fill this in </para></section><section><title>runit</title><para>The runit package is a mechanism for starting, stopping, and monitoring daemons.  It is an alternative to the traditional <code>/etc/init.d</code> and <code>start-stop-daemon</code> scheme.  Its chief advantages are: </para><orderedlist numeration="arabic"><listitem><para>It launches daemons with <emphasis role="strong">clean process state</emphasis>; the daemon inherits nothing from the administrator invoking the start/stop command because the daemon is not forked as a child of the administrator's shell (rather, a request is sent <code>runit</code> daemon asking it to fork the daemon).  This is very important when dealing with tokens and pags. </para></listitem><listitem><para>Runit monitors the processes that it forks, and restarts them if they die. </para></listitem><listitem><para>Runit eliminates the need for pidfiles and the associated risk of starting multiple copies of a daemon. </para></listitem><listitem><para>Runit captures the daemon's <code>stdout</code> and either sends it to a logger (if specified) or else displays it in the process name (output of <code>ps</code>) </para></listitem></orderedlist><screen><![CDATA[   apt-get install runit]]></screen><para>When you move a process from <code>/etc/init.d/</code> control to <code>runit</code> supervision, you should inform debian that you have done so: </para><screen><![CDATA[  # assuming /var/service/$SERVICE/run is the runit script
  dpkg-divert --rename /etc/init.d/$SERVICE
  ln -s /usr/bin/sv /etc/init.d/$SERVICE]]></screen><para>This will cause invocations of <code>/etc/init.d/script {start|stop} </code> to do &quot;the right thing&quot;. </para></section><section><title>dnscache</title><para>You can install the dnscache package to make the server self-sufficient for dns resolution purposes (it acts as a tiny dns server just for localhost).  This improves the reliability of the overall infrastructure. </para><para>Starting dnscache via runit is often a good idea; this ensures that it starts early in the boot process and that it is restarted if it dies for any reason. </para><para>Here are the instructions for configuring it.  Make sure that bind9 (if running) is only listening to <code>127.0.0.1</code> and the public IP address of the machine.  We tell dnscache to listen on <code>127.0.0.2</code> so as to avoid conflicts with bind. </para><screen><![CDATA[  apt-get install djbdns
]]><![CDATA[
  # If needed:
  addgroup --system Gdnscache
  adduser --system Gdnscache --ingroup Gdnscache
]]><![CDATA[
  # Create /etc/service/dnscache
  dnscache-conf Gdnscache Gdnscache /etc/service/dnscache 127.0.0.2
]]><![CDATA[
  # Change default listen address 127.0.0.1 to .2
  perl -pi -e 's/\.1/.2/' /etc/service/dnscache/env/IP
]]><![CDATA[
  # Let dnscache answer queries only from 127.0.0.2
  mv /var/dnscache/root/ip/127.0.0.1 /var/dnscache/root/ip/127.0.0.2
]]><![CDATA[
  sv restart dnscache]]></screen><para>Then modify <code>/etc/resolv.conf</code>, replacing the <code>nameserver</code> lines with: </para><screen><![CDATA[nameserver 127.0.0.2]]></screen></section><section><title>/etc/hosts</title><para>If not present already: </para><screen><![CDATA[echo '127.0.0.1 localhost' > /etc/hosts]]></screen></section><section><title>ssmtp</title><para>Life is simpler when you run <code>ssmtp</code>.  You can direct the mail stream either to <code>deleuze</code> (preferred) or to a copy of <code>exim</code> running locally (but why bother running it?).  </para><para>Be sure to enable <code>FromLineOverride</code>, which ships defaulted to &quot;off&quot; in Debian. </para><screen><![CDATA[apt-get install ssmtp
sed -i 's_FromLineOverride.*_FromLineOverride=YES_' /etc/ssmtp/ssmtp.conf]]></screen></section><section><title>noatime</title><para>By default, Linux will write to the disk in order to update the atime (&quot;access time&quot;) every time a file is <emphasis>read from</emphasis>; this substantially degrades performance.  You can disable this behavior by editing <code>/etc/fstab</code> </para><screen><![CDATA[# <file system> <mount point>   <type>  <options>                          <dump>  <pass>
/dev/hda1       /               ext3    defaults,noatime,errors=remount-ro 0       1]]></screen><para>This is especially important on filesystems which are used to store AFS volumes. </para></section><section><title>etckeeper</title><screen><![CDATA[apt-get install etckeeper
cd /etc
etckeeper init
etckeeper commit "Initial checkin"
git gc]]></screen></section><section><title>nitpicks</title><orderedlist numeration="arabic"><listitem><para>Debian's installer seems to want to put an entry for the machine's own hostname in /etc/hosts, resolving to 127.0.0.1.  You'll probably want to remove it. </para></listitem></orderedlist><!--rule (<hr>) is not applicable to DocBook--><para> <ulink url="https://wiki.hcoop.net/SetupNewMachines/CategorySystemAdministration#">CategorySystemAdministration</ulink> <ulink url="https://wiki.hcoop.net/SetupNewMachines/CategoryHistorical#">CategoryHistorical</ulink> </para></section></section></article>