<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://t2bwiki.iihe.ac.be/index.php?action=history&amp;feed=atom&amp;title=Solaris</id>
	<title>Solaris - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://t2bwiki.iihe.ac.be/index.php?action=history&amp;feed=atom&amp;title=Solaris"/>
	<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Solaris&amp;action=history"/>
	<updated>2026-04-20T09:46:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=Solaris&amp;diff=251&amp;oldid=prev</id>
		<title>Maintenance script: Created page with &quot; === Useful links === *You will find the official guides for system administrators [http://docs.sun.com/app/docs/coll/47.16 here] *Freeware for Solaris : [http://sunfreeware...&quot;</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=Solaris&amp;diff=251&amp;oldid=prev"/>
		<updated>2015-08-26T12:29:04Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot; === Useful links === *You will find the official guides for system administrators [http://docs.sun.com/app/docs/coll/47.16 here] *Freeware for Solaris : [http://sunfreeware...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
=== Useful links ===&lt;br /&gt;
*You will find the official guides for system administrators [http://docs.sun.com/app/docs/coll/47.16 here]&lt;br /&gt;
*Freeware for Solaris : [http://sunfreeware.com/indexintel10.html here]&lt;br /&gt;
&lt;br /&gt;
=== File equivalences between Linux and Solaris ===&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!Linux &lt;br /&gt;
! Solaris &lt;br /&gt;
|- &lt;br /&gt;
| /var/log/messages &lt;br /&gt;
|  /var/adm/messages &lt;br /&gt;
|- &lt;br /&gt;
| /etc/exports &lt;br /&gt;
|  /etc/dfs/dfstab &lt;br /&gt;
|- &lt;br /&gt;
| /etc/fstab &lt;br /&gt;
|  /etc/vfstab &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Useful commands ===&lt;br /&gt;
*If you want to untar an archive that has been created under Linux, use the gtar command instead of /usr/sbin/tar. Example :&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  /usr/sfw/bin/gtar xvf myarchive.tar&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
*The default &amp;#039;&amp;#039;tail&amp;#039;&amp;#039; command, which is in fact /usr/bin/tail, has not the same syntax than the one from Linux. For example :&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  tail -100lf /var/nfs/nfslog&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
  will print the last 100 lines if the file /var/nfs/nfslog.&lt;br /&gt;
&lt;br /&gt;
*About process monitoring tools :&lt;br /&gt;
**Use &amp;#039;&amp;#039;ps -ef&amp;#039;&amp;#039; instead of &amp;#039;&amp;#039;ps aux&amp;#039;&amp;#039;&lt;br /&gt;
**Use &amp;#039;&amp;#039;prstat -a&amp;#039;&amp;#039; instead of &amp;#039;&amp;#039;top&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*Network tools : &amp;#039;&amp;#039;tcpdump&amp;#039;&amp;#039; does not exist --&amp;gt; use &amp;#039;&amp;#039;snoop&amp;#039;&amp;#039; instead. Example (NFS monitoring) :&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  snoop | grep -i nfs&lt;br /&gt;
     or better:&lt;br /&gt;
  snoop  port 2049&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
*to make the nfs more verbose, refer to this blog post: http://www.eall.com.br/blog/?p=125&lt;br /&gt;
*If you want to make a backup with &amp;#039;&amp;#039;cp&amp;#039;&amp;#039;, the command &amp;#039;&amp;#039;cp -a&amp;#039;&amp;#039; doesn&amp;#039;t exist under Solaris. The equivalent is :&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  cp -r -p -P&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
=== NFS ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Automatic file-system sharing&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
#Each shared file-system has an entry in /etc/dfs/dfstab. The syntax for this entry is :&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  share [-F nfs] [-o specific-options] [-d description] pathname&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
  (See the dfstab(4) and share_nfs(4) man pages)&lt;br /&gt;
&lt;br /&gt;
 2. To apply the changes in /etc/dfs/dfstab :&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  shareall&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 3. Check that all is ok :&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  share&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Enable NFS server logging&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Link: http://www.eall.com.br/blog/?p=125&lt;br /&gt;
*Link: http://docstore.mik.ua/orelly/networking_2ndEd/nfs/ch16_05.htm &lt;br /&gt;
*Link: http://www.princeton.edu/~unix/Solaris/troubleshoot/zfs.html&lt;br /&gt;
&lt;br /&gt;
#In the file /etc/nfs/nfslog.conf, you will find the &amp;quot;global&amp;quot; tag, which defines the default settings to apply to all shared file-system. It should be like this :&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  global  defaultdir=/var/nfs \&lt;br /&gt;
        log=nfslog fhtable=fhtable buffer=nfslog_workbuffer&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
 2. You can now edit /etc/dfs/dfstab, adding the option log=&amp;#039;&amp;#039;tag&amp;#039;&amp;#039; for the shares you want to log. Example :&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  share -F nfs -o ro,log=global /export/ftp&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
 3. Apply the changes and verify :&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  shareall&lt;br /&gt;
  share&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
 4. Check if the NFS log daemon nfslogd is running :&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  ps -ef | grep nfslogd&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
 5. (Optional) Start nfslogd if it is not already running :&lt;br /&gt;
  - If /etc/nfs/nfslogtab is present, start the log daemon with :&lt;br /&gt;
    &amp;lt;pre&amp;gt;&lt;br /&gt;
    svcadm restart network/nfs/server:default&lt;br /&gt;
    &amp;lt;/pre&amp;gt;&lt;br /&gt;
  - If /etc/nfs/nfslogtab is not present, run any of the share command to create the file and then start the log daemon. For example :&lt;br /&gt;
    &amp;lt;pre&amp;gt;&lt;br /&gt;
    shareall&lt;br /&gt;
    svcadm restart network/nfs/server:default&lt;br /&gt;
    &amp;lt;/pre&amp;gt;&lt;br /&gt;
 6. You can find the log files in &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/nfs/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mounting an external nfs mount on jefke&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mount -o vers=3 m7.iihe.ac.be:/var/swmgrs /m7mount/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Apparently, mounts across linux machines do work. Not so with Solaris.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mounting an NFS export from jefke&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
It is advised to disable ACL (noacl) and a few other options for better performances. Example :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mount -t nfs -o noacl,noatime,nodiratime,rsize=32768,wsize=32768 jefke.wn.iihe.ac.be:/storage/user /mnt/jefke_user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Avoiding root squashing&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Root squashing is the default behaviour for NFS shares in Solaris. It means that trying to access as root on a Solaris share will result in a no-access because root is mapped to nobody account on the Solaris side. This may be very annoying when doing some administration tasks. One solution is to allow no_root_squash from a particular machine on which users has no access. Here is an example of such a share allowing no root squash from host fs.wn.iihe.ac.be :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
share -F nfs -o rw,root=fs.wn.iihe.ac.be /storage/localgrid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can also specify a list of hosts separated by semicolons.&lt;br /&gt;
&lt;br /&gt;
=== Status of the disk pool ===&lt;br /&gt;
&lt;br /&gt;
Check the status of the disk pool&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zpool status -x &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ZFS Snapshot ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Make a snapshot&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Here the zfs Filesystem is storage/sandbox the snapshot is tag 080610 (Could be a name such as e.g. tuesday)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zfs snapshot storage/sandbox@080610&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Control the size it takes with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zfs list -o space&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-bash-3.00# zfs list -o space&lt;br /&gt;
NAME                       AVAIL   USED  USEDSNAP  USEDDS  USEDREFRESERV  USEDCHILD&lt;br /&gt;
rpool                      1.77T  12.3G         0     34K              0      12.3G&lt;br /&gt;
rpool/ROOT                 1.77T  8.28G         0     21K              0      8.28G&lt;br /&gt;
rpool/ROOT/s10x_u8wos_08a  1.77T  8.28G         0   8.28G              0          0&lt;br /&gt;
rpool/dump                 1.77T  2.00G         0   2.00G              0          0&lt;br /&gt;
rpool/export               1.77T    44K         0     23K              0        21K&lt;br /&gt;
rpool/export/home          1.77T    21K         0     21K              0          0&lt;br /&gt;
rpool/swap                 1.77T     2G         0     16K          2.00G          0&lt;br /&gt;
storage                    63.5T   361G         0   44.7K              0       361G&lt;br /&gt;
storage/localgrid           500G  37.6K         0   37.6K              0          0&lt;br /&gt;
storage/sandbox             336G   164G     4.58G    159G              0          0&lt;br /&gt;
storage/sandbox@070610         -  4.56G         -       -              -          -&lt;br /&gt;
storage/sandbox@080610         -  19.5M         -       -              -          -&lt;br /&gt;
storage/swmgrs              317G   183G         0    183G              0          0&lt;br /&gt;
storage/swmgrs@080610          -      0         -       -              -          -&lt;br /&gt;
storage/user               60.0T  13.4G         0   13.4G              0          0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Restore a snapshot&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Use the &amp;lt;tt&amp;gt;rollback&amp;lt;/tt&amp;gt; option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zfs rollback -r storage/sandbox@080610&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice the -r argument will destroy earlier snapshots&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;List snapshots&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zfs list -r -t snapshot -o name,creation storage/sandbox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Destroy snapshots&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zfs destroy storage/swmgrs@090610&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Create a clone&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zfs clone storage/sandbox@080610 storage/sandbox-clone&lt;br /&gt;
zfs set quota=500G storage/sandbox-clone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ZFS Quotas ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Set quota for a user under storage/user&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zfs set userquota@srugovac=500G storage/user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Show users quotas&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zfs userspace storage/user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Show single user quota&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zfs get userused@srugovac storage/user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Force Shutdown ===&lt;br /&gt;
to reboot jefke, do:&lt;br /&gt;
Connect to the ILOM console with ssh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ssh ilom-jefke.wn.iihe.ac.be&lt;br /&gt;
Password: &lt;br /&gt;
&lt;br /&gt;
Sun(TM) Integrated Lights Out Manager&lt;br /&gt;
&lt;br /&gt;
Version 3.0.3.36&lt;br /&gt;
&lt;br /&gt;
Copyright 2009 Sun Microsystems, Inc. All rights reserved.&lt;br /&gt;
Use is subject to license terms.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then you are allowed to type the following commands:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-&amp;gt; stop -f /SYS&lt;br /&gt;
Are you sure you want to immediately stop /SYS (y/n)? y&lt;br /&gt;
Stopping /SYS immediately&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; start /SYS&lt;br /&gt;
Are you sure you want to start /SYS (y/n)? y&lt;br /&gt;
Starting /SYS&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;REMARK:&amp;#039;&amp;#039;&amp;#039; in case jefke is not mounted anymore on the UIs you can simply do the following on a UI (this is not the proper place on the twiki to put this info)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
service autofs restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Package management ===&lt;br /&gt;
==== Determine which package a particular files belongs to ====&lt;br /&gt;
The syntax is :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /usr/sbin/pkgchk -l -p /absolute/path/todir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can also simply use the package directory. It is a file containing all the info about files installed from packages :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# grep /absolute/path/todir /var/sadm/install/contents&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== List the files coming from a particular package ====&lt;br /&gt;
The syntax is :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pkgchk -v &amp;lt;name_of_the_package&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== Install a package ====&lt;br /&gt;
The syntax is :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pkgadd -d &amp;lt;path_of_the_package_to_install&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== Display detailed info about installed package ====&lt;br /&gt;
The syntax is :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pkginfo -v &amp;lt;pkgid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that pkginfo alone will list all installed packages.&lt;br /&gt;
==== Remove a package ====&lt;br /&gt;
The syntax is :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pkgrm &amp;lt;pkgid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TracNotice|{{PAGENAME}}}}&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>