`apt dist-upgrade` не заботится об удалении upstart и хочет установить sysvinit... почему?
Я бегал регулярно apt-get upgrade
с последующим apt-get dist-upgrade
, После того, как я нажал "Да" как обычно, dist-upgrade начал удалять много важных пакетов, и когда я прокрутил в терминале, я увидел это к своему удивлению:
$ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be REMOVED:
account-plugin-aim account-plugin-jabber account-plugin-salut
account-plugin-yahoo accountsservice aisleriot aptdaemon apturl audacious
avahi-daemon avahi-utils bluez bluez-alsa brasero checkbox-gui checkbox-ng
checkbox-ng-service colord compiz compiz-gnome consolekit cron dbus dbus-x11
deja-dup-backend-gvfs empathy exo-utils friendly-recovery gconf2 gcr gdm
gksu gnome-applets gnome-applets-data gnome-bluetooth gnome-control-center
gnome-disk-utility gnome-keyring gnome-media gnome-power-manager
gnome-screensaver gnome-session gnome-session-bin gnome-session-flashback
gnome-settings-daemon gnome-shell gnome-sushi gnome-system-log
gnome-user-share gpointing-device-settings gstreamer0.10-gconf gvfs
gvfs-backends gvfs-daemons gvfs-fuse hplip indicator-bluetooth
indicator-datetime indicator-power indicator-session indicator-sound kate
kde-runtime kdelibs5-plugins kdepim-runtime kleopatra konsole krdc
kubuntu-debug-installer landscape-client-ui-install language-selector-common
language-selector-gnome lib32nss-mdns libbonoboui2-0 libcalendarsupport4
libcanberra-pulse libexo-1-0 libgarcon-1-0 libgksu2-0
libgnome-media-profiles-3.0-0 libgnome2-0 libgnome2-bin libgnome2-common
libgnomeui-0 libgnomevfs2-0 libgnomevfs2-common libincidenceeditorsng4
libkateinterfaces4 libkdepim4 libkdepimdbusinterfaces4 libmailcommon4
libmailimporter4 libmessagecomposer4 libmessagecore4 libmessageviewer4
libnss-mdns libnss-mdns:i386 libnss-mdns-i386:i386 libpam-systemd
libpimcommon4 libpolkit-qt-1-1 libqapt2-runtime libreoffice-gnome
libswt-gnome-gtk-3-jni libtemplateparser4 libthunarx-2-0 libunique-1.0-0
libxfce4ui-1-0 libxfce4ui-utils libxfconf-0-2 lightdm
mcp-account-manager-uoa mountall nautilus nautilus-sendto
nautilus-sendto-empathy nautilus-share network-manager network-manager-gnome
nfs-common oneconf orage pidgin pidgin-libnotify plainbox-provider-checkbox
plainbox-provider-resource-generic plymouth plymouth-label
plymouth-theme-ubuntu-logo plymouth-theme-ubuntu-text policykit-1
policykit-1-gnome printer-driver-postscript-hp pulseaudio
pulseaudio-module-bluetooth pulseaudio-module-x11 python-secretstorage
python-ubuntu-sso-client python3-checkbox-ng python3-checkbox-support
python3-plainbox qapt-batch remmina remmina-plugin-rdp remmina-plugin-vnc
rhythmbox rhythmbox-mozilla rhythmbox-plugin-cdrecorder
rhythmbox-plugin-magnatune rhythmbox-plugin-zeitgeist rhythmbox-plugins
seahorse sessioninstaller shotwell software-center sound-juicer
systemd-services telepathy-salut thunar thunar-volman totem-mozilla
transmission-gtk ubuntu-desktop ubuntu-minimal ubuntu-release-upgrader-gtk
ubuntu-session ubuntu-sso-client ubuntu-sso-client-qt ubuntu-standard
ubuntu-system-service udisks2 unity unity-control-center
unity-control-center-signon unity-settings-daemon unity-tweak-tool
update-manager update-notifier upower upstart ureadahead usb-creator-common
usb-creator-gtk webaccounts-extension-common xdiagnose xfce4 xfce4-appfinder
xfce4-mixer xfce4-notifyd xfce4-panel xfce4-session xfce4-settings
xfce4-volumed xfconf xfdesktop4 xfwm4 xul-ext-webaccounts y-ppa-manager
The following NEW packages will be installed:
apparmor-easyprof apparmor-easyprof-ubuntu click click-apparmor
cryptsetup-bin gir1.2-click-0.4 gir1.2-gee-0.8 libclick-0.4-0
libcontent-hub0 libcryptsetup4 liblttng-ust-ctl2 liblttng-ust0 libsctp1
libupstart-app-launch2 liburcu1 linux-headers-3.13.0-73
linux-headers-3.13.0-73-generic linux-image-3.13.0-73-generic
linux-image-extra-3.13.0-73-generic lksctp-tools lxpolkit lxsession-data
python3-apparmor python3-apparmor-click python3-click python3-libapparmor
qtdeclarative5-ubuntu-content0.1 sysvinit
The following packages will be upgraded:
linux-generic linux-headers-generic linux-image-generic openjdk-7-jdk
openjdk-7-jre openjdk-7-jre-headless
6 upgraded, 28 newly installed, 198 to remove and 0 not upgraded.'
Ну, во-первых, это сломало мои способности. Я проверил исходные файлы в apt, где все было хорошо. Когда я пытался сделать apt-get install -f
Пугало меня этим:
WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
sysvinit
0 upgraded, 7 newly installed, 1 to remove and 9 not upgraded.
2 not fully installed or removed.
Need to get 1,013 kB of archives.
After this operation, 4,424 kB of additional disk space will be used.
You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'
?] no
Abort.
Это то, что я хотел бы увидеть, когда dist-upgrade удалил все эти пакеты для установки sysvinit. В любом случае, поскольку это также сломало мою сеть, мне пришлось маршрутизировать хост через гостя, который подключался через USB-модем (USB-хост), и я вернул все эти пакеты обратно, чтобы вернуть систему к стабильности.
Из любопытства я попытался сделать dist-upgrade
снова, и это все еще говорит то же самое. Я хочу запустить dist-upgrade для обновления этих пакетов: linux-generic linux-headers-generic linux-image-generic openjdk-7-jdk openjdk-7-jre openjdk-7-jre-headless
потому что регулярный apt-get upgrade
не трогать их.
Мой первый вопрос: как мне обновить эти пакеты, не удаляя другие любимые пакеты?
И второй вопрос, очевидно, таков: dist-upgrade
делает систему нестабильной? Если он не заменит пакеты, которые он удаляет, чем-то лучше, если они были удалены из-за несовместимости с новыми пакетами dist-upgrade
хотел установить в системе?
Учитывая possible duplicate
flag: Я не добавил PPA в прошлом месяце.
1 ответ
Благодаря указателям Дэвида и моим исследованиям sysvinit за последние несколько дней я выяснил причину этого репо Debian: deb http://ftp.de.debian.org/debian squeeze main
Как только я закомментировал это и обновил источники, я избавился от неправильного dist-upgrade
предложения.
Несмотря на то, что я не полностью излечил свое невежество относительно разницы между sysvinit и upstart, все, что я знаю из своего исследования, это то, что Ubuntu заменил sysvinit на (POSIX) выскочку, когда Адам был мальчиком (хотя у Trusty все еще есть действительный кандидат на sysvinit это может вызвать проблемы, удаляя выскочку, как это было в моей системе).
$ cat /etc/apt/sources.list | egrep -v "^#|trusty|^$"
deb http://ftp.de.debian.org/debian squeeze main
deb http://www.emdebian.org/debian/ squeeze main
По сути, именно так я нашел ненадежные репозитории. Просто комментируя первый сделал свое дело.
Если вы случайно удалили эти пакеты, не перезагружайте систему по понятным причинам; среда рабочего стола достаточно устойчива, чтобы работать до перезагрузки, даже если она удалена. Затем попробуйте посмотреть, как вы можете получить сеть; Вы можете сделать так мало, если нет центра управления и нет сетевого менеджера в системе. Я использовал хакерство использования двух сетевых интерфейсов на виртуальной машине, которую я использовал на VirtualBox, а затем направил трафик с хоста (ubuntu) через гостя, который получил свой интернет от USB-модема.
А затем просто введите "Да, делай, как я говорю!", Когда aptitude спросит:
After this operation, 4,424 kB of additional disk space will be used.
You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'
Странно, что aptitude даже не заботился, удаляя выскочку, но расстраивался, когда дело дошло до sysvinit!