Why does apt-get install python3 with a trailing hyphen remove a lot of packages?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
While is was installing something with the sudo apt-get install
command I accidentally accepted the command
sudo apt-get install python3-
(yeah I know it is stupid to just accept this but I did a lot of those and i just continued to click y
).
By executing the command I deleted my whole visual desktop of Ubuntu (I just had the plain shell but I recovered the visual desktop by now). I don't know if I am just stupid but nevertheless I want to create awareness that you shouldn't use the command.
If you can explain to me why happened what happened feel free to explain it to me.
command-line apt
New contributor
add a comment |
While is was installing something with the sudo apt-get install
command I accidentally accepted the command
sudo apt-get install python3-
(yeah I know it is stupid to just accept this but I did a lot of those and i just continued to click y
).
By executing the command I deleted my whole visual desktop of Ubuntu (I just had the plain shell but I recovered the visual desktop by now). I don't know if I am just stupid but nevertheless I want to create awareness that you shouldn't use the command.
If you can explain to me why happened what happened feel free to explain it to me.
command-line apt
New contributor
6
Documented features are not bugs.
– guiverc
7 hours ago
1
I’m curious -why- this was decided to be the intended behavior. Seems unnecessary, and as the OP found, destructive.
– Scot
1 hour ago
1
Possible duplicate of "sudo apt -get install foo-" causes removing foo package and everything depends on it && askubuntu.com/questions/880291/apt-get-install-with-removes
– pomsky
23 mins ago
add a comment |
While is was installing something with the sudo apt-get install
command I accidentally accepted the command
sudo apt-get install python3-
(yeah I know it is stupid to just accept this but I did a lot of those and i just continued to click y
).
By executing the command I deleted my whole visual desktop of Ubuntu (I just had the plain shell but I recovered the visual desktop by now). I don't know if I am just stupid but nevertheless I want to create awareness that you shouldn't use the command.
If you can explain to me why happened what happened feel free to explain it to me.
command-line apt
New contributor
While is was installing something with the sudo apt-get install
command I accidentally accepted the command
sudo apt-get install python3-
(yeah I know it is stupid to just accept this but I did a lot of those and i just continued to click y
).
By executing the command I deleted my whole visual desktop of Ubuntu (I just had the plain shell but I recovered the visual desktop by now). I don't know if I am just stupid but nevertheless I want to create awareness that you shouldn't use the command.
If you can explain to me why happened what happened feel free to explain it to me.
command-line apt
command-line apt
New contributor
New contributor
edited 23 mins ago
Community♦
1
1
New contributor
asked 10 hours ago
Mettigel4_1Mettigel4_1
471
471
New contributor
New contributor
6
Documented features are not bugs.
– guiverc
7 hours ago
1
I’m curious -why- this was decided to be the intended behavior. Seems unnecessary, and as the OP found, destructive.
– Scot
1 hour ago
1
Possible duplicate of "sudo apt -get install foo-" causes removing foo package and everything depends on it && askubuntu.com/questions/880291/apt-get-install-with-removes
– pomsky
23 mins ago
add a comment |
6
Documented features are not bugs.
– guiverc
7 hours ago
1
I’m curious -why- this was decided to be the intended behavior. Seems unnecessary, and as the OP found, destructive.
– Scot
1 hour ago
1
Possible duplicate of "sudo apt -get install foo-" causes removing foo package and everything depends on it && askubuntu.com/questions/880291/apt-get-install-with-removes
– pomsky
23 mins ago
6
6
Documented features are not bugs.
– guiverc
7 hours ago
Documented features are not bugs.
– guiverc
7 hours ago
1
1
I’m curious -why- this was decided to be the intended behavior. Seems unnecessary, and as the OP found, destructive.
– Scot
1 hour ago
I’m curious -why- this was decided to be the intended behavior. Seems unnecessary, and as the OP found, destructive.
– Scot
1 hour ago
1
1
Possible duplicate of "sudo apt -get install foo-" causes removing foo package and everything depends on it && askubuntu.com/questions/880291/apt-get-install-with-removes
– pomsky
23 mins ago
Possible duplicate of "sudo apt -get install foo-" causes removing foo package and everything depends on it && askubuntu.com/questions/880291/apt-get-install-with-removes
– pomsky
23 mins ago
add a comment |
2 Answers
2
active
oldest
votes
This is not a bug; this is documented in the man
page. From man apt-get
's install
section1 (emphasis mine):
If a hyphen is appended to the package name (with no intervening space), the identified package will be removed if it is installed. Similarly a plus sign can be used to designate a package to install.
So, when you did:
sudo apt-get install python3-
you've removed the python3
package and all the dependent packages (which includes the packages you mentioned).
Fix:
To re-install the removed packages, go to /var/log/apt/history.log
, pick the packages, and run sudo apt-get install
on them.
You might also want to peek into /var/log/dpkg.log
.
1 If you have less
as the man
pager, you can go to the install
section of man apt-get
directly:
LESS='+/^[[:blank:]]+install' man apt-get
6
It might be worth mentioning thatsudo apt-get install ubuntu-desktop
will get most of the desktop environment back with a single command, without needing to hunt down individual package names. (Of course that doesn't cover whatever one has installed manually on top of the defaults, but further recovery can proceed in an environment that may be more familiar than the Linux console).
– Henning Makholm
7 hours ago
add a comment |
No, you didn't find a bug. From man apt-get
:
If a hyphen is appended to the package name (with no intervening space), the identified package will be removed if it is installed. Similarly a plus sign can be used to designate a package to install. These latter features may be used to override decisions made by apt-get's conflict resolution system.
It's intentional. I'm not sure it's good design, but it is worth reading what changes apt proposes before proceeding.
Combined with globbing it may produce some rather... spectacular results at times.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "89"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Mettigel4_1 is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1131958%2fwhy-does-apt-get-install-python3-with-a-trailing-hyphen-remove-a-lot-of-packages%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
This is not a bug; this is documented in the man
page. From man apt-get
's install
section1 (emphasis mine):
If a hyphen is appended to the package name (with no intervening space), the identified package will be removed if it is installed. Similarly a plus sign can be used to designate a package to install.
So, when you did:
sudo apt-get install python3-
you've removed the python3
package and all the dependent packages (which includes the packages you mentioned).
Fix:
To re-install the removed packages, go to /var/log/apt/history.log
, pick the packages, and run sudo apt-get install
on them.
You might also want to peek into /var/log/dpkg.log
.
1 If you have less
as the man
pager, you can go to the install
section of man apt-get
directly:
LESS='+/^[[:blank:]]+install' man apt-get
6
It might be worth mentioning thatsudo apt-get install ubuntu-desktop
will get most of the desktop environment back with a single command, without needing to hunt down individual package names. (Of course that doesn't cover whatever one has installed manually on top of the defaults, but further recovery can proceed in an environment that may be more familiar than the Linux console).
– Henning Makholm
7 hours ago
add a comment |
This is not a bug; this is documented in the man
page. From man apt-get
's install
section1 (emphasis mine):
If a hyphen is appended to the package name (with no intervening space), the identified package will be removed if it is installed. Similarly a plus sign can be used to designate a package to install.
So, when you did:
sudo apt-get install python3-
you've removed the python3
package and all the dependent packages (which includes the packages you mentioned).
Fix:
To re-install the removed packages, go to /var/log/apt/history.log
, pick the packages, and run sudo apt-get install
on them.
You might also want to peek into /var/log/dpkg.log
.
1 If you have less
as the man
pager, you can go to the install
section of man apt-get
directly:
LESS='+/^[[:blank:]]+install' man apt-get
6
It might be worth mentioning thatsudo apt-get install ubuntu-desktop
will get most of the desktop environment back with a single command, without needing to hunt down individual package names. (Of course that doesn't cover whatever one has installed manually on top of the defaults, but further recovery can proceed in an environment that may be more familiar than the Linux console).
– Henning Makholm
7 hours ago
add a comment |
This is not a bug; this is documented in the man
page. From man apt-get
's install
section1 (emphasis mine):
If a hyphen is appended to the package name (with no intervening space), the identified package will be removed if it is installed. Similarly a plus sign can be used to designate a package to install.
So, when you did:
sudo apt-get install python3-
you've removed the python3
package and all the dependent packages (which includes the packages you mentioned).
Fix:
To re-install the removed packages, go to /var/log/apt/history.log
, pick the packages, and run sudo apt-get install
on them.
You might also want to peek into /var/log/dpkg.log
.
1 If you have less
as the man
pager, you can go to the install
section of man apt-get
directly:
LESS='+/^[[:blank:]]+install' man apt-get
This is not a bug; this is documented in the man
page. From man apt-get
's install
section1 (emphasis mine):
If a hyphen is appended to the package name (with no intervening space), the identified package will be removed if it is installed. Similarly a plus sign can be used to designate a package to install.
So, when you did:
sudo apt-get install python3-
you've removed the python3
package and all the dependent packages (which includes the packages you mentioned).
Fix:
To re-install the removed packages, go to /var/log/apt/history.log
, pick the packages, and run sudo apt-get install
on them.
You might also want to peek into /var/log/dpkg.log
.
1 If you have less
as the man
pager, you can go to the install
section of man apt-get
directly:
LESS='+/^[[:blank:]]+install' man apt-get
edited 10 hours ago
answered 10 hours ago
heemaylheemayl
68.1k11142215
68.1k11142215
6
It might be worth mentioning thatsudo apt-get install ubuntu-desktop
will get most of the desktop environment back with a single command, without needing to hunt down individual package names. (Of course that doesn't cover whatever one has installed manually on top of the defaults, but further recovery can proceed in an environment that may be more familiar than the Linux console).
– Henning Makholm
7 hours ago
add a comment |
6
It might be worth mentioning thatsudo apt-get install ubuntu-desktop
will get most of the desktop environment back with a single command, without needing to hunt down individual package names. (Of course that doesn't cover whatever one has installed manually on top of the defaults, but further recovery can proceed in an environment that may be more familiar than the Linux console).
– Henning Makholm
7 hours ago
6
6
It might be worth mentioning that
sudo apt-get install ubuntu-desktop
will get most of the desktop environment back with a single command, without needing to hunt down individual package names. (Of course that doesn't cover whatever one has installed manually on top of the defaults, but further recovery can proceed in an environment that may be more familiar than the Linux console).– Henning Makholm
7 hours ago
It might be worth mentioning that
sudo apt-get install ubuntu-desktop
will get most of the desktop environment back with a single command, without needing to hunt down individual package names. (Of course that doesn't cover whatever one has installed manually on top of the defaults, but further recovery can proceed in an environment that may be more familiar than the Linux console).– Henning Makholm
7 hours ago
add a comment |
No, you didn't find a bug. From man apt-get
:
If a hyphen is appended to the package name (with no intervening space), the identified package will be removed if it is installed. Similarly a plus sign can be used to designate a package to install. These latter features may be used to override decisions made by apt-get's conflict resolution system.
It's intentional. I'm not sure it's good design, but it is worth reading what changes apt proposes before proceeding.
Combined with globbing it may produce some rather... spectacular results at times.
add a comment |
No, you didn't find a bug. From man apt-get
:
If a hyphen is appended to the package name (with no intervening space), the identified package will be removed if it is installed. Similarly a plus sign can be used to designate a package to install. These latter features may be used to override decisions made by apt-get's conflict resolution system.
It's intentional. I'm not sure it's good design, but it is worth reading what changes apt proposes before proceeding.
Combined with globbing it may produce some rather... spectacular results at times.
add a comment |
No, you didn't find a bug. From man apt-get
:
If a hyphen is appended to the package name (with no intervening space), the identified package will be removed if it is installed. Similarly a plus sign can be used to designate a package to install. These latter features may be used to override decisions made by apt-get's conflict resolution system.
It's intentional. I'm not sure it's good design, but it is worth reading what changes apt proposes before proceeding.
Combined with globbing it may produce some rather... spectacular results at times.
No, you didn't find a bug. From man apt-get
:
If a hyphen is appended to the package name (with no intervening space), the identified package will be removed if it is installed. Similarly a plus sign can be used to designate a package to install. These latter features may be used to override decisions made by apt-get's conflict resolution system.
It's intentional. I'm not sure it's good design, but it is worth reading what changes apt proposes before proceeding.
Combined with globbing it may produce some rather... spectacular results at times.
edited 10 hours ago
N0rbert
25.1k853118
25.1k853118
answered 10 hours ago
vidarlovidarlo
10.7k52852
10.7k52852
add a comment |
add a comment |
Mettigel4_1 is a new contributor. Be nice, and check out our Code of Conduct.
Mettigel4_1 is a new contributor. Be nice, and check out our Code of Conduct.
Mettigel4_1 is a new contributor. Be nice, and check out our Code of Conduct.
Mettigel4_1 is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Ask Ubuntu!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1131958%2fwhy-does-apt-get-install-python3-with-a-trailing-hyphen-remove-a-lot-of-packages%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
6
Documented features are not bugs.
– guiverc
7 hours ago
1
I’m curious -why- this was decided to be the intended behavior. Seems unnecessary, and as the OP found, destructive.
– Scot
1 hour ago
1
Possible duplicate of "sudo apt -get install foo-" causes removing foo package and everything depends on it && askubuntu.com/questions/880291/apt-get-install-with-removes
– pomsky
23 mins ago