eae71239b877384ddc57b3c60e5067074cd8b0c5
[wiki.git] / ubuntu.mdwn
1 [[!toc levels=99]]
2
3 ## Package management
4
5 https://help.ubuntu.com/community/AptGet/Howto
6
7 [Ubuntu comparison of apt-get vs. yum commands](https://help.ubuntu.com/community/SwitchingToUbuntu/FromLinux/RedHatEnterpriseLinuxAndFedora)
8
9     # show installed packages
10     dpkg --list
11
12     # show info for a package
13     dpkg --status package_name
14
15     # show files owned by a package
16     dpkg --listfiles package_name
17
18     # show which package owns a file
19     dpkg -S /usr/bin/pdftoppm
20
21     # show which package will own a file
22     apt-file find /usr/bin/convert
23
24     # resynchronize the package index files from their sources
25     apt-get update
26
27     # install the newest versions installed packages
28     apt-get upgrade
29
30     # install packages that are "kept back"
31     apt-get dist-upgrade
32
33     # for clearing out unused linux-headers, for example
34     apt-get autoremove
35
36     # search for packages with a given string (i.e. json)
37     apt-cache search json
38
39 ### `apt-get dist-upgrade`
40
41 "-y  Assume Yes to all queries and do not prompt" is not recommended for `apt-get dist-upgrade`
42
43 http://askubuntu.com/questions/601/the-following-packages-have-been-kept-back-why-and-how-do-i-solve-it
44
45 http://askubuntu.com/questions/81585/what-is-dist-upgrade-and-why-does-it-upgrade-more-than-upgrade
46
47 ## User management
48
49     useradd -m myuser -s /bin/bash
50
51 https://help.ubuntu.com/community/AddUsersHowto
52
53 ## Shutdown and restart
54
55     poweroff
56
57     reboot
58
59 ## Change default $EDITOR from nano to vim
60
61     update-alternatives --config editor
62
63 Choose "vim.basic".
64
65 ## Give user sudo access
66
67     newuser    ALL=(ALL:ALL) ALL
68
69 or
70
71     newuser    ALL=NOPASSWD: ALL
72
73 https://www.digitalocean.com/community/tutorials/how-to-add-delete-and-grant-sudo-privileges-to-users-on-a-debian-vps
74
75 ## iptables
76
77     # so that firewall rules load at boot
78     apt-get install iptables-persistent
79     # edit rules
80     vim /etc/iptables/rules.v4 
81     # reload rules
82     iptables-restore < /etc/iptables/rules.v4
83     # save rules
84     invoke-rc.d iptables-persistent save
85
86 ### Sample iptables firewall rules
87
88     root@server2:~# cat /etc/iptables/rules.v4
89     # Generated by iptables-save v1.4.21 on Wed Oct 14 22:17:08 2015
90     *filter
91     :INPUT ACCEPT [0:0]
92     :FORWARD ACCEPT [0:0]
93     :OUTPUT ACCEPT [72:34181]
94     -A INPUT -i lo -j ACCEPT
95     -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
96     -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
97     -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
98     -A INPUT -j DROP
99     COMMIT
100     # Completed on Wed Oct 14 22:17:08 2015
101     root@server2:~#
102
103 https://help.ubuntu.com/community/IptablesHowTo
104
105 https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-using-iptables-on-ubuntu-14-04
106
107 ## Apache httpd
108
109 Install Apache
110
111     sudo apt-get install apache2
112
113 https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-04-lts
114
115 Restart Apache
116
117     systemctl reload apache2
118
119 Enable site
120
121     a2ensite data.greptilian.com
122
123 Show enabled sites
124
125     apache2ctl -S
126
127 ## MySQL
128
129     sudo apt-get install mysql-server
130
131 https://www.digitalocean.com/community/tutorials/a-basic-mysql-tutorial
132
133 ## Timezone
134
135     sudo timedatectl set-timezone America/New_York
136
137 https://www.digitalocean.com/community/tutorials/how-to-set-up-time-synchronization-on-ubuntu-18-04
138
139 ## Grub
140
141 On a new installation of Ubuntu 18.04 on Digital Ocean I ran `sudo apt-get dist-upgrade` and saw this message:
142
143 "A new version of /boot/grub/menu.lst is available, but the version installed currently has been locally modified. What would you like to do about menu.lst?
144
145 I selected the first option called "install the package maintainer's version" even though the second option called "keep the local version currently installed" was highlighted. Showing differences didn't work. I rebooted the server and it came back up. There's a related post at https://www.digitalocean.com/community/questions/ubuntu-new-boot-grub-menu-lst-after-apt-get-upgrade