Tolik: Когда дошёл до "обновлял в обход пакетного менеджера", я предположил худшее -- скрипт был запущен с root правами и вполне вероятно он что-то там начал конфигурировать связанное с JRE (в неведении системы). Что делать в этом случае -- зависит от дистрибутива, и действительно их много. Могу посоветовать попробовать переустановить пакет "service-wrapper" (надеюсь это тот, сам не пользуюсь убунтой и отталкиваюсь от того, что нашёл в поисковике: packages.ubuntu.com/trusty/java/service-wrapper ). Ну и попробовать потыкать команду "sudo update-alternatives --config java"
Для пользователя отличие только в том, какие программы и конфигурации идут из коробки. Основные отличия лежат глубже и имеют значение только для любителей покопаться в системе, по-началу вряд ли для вас это будет иметь значение.
Там задачи конкретно для Python или общие? Пользовался codeeval.com , не понравилось что задачи слишком общие и не дают ту необходимую практику конкретных аспектов языка.