Apt

HTTPS
By default, Apt is able to use http sources but not https ones. This might cause problem with some external repositories.

sources.list
Here is the  for a Debian Jessie distribution.

The file is referencing versions names instead of the stable and testing aliases. The reason is that we don't want a massive uncontrolled upgrade on the day of the release of the next stable.

apt.conf
The file  stores settings of apt. You can create the file if it doesn't exist.

Setup
Create file

Debugging
By default, it might be hard to understand why a particular version of a package is chosen for updates. Thankfully,  can help us with that.

needrestart
After a successful upgrade, needrestart will check if any daemon need to be restarted. If so, it will show a dialog where you can choose which ones should be restarted automatically.

It will also warn you in case the system need to be restarted.

reboot-notifier
Sends you a daily email in case your server need to be restarted

Important: Your server needs be able to send Emails before you install this.

You can configure the destination email address in.

apt-listchanges
Parse changelogs when you upgrade a package and display it. It will also send a copy by email so you can have a look latter in case you missed something.

apticron
Apticron will check for updates and send you emails with changelogs

Important: Your server needs be able to send Emails before you install this.

To configure apticron, edit  and changes the following settings

Manually installed packages
Both apt and aptitude can automatically remove packages that are not used any more. This allows to keep a clean system over time. However it requires the system to know which packages were automatically installed.

To list packages that are marked as manually installed, you can use

Remove useless configuration files
When deinstalling a package, configuration files are kept in case you need to reinstall it latter. Overtime, this can led to a lot of useless files in.

To list the removed packages that still have configuration files, you can use: After inspection of the list, this command will remove them