I want to switch distro (from one Debian based distro to another, both use apt) and I have been looking for a way to easily reinstall all the programs/applications/languages that I have installed at the moment. I could only find instructions on how to keep my data, but that's the easy part.

How can I get a list of all installed packages, preferably in such a way that I can pass it to apt so that it installs the correct version of each package, if it's available on the new distro?

closed as too broad by Rui F Ribeiro, DopeGhoti, garethTheRed, Jeff Schaller, GAD3R May 29 '18 at 20:28

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 8
    Related: unix.stackexchange.com/a/399627/170373 and the quote from the Kali website: "it is NOT a recommended distribution if you’re looking for a general-purpose Linux desktop distribution" – ilkkachu May 29 '18 at 19:54
  • 1
    "I want to switch distro (from elementary to kali) ". Why? Some elements have no direct equivalent. ElementaryOS uses Pantheon as Desktop Environment. Kali Linux does not have Pantheon. – user8779 May 29 '18 at 20:00
  • 5
    If you need guidance on getting a list of all installed packages, it's entirely possible that Kali Linux is probably not for you. – DopeGhoti May 29 '18 at 20:02
  • Anyone who can actually answer the question, if it's that easy? I have used Kali before and I know what I'm doing. I was looking for some quick help instead of figuring it out on my own. Also, as I found no answer so far, this could be a nice reference point for anyone switching distros, not just to or from Kali. – iuvbio May 29 '18 at 21:11
  • 2
    The quick answer is that you don't. Switching entire distributions is a big deal, and they typically provide very different packages/versions, offer the same packages by different names, or use different formats entirely. If you want your applications to be agnostic of your system, consider the use of containerization or "snaps". Otherwise, you're dancing in a field of rakes. – Spooler May 29 '18 at 22:00

Browse other questions tagged or ask your own question.