flash_archive man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

flash_archive(4)		 File Formats		      flash_archive(4)

NAME
       flash_archive - format of flash archive

SYNOPSIS
       flash_archive

DESCRIPTION
       A  flash archive is an easily transportable version of a reference con‐
       figuration of the Solaris operating environment,	 plus  optional	 other
       software. Such an archive is used for the rapid installation of Solaris
       on large numbers of machines. The machine that contains a flash archive
       is  referred to as a master system. A machine that receives a copy of a
       flash archive is called a clone system.

       A flash archive can be created on a system that is running a  UFS  root
       file  system or a ZFS root file system. A flash archive of a ZFS rooted
       system contains the ZFS send stream of  the  entire  dataset  hierarchy
       under  root dataset and additional send streams for other datasets out‐
       side rpool/ROOT except for the swap and dump volumes and	 any  excluded
       datasets.

       ZFS  send  stream flash archive images cannot be used to install zones.
       You must create a flash archive with an explicit cpio  or  pax  archive
       when the system has a ZFS root. To create the flash archive, use the -L
       archiver option to flar(1M) or flarcreate(1M), specifying cpio  or  pax
       as the method to archive the files.

       There  are  two	types of flash archives: full and differential. A full
       archive is used for initial installation or whenever a complete,	 fresh
       installation is called for. A differential archive is used to update an
       installation. A full archive contains all of the files  from  a	master
       and  overwrites the installed software on a clone completely. A differ‐
       ential archive contains only the differences between the software on  a
       master  and  on	a  clone. These differences include new files, changed
       files, and deleted files. (These will be deleted on clones,  as	well).
       Installation  of	 a  differential  archive is faster and consumes fewer
       resources than installation of a full archive.

       You create a flash archive, full or differential, with the flar(1M)  or
       flarcreate(1M)  command.	 You  view information about a given flash ar‐
       chive with flar. flar also enables you to split or combine the sections
       of a flash archive.

       Flash archives are monolithic files containing both archive identifica‐
       tion information and the actual files that have been copied from a mas‐
       ter system and that will be extracted onto a clone system. The standard
       extension for a flash archive is .flar.

       The flash archive is laid out in the following sections:

	   o	  archive cookie

	   o	  archive identification

	   o	  manifest (for differential archives only)

	   o	  predeployment

	   o	  postdeployment

	   o	  reboot

	   o	  summary

	   o	  user-defined (optional)

	   o	  archive files

       The only assumptions regarding section number  and  placement  that  an
       application processing the archive can make is that there is an identi‐
       fication section located immediately after the archive cookie and  that
       the last section in the archive is an archive files section.

       These sections are described in the following subsections.

   Archive Cookie
       The  very  beginning  of the archive contains a cookie, which serves to
       identify the file as a flash archive. It is also used by the deployment
       code for identification and validation purposes.

       The  case-sensitive,  newline-terminated cookie that identifies version
       1.n flash archives, is FlAsH-aRcHiVe-1.n, where n is an integer in  the
       range 0 through 9.

       The  archive  version  is designed to allow for the future evolution of
       the  flash  archive  specification  while  allowing  applications  that
       process	flash archives to determine whether specific archives are of a
       format that can be handled correctly. The archive version is  a	number
       of  the	form  x.y,  where  x is the major version number, and y is the
       minor version number.

       When an application encounters a flash archive with  an	unknown	 major
       version number, it should issue an error message and exit.

   Archive Identification Section
       The  archive  identification section is plain text, delimited with new‐
       line characters. It is composed of a  series  of	 keyword/value	pairs,
       with  one pair allowed per line. Keywords and values are separated by a
       single equal sign. There are no limits  to  the	length	of  individual
       lines.  Binary  data to be included as the value to a keyword is base64
       encoded. The keywords themselves are case-insensitive. The  case-sensi‐
       tivity  of  the	values is determined by the definition of the keyword,
       though most are case-insensitive.

       The global order of the keywords within the identification  section  is
       undefined,  save	 for the section boundary keywords. The identification
       section must begin with section_begin=ident  and	 must  end  with  sec‐
       tion_end=ident.

       In  addition  to the keywords defined for the flash archive and enumer‐
       ated below, users can define their own. These user-defined keywords are
       ignored	by  the	 flash	mechanisms,  but  can be used by user-provided
       scripts or programs that	 process  the  identification  section.	 User-
       defined	keywords  must begin with X, and contain characters other than
       linefeeds, equal signs, and null characters. For example,  X-department
       is a valid user-defined keyword. department, which lacks the X- prefix,
       is not. Suggested naming conventions for user-defined  keyword  include
       the  underscore-delimited  descriptive  method used for the pre-defined
       keywords, or a federated convention similar to that used to  name  Java
       packages.

       Applications  that  process  the	 identification	 section  will process
       unrecognized  non-user-defined  keywords	 differently,	depending   on
       whether the archive version is known. If the application recognizes the
       archive specification version, it will  reject  any  unrecognized  non-
       user-defined  keyword. If the application does not recognize the speci‐
       fication version, that is, if the minor version number is  higher  than
       the  highest  minor  version it knows how to process, unrecognized non-
       user-defined keywords  will  be	ignored.  These	 ignored  keyword  are
       reported to the user by means of a non-fatal warning message.

       The  keywords  defined for this version of the Flash archive specifica‐
       tion are listed below.

	       Keyword		       Value		   Required
       section_begin		 text		      yes
       section_end		 text		      yes
       archive_id		 text		      no
       files_archived_method	 text		      no
       files_compressed_method	 text		      no
       files_archived_size	 numeric	      no
       files_unarchived_size	 numeric	      no
       creation_date		 text		      no
       creation_master		 text		      no
       content_name		 text		      yes
       content_type		 text		      no
       content_description	 text		      no
       content_author		 text		      no
       content_architectures	 text list	      no
       creation_node		 text		      no
       creation_hardware_class	 text		      no
       creation_platform	 text		      no
       creation_processor	 text		      no
       creation_release		 text		      no
       creation_os_name		 text		      no
       creation_os_version	 text		      no

       Future versions of the identification section might  define  additional
       keywords.  The  only  guarantee regarding the new keywords is that they
       will not intrude upon  the  user-defined	 keyword  namespace  as	 given
       above.

       The following is an example identification section:

	 section_begin=identification
	 files_archived_method=cpio
	 files_compressed_method=compress
	 files_archived_size=259323342
	 files_unarchived_size=591238111
	 creation_date=20000131221409
	 creation_master=pumbaa
	 content_name=Finance Print Server
	 content_type=server
	 content_description=Solaris 8 Print Server
	 content_author=Mighty Matt
	 content_architectures=sun4u
	 creation_node=pumbaa
	 creation_hardware_class=sun4u
	 creation_platform=SUNW,Sun-Fire
	 creation_processor=sparc
	 creation_release=5.9
	 creation_os_name=SunOS
	 creation_os_version=s81_49
	 x-department=Internal Finance
	 section_end=identification

       The following are descriptions of the identification section keywords:

	   o	  section_begin

	   o	  section_end

       These  keywords are used to delimit sections in the archive and are not
       limited exclusively to the identification section. For example, the ar‐
       chive  files  section  includes	a section_begin keyword, though with a
       different value. User-defined archive sections  will  be	 delimited  by
       section_begin and section_end keywords, with values appropriate to each
       section. The currently defined section names are	 given	in  the	 table
       below.  User-defined  names  should follow the same convention as user-
       defined identification sections, with the additional  restriction  that
       they not contain forward slashes ( / ).

		 Section		       Boundary
       ───────────────────────────────────────────────────────────
       identification		     identification
       archive files		     archive
       archive cookie		     cookie

       Note that while the archive cookie does not use section boundaries, and
       thus has no need for a section name  within  the	 archive  itself,  the
       flar(1M)	 command  uses	section	 names when splitting the archive, and
       thus requires a section name for the archive cookie. The name cookie is
       reserved for that purpose.

       The  following  keywords,  used	in the archive identification section,
       describe the contents of the archive files section.

       archive_id		  This optional keyword uniquely describes the
				  contents of the archive. It is computed as a
				  unique hash value of the bytes  representing
				  the  archive. Currently this value is repre‐
				  sented as an ASCII hexadecimal  128-bit  MD5
				  hash	of the archive contents. This value is
				  used by the installation  software  only  to
				  validate  the contents of the archive during
				  archive installation.

				  If the keyword is present, the hash value is
				  recomputed  during  extraction  based on the
				  contents of the archive being extracted.  If
				  the  recomputed  value  does	not  match the
				  stored value in the identification  section,
				  the archive is deemed corrupt, and appropri‐
				  ate actions can be taken by the application.

				  If the keyword is not present, no  integrity
				  check is performed.

       files_archived_method	  This	keyword	 describes  the archive method
				  used in the files section. If	 this  keyword
				  is not present, the files section is assumed
				  to be in cpio(1) format with	ASCII  headers
				  (the	-c  option to cpio). If the keyword is
				  present, it can have the following value:

				  pax	  The archive format in the files sec‐
					  tion	is pax(1) with extended tar(1)
					  interchange format. Also allows  ar‐
					  chiving  and	extracting files whose
					  size is greater than 4 GB.

				  cpio	  The archive format in the files sec‐
					  tion is cpio with ASCII headers.

				  The  compression  method  indicated  by  the
				  files_compressed_method keyword (if present)
				  is  applied  to  the archive file created by
				  the archive method.

				  The introduction of additional archive meth‐
				  ods  will  require a change in the major ar‐
				  chive	 specification	version	  number,   as
				  applications	aware only of cpio/pax will be
				  unable to extract archives  that  use	 other
				  archive methods.

       files_compressed_method	  This keyword describes the compression algo‐
				  rithm (if any) used on the files section. If
				  this	keyword is not present, the files sec‐
				  tion is assumed to be uncompressed.  If  the
				  keyword  is  present, it can have one of the
				  following values:

				  none	      The files section	 is  not  com‐
					      pressed.

				  compress    The  files section is compressed
					      using compress(1).

				  The compression  method  indicated  by  this
				  keyword  is applied to the archive file cre‐
				  ated by the archive method indicated by  the
				  value	 of  the files_archived_method keyword
				  (if any). gzip compression of the flash  ar‐
				  chive	 is  not  currently  supported, as the
				  gzip decompression program is	 not  included
				  in the standard miniroot.

				  Introduction	of  an	additional compression
				  algorithm would  require  a  change  in  the
				  major	 archive specification version number,
				  as applications  aware  only	of  the	 above
				  methods  will	 be unable to extract archives
				  that use other compression algorithms.

       files_archived_size	  The value associated with  this  keyword  is
				  the  size  of the archived files section, in
				  bytes. This value is used by the  deployment
				  software  only  to  give extraction progress
				  information to the user. While  the  deploy‐
				  ment	software can easily determine the size
				  of  the  archived  files  section  prior  to
				  extraction,  it  cannot do so in the case of
				  archive retrieval via a stream. To determine
				  the  compressed  size when extracting from a
				  stream, the extraction software  would  have
				  to  read  the stream twice. This double read
				  would result in an unacceptable  performance
				  penalty  compared to the value of the infor‐
				  mation gathered.

				  If the keyword is present, the value is used
				  only	for  the  provision of status informa‐
				  tion. Because this keyword is only advisory,
				  deployment  software	must be able to handle
				  extraction of archives for which the	actual
				  file	section	 size  does not match the size
				  given in files_archive_size.

				  If files_archive_size is not present and the
				  archive  is  being read from a stream device
				  that does not allow the prior	 determination
				  of  size  information, such as a tape drive,
				  completion status information	 will  not  be
				  generated. If the keyword is not present and
				  the archive is being	read  from  a  random-
				  access device such as a mounted file system,
				  or from a stream that provides size informa‐
				  tion,	 the compressed size will be generated
				  dynamically and used for  the	 provision  of
				  status information.

       files_unarchived_size	  This	keyword defines the cumulative size in
				  bytes of the extracted archive. The value is
				  used	for file system size verification. The
				  following verification methods are  possible
				  using this approach:

				  No checking		If   the   files_unar‐
							chived_size keyword is
							absent,	   no	 space
							checking will be  per‐
							formed.

				  Aggregate checking	If   the   files_unar‐
							chived_size keyword is
							present	 and the asso‐
							ciated	value  is   an
							integer,  the  integer
							will	be    compared
							against	 the aggregate
							free space created  by
							the   requested	  file
							system configuration.

       The following keywords provide descriptive information  about  the  ar‐
       chive as a whole. They are generally used to assist the user in archive
       selection and to aid in archive	management.  These  keywords  are  all
       optional	 and  are  used	 by the deployment programs only to assist the
       user in distinguishing between individual archives.

       creation_date		The value of the creation_date	keyword	 is  a
				textual	 timestamp  representing  the  time of
				creation for the archive. The  value  of  this
				keyword	 can be overridden at archive creation
				time through the flarcreate(1M). The timestamp
				must  be  in  ISO-8601 complete basic calendar
				format without the time designator  (ISO-8601,
				§5.4.1(a)) as follows:

				  CCYYMMDDhhmmss

				For example:

				  20000131221409
				  (January 31st, 2000 10:14:09pm)

				The date and time included in the value should
				be in GMT.

       creation_master		The value of the  creation_master  keyword  is
				the  name of the master machine used to create
				the archive. The value can  be	overridden  at
				archive creation time.

       content_name		The  value  of the content_name keyword should
				describe the archive's function	 and  purpose.
				It  is	similar to the NAME parameter found in
				Solaris packages.

				The value of the content_name keyword is  used
				by  the	 deployment  utilities to identify the
				archive and can be presented to the user  dur‐
				ing  the  archive selection process and/or the
				extraction  process.  The  value  must	be  no
				longer than 256 characters.

       content_type		The value of this keyword specifies a category
				for the archive. This category is  defined  by
				the  user  and	is used by deployment software
				for display  purposes.	This  keyword  is  the
				flash analog of the Solaris packaging CATEGORY
				keyword.

       content_description	The value of this keyword is used  to  provide
				the  user  with	 a description of what the ar‐
				chive  contains	 and  should  build   on   the
				description  provided in content_name. In this
				respect, content_description is	 analogous  to
				the DESC keyword used in Solaris packages.

				There  is no length limit to the value of con‐
				tent_description. To facilitate	 display,  the
				value  can contain escaped newline characters.
				As in C, the escaped newline takes the form of
				0fR.  Due  to  the escaped newline, backlashes
				must be included as \. The description is dis‐
				played	in  a  non-proportional	 font, with at
				least 40 characters available per line.	 Lines
				too long for display are wrapped.

       content_author		The  value  of	this keyword is a user-defined
				string identifying the creator of the archive.
				Suggested  values include the full name of the
				creator, the creator's email address, or both.

       content_architectures	The value of this keyword is a comma-delimited
				list  of the kernel architectures supported by
				the given archive. The value of	 this  keyword
				is generated at archive creation time, and can
				be overridden by the user  at  that  time.  If
				this  keyword  is  present in the archive, the
				extraction  mechanism  validates  the	kernel
				architecture of the clone system with the list
				of architectures supported by the archive. The
				extraction fails if the kernel architecture of
				the clone is not supported by the archive.  If
				the  keyword  is  not present, no architecture
				validation is performed.

       The keywords listed belowhave values filled in by uname(2) at the  time
       the  flash  archive  is created. If you create a flash archive in which
       the root directory is not /, the flash  archive	software  inserts  the
       string UNKNOWN for all of the creation_* keywords except creation_node,
       creation_release, and creation_os_name. For  creation_node,  the	 flash
       software	  uses	 the  contents	of  the	 nodename(4)  file.  For  cre‐
       ation_release and creation_os_name, the flash software attempts to  use
       the contents of <root_directory>/var/sadm/system/admin/INST_RELEASE. If
       it is unsuccessful in reading this file, it assigns the value UNKNOWN.

       Regardless of their sources, you cannot override the values of the cre‐
       ation_* keywords.

       creation_node		  The return from uname -n.

       creation_hardware_class	  The return from uname -m.

       creation_platform	  The return from uname -i.

       creation_processor	  The return from uname -p.

       creation_release		  The return from uname -r.

       creation_os_name		  The return from uname -s.

       creation_os_version	  The return from uname -v.

   Manifest Section
       The  manifest  section is used only for differential flash archives. It
       contains a filter that specifies selection of an operating  environment
       image  and a list of the files to be retained in, added to, and deleted
       from a clone system. The list contains permissions, modification times,
       and  other  information on each file. The flash software uses this sec‐
       tion to perform a consistency check prior to deployment of  an  archive
       on  a  clone. If the user who created the differential archive used the
       -M option to flar(1M) or	 flarcreate(1M),  this	section	 will  not  be
       present.

       The  manifest  section  is for the exclusive use of the flash software.
       The format of this section is internal to Sun and is subject to change.

   Predeployment, Postdeployment, and Reboot Sections
       Contain internal information that the flash software  uses  before  and
       after  deploying an operating environment image. These sections are for
       the exclusive use of the flash software.

   Summary Section
       Contains a summary of archive creation. This section records the activ‐
       ities of predeployment and postdeployment scripts.

   User-Defined Sections
       Following  the  identification section can be zero or more user-defined
       sections. These sections are not processed by  the  archive  extraction
       code and can be used for any purpose.

       User-defined  sections  must  be line-oriented, terminated with newline
       (ASCII 0x0a) characters. There is no limit on the length of  individual
       lines.  If  binary data is to be included in a user-defined section, it
       should be encoded using base64 or a similar algorithm.

   Archive Files Section
       The archive files section contains the files gathered from  the	master
       system.	While  the  length  of	this section should be the same as the
       value of the files_archived_size keyword in the identification section,
       you  should  not	 assume	 that these two values are equal. This section
       begins with section_begin=archive, but it does not have an ending  sec‐
       tion boundary.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Availability		     │SUNWinst			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Evolving			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       compress(1),   cpio(1),	 pax(1),   tar(1),  flar(1M),  flarcreate(1M),
       md5(3EXT), attributes(5)

SunOS 5.10			  11 Apr 2011		      flash_archive(4)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net