Restoring all data and dependencies from dpkg --set-selections '*'
So I can run on one machine:
dpkg --get-selections '*' > selection.txt
On another machine:
dpkg --set-selections < selection.txt
... followed by either of the following:
aptitude install
apt-get -u dselect-upgrade
... to install the packages that.
However, it appears that some information gets lost in the process, such as whether a package (say xyz
) got installed automatically as dependency of another package (abc
). You can see that whenever you do something like apt-get --purge remove abc
. On the original machine you would be notified that package xyz
was installed as dependency of abc
and that you may use apt-get autoremove
to get rid of it.
Now I am aware of deborphan
and debfoster
, but they're cumbersome to use given the (simple) task at hand.
It seems saving and restoring the selections as shown above is not sufficient to restore the subtle dependencies of installed packages.
Is there a way to back up the complete set of metadata for package management and restore it then in its entirety?
package-management dpkg aptitude
|
show 3 more comments
So I can run on one machine:
dpkg --get-selections '*' > selection.txt
On another machine:
dpkg --set-selections < selection.txt
... followed by either of the following:
aptitude install
apt-get -u dselect-upgrade
... to install the packages that.
However, it appears that some information gets lost in the process, such as whether a package (say xyz
) got installed automatically as dependency of another package (abc
). You can see that whenever you do something like apt-get --purge remove abc
. On the original machine you would be notified that package xyz
was installed as dependency of abc
and that you may use apt-get autoremove
to get rid of it.
Now I am aware of deborphan
and debfoster
, but they're cumbersome to use given the (simple) task at hand.
It seems saving and restoring the selections as shown above is not sufficient to restore the subtle dependencies of installed packages.
Is there a way to back up the complete set of metadata for package management and restore it then in its entirety?
package-management dpkg aptitude
I've often wondered the same thing I generate a big shell script with a 'sudo apt-get install' with all my packages (minus libs). Of course, I run into the same problem you're having.
– Chuck R
Feb 20 '12 at 18:17
I would guess that the best place to start looking would be to check if dpkg is in fact responsible for that information. If it isn't then maybe that is apt's job.
– Huckle
Feb 20 '12 at 19:03
3
If you're going the manual way, you may be interested inapt-mark
for saving/restoring information about automatic vs manually installed packages
– Lekensteyn
Feb 24 '12 at 18:37
It's not in the 10.04 package repo, is it? Is this part of the Canonical repos or third-party?
– 0xC0000022L
Feb 24 '12 at 19:59
2
No, that's just a "for your information" comment. I'd use apt-mark (it's part of apt, so it should already be installed) to get and set the marks for the packages (see its manpage for details).
– htorque
Feb 27 '12 at 12:07
|
show 3 more comments
So I can run on one machine:
dpkg --get-selections '*' > selection.txt
On another machine:
dpkg --set-selections < selection.txt
... followed by either of the following:
aptitude install
apt-get -u dselect-upgrade
... to install the packages that.
However, it appears that some information gets lost in the process, such as whether a package (say xyz
) got installed automatically as dependency of another package (abc
). You can see that whenever you do something like apt-get --purge remove abc
. On the original machine you would be notified that package xyz
was installed as dependency of abc
and that you may use apt-get autoremove
to get rid of it.
Now I am aware of deborphan
and debfoster
, but they're cumbersome to use given the (simple) task at hand.
It seems saving and restoring the selections as shown above is not sufficient to restore the subtle dependencies of installed packages.
Is there a way to back up the complete set of metadata for package management and restore it then in its entirety?
package-management dpkg aptitude
So I can run on one machine:
dpkg --get-selections '*' > selection.txt
On another machine:
dpkg --set-selections < selection.txt
... followed by either of the following:
aptitude install
apt-get -u dselect-upgrade
... to install the packages that.
However, it appears that some information gets lost in the process, such as whether a package (say xyz
) got installed automatically as dependency of another package (abc
). You can see that whenever you do something like apt-get --purge remove abc
. On the original machine you would be notified that package xyz
was installed as dependency of abc
and that you may use apt-get autoremove
to get rid of it.
Now I am aware of deborphan
and debfoster
, but they're cumbersome to use given the (simple) task at hand.
It seems saving and restoring the selections as shown above is not sufficient to restore the subtle dependencies of installed packages.
Is there a way to back up the complete set of metadata for package management and restore it then in its entirety?
package-management dpkg aptitude
package-management dpkg aptitude
edited May 17 '13 at 15:25
belacqua
15.9k1473103
15.9k1473103
asked Feb 6 '12 at 17:33
0xC0000022L0xC0000022L
3,00353770
3,00353770
I've often wondered the same thing I generate a big shell script with a 'sudo apt-get install' with all my packages (minus libs). Of course, I run into the same problem you're having.
– Chuck R
Feb 20 '12 at 18:17
I would guess that the best place to start looking would be to check if dpkg is in fact responsible for that information. If it isn't then maybe that is apt's job.
– Huckle
Feb 20 '12 at 19:03
3
If you're going the manual way, you may be interested inapt-mark
for saving/restoring information about automatic vs manually installed packages
– Lekensteyn
Feb 24 '12 at 18:37
It's not in the 10.04 package repo, is it? Is this part of the Canonical repos or third-party?
– 0xC0000022L
Feb 24 '12 at 19:59
2
No, that's just a "for your information" comment. I'd use apt-mark (it's part of apt, so it should already be installed) to get and set the marks for the packages (see its manpage for details).
– htorque
Feb 27 '12 at 12:07
|
show 3 more comments
I've often wondered the same thing I generate a big shell script with a 'sudo apt-get install' with all my packages (minus libs). Of course, I run into the same problem you're having.
– Chuck R
Feb 20 '12 at 18:17
I would guess that the best place to start looking would be to check if dpkg is in fact responsible for that information. If it isn't then maybe that is apt's job.
– Huckle
Feb 20 '12 at 19:03
3
If you're going the manual way, you may be interested inapt-mark
for saving/restoring information about automatic vs manually installed packages
– Lekensteyn
Feb 24 '12 at 18:37
It's not in the 10.04 package repo, is it? Is this part of the Canonical repos or third-party?
– 0xC0000022L
Feb 24 '12 at 19:59
2
No, that's just a "for your information" comment. I'd use apt-mark (it's part of apt, so it should already be installed) to get and set the marks for the packages (see its manpage for details).
– htorque
Feb 27 '12 at 12:07
I've often wondered the same thing I generate a big shell script with a 'sudo apt-get install' with all my packages (minus libs). Of course, I run into the same problem you're having.
– Chuck R
Feb 20 '12 at 18:17
I've often wondered the same thing I generate a big shell script with a 'sudo apt-get install' with all my packages (minus libs). Of course, I run into the same problem you're having.
– Chuck R
Feb 20 '12 at 18:17
I would guess that the best place to start looking would be to check if dpkg is in fact responsible for that information. If it isn't then maybe that is apt's job.
– Huckle
Feb 20 '12 at 19:03
I would guess that the best place to start looking would be to check if dpkg is in fact responsible for that information. If it isn't then maybe that is apt's job.
– Huckle
Feb 20 '12 at 19:03
3
3
If you're going the manual way, you may be interested in
apt-mark
for saving/restoring information about automatic vs manually installed packages– Lekensteyn
Feb 24 '12 at 18:37
If you're going the manual way, you may be interested in
apt-mark
for saving/restoring information about automatic vs manually installed packages– Lekensteyn
Feb 24 '12 at 18:37
It's not in the 10.04 package repo, is it? Is this part of the Canonical repos or third-party?
– 0xC0000022L
Feb 24 '12 at 19:59
It's not in the 10.04 package repo, is it? Is this part of the Canonical repos or third-party?
– 0xC0000022L
Feb 24 '12 at 19:59
2
2
No, that's just a "for your information" comment. I'd use apt-mark (it's part of apt, so it should already be installed) to get and set the marks for the packages (see its manpage for details).
– htorque
Feb 27 '12 at 12:07
No, that's just a "for your information" comment. I'd use apt-mark (it's part of apt, so it should already be installed) to get and set the marks for the packages (see its manpage for details).
– htorque
Feb 27 '12 at 12:07
|
show 3 more comments
2 Answers
2
active
oldest
votes
Backup:
apt-mark showauto > pkgs_auto.lst
apt-mark showmanual > pkgs_manual.lst
Restore:
sudo apt-mark auto $(cat pkgs_auto.lst)
sudo apt-mark manual $(cat pkgs_manual.lst)
Thanks, was about to ask that you or Lekensteyn write that up as an answer.
– 0xC0000022L
Feb 29 '12 at 17:51
Does these commands allow you to reinstall the programs from that list?
– Svetlana Belkin
Dec 30 '13 at 14:35
can this remove packages that are installed extra, at restoration?
– n611x007
May 22 '14 at 11:56
1
Can you explain the difference betweenauto
andmanual
? Thanks.
– Anto
Jan 7 '15 at 16:33
I accidentally marked as manual a bunch of other packages... is there a way to revert? Thanks
– dentex
Oct 5 '16 at 10:49
|
show 2 more comments
The selected answer to this question is incomplete and does not (or no longer) works. The painful fix is to use a bash for-loop to parse the output *.lst files and feed them to apt install
. Bad choice, though, so will not be illustrated here.
A better choice is to use apt-clone
, as seen in this answer on the Unix & Linux Stackexchange. This creates a small file (around 100K or less for my system). Allegedly, it will clone the packages with little effort or pain.
So, in short, on the original machine:
apt-clone clone `uname -n`
Then, on the machine to clone to, copy the clone file and run:
apt-clone restore original-machine-name.apt-clone.tar.gz
I include this answer here since this page turned up in initial web searches, but the other answer did not. This method looks way easier.
New contributor
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
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%2f101931%2frestoring-all-data-and-dependencies-from-dpkg-set-selections%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
Backup:
apt-mark showauto > pkgs_auto.lst
apt-mark showmanual > pkgs_manual.lst
Restore:
sudo apt-mark auto $(cat pkgs_auto.lst)
sudo apt-mark manual $(cat pkgs_manual.lst)
Thanks, was about to ask that you or Lekensteyn write that up as an answer.
– 0xC0000022L
Feb 29 '12 at 17:51
Does these commands allow you to reinstall the programs from that list?
– Svetlana Belkin
Dec 30 '13 at 14:35
can this remove packages that are installed extra, at restoration?
– n611x007
May 22 '14 at 11:56
1
Can you explain the difference betweenauto
andmanual
? Thanks.
– Anto
Jan 7 '15 at 16:33
I accidentally marked as manual a bunch of other packages... is there a way to revert? Thanks
– dentex
Oct 5 '16 at 10:49
|
show 2 more comments
Backup:
apt-mark showauto > pkgs_auto.lst
apt-mark showmanual > pkgs_manual.lst
Restore:
sudo apt-mark auto $(cat pkgs_auto.lst)
sudo apt-mark manual $(cat pkgs_manual.lst)
Thanks, was about to ask that you or Lekensteyn write that up as an answer.
– 0xC0000022L
Feb 29 '12 at 17:51
Does these commands allow you to reinstall the programs from that list?
– Svetlana Belkin
Dec 30 '13 at 14:35
can this remove packages that are installed extra, at restoration?
– n611x007
May 22 '14 at 11:56
1
Can you explain the difference betweenauto
andmanual
? Thanks.
– Anto
Jan 7 '15 at 16:33
I accidentally marked as manual a bunch of other packages... is there a way to revert? Thanks
– dentex
Oct 5 '16 at 10:49
|
show 2 more comments
Backup:
apt-mark showauto > pkgs_auto.lst
apt-mark showmanual > pkgs_manual.lst
Restore:
sudo apt-mark auto $(cat pkgs_auto.lst)
sudo apt-mark manual $(cat pkgs_manual.lst)
Backup:
apt-mark showauto > pkgs_auto.lst
apt-mark showmanual > pkgs_manual.lst
Restore:
sudo apt-mark auto $(cat pkgs_auto.lst)
sudo apt-mark manual $(cat pkgs_manual.lst)
answered Feb 29 '12 at 8:35
htorquehtorque
47.4k32174212
47.4k32174212
Thanks, was about to ask that you or Lekensteyn write that up as an answer.
– 0xC0000022L
Feb 29 '12 at 17:51
Does these commands allow you to reinstall the programs from that list?
– Svetlana Belkin
Dec 30 '13 at 14:35
can this remove packages that are installed extra, at restoration?
– n611x007
May 22 '14 at 11:56
1
Can you explain the difference betweenauto
andmanual
? Thanks.
– Anto
Jan 7 '15 at 16:33
I accidentally marked as manual a bunch of other packages... is there a way to revert? Thanks
– dentex
Oct 5 '16 at 10:49
|
show 2 more comments
Thanks, was about to ask that you or Lekensteyn write that up as an answer.
– 0xC0000022L
Feb 29 '12 at 17:51
Does these commands allow you to reinstall the programs from that list?
– Svetlana Belkin
Dec 30 '13 at 14:35
can this remove packages that are installed extra, at restoration?
– n611x007
May 22 '14 at 11:56
1
Can you explain the difference betweenauto
andmanual
? Thanks.
– Anto
Jan 7 '15 at 16:33
I accidentally marked as manual a bunch of other packages... is there a way to revert? Thanks
– dentex
Oct 5 '16 at 10:49
Thanks, was about to ask that you or Lekensteyn write that up as an answer.
– 0xC0000022L
Feb 29 '12 at 17:51
Thanks, was about to ask that you or Lekensteyn write that up as an answer.
– 0xC0000022L
Feb 29 '12 at 17:51
Does these commands allow you to reinstall the programs from that list?
– Svetlana Belkin
Dec 30 '13 at 14:35
Does these commands allow you to reinstall the programs from that list?
– Svetlana Belkin
Dec 30 '13 at 14:35
can this remove packages that are installed extra, at restoration?
– n611x007
May 22 '14 at 11:56
can this remove packages that are installed extra, at restoration?
– n611x007
May 22 '14 at 11:56
1
1
Can you explain the difference between
auto
and manual
? Thanks.– Anto
Jan 7 '15 at 16:33
Can you explain the difference between
auto
and manual
? Thanks.– Anto
Jan 7 '15 at 16:33
I accidentally marked as manual a bunch of other packages... is there a way to revert? Thanks
– dentex
Oct 5 '16 at 10:49
I accidentally marked as manual a bunch of other packages... is there a way to revert? Thanks
– dentex
Oct 5 '16 at 10:49
|
show 2 more comments
The selected answer to this question is incomplete and does not (or no longer) works. The painful fix is to use a bash for-loop to parse the output *.lst files and feed them to apt install
. Bad choice, though, so will not be illustrated here.
A better choice is to use apt-clone
, as seen in this answer on the Unix & Linux Stackexchange. This creates a small file (around 100K or less for my system). Allegedly, it will clone the packages with little effort or pain.
So, in short, on the original machine:
apt-clone clone `uname -n`
Then, on the machine to clone to, copy the clone file and run:
apt-clone restore original-machine-name.apt-clone.tar.gz
I include this answer here since this page turned up in initial web searches, but the other answer did not. This method looks way easier.
New contributor
add a comment |
The selected answer to this question is incomplete and does not (or no longer) works. The painful fix is to use a bash for-loop to parse the output *.lst files and feed them to apt install
. Bad choice, though, so will not be illustrated here.
A better choice is to use apt-clone
, as seen in this answer on the Unix & Linux Stackexchange. This creates a small file (around 100K or less for my system). Allegedly, it will clone the packages with little effort or pain.
So, in short, on the original machine:
apt-clone clone `uname -n`
Then, on the machine to clone to, copy the clone file and run:
apt-clone restore original-machine-name.apt-clone.tar.gz
I include this answer here since this page turned up in initial web searches, but the other answer did not. This method looks way easier.
New contributor
add a comment |
The selected answer to this question is incomplete and does not (or no longer) works. The painful fix is to use a bash for-loop to parse the output *.lst files and feed them to apt install
. Bad choice, though, so will not be illustrated here.
A better choice is to use apt-clone
, as seen in this answer on the Unix & Linux Stackexchange. This creates a small file (around 100K or less for my system). Allegedly, it will clone the packages with little effort or pain.
So, in short, on the original machine:
apt-clone clone `uname -n`
Then, on the machine to clone to, copy the clone file and run:
apt-clone restore original-machine-name.apt-clone.tar.gz
I include this answer here since this page turned up in initial web searches, but the other answer did not. This method looks way easier.
New contributor
The selected answer to this question is incomplete and does not (or no longer) works. The painful fix is to use a bash for-loop to parse the output *.lst files and feed them to apt install
. Bad choice, though, so will not be illustrated here.
A better choice is to use apt-clone
, as seen in this answer on the Unix & Linux Stackexchange. This creates a small file (around 100K or less for my system). Allegedly, it will clone the packages with little effort or pain.
So, in short, on the original machine:
apt-clone clone `uname -n`
Then, on the machine to clone to, copy the clone file and run:
apt-clone restore original-machine-name.apt-clone.tar.gz
I include this answer here since this page turned up in initial web searches, but the other answer did not. This method looks way easier.
New contributor
New contributor
answered 2 hours ago
casualcodercasualcoder
101
101
New contributor
New contributor
add a comment |
add a comment |
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');
});
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%2f101931%2frestoring-all-data-and-dependencies-from-dpkg-set-selections%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');
});
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');
});
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');
});
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
I've often wondered the same thing I generate a big shell script with a 'sudo apt-get install' with all my packages (minus libs). Of course, I run into the same problem you're having.
– Chuck R
Feb 20 '12 at 18:17
I would guess that the best place to start looking would be to check if dpkg is in fact responsible for that information. If it isn't then maybe that is apt's job.
– Huckle
Feb 20 '12 at 19:03
3
If you're going the manual way, you may be interested in
apt-mark
for saving/restoring information about automatic vs manually installed packages– Lekensteyn
Feb 24 '12 at 18:37
It's not in the 10.04 package repo, is it? Is this part of the Canonical repos or third-party?
– 0xC0000022L
Feb 24 '12 at 19:59
2
No, that's just a "for your information" comment. I'd use apt-mark (it's part of apt, so it should already be installed) to get and set the marks for the packages (see its manpage for details).
– htorque
Feb 27 '12 at 12:07