You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
6.4KB

  1. # -*- coding: utf-8 -*-
  2. import os
  3. import time
  4. if os.getuid() != 0:
  5. print("Operation not permitted!")
  6. print("Use SuperUser to run the script!")
  7. exit(-1)
  8. print("\n\n\n")
  9. baseAmeyoPackageList = ["", "lvm2","grub2-common","grub2","setup","openssh-server","basesystem","lshw","ncurses-base","audit","tzdata","kernel","glibc-common","irqbalance","nspr","rsyslog","libstdc++","biosdevname","bash","dracut-config-rescue","pcre","sg3_utils","zlib","man-db","xz-libs","sudo","libuuid","xfsprogs","bzip2-libs","kernel-tools","chkconfig","iwl2030-firmware","readline","iwl7260-firmware","gawk","iwl4965-firmware","libattr","iwl135-firmware","libcap","ivtv-firmware","audit-libs","iwl6000-firmware","libffi","iwl6000g2b-firmware","libxml2","iwl6000g2a-firmware","expat","iwl1000-firmware","lua","which","libnl3","file","libaio","nss-softokn","libassuan","e2fsprogs-libs","libgomp","libidn","jansson","sysvinit-tools","tcp_wrappers-libs","gdbm","ethtool","pciutils-libs","newt","iptables","less","device-mapper-persistent-data","ipset","vim-minimal","bc","pinentry","kmod-libs","libpng","libselinux-utils","ncurses","gmp","kernel-tools-libs","libverto","libsemanage","p11-kit-trust","coreutils","openssl-libs","python-libs","shadow-utils","cracklib","libmount","shared-mime-info","cracklib-dicts","pam","gettext-libs","pkgconfig","gobject-introspection","libutempter","pyliblzma","python-schedutils","python-configobj","libselinux-python","pyxattr","mariadb-libs","openssl","fipscheck","nss-pem","nss-sysinit","libcurl","rpm-libs","openldap","python-pycurl","binutils","alsa-lib","hardlink","libdaemon","dmidecode","libestr","libseccomp","json-c","libsmartcols","device-mapper","util-linux","cryptsetup-libs","kmod","systemd-libs","systemd","elfutils-default-yama-scope","polkit-pkla-compat","initscripts","device-mapper-event-libs","policycoreutils","os-prober","cronie-anacron","crontabs","NetworkManager-libnm","dhcp-common","dracut-network","grub2-pc","libdrm","device-mapper-event","wpa_supplicant","ebtables","alsa-firmware","teamd","dbus-python","python-firewall","plymouth-scripts","python-pyudev","pth","rpm-build-libs","gpgme","yum-plugin-fastestmirror","kbd-misc","firewalld","tuned","NetworkManager-tui","libgcc","selinux-policy-targeted","centos-release","kexec-tools","filesystem","openssh-clients","grub2-pc-modules","authconfig","kbd-legacy","postfix","nss-softokn-freebl","chrony","glibc","qemu-guest-agent","nss-util","microcode_ctl","ncurses-libs","aic94xx-firmware","libsepol","parted","libselinux","iprutils","info","passwd","libcom_err","btrfs-progs","sed","e2fsprogs","popt","libsysfs","libdb","iwl105-firmware","grep","rootfiles","elfutils-libelf","iwl5000-firmware","libacl","iwl6050-firmware","libcap-ng","iwl3945-firmware","libgpg-error","iwl3160-firmware","libgcrypt","iwl100-firmware","cpio","iwl5150-firmware","sqlite","iwl2000-firmware","findutils","diffutils","file-libs","libmnl","libnl3-cli","p11-kit","groff-base","xz","libunistring","libedit","libnfnetlink","hostname","lzo","lz4","keyutils-libs","slang","libnetfilter_conntrack","iproute","libteam","ipset-libs","acl","tar","libdb-utils","libss","make","freetype","linux-firmware","mozjs17","snappy","libndp","ustr","libtasn1","ca-certificates","krb5-libs","libblkid","python","gzip","python-decorator","glib2","libcroco","libpwquality","cyrus-sasl-lib","gettext","yum-metadata-parser","python-gobject-base","python-iniparse","newt-python","python-perf","python-linux-procfs","python-slip","grubby","bind-export-libs","libssh2","fipscheck-lib","nss","nss-tools","curl","rpm","libuser","python-urlgrabber","centos-logos","logrotate","libfastjson","qrencode-libs","libpipeline","lsscsi","numactl-libs","sg3_utils-libs","procps-ng","kpartx","device-mapper-libs","dracut","elfutils-libs","dbus-libs","dbus","polkit","iputils","systemd-sysv","grub2-tools-minimal","hwdata","grub2-tools","cronie","dhcp-libs","openssh","dhclient","grub2-tools-extra","libpciaccess","selinux-policy","lvm2-libs","NetworkManager","fxload","alsa-tools-firmware","dbus-glib","python-slip-dbus","plymouth-core-libs","plymouth","virt-what","gnupg2","rpm-python","pygpgme","yum","firewalld-filesystem","kbd","NetworkManager-team"]
  10. os.system("rpm -qa --qf '%{NAME},' > /tmp/pkgFile")
  11. packageFile = open("/tmp/pkgFile", "r")
  12. packagesInstalled = packageFile.read()
  13. packagesInstalledList = packagesInstalled.split(",")
  14. remove = False
  15. command = "yum -y remove"
  16. for package in packagesInstalledList:
  17. if package not in baseAmeyoPackageList:
  18. remove = True
  19. command = command + " " + package
  20. if remove:
  21. print(command)
  22. time.sleep(10)
  23. os.system(command)
  24. else:
  25. print("No package removal is required")
  26. os.system("yum -y install epel-release yum-utils")
  27. os.system("yum -y install rpmconf")
  28. os.system("rpmconf -a")
  29. os.system("yum -y remove libsysfs-2.1.0-16.el7.x86_64")
  30. os.system("package-cleanup --leaves")
  31. os.system("package-cleanup --orphans")
  32. os.system("yum -y install dnf")
  33. os.system("dnf -y remove yum yum-metadata-parser")
  34. os.system("rm -Rvf /etc/yum")
  35. os.system("rm -rvf /etc/yum/protected.d")
  36. os.system("rm -rvf /etc/yum/vars")
  37. os.system("dnf makecache")
  38. os.system("dnf -y upgrade")
  39. os.system("dnf -y install http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/{centos-linux-repos-8-2.el8.noarch.rpm,centos-linux-release-8.4-1.2105.el8.noarch.rpm,centos-gpg-keys-8-2.el8.noarch.rpm}")
  40. os.system("dnf -y install http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/{centos-linux-repos-8-2.el8.noarch.rpm,centos-linux-release-8.4-1.2105.el8.noarch.rpm,centos-gpg-keys-8-2.el8.noarch.rpm}")
  41. os.system("dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm")
  42. os.system("rpm -ev `rpm -q kernel`")
  43. os.system("rpm -ev --nodeps sysvinit-tools")
  44. os.system("dnf -y remove iprutils-2.4.17.1-3.el7_7.x86_64 initscripts-9.49.53-1.el7_9.1.x86_64 python36-rpmconf-1.0.22-1.el7.noarch")
  45. os.system("dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync")
  46. os.system("dnf -y install kernel-core")
  47. os.system("rm -rf /etc/yum/protected.d")
  48. os.system("rm -rf /etc/yum/vars")
  49. os.system("dnf -y groupupdate \"Core\" \"Minimal Install\"")
  50. os.system("rm -rf /etc/yum/protected.d")
  51. os.system("rm -rf /etc/yum/vars")
  52. os.system("dnf -y install yum")
  53. os.system("curl -O https://raw.githubusercontent.com/oracle/centos2ol/main/centos2ol.sh")
  54. os.system("bash centos2ol.sh")
  55. os.system("grub2-mkconfig –o /boot/grub2/grub.cfg")
  56. os.system("yum -y remove openssh*")
  57. os.system("yum -y install openssh*")
  58. os.system("systemctl enable --now sshd")