Okay, so what is the proper way to update a Parrot Security Edition virtual machine?

– Please Write here your help request –
The first time I run sudo parrot-upgrade several packages are removed, a few packages are downgraded, and a handful are held back. The second time I run sudo parrot-upgrade, a numerous flunkton of packages are ‘no longer needed’, many of them looking like they are rather important, a numerous flunkton of new packages are installed, and one kernel package remains permanently held back.

So how exactly do I update Parrot without leaving parrot-mate, lshw-gtk, and various other rather important looking apps I can’t remember off the top of my head up for grabs by apt autoremove?


  • ParrotOS iso in use:
    Parrot-security-4.11.3_virtual.ova

  • Application used for flashing the iso:
    VirtualBox

  • Logs/Terminal output (use pastebin or similar services):
    Here’s a paste that demonstrates the sheer quantity of packages my system currently thinks I don’t need: https://termbin.com/95lb

  • Screenshots:

At the top of the screen, the Firefox icon is no longer there, next to the terminal and Pluma launchers. https://files.catbox.moe/buk8u9.png

Hello. Usually this problem when installing some software that creates dependency problems. How long have you been updated Parrot?

During the recent upgrades, it is possible that you were asked to accept the new maintainer’s repositories, did you notice it?

I’m having the exact same problem, only it’s with Parrot-KDE and I installed it from the iso into the virtual machine. I used Parrot-kde-security-4.11.3_amd64.iso and this is the first time that I have installed Parrot and the only other thing I’ve done is run apt upgrade.

my parrot.list is:

## Parrot 4.x Repositories
deb https://deb.parrot.sh/parrot rolling main contrib non-free
deb https://deb.parrot.sh/parrot rolling-security main contrib non-free

everything else is commented out.

and the output from apt full-upgrade is:

apt full-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  coinor-libcbc3 coinor-libcgl1 coinor-libclp1 coinor-libcoinmp1v5
  coinor-libcoinutils3v5 coinor-libosi1v5 figlet fonts-opensymbol insserv
  libabw-0.1-1 libboost-locale1.74.0 libbox2d2.3.0 libcdr-0.1-1
  libclucene-contribs1v5 libclucene-core1v5 libct4 libe-book-0.1-1 libeot0
  libepubgen-0.1-1 libetonyek-0.1-1 libexttextcat-2.0-0 libexttextcat-data
  libfreehand-0.1-1 libio-pty-perl libipc-run-perl liblangtag-common
  liblangtag1 libmotif-common libmspub-0.1-1 libmwaw-0.3-3 libmythes-1.2-0
  libnumbertext-1.0-0 libnumbertext-data libodfgen-0.1-1 liborcus-0.16-0
  liborcus-parser-0.16-0 libpagemaker-0.0-0 libqxp-0.0-0 libraptor2-0
  librasqal3 librdf0 libreoffice-common libreoffice-style-colibre
  librevenge-0.0-0 libstaroffice-0.0-0 libuno-cppu3
  libuno-cppuhelpergcc3-3 libuno-purpenvhelpergcc3-3 libuno-sal3
  libuno-salhelpergcc3-3 libvisio-0.1-1 libwpd-0.10-10 libwpg-0.3-3
  libwps-0.4-4 libxm4 libxmlsec1-nss libyajl2 libzmf-0.0-0 lp-solve
  moreutils sqsh startpar sysv-rc uno-libs-private ure
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  apt-parrot libreoffice-base-core libreoffice-calc libreoffice-core
  libreoffice-draw libreoffice-impress libreoffice-math libreoffice-writer
  parrot-core passing-the-hash python3-uno winexe
The following packages have been kept back:
  gir1.2-javascriptcoregtk-4.0 gir1.2-webkit2-4.0
  libjavascriptcoregtk-4.0-18
The following packages will be upgraded:
  apache2 apache2-bin apache2-data apache2-utils bsdextrautils bsdutils
  cryptsetup cryptsetup-bin cryptsetup-initramfs cryptsetup-run eject
  fdisk firefox-esr ghostscript ipython3 libapache2-mod-php7.4
  libblkid-dev libblkid1 libcryptsetup12 libexpat1 libexpat1-dev libfdisk1
  libgs9 libgs9-common libldb2 libmount-dev libmount1 libnss3 libpq5
  libruby2.7 libsasl2-2 libsasl2-modules libsasl2-modules-db libsmartcols1
  libsmbclient libssl1.1 libtomcat9-java liburiparser1 libuuid1
  libwbclient0 libwireshark-data libwireshark14 libwiretap11 libwsutil12
  lighttpd lighttpd-mod-deflate lighttpd-mod-openssl mount openjdk-11-jdk
  openjdk-11-jdk-headless openjdk-11-jre openjdk-11-jre-headless openssl
  php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline
  php7.4-sqlite3 postgresql-13 postgresql-client-13 python3-ipython
  python3-ldb python3-lxml python3-pil python3-samba redis-server
  redis-tools rfkill ruby2.7 ruby2.7-dev ruby2.7-doc samba samba-common
  samba-common-bin samba-dsdb-modules samba-libs samba-vfs-modules
  smbclient tshark util-linux uuid-dev uuid-runtime wireshark
  wireshark-common wireshark-qt xserver-common xserver-xorg-core
  xserver-xorg-legacy xvfb zsh zsh-common
The following packages will be DOWNGRADED:
  fonts-opensymbol gir1.2-polkit-1.0 libperl5.32 libpolkit-agent-1-0
  libpolkit-gobject-1-0 libreoffice-common libreoffice-style-colibre
  libuno-cppu3 libuno-cppuhelpergcc3-3 libuno-purpenvhelpergcc3-3
  libuno-sal3 libuno-salhelpergcc3-3 linux-compiler-gcc-10-x86
  linux-libc-dev perl perl-base perl-modules-5.32 policykit-1
  uno-libs-private ure
92 upgraded, 0 newly installed, 20 downgraded, 12 to remove and 3 not upgraded.
Need to get 459 MB of archives.
After this operation, 245 MB disk space will be freed.
Do you want to continue? [Y/n]

The packages for removal look rather important.

If you want to upgrade to Parrot 5.0, use

sudo apt update

sudo apt install parrot-core

sudo parrot-upgrade

Is the parrot-core requirement posted anywhere and I missed it?

Something posted by one of the developers on the (Official) Parrot Facebook group a few weeks ago. I used it to upgrade after a fresh install of 4.1.13 (and after parrot-upgrade) in both VMware and KVM guests.

Do I have to use Facebook in order to get important news about Parrot OS? I feel like there is a decently sized midsection in the Venn Diagram of people who use Parrot OS and people who are not particularly fans of Facebook.

Yeah, a pinned post here with that instruction would be a good idea, or perhaps making parrot-core a required package so it’s always installed during a parrot-upgrade or apt full-upgrade. (I also wasn’t a fan of it automatically switching to full-upgrade because it’s a testing distro, I haven’t used Debian testing in awhile, so I don’t know if that’s normal behaviour, but I’d have preferred either a “Did you mean…?” message or an interaction asking me if I wanted to switch. But with 5.0 it’s moot anyway)