当前位置: 首页 > news >正文

如何使用configure脚本安装PBS

                                        如何使用configure脚本安装PBS

  • 0. 禁用SELinux

             OpenPBS不支持SELinux。启用SELinux后,初始启动失败 数据存储权限错误。您也可以定义适当的策略,但它是 超出了本指南的范围。

  • 1. 安装构建PBS所需的必备软件包

           对于CentOS-8系统,应该配置并启用powertools hwloc-devel和libedit-devel包的Repo。

            以root用户运行以下命令:

                    dnf install -y dnf-plugins-core
                    dnf config-manager --set-enabled powertools

                    dnf install -y gcc make rpm-build libtool hwloc-devel \
                              libX11-devel libXt-devel libedit-devel libical-devel \
                              ncurses-devel perl postgresql-devel postgresql-contrib python3-devel tcl-devel \
                             tk-devel swig expat-devel openssl-devel libXext libXft \
                             autoconf automake gcc-c++ cjson-devel

               对于CentOS-7系统,您应该以root身份运行以下命令:

                   yum install -y gcc make rpm-build libtool hwloc-devel \
                              libX11-devel libXt-devel libedit-devel libical-devel \
                              ncurses-devel perl postgresql-devel postgresql-contrib python3-devel tcl-devel \
                              tk-devel swig expat-devel openssl-devel libXext libXft \
                              autoconf automake gcc-c++

                对于openSUSE系统,您应该以root身份运行以下命令:

                     zypper install gcc make rpm-build libtool hwloc-devel \
                                     libX11-devel libXt-devel libedit-devel libical-devel \
                                     ncurses-devel perl postgresql-devel postgresql-contrib python3-devel tcl-devel \
                                     tk-devel swig libexpat-devel libopenssl-devel libXext-devel \
                                     libXft-devel fontconfig autoconf automake gcc-c++ cJSON-devel

                对于Debian系统,你应该以root身份运行以下命令:

                        apt-get install gcc make libtool libhwloc-dev libx11-dev \
                                     libxt-dev libedit-dev libical-dev ncurses-dev perl \
                                     postgresql-server-dev-all postgresql-contrib python3-dev tcl-dev tk-dev swig \
                                     libexpat-dev libssl-dev libxext-dev libxft-dev autoconf \
                                     automake g++ libcjson-dev

                对于Ubuntu-18.04系统,您应该以root用户运行以下命令:

                        apt install gcc make libtool libhwloc-dev libx11-dev \
                                   libxt-dev libedit-dev libical-dev ncurses-dev perl \
                                   postgresql-server-dev-all postgresql-contrib python3-dev tcl-dev tk-dev swig \
                                   libexpat-dev libssl-dev libxext-dev libxft-dev autoconf \
                                   automake g++

                对于Ubuntu-24.04系统,您应该以root用户运行以下命令:

                         apt install gcc make libtool libhwloc-dev libx11-dev \
                                     libxt-dev libedit-dev libical-dev ncurses-dev perl \
                                     postgresql-server-dev-all postgresql-contrib python3-dev tcl-dev tk-dev swig \
                                     libexpat-dev libssl-dev libxext-dev libxft-dev autoconf \
                                     automake g++ libcjson-dev

                对于使用MacPorts的macOS系统,您应该以root身份运行以下命令:

                        port install autoconf automake libtool pkgconfig \
                                     expat hwloc libedit libical openssl postgresql14 python310 \
                                      swig-python tcl tk xorg-libX11 xorg-libXt

  • 2. 安装运行PBS所需的软件包。除了 对于下面的命令,您还应该安装一个文本编辑器 您的选择(vim、emacs、gedit等)

        对于CentOS系统,您应该以root身份运行以下命令:

                 yum install -y expat libedit postgresql-server postgresql-contrib python3 \
                              sendmail sudo tcl tk libical chkconfig cjson

        对于openSUSE系统,您应该以root身份运行以下命令:

                zypper install expat libedit postgresql-server postgresql-contrib python3 \
                              sendmail sudo tcl tk libical1 libcjson1

        对于Debian (jessie)系统,你应该以root身份运行以下命令:

                apt-get install expat libedit2 postgresql python3 postgresql-contrib sendmail-bin \
                              sudo tcl tk libical1a

        对于Debian (stretch)系统,你应该以root身份运行以下命令:

                apt-get install expat libedit2 postgresql python3 postgresql-contrib sendmail-bin \
                              sudo tcl tk libical2

        对于Debian (buster)系统,您应该以root身份运行以下命令:

                apt-get install expat libedit2 postgresql python3 postgresql-contrib sendmail-bin \
                              sudo tcl tk libical3 libcjson1

        对于Ubuntu-18.04系统,您应该以root用户运行以下命令:

                apt install expat libedit2 postgresql python3 postgresql-contrib sendmail-bin \
                             sudo tcl tk libical3 postgresql-server-dev-all

        对于Ubuntu-24.04系统,您应该以root用户运行以下命令:

                apt install expat libedit2 postgresql python3 postgresql-contrib sendmail-bin \
                              sudo tcl tk libical3 postgresql-server-dev-all

        对于使用MacPorts的macOS系统,您应该以root身份运行以下命令:

                 port install expat libedit libical openssl postgresql14-server python310 \
                              tcl tk

  • 3. 以普通(非root)用户身份打开终端,解包PBS Tarball,并CD到包目录

                tar -xpvf openpbs-20.0.0.tar.gz
                cd openpbs-20.0.0

  • 4. 生成配置脚本和Makefiles。(见下文附注1)

                 ./autogen.sh

  • 5. 显示可用的构建参数

                ./configure --help

  • 6. 为您的环境配置构建。你可以使用 参数如下所示。(见下文附注2)         

        对于CentOS和Debian系统,您应该运行以下命令 命令:

                 ./configure --prefix=/opt/pbs

        对于openSUSE系统(参见下面的注释3),您应该运行 下面的命令:

                ./configure --prefix=/opt/pbs --libexecdir=/opt/pbs/libexec

        对于使用MacPorts的macOS系统,您应该运行以下命令:

                export CPATH=/opt/local/include/postgresql14:/opt/local/include
                export LIBRARY_PATH=/opt/local/lib/postgresql14:/opt/local/lib
                ./configure --with-swig=/opt/local --with-tcl=/opt/local

        如果PTL需要与PBS一起安装,请使用该选项

                “——enable-ptl"(见下文附注5)

                例如:/configure——prefix=/opt/pbs——enable-ptl

  • 7. 通过运行“make”构建PBS。(见下文附注4)

                make

  • 8. 配置sudo以允许您的用户帐户以以下方式运行命令 根。请参阅在线手册页面,了解sudo、sudoers和 visudo。
  • 9. 安装PBS。使用sudo命令以root用户运行该命令

                sudo make install

  • 10. 通过执行安装后脚本配置PBS

                sudo /opt/pbs/libexec/pbs_postinstall

  • 11. 编辑/etc/pbs.conf配置PBS服务 应该开始了。如果只安装PBS 对于一个系统,您应该更改PBS_START_MOM的值 从0到1。如果您使用vi作为编辑器,则可以这样做 运行:

                sudo vi /etc/pbs.conf

  • 12. 必须修改某些文件权限以添加SUID权限

                 sudo chmod 4755 /opt/pbs/sbin/pbs_iff /opt/pbs/sbin/pbs_rcp

  

  • 13. 启动PBS服务

                sudo /etc/init.d/pbs start

  • 14. 所有配置的PBS服务现在都应该正在运行。更新 您的PATH和MANPATH变量通过寻找适当的 PBS配置文件或注销和重新登录

        对于Bourne shell(或类似的)运行以下命令:

                 . /etc/profile.d/pbs.sh

        对于C shell(或类似的)运行以下命令:

                 source /etc/profile.d/pbs.csh
 

  • 15. 现在应该能够运行PBS命令来提交 以及查询任务。下面是一些例子。

bash$ qstat -B
Server             Max   Tot   Que   Run   Hld   Wat   Trn   Ext Status
---------------- ----- ----- ----- ----- ----- ----- ----- ----- -----------
host1                0     0     0     0     0     0     0     0 Active
bash$ pbsnodes -a
host1
     Mom = host1
     ntype = PBS
     state = free
     pcpus = 2
     resources_available.arch = linux
     resources_available.host = host1
     resources_available.mem = 2049248kb
     resources_available.ncpus = 2
     resources_available.vnode = host1
     resources_assigned.accelerator_memory = 0kb
     resources_assigned.mem = 0kb
     resources_assigned.naccelerators = 0
     resources_assigned.ncpus = 0
     resources_assigned.vmem = 0kb
     resv_enable = True
     sharing = default_shared
     license = l

bash$ echo "sleep 60" | qsub
0.host1
bash$ qstat -a

host1:
                                                            Req'd  Req'd   Elap
Job ID          Username Queue    Jobname    SessID NDS TSK Memory Time  S Time
--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
0.host1         mike     workq    STDIN        2122   1   1    --    --  R 00:00

bash$

--------------------------------------------------------------------

  • 注:

        注1:如果修改配置。Ac或调整任何文件上的时间戳 都是自动生成的,您需要重新生成它们 重新运行autogen.sh。

        注意2:建议创建一个简单的shell脚本来调用 根据您的环境使用适当的选项进行配置。这 过程中使用相同的参数调用configure 随后的调用。如果您已经运行了configure,则可以 通过运行"; /config.status";重新生成所有的makefile。 配置文件的前几行。状态将显示选项 在运行configure时指定的。如果你设置了环境 变量,如CFLAGS,最好将其作为参数 配置(例如:/configure CFLAGS="- 0 -g&quo

        注3:openSUSE rpm包将%_libexecdir扩展为/opt/pbs/lib 而不是/opt/pbs/libexec,这会导致post- 安装脚本。提供要配置的——libexecdir值 重写此行为。

        注意4:您需要使用POSIX(或接近POSIX) make。GNU使 在这方面工作得很好;BSD make没有。如果你是 如果有任何类型的构建问题,您的make应该是一个素数 可疑的。已经花费了巨大的努力来提供适当的 依赖生成和生成文件,而不依赖任何 posix功能。通过一个简单的调用,构建应该可以正常工作 然而,通过使用各种make标志来使事情复杂化 并不能保证有效。不要惊讶,如果第一件事 make所做的就是再次调用configure。

        注意5:PTL安装在PBS所在的父目录中 安装。例如,如果您指定了install prefix=/opt/pbs,那么 您可以在/opt/ PTL目录下找到PTL安装。你可能需要 退出并从终端登录PATH和PYTHONPATH进行更新。

使用valgrind与PBS。

-------------------------------------

下面是检测PBS代码中的内存错误/泄漏的一组步骤。

1. 安装valgrind开发包。

        yum install valgrind-devel (zypper for OpenSUSE).

2. 以一种valgrind可以使用的方式编译Python,如下所示:

         ./configure --prefix=<installdir> --without-pymalloc --with-pydebug --with-valgrind
         make; make install

3. 使用特殊的python并在调试模式下编译PBS,如下所示:

        ./configure --prefix=<installdir> --with-python=<python-dir>  CFLAGS="-g -DPy_DEBUG -DDEBUG -Wall -Werror"

4. 在valgrind下运行pbs daemons。

        a)检测内存错误(不是泄漏)运行pbs daemons,如下所示:

                 export LD_LIBRARY_PATH=/opt/pbs/pgsql/lib:/opt/pbs/lib:$LD_LIBRARY_PATH
                 valgrind --tool=memcheck --log-file=/tmp/val.out /opt/pbs/sbin/pbs_server.bin

        

        b)使用提供的泄漏抑制文件valgrind来检测内存泄漏。供应如下:

                 export LD_LIBRARY_PATH=/opt/pbs/pgsql/lib:/opt/pbs/lib:$LD_LIBRARY_PATH
                 valgrind --tool=memcheck --log-file=/tmp/val.out --suppressions=./valgrind.supp --leak-check=full --track-origins=yes /opt/pbs/sbin/pbs_server.bin

http://www.lryc.cn/news/570851.html

相关文章:

  • 博客园 - 程序员的网上家园
  • 【C语言编程指南】
  • VS2005打包时加入卸载功能
  • “编程中的FAT32格式“——了解文件系统中的FAT32及其应用
  • 如何免费快速搭建属于自己的个人博客(零基础)
  • ubuntu13.04/kylin安装chrome问题解决
  • QQ微信营销软件防封操作秘籍
  • DNF外挂
  • 天语W619小黄蜂usb驱动下载,附件安装驱动器教程
  • Vela sensor uORB 框架学习
  • 相关类可视化图像
  • ASP.Net发送邮箱验证
  • Win7系统提示找不到rpcss.dll文件的解决办法
  • gomonkey调研文档和学习
  • Android Studio中xml预览不显示问题解决办法
  • ioftpd 之 tls
  • HTTP协议简易入门
  • Velocity提取模板变量
  • php小偷程序实例代码
  • JavaWeb(cekditorsmartupload)
  • Asp.Net的简介
  • 安 利的骗局与真相,关于美国安 利的真实情况
  • 电磁场与电磁波篇---介质媒质导体
  • java实现分页数据每页按比率展示不同类型的数据
  • [转]Visual Studio 各版本区别
  • JDK和JRE官方下载地址
  • 操作系统期末复习整理知识点+习题练习
  • PHP基础篇:empty() 和 isset() 的区别介绍
  • 使用STM32的FLASH保存数据
  • HashiCorp Vault核心应用场景深度解析,国产化替代有什么备选方案