将Linux / UNIX / OS X二进制文件存储在跨越不同平台或分布的相同目录中吗? 我问,因为我需要访问uuidgen (存储在我的开发计算机上的/ usr / bin / uuidgen),并注意到我的本地Apache服务器没有在PATH包含/usr/bin 。 我知道我可以将/usr/bin添加到path中,但是我想确保软件可以轻松地重新部署在多个不同的系统上。 谢谢!
我需要在OSX中以特定的顺序设置PATH环境variables(例如,首先在/ usr / local / bin中)。 build议设置PATHvariables的方法似乎是/etc/paths文件和/etc/paths.d目录,它们可以自动重新排列指定path的顺序。 我可以在我的.profile覆盖这个,但我怀疑像Homebrew这样的程序不拿起用户定义的环境variables
我安装了Java,现在添加了Tomcat。 我configuration了Tomcat,但没有运行。 我所做的是添加行: export JAVA_HOME=/usr/lib/jvm/java-6-sun 作为/ home / myuser目录中的第一个非注释行。 然后我去了/ opt / tomcat / bin目录并运行这个命令: ./startup.sh 它说没有find命令。 有什么理由呢? 当我执行ls命令时,我在该目录中看到了startup.sh脚本。 我用Ubuntu的方式。 谢谢,Alex
为了简单起见,使用两台戴尔20世纪50年代的每台主机: esxi1和esxi2重新访问一个较旧的vSphere设置。 SAN是Dell MD3000i,两个控制器,每个控制器有两个NIC: rc00和rc01 ; rc10和rc11 目前只configuration一个LUN 0 /虚拟磁盘; RAID 10,300GB SAS 15K,6个主轴。 控制器/通道如下: rc00 :192.168.130.101/24 rc01 :192.168.131.101/24 rc10 :192.168.130.102/24 rc11 :192.168.131.102/24 交换机( sw-1和sw-2 )是Dell PowerConnect 5424s; iSCSI“优化”(QoS)未启用,因为两台交换机上没有其他stream量。 启用巨帧,9000 MTU,stream量控制开启,MDIX自动。 希望做一些基准,而这个设置是空的,我有一些时间在我的手中。 不知道如何设置多path,因此,从戴尔和vmware上search几个较旧的4.1白皮书,我看到了两种方法: 一个带有多个VMKernel端口和物理NIC的vSwitch: rc00:192.168.130.101 — sw-1 —- esxi1:vSwitch1:vmk1:eth1:192.168.130.11 rc01:192.168.131.101 — sw-2 —- esxi1:vSwitch1:vmk2:eth2:192.168.131.11 …或者具有一个VMKernel端口和一个物理NIC的两个vSwitch: rc00:192.168.130.101 — sw-1 —- esxi1:vSwitch1:vmk1:eth1:192.168.130.11 rc01:192.168.131.101 — sw-2 —- esxi1:vSwitch2:vmk1:eth2:192.168.131.11 […]
我有几个运行xen的linux系统的问题。 他们充当虚拟机pipe理程序,并使用多path设置将它们连接到SAN,以向guest虚拟机提供存储。 时不时的两个path之一失败,但它可以通过运行快速恢复: multipath multipath -ll 我需要深入了解问题的原因,并找出原因。 我注意到,当pipe理程序不太忙(networking和I / O明智)时,不会发生这种情况。 我也通过将所有服务移动到相同的新机箱来消除了可能的硬件问题。 我已经收集了几个系统日志,可能表明NIC模块问题或内核问题,多path失败可能只是这个结果! 以下是多path下降时总是显示的一些日志: kernel: BUG: soft lockup – CPU#0 stuck for 60s! [swapper:0] kernel: BUG: soft lockup – CPU#2 stuck for 60s! [events/2:76] 在这篇文章的最后我会粘贴完整的日志,以便于阅读。 现在多一点关于我的设置: Internet访问通过eth0和eth2(绑定) SAN多path访问通过eth1和eth3进行设置 服务器: Supermicro SuperServer 6016T-NTRF Intel(R)Xeon(R)CPU E5645 英特尔公司82576千兆networking CentOS版本5.7(最终)2.6.18-274.18.1.el5xen filename:/lib/modules/2.6.18-274.18.1.el5xen/kernel/drivers/net/igb/igb.ko 版本:3.0.6-k2-1 logging01 日志02 如果有人需要更多的细节,请联系。 任何帮助都感激不尽。
我有一个.tar文件,每晚由我们的一个客户端pipe理系统传输到我们的服务器上。 该文件是一个压缩的.sql文件,我需要解压缩并转储到我们的数据库。 .tar文件的目录是/root/backups/premvet_sync/2012.07.17.10.09.19 。 正如你所看到的,目录是file upload到服务器的时间戳。 我正在尝试创build一个cron作业,将其放入该目录,然后解压缩它。 我通常会使用的命令是这样的: cd /root/backups/premvet_sync/2012.07.17.10.09.19 && tar -xvf backupfile.tar 显然这个命令只会运行一次(当时间戳与cron作业path相匹配时)。 有什么我可以做的CD到最新的目录? 服务器运行Ubuntu 10.04 LTS,如果有什么区别的话。 更新 对于任何有兴趣的人来说,这里是最后的(工作)bash脚本。 #!/bin/sh # Untar backup database and dump into local mysql server. echo "Finding latest backup directory" dir=$(ls -td1 /root/backups/backup/* | head -1) echo "Opening latest backup directory" cd $dir echo "Uncompress backup tar -xvf […]
语境: 在我们的服务器软件最近版本升级之后,我发现自己处于一个两难的境地: 我有两套应用程序(Zend服务器和各种实用程序,以及一些PostgreSQLpipe理工具),它们都大量使用某个库文件(libpq.so)。 Zend自带的libpq,这是唯一的版本(我发现),将与所有的Zend的东西。 Postgres还附带自己的版本库。 两者是相互排斥的:如果Postgres的库版本首先在任何用户正在做的事情的LD_LIBRARY_PATH中,那么所有的Postgres实用工具都可以工作,但是Zend的工具都不会。 如果Zend先来了,Zend的东西就可以工作,但Postgres的东西不会。 这两个库都有相同的名字。 PostgreSQL兼容性库包不起作用。 在我们的环境中,在很多不同的CentOS机器上,这两套应用程序都被用于很多不同的,不可预知的用户帐户,因此使用“正确的方式”并设置每个用户的LD_LIBRARY_PATH,并告诉人们“只使用X应用程序在Y帐户下“将不起作用。 题: 是否有一个每个应用程序的方式来说,“对于这些二进制文件/应用程序在X文件夹中执行,链接对库Ypath,但这些其他二进制文件,链接库Z”? 基本上,每个应用程序库path,而不必每次访问其中一个应用程序时设置LD_LIBRARY_PATH或DYLD_ *。 我宁愿避免不得不重新编译库,因为每当新版本的软件出现时,这都会使我大量地麻烦和testing。 我已经有图书馆工作,他们只是不适用于这两套应用程序。
我们正在使用RHEL,但不幸的是存在多path问题。 似乎不是所有的SAN磁盘在重启后都会自动看到。 为了使操作系统能够看到磁盘,需要执行服务多path重新加载。 root@test-01 ~]# ls -al /dev/mapper/ total 0 drwxr-xr-x. 2 root root 480 May 31 13:17 . drwxr-xr-x. 21 root root 5500 May 31 13:20 .. crw-rw—-. 1 root root 10, 58 May 31 13:17 control brw-rw—-. 1 root disk 253, 16 May 31 13:17 TS_DATA_DISK000p1 brw-rw—-. 1 root disk 253, 14 May […]
我试图在运行Java8的Linux机器上在Jetty 9.2.3上build立持久会话。 我已将jetty-web.xml文件添加到$ {jetty.home} / webapps / app / WEB-INF /下的我的应用程序中,内容如下: <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"> <Configure class="org.eclipse.jetty.webapp.WebAppContext"> <Set name="sessionHandler"> <New class="org.eclipse.jetty.servlet.SessionHandler"> <Arg> <New class="org.eclipse.jetty.servlet.HashSessionManager"> <Set name="storeDirectory">/var/sessions</Set> </New> </Arg> </New> </Set> </Configure> 但是当我尝试启动Jetty时,出现以下错误: 2014-09-29 13:08:12.989:WARN:oejw.JettyWebXmlConfiguration:main: Unable to process jetty-web.xml java.lang.ClassNotFoundException: org.eclipse.jetty.servlet.SessionHandler at java.net.URLClassLoader$1.run(URLClassLoader.java:372) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:360) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) […]
我有一个makefile,我用sudo make install我的应用程序的一部分,通常需要根安装。 不幸的是,这导致了一个奇怪的情况, sudo不能访问npm ,而root和我的用户都可以访问: 自: $ which npm /home/self/.nvm/versions/node/v5.9.1/bin/npm 根: $ sudo su – root@theserver~# which npm /root/.nvm/versions/node/v5.9.1/bin/npm 出口 $ sudo其中npm $(这是一个空行,sudo哪个npm没有结果) 我如何解决这个差异? 我错过了npm生态系统,可以让我做到这一点吗? 我正在运行Ubuntu 14.04 LTS: cat /proc/version cat /etc/issue uname -a Linux version 3.13.0-44-generic (buildd@lamiak) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #73-Ubuntu SMP Tue Dec 16 00:22:43 UTC 2014 Ubuntu 14.04.4 […]