Linux: Files & Directories

Smart Panda - Linux Console

Linux is extremely powerful and has all sorts of cool features that make easy work of really difficult tasks. Here are just a couple to make working with files and directories easier.

Mount Point Drive Information/Usage:  

df -h

Directory size:

du -h

Number of files in a directory:

ls -l | grep ^- | wc -l

Number of directories in a directory:

ls -l | grep ^d | wc -l

List the 10 Largest Directories:

du -a /{path} | sort -n -r | head -n 10

PeopleSoft – PUM – Failure to Start

Smart Panda - PeopleSoft in the CloudPeopleSoft – PUM – Failure to Start

During the last Windows Update on the PUM server the Virtual Box Image failed to start correctly. In the Logs you will see:

Starting PeopleSoft Application Server Domain APPDOM: [FAILED]

and/or

Starting PeopleSoft PIA Domain peoplesoft: [FAILED]

This environment had been running for sometime prior to this, and so doing a little investigate it turned up that there was no drive space left on the associated “/” root drive.

The quickest way to resolve this is to log into the PUM environment as root, and cleanup the files in the application server and process scheduler directories.  We have found that there is “core” files that are generated every time the PUM server is improperly shutdown and typically these files are very large.  Removing them is often the quickest way to get space back.  Look at the following directory locations:

Remove core dump files (core.*), trace files, log files and caches files from the following directories:

/
/home/psadm2/psft/pt/8.5x/appserv/APPDOM
/home/psadm2/psft/pt/8.5x/appserv/prcs/PRCSDOM/CACHE
/home/psadm2/psft/pt/8.5x/webserv/peoplesoft/applications/peoplesoft/PORTAL.war/ps/cache
/opt/oracle/psft/db/oracle-server/diag/rdbms/<db-name>/<db-name-uppercase>/trace

Once complete re-check the drive space availability and you should see a significant amount of space available again which will allow log writing to occur again.

 

Linux X11 Forwarding with SU Switch User

Smart Panda - Linux Console

Linux X11 Forwarding with SU Switch User

Over the years access is often granted to one of the administrative users and then once we are on the server we have to switch user to another account to do the technical services work. This creates a problem with X11 Forwarding and so this is one work around to the problem. X authentication is based on cookies. So the secondary account needs to have access to the same cookies as the original login user.

Here is a nice easy way to do this.  This was done on an AIX 7.1 server:

Before you issue the su or sudo, request the xauth cookies and look for the current DISPLAY that’s connecting to your X server:

$ xauth list
You’ll get something like

somehost.somedomain:10 mit-magic-cookie-1 4d22408a71a55b41ccd1657d377923ae

Then, execute a switch user (su) and add the cookie to that user:

$ xauth add somehost.somedomain:10 MIT-MAGIC-COOKIE-1 4d22408a71a55b41ccd1657d377923ae

(just copy’n-paste the output of the above ‘xauth list’ onto ‘xauth add’) That’s it. Now, you _should_ be able to start any X application.

UNIX – Curl with Proxy

Smart Panda - Linux ConsoleLinux Curl with Proxy

What is Curl?  curl is a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP). The command is designed to work without user interaction.

So in the cloud you may find yourself on a server that needs to communicate to an external system but it isn’t allowed to go there directly.  In which case you will most likely have a proxy server to communicate through.  In PeopleSoft you can define a web gateway proxy server, however, to test to make sure that the server is working correctly with the proxy you will want to do a curl test.

Linux Command Prompt –> curl http://whatsmyip.com

This should return the external IP address of the system you are coming out of.  If this returns nothing you are likely blocked from going to that address.  So to push the request through the proxy server, you need to set the proxy in an environment variable:

Linux Command Prompt –> export http_proxy=http://myproxy.atmyserver.com:80

Linux Command Prompt –> curl http://whatsmyip.com

Now as long as the proxy is allowed to communicate to that address you should see the IP address of the system you are communicating from.

Smart Panda - Through The Proxy

Verity – mkvdk Errors

I was setting up a new environment for a training class and the new server was running on RHEL6.5 with PeopleTools 8.53. The application was a 9.0 application so for ease I just put verity on the server to build the portal registry index search.

The verity install went without a problem. I went in and ran the PORTAL_INDEX AE to build the search index. That went to success! I search for an item and I get no results.

When I search the application server logs I find the following error:

PSAPPSRV.30784 (808) [2014-04-14T01:39:52.074 VP1@{MyIP} (CHROME 34.0.1847.116; MAC) ICScript](0)
Error E0-1509 (Drvr): dlopen() returned: libstdc++.so.5: cannot open shared object file: No such file or directory
Error E0-1510 (Drvr): Error loading driver library ‘/oracle/psoft/pt853/verity/linux/_ilnx21/bin/locuni.so’
Error E0-1203 (Language): Error reading language definition file: /oracle/psoft/pt853/verity/linux/common/frenchv/loc00.lng
Error E0-1230 (Language): Could not create locale frenchv
VeritySrch::search: SessionManager::getSession failed: failed to obtain or create a valid VDK session.

My libstdc++.so.5 is in the 64 bit user library, when I did a little test and added the lib64 to the path, I got ELFCLASS64 error. I flipped over to the root account and install the 32bit library and the problem was solved.

yum install compat-libstdc++-33.i686