Error system perl at usr bin perl must be present before installation

CentOS 7 не удалось установить, стандартным методом драйвера компонентов интеграции VMware Tools, выскочила ошибка: usr/bin/perl bad interpreter: No such file or directory

Обновлено 16.06.2018

ошибка usr-bin-perl bad interpreter

Добрый день! Уважаемые читатели и подписчики, лучшего IT Блога России pyatilistnik.org. Давно я, что-то не писал про гипервизор VMware, все как-то больше раскрывал тему с ошибками удаленных рабочих столов, да и сам гипервизор работал стабильно. Недавно я разворачивал себе тестовый стенд и столкнулся с тем, что на CentOS 7 не удалось установить, стандартным методом драйвера компонентов интеграции VMware Tools, выскочила ошибка: usr/bin/perl bad interpreter: No such file or directory.  Которая не позволила произвести инсталляцию. Решается тут все просто, но для новичков, это может быть проблемой. Ниже я опишу алгоритм действий, что необходимо доставить.

Описание ситуации с ошибкой usr/bin/perl bad interpreter: No such file or directory

Как я и писал выше, я разворачивал тестовый стенд с виртуальными машинами на Vmware Workstation 14, так как это последний гипервизор данного типа от VMware. В качестве одной из тестовых виртуальных машин,  я установил операционную систему CentOS 7 minimal. Для того чтобы она максимально работала в тестовой среде, необходимо устанавливать компоненты интеграции VMware Tools, все это я подробно уже описывал для VMware ESXI, там принцип один в один. В момент запуска установочного файла vmware-install.pl выскочила ошибка usr/bin/perl bad interpreter: No such file or directory и установка не началась.

usr-bin-perl bad interpreter

Что такое Perl интерпритатор

Perl является скриптовым языком, с невозможностью компиляции в машинные коды, которые могли бы непосредственно выполняться на процессоре. Это создает проблему развертывания приложения на компьютере конечного пользователя. Еще сильнее эту проблему усугубляет присутствие в вашем приложении модулей из CPAN: заставить работать модуль на любой системе порой бывает проблематично.

Установка Perl интерпритатора в CentOS 7

Чтобы у нас пропала ошибка perl bad interpreter вам необходимо его установить в вашу операционную систему CentOS 7. Делается это с помощью команды Yum.

У вас будут проверены все зависимости, необходимые для установки интерпритатора.

yum install perl

Далее вы получите список пакетов которые будут у вас установлены:

  • perl-Carp
  • perl-Encode
  • perl-Exporter
  • perl-File-Path
  • perl-File-Temp
  • perl-Filter
  • perl-Getopt-Long
  • perl-HTTP-Tiny
  • perl-PathTools
  • perl-Pod-Escapes
  • perl-Pod-Perldoc
  • perl-Pod-Simple
  • perl-Pod-Usage
  • perl-Scalar-List-Utils
  • perl-Socket
  • perl-Storable
  • perl-Text-ParseWords
  • perl-Time-HiRes
  • perl-Time-Local
  • perl-constant
  • perl-libs
  • perl-macros
  • perl-parent
  • perl-podlators
  • perl-threads
  • perl-threads-shared

Список пакетов perl

В вопросе на, то согласны мы на установку перл, ставим «Y» и нажимаем Enter. У вас начнется скачивание пакетов и их инсталляция.

perl bad interprete No such file or directory

В итоге мы получили установленный Perl, теперь когда у нас с вами есть все необходимое, вы легко сможете установить пакет с драйверами VMware Tools и ошибка «usr/bin/perl bad interpreter: No such file or directory» вас не побеспокоит. Если у вас остались вопросы, то пишите их в комментариях к статье, рад буду на них ответить.

Установка perl Centos 7

Я пытался установить некоторые модули Perl на CentOS 7 и столкнулся с некоторыми проблемами. Я пробовал с yum, cpan и cpanm (с нуля всякий раз, когда пробовал другой метод), и они, кажется, были собраны правильно в соответствии с журналами установки, но когда я запускаю свой скрипт с «use Module_Name;» он возвращает проблемы с зависимостями, имеющими устаревшие версии. Одним из модулей является Date::Locale. Другой — URI::Encode. Есть ли правильный способ установки модулей Perl в CentOS 7 без настроек или ручного вмешательства?

Вывод, запрошенный ikegami в комментариях ниже:

/usr/bin/perl
/root/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi
/root/perl5/lib/perl5/5.16.3
/root/perl5/lib/perl5/x86_64-linux-thread-multi
/root/perl5/lib/perl5
/usr/local/lib64/perl5
/usr/local/share/perl5
/usr/lib64/perl5/vendor_perl
/usr/share/perl5/vendor_perl
/usr/lib64/perl5
/usr/share/perl5

PERL5LIB: /root/perl5/lib/perl5
PERL_LOCAL_LIB_ROOT: /root/perl5
PERL_MB_OPT: --install_base "/root/perl5"
PERL_MM_OPT: INSTALL_BASE=/root/perl5
cpan is /root/perl5/bin/cpan
#!/usr/bin/perl
    make               [/usr/bin/make]
    make_arg           []
    make_install_arg   []
    make_install_make_command [/usr/bin/make]
    makepl_arg         []
    mbuild_arg         []
    mbuild_install_arg []
    mbuild_install_build_command [./Build]
    mbuildpl_arg       []
Loading internal logger. Log::Log4perl recommended for better logging
Reading '/root/.cpan/Metadata'
  Database was generated on Fri, 12 Apr 2019 17:29:03 GMT
Fetching with LWP:
http://CPAN.mirror.rafal.ca/authors/01mailrc.txt.gz
Reading '/root/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with LWP:
http://CPAN.mirror.rafal.ca/modules/02packages.details.txt.gz
Reading '/root/.cpan/sources/modules/02packages.details.txt.gz'
  Database was generated on Tue, 16 Apr 2019 03:17:02 GMT
............................................................................DONE
Fetching with LWP:
http://CPAN.mirror.rafal.ca/modules/03modlist.data.gz
Reading '/root/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /root/.cpan/Metadata
URI::Encode is up to date (1.1.1).

In this article, I will take you through the steps to Install Perl 5.16 on RedHat/CentOS 7.

Perl is an interpreted, multi-platform high-level programming language developed by Larry Wall. It is the Swiss Army knife of scripting languages.

Perl 1.0 was released in 1987, and at the time of writing this article on Steps to Install Perl on RedHat/CentOS 7,  I am using version 5.16.

Also Read: How to install Python 3 on CentOS 7

Perl programming can be done by either executing Perl commands at the shell prompt or by writing them in a text file, and then executing it as a Perl Script.

Steps to Install Perl on RedHat/CentOS 7 is fairly straight forward. In next article, i will take you through another method to install perl on CentOS.

Before we go through the steps to install Perl on RedHat/CentOS 7, you need to have the prerequisites in place.

Prerequisites

You need to have a running RedHat/CentOS 7 System with root access. Below are the minimum CPU and Memory configuration required:-

Processor: 1CPU
Memory: 1GB

Best Steps to Install Perl on RedHat/CentOS 7 1

Update System

Firstly we need to update the system through yum update command as shown below.

[root@localhost ~]# yum update
Loaded plugins: fastestmirror
Determining fastest mirrors
* base: centos.excellmedia.net
* extras: centos.excellmedia.net
* updates: centos.excellmedia.net
base | 3.6 kB 00:00
extras | 2.9 kB 00:00
updates | 2.9 kB 00:00
updates/7/x86_64/primary_db | 1.9 MB 00:00
Resolving Dependencies
--> Running transaction check
---> Package kernel.x86_64 0:3.10.0-1062.1.2.el7 will be installed
---> Package kernel-tools.x86_64 0:3.10.0-1062.1.1.el7 will be updated
---> Package kernel-tools.x86_64 0:3.10.0-1062.1.2.el7 will be an update
---> Package kernel-tools-libs.x86_64 0:3.10.0-1062.1.1.el7 will be updated
---> Package kernel-tools-libs.x86_64 0:3.10.0-1062.1.2.el7 will be an update
---> Package python-perf.x86_64 0:3.10.0-1062.1.1.el7 will be updated
---> Package python-perf.x86_64 0:3.10.0-1062.1.2.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================================================================
Package Arch Version Repository Size
========================================================================================================================================================================
Installing:
kernel x86_64 3.10.0-1062.1.2.el7 updates 50 M
Updating:
kernel-tools x86_64 3.10.0-1062.1.2.el7 updates 7.8 M
kernel-tools-libs x86_64 3.10.0-1062.1.2.el7 updates 7.7 M
python-perf x86_64 3.10.0-1062.1.2.el7 updates 7.8 M

Transaction Summary
========================================================================================================================================================================
Install 1 Package
Upgrade 3 Packages

Total download size: 73 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/4): kernel-tools-3.10.0-1062.1.2.el7.x86_64.rpm | 7.8 MB 00:00:02
(2/4): kernel-tools-libs-3.10.0-1062.1.2.el7.x86_64.rpm | 7.7 MB 00:00:01
(3/4): python-perf-3.10.0-1062.1.2.el7.x86_64.rpm | 7.8 MB 00:00:01
(4/4): kernel-3.10.0-1062.1.2.el7.x86_64.rpm | 50 MB 00:00:11
------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Install Perl Package

Once System is fully updated, you can install perl package through yum install perl command as shown below.

[root@localhost ~]# yum install perl
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.excellmedia.net
* extras: centos.excellmedia.net
* updates: centos.excellmedia.net
Resolving Dependencies
--> Running transaction check
---> Package perl.x86_64 4:5.16.3-294.el7_6 will be installed
--> Processing Dependency: perl-libs = 4:5.16.3-294.el7_6 for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(Socket) >= 1.3 for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(Scalar::Util) >= 1.10 for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl-macros for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl-libs for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(threads::shared) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(threads) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(constant) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(Time::Local) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(Time::HiRes) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(Storable) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(Socket) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(Scalar::Util) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(Pod::Simple::XHTML) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(Pod::Simple::Search) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(Getopt::Long) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(Filter::Util::Call) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(File::Temp) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(File::Spec::Unix) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(File::Spec::Functions) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(File::Spec) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(File::Path) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(Exporter) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(Cwd) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: perl(Carp) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Processing Dependency: libperl.so()(64bit) for package: 4:perl-5.16.3-294.el7_6.x86_64
--> Running transaction check
---> Package perl-Carp.noarch 0:1.26-244.el7 will be installed
---> Package perl-Exporter.noarch 0:5.68-3.el7 will be installed
---> Package perl-File-Path.noarch 0:2.09-2.el7 will be installed
---> Package perl-File-Temp.noarch 0:0.23.01-3.el7 will be installed
---> Package perl-Filter.x86_64 0:1.49-3.el7 will be installed
---> Package perl-Getopt-Long.noarch 0:2.40-3.el7 will be installed
--> Processing Dependency: perl(Pod::Usage) >= 1.14 for package: perl-Getopt-Long-2.40-3.el7.noarch
--> Processing Dependency: perl(Text::ParseWords) for package: perl-Getopt-Long-2.40-3.el7.noarch
---> Package perl-PathTools.x86_64 0:3.40-5.el7 will be installed
---> Package perl-Pod-Simple.noarch 1:3.28-4.el7 will be installed
--> Processing Dependency: perl(Pod::Escapes) >= 1.04 for package: 1:perl-Pod-Simple-3.28-4.el7.noarch
--> Processing Dependency: perl(Encode) for package: 1:perl-Pod-Simple-3.28-4.el7.noarch
---> Package perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 will be installed
---> Package perl-Socket.x86_64 0:2.010-4.el7 will be installed
---> Package perl-Storable.x86_64 0:2.45-3.el7 will be installed
---> Package perl-Time-HiRes.x86_64 4:1.9725-3.el7 will be installed
---> Package perl-Time-Local.noarch 0:1.2300-2.el7 will be installed
---> Package perl-constant.noarch 0:1.27-2.el7 will be installed
---> Package perl-libs.x86_64 4:5.16.3-294.el7_6 will be installed
---> Package perl-macros.x86_64 4:5.16.3-294.el7_6 will be installed
---> Package perl-threads.x86_64 0:1.87-4.el7 will be installed
---> Package perl-threads-shared.x86_64 0:1.43-6.el7 will be installed
--> Running transaction check
---> Package perl-Encode.x86_64 0:2.51-7.el7 will be installed
---> Package perl-Pod-Escapes.noarch 1:1.04-294.el7_6 will be installed
---> Package perl-Pod-Usage.noarch 0:1.63-3.el7 will be installed
--> Processing Dependency: perl(Pod::Text) >= 3.15 for package: perl-Pod-Usage-1.63-3.el7.noarch
--> Processing Dependency: perl-Pod-Perldoc for package: perl-Pod-Usage-1.63-3.el7.noarch
---> Package perl-Text-ParseWords.noarch 0:3.29-4.el7 will be installed
--> Running transaction check
---> Package perl-Pod-Perldoc.noarch 0:3.20-4.el7 will be installed
--> Processing Dependency: perl(parent) for package: perl-Pod-Perldoc-3.20-4.el7.noarch
--> Processing Dependency: perl(HTTP::Tiny) for package: perl-Pod-Perldoc-3.20-4.el7.noarch
---> Package perl-podlators.noarch 0:2.5.1-3.el7 will be installed
--> Running transaction check
---> Package perl-HTTP-Tiny.noarch 0:0.033-3.el7 will be installed
---> Package perl-parent.noarch 1:0.225-244.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================================================================
Package Arch Version Repository Size
========================================================================================================================================================================
Installing:
perl x86_64 4:5.16.3-294.el7_6 base 8.0 M
Installing for dependencies:
perl-Carp noarch 1.26-244.el7 base 19 k
perl-Encode x86_64 2.51-7.el7 base 1.5 M
perl-Exporter noarch 5.68-3.el7 base 28 k
perl-File-Path noarch 2.09-2.el7 base 26 k
perl-File-Temp noarch 0.23.01-3.el7 base 56 k
...................

Verify the Package

Once the perl package is installed, you can verify it through rpm database by using rpm -qa command.

[root@localhost ~]# rpm -qa | grep -i perl-5.16
perl-5.16.3-294.el7_6.x86_64

Check Perl Version

Since the package is installed now, you can check the Perl version through perl -v command.

[root@localhost ~]# perl -v

This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi
(with 39 registered patches, see perl -V for more detail)

Write your first Perl Script

Let’s write one simple Perl script printing hello world.

[root@localhost ~]# cat HelloWorld.pl
#!/usr/bin/perl
use warnings;
print("Hello Worldn");

Check the Output

As you can see above script can be run by using perl HelloWorld.pl command which gives us the output Hello World as expected.

[root@localhost ~]# perl HelloWorld.pl
Hello World

Also Read: Constructors in C++

Reference: Perl Documentation

In the next article, i will show you how to install Perl on Windows and Mac.

  • #1

I upgraded the host node, from debian 7 (wheezy) to 8 (jessie).
Debian 7 has been running proxmox 3.x for some time, with 2-3 openvz containers.
I upgraded to debian 8.
Now apt in debian jessie 8 wants to upgrade to proxmox 4.x
So I consulted the guide here:
https://pve.proxmox.com/wiki/Convert_OpenVZ_to_LXC
And i learn that I did the upgrade of the operating system too early.
Supposedly, you take backups of the containers, manually uninstall proxmox 3.x, then upgrade the operating system to debian 8.
The new proxmox 4.x deb package cannot upgrade itself and backup your containers and convert your containers to lxc format all for you….
Now the debian 8 operating system working, but perl is not fully running!
perl is missing some includes.
vzdump won’t run!
pvesm won’t run!
vzctl is running fine and containers can start and stop fine.
I’m looking for suggestion on how to safely backup the stopped containers, from the command line, without perl, without vzdump, only running basic system commands.
Can you just tar/gz the container folder in /var/lib/vz/private ???
Or, is there a php version of vzdump that is able to run from the command line?
Any suggestions, to fix the system as it is currently, with minimal effort, are welcome.

Code:

# pvesm status
Can't locate File/Path.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/
5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/per
l/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /usr/sbin/pvesm line
7.
BEGIN failed--compilation aborted at /usr/sbin/pvesm line 7.
#

Code:

# vzdump 114 --storage local
Can't locate File/Basename.pm in @INC (@INC contains: /etc/perl /usr/local/lib/p
erl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib
/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl) at /usr/share/perl5/PV
E/SafeSyslog.pm line 5.
BEGIN failed--compilation aborted at /usr/share/perl5/PVE/SafeSyslog.pm line 5.
Compilation failed in require at /usr/bin/vzdump line 4.
BEGIN failed--compilation aborted at /usr/bin/vzdump line 4.
#

Code:

# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
clvm : Depends: libdlm3 but it is not installed
init-system-helpers : Depends: perl-base (>= 5.20.1-3) but 5.14.2-21+deb7u4 is
installed
libanyevent-perl : Depends: perlapi-5.20.0
                    Recommends: libasync-interrupt-perl but it is not installed
                    Recommends: libguard-perl but it is not installed
libapache2-mod-perl2 : Depends: perlapi-5.20.2
                        Recommends: libbsd-resource-perl but it is not installed
                        Recommends: libapache2-reload-perl but it is not install
ed
libapache2-request-perl : Depends: perlapi-5.20.0
libapparmor-perl : Depends: perl-base (>= 5.20.1-3) but 5.14.2-21+deb7u4 is ins
talled
                    Depends: perlapi-5.20.1
libcommon-sense-perl : Depends: perlapi-5.20.2
libcrypt-ssleay-perl : Depends: perlapi-5.20.0
libperl5.20 : Depends: perl-base (= 5.20.2-3+deb8u6) but 5.14.2-21+deb7u4 is in
stalled
librados2-perl : Depends: perlapi-5.20.0
libterm-readline-gnu-perl : Depends: perlapi-5.20.0
libtext-charwidth-perl : Depends: perl-base (>= 5.20.0-4) but 5.14.2-21+deb7u4
is installed
                          Depends: perlapi-5.20.0
lsof : Depends: libperl4-corelibs-perl but it is not installed or
                 perl (< 5.12.3-7) but 5.20.2-3+deb8u6 is installed
perl : Depends: perl-base (= 5.20.2-3+deb8u6) but 5.14.2-21+deb7u4 is installed
        Recommends: rename but it is not installed
perl-modules : Depends: perl-base (>= 5.20.2-3+deb8u6) but 5.14.2-21+deb7u4 is
installed
                Recommends: libarchive-extract-perl but it is not installed
                Recommends: libmodule-pluggable-perl but it is not installed
                Recommends: libpod-latex-perl but it is not installed
                Recommends: libterm-ui-perl but it is not installed
                Recommends: libtext-soundex-perl but it is not installed
                Recommends: libcgi-pm-perl but it is not installed
                Recommends: libmodule-build-perl but it is not installed
                Recommends: libpackage-constants-perl but it is not installed
pve-cluster : Depends: perlapi-5.20.0
python : Depends: python-minimal (= 2.7.3-4+deb7u1) but 2.7.9-1 is installed
update-inetd : Depends: libfile-temp-perl
W: Duplicate sources.list entry http://security.debian.org/ jessie/updates/main
amd64 Packages (/var/lib/apt/lists/security.debian.org_dists_jessie_updates_main
_binary-amd64_Packages)
W: Duplicate sources.list entry http://security.debian.org/ jessie/updates/contr
ib amd64 Packages (/var/lib/apt/lists/security.debian.org_dists_jessie_updates_c
ontrib_binary-amd64_Packages)
W: You may want to run apt-get update to correct these problems
E: Unmet dependencies. Try using -f.
#

Code:

# apt-get -f upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages will be REMOVED:
  proxmox-ve-2.6.32 pve-manager redhat-cluster-pve resource-agents-pve
The following NEW packages will be installed:
  criu libdlm3 libio-socket-inet6-perl libperl4-corelibs-perl libprotobuf9
  libsocket6-perl lxc-pve lxcfs netcat6 pve-container pve-docs python-ipaddr
  python-protobuf
The following packages have been kept back:
  aptitude aptitude-common base-passwd bind9-host cifs-utils curl db5.1-util
  dnsutils fakeroot gettext gir1.2-gdkpixbuf-2.0 gir1.2-gtk-3.0
  gir1.2-pango-1.0 gnuplot gnuplot-x11 ipset isc-dhcp-client isc-dhcp-common
  libasound2 libasprintf0c2 libblas3 libcurl3 libcurl3-gnutls
  libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgettextpo0 libglade2-0
  libgoogle-perftools4 libgpgme11 libgtk-3-0 libgtk-3-bin libgtk-3-common
  libgtk2.0-0 libgtk2.0-bin libhttp-message-perl libjasper1 libnet-ldap-perl
  libnss-winbind libosmesa6 libpam-winbind libpango1.0-0 libpve-common-perl
  libpve-storage-perl librrd4 libsasl2-2 libtcmalloc-minimal4 libv4l-0
  libv4lconvert0 libvncserver0 libwbclient0 mutt nmap openssh-client
  openssh-server policykit-1 procps pve-libspice-server1 pve-qemu-kvm
  python-glade2 python-gtk2 python-oauthlib python-openssl python-pycurl
  python-requests python-soappy rrdcached samba-common samba-common-bin
  smbclient ssh sysvinit texinfo ttf-dejavu ttf-dejavu-core ttf-dejavu-extra
  vzctl wget winbind
The following packages will be upgraded:
  apt apt-transport-https apt-utils at bsdutils build-essential cron dbus
  dstat gdisk gir1.2-atk-1.0 glusterfs-client glusterfs-common initramfs-tools
  iputils-arping iputils-ping ksm-control-daemon libalgorithm-diff-xs-perl
  libapt-pkg-perl libapt-pkg4.12 libatk1.0-0 libatk1.0-data libauthen-pam-perl
  libcrypt-openssl-bignum-perl libcrypt-openssl-random-perl
  libcrypt-openssl-rsa-perl libcups2 libcwidget3 libdevmapper-event1.02.1
  libept1.4.12 libev-perl libfile-fcntllock-perl libfile-sync-perl
  libfilesys-df-perl libgnutls-openssl27 libgudev-1.0-0 libhtml-parser-perl
  libio-socket-ssl-perl libjson-perl libjson-xs-perl libjson0 libldap-2.4-2
  liblinux-inotify2-perl liblocale-gettext-perl liblvm2app2.2 libnet-dns-perl
  libnet-ssleay-perl libpam-modules libpam-modules-bin libpam0g libparted2
  libpolkit-agent-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0 libpulse0
  librrds-perl libsemanage-common libsemanage1 libsnmp-base libsocket-perl
  libssh2-1 libtext-iconv-perl libusb-1.0-0 libuuid-perl libxapian22
  libxml-parser-perl libxslt1.1 login lynx lynx-cur parted passwd perl-base
  postfix pve-firewall python python-apt python-chardet python-crypto
  python-debian python-gevent python-gobject python-gobject-2 python-numpy
  python-pexpect python-pkg-resources python-reportbug python-six python-suds
  qemu-server reportbug shared-mime-info smartmontools util-linux uuid-runtime
  vlan vncterm xsltproc
98 upgraded, 13 newly installed, 4 to remove and 78 not upgraded.
107 not fully installed or removed.
Need to get 36.5 kB/32.8 MB of archives.
After this operation, 10.5 MB of additional disk space will be used.
Do you want to continue [Y/n]? n

Any suggestion to get vzdump to work?? It says missing File/Basename.pm ….

Last edited: Sep 1, 2016

  • #2

You can tar.gz the OpenVZ private data and try to convert to LXC manually — or restore to another Proxmox VE 3.x and then make backups.

BTW:
Why on earth are you upgrading your system without backups or without even considering reading the documentation on this before upgrading?

tom

tom

Proxmox Staff Member


  • #4

You can tar.gz the OpenVZ private data and try to convert to LXC manually — or restore to another Proxmox VE 3.x and then make backups.

BTW:
Why on earth are you upgrading your system without backups or without even considering reading the documentation on this before upgrading?

@LnxBill thanks for the tips those are good ones to try.
Upgraded to debian 8 jessie OS while proxmox 3 was still fully installed, before reading the proxmox documentation, because all previous upgrades of proxmox packages were very automatic.

Suddenly jessie upgrade completes, reboot, and see massive list of packages to install and remove, including to remove, some important pve and proxmox named packages.

Continue yes no. No! Luckily, to search and read the proxmox docs on upgrade to 4.x.

Saying Yes at that point might’ve destroyed the openvz servers which contain some important data.

Proxmox upgrade docs say, the upgrade from proxmox 3 to 4 is a highly manual upgrade procedure, many major steps all of which must be followed correctly, if not, data loss may occur.

Would be great if this proxmox upgrade could be scripted so as to reduce or eliminate the possibilty of error.

Running a very simple proxmox setup, one machine only, a couple of openvz containers, no clustering, no fancy stuff, and one production openvz server inside it.

  • #5

Read the upgrade guide only after the OS was upgraded to debian jessie 8. :eek:

It says, to run vzdump to backup the openvz containers, and THEN to upgrade of the OS. :(

In debian jessie 8, vzdump fails to run, due to a missing perl module, File/Basename.pm …

Queston, is it possible to cleanly add the missing perl modules needed by vzdump, such as File/Basename.pm and any others, so that vzdump will run and properly backup the openvz containers, from inside the new debian jessie 8 OS?

  • #6

Normally, the file is in perl-base in Jessie:

Code:

$ apt-file search File/Basename.pm
perl-base: /usr/share/perl/5.20.2/File/Basename.pm

Just install another Proxmox 3 machine somewhere (even inside Proxmox 4) and move your containers manually including the config in your current, broken /etc/pve/openvz and try to get the machines running there. Afterwards do a backup inside your Proxmox 3 and import in Proxmox 4.

  • #7

Normally, the file is in perl-base in Jessie:

Code:

$ apt-file search File/Basename.pm
perl-base: /usr/share/perl/5.20.2/File/Basename.pm

Just install another Proxmox 3 machine somewhere (even inside Proxmox 4) and move your containers manually including the config in your current, broken /etc/pve/openvz and try to get the machines running there. Afterwards do a backup inside your Proxmox 3 and import in Proxmox 4.

Sounds good in theory but in practicality, is there’s a massive catch.
There’s only one physical bare metal server at the location, and that’s the server which is running the broken proxmox 3 on debian jessie 8 as the host.
Inside proxmox 3 is the production openvz container which is about 250GB and still running OK.
Would rather not have to upload 250GB over the internet to another 3.x server machine just to run vzdump inside a non-broken proxmox 3 instance, if it were possible to do vzdump locally, inside the physical debian 8 jessie machine.

Is it possible?

Can you install a kvm machine inside the broken proxmox 3 debian 8 physical server?
Enter into that, and install in there debian 7 wheezy, onto which you install proxmox 3.x inside the kvm guest?
Then can you just locally copy over the 250GB container in /var/lib/vz/private/id from the production openvz container to the new perfect kvm running proxmox 3.x?
Then run vzdump inside the kvm holding the new proxmox 3.x instance, thereby creating a third copy of the 250GB instance?
Aand move that vzdump to the side, then blow away the kvm running 3.x, uninstall the broken 3.x running on the host physical node according to the 4.x upgrade guide, trying hard not to miss anything?
Finally convert the vzdump of the openvz container to LXC container as the guide details?

Suggestions or better shortcuts would be appreciated…

  • #8

Yeah, one could do all you said, yet I don’t know and probably nobody will, due to the uniqueness of your problem.

You could try to only migrate the OS part of your OpenVZ container, e.g. exclude the database of users or wherever you have all your data in that instance. Yet in the end, you have to try for yourself. Better try on a non-critical installation (e.g. another Proxmox VE) and not on your still somehow working Proxmox VE 3 on Jessie thing.

Понравилась статья? Поделить с друзьями:
  • Error system locked bios lenovo
  • Error system locked bios acer
  • Error system fan has failed как исправить
  • Error system fan has failed service pc to prevent damage to the system
  • Error system fan has failed f2 как убрать