Как проще всего перенести настольную версию на версию для сервера?

22

Мы установили Ubuntu Desktop Edition на наш сервер разработки. Теперь, когда у нас это есть в центре обработки данных, мы хотели бы сократить его до серверной версии.

Есть ли более простой способ сделать это, чем просто вводить и удалять пакеты вручную?

Габриэль Соломон
источник
2
Лучше всего переустановить: на компакт-диске сервера установлены параметры ядра, которых нет на рабочем столе (вы можете получить их и с рабочим столом, но это больше, чем переустановка;))
Rinzwind
Кроме того, после этого нужно удалить x11 Cruft с помощью sudo apt-get remove x11 *
Роб К

Ответы:

16

Можно сделать это наоборот, но я никогда не видел никого, кто мог бы сделать это, просто установив метапакет или что-то еще.

Ваш лучший выбор:

  • чистая установка
  • удаление ненужных пакетов вручную и установка необходимых компонентов сервера
Натан Осман
источник
1
Чистая установка - это путь, но если вы хотите удалить пакеты вручную, запустите dpkg --get-selections "*"> ~ / Applications.txt и удалите то, что вам не нужно.
повозиться
14

Вы можете удалить ubuntu-desktopи одновременно автоматически удалить всех потерянных иждивенцев:

sudo apt-get autoremove ubuntu-desktop

Добавьте эту --purgeопцию, если вы также хотите удалить конфигурацию затронутых пакетов (и не сохранять ее для возможной последующей переустановки).

Если у вас есть другой рабочий стол, удалите их. если вы перезагрузитесь после этого, у вас не будет графического интерфейса для входа. Если вы удаляете программу, а не просто удаляете ее, вы также удаляете все файлы конфигурации, которые могут остаться.

Как Ринзвинд предлагает попробовать sudo apt-get remove gnome-*.

До Ubuntu 16.04 он также предоставляет специальный пакет ядра для установки сервера linux-image-server:

  • sudo apt-get install linux-image-server и перезагрузите компьютер.

Затем я предлагаю вам установить серверные приложения, которые вы хотите, как ssh-server.


Но, как всегда, лучше сделать чистую установку. Это дает меньше риска ошибок и сломанных пакетов.

Альвар
источник
1
Ну я удалил ubuntu-desktop, но ничего не сделал, так как от этого не зависит ни одна упаковка. Затем я удалил все пакеты, ubuntu-desktopот которых зависит, который работает лучше, но он все еще оставляет unity-commongedit-common
некоторую
@BartvanHeukelom хорошо, ты purgeэто или только removeэто? отредактировал вопрос.
Алвар
1
iirc sudo apt-get remove gnome-*позаботится о большинстве пакетов. Единство должно быть удалено вместе с этим (потому что зависимости). (
Требуется
Я удалил его (случайно), не очистил, но AFAIK, который не должен иметь значения в отношении зависимостей.
Барт ван Хейкелом
2
Начиная с 12.04, в ядре нет разницы между Ubuntu Desktop и Ubuntu Server, поскольку linux-image-server объединен с linux-image-generic. (от Ubuntu ServerFaq)
Амир Али Акбари
12

Примечание: как указано в комментариях, tasksel следует использовать только для установки задач, а не для их удаления. В этой конкретной задаче (удалить рабочий стол -> установить сервер), кажется, работает нормально. Так что используйте его с осторожностью.


Вы можете попробовать TaskSel. С его помощью вы можете делать все, что хотите, выбрав Basic Ubuntu Server и сняв флажок с рабочего стола Ubuntu .

sudo apt-get install tasksel

экран Tasksel

Salem
источник
1
Можете ли вы или кто-то еще подтвердить, что это работает? Вы говорите «попробуй», но если это сработает, это отличный ответ.
djeikyb
1
Выдержка из страницы Ubuntu Tasksel: ВНИМАНИЕ: Используйте tasksel только для установки задач, а не для их удаления! Согласно launchpad.net/bugs/574287 он удалит каждый пакет в списке этой задачи (и, возможно, сделает вашу систему непригодной для использования).
Андрейс Кайников
Как указано выше, я не рекомендую вам использовать tasksel в вашем случае.
Андрейс Кайников
1
@djeikyb Я попробовал это с Ubuntu 9.10 и Ubuntu 11.10, и оба работают (установка wubi, удаление рабочего стола и установка «серверных пакетов»). В 11.10 есть небольшой глюк: система загружается, но не показывает приглашение для входа в систему.
Салем
@AndrejsCainikovs Я использовал tasksel только для этой конкретной задачи (удалить рабочий стол -> установить сервер), и в системах, которые я использовал, это работает. Я буду обновлять ответ
Салем
2

Если вы хотите просто не запускать DM и WM при запуске, но сохраняете возможность их запуска по желанию, вы можете запустить:

sudo systemctl set-default runlevel3.target

затем перезагрузите компьютер.

Система загрузится на уровень запуска 3 (init 3), который не запускает DM и WM и все остальные вещи, связанные с окружением рабочего стола, но запускает все остальное. Когда система загружается в терминал tty1 на консоли, вы можете войти затем

sudo init 5

войти в среду рабочего стола.

На рабочих столах ubuntu и xfce4, которые я тестировал с помощью кнопки выхода из системы, зависла моя система.
На рабочем столе Ubuntu кнопки выключения и перезагрузки работали нормально; на рабочем столе xfce4 есть только кнопка выхода из системы.

Безопасный способ вернуться только к tty - открыть терминал и запустить:

sudo init 3
Technopeon
источник