Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
caviness:valet [2019/06/27 16:30] frey |
caviness:valet [2019/06/27 17:11] (current) frey [Getting help] |
||
---|---|---|---|
Line 9: | Line 9: | ||
* Workgroups can create VALET package definition files in the ''$WORKDIR/sw/valet'' directory | * Workgroups can create VALET package definition files in the ''$WORKDIR/sw/valet'' directory | ||
+ | To determine what packages are available to you at any time, use the ''vpkg_list'' command: | ||
+ | |||
+ | <code> | ||
+ | [«username»@login00 ~]$ vpkg_list | ||
+ | |||
+ | Available packages: | ||
+ | in /home/«user id»/.valet | ||
+ | lolcow | ||
+ | in /opt/shared/valet/2.1/etc | ||
+ | abaqus | ||
+ | ambertools | ||
+ | anaconda | ||
+ | arpack | ||
+ | arpack-ng | ||
+ | : | ||
+ | valgrind | ||
+ | vile | ||
+ | vmd | ||
+ | </code> | ||
+ | |||
+ | To see what versions and variants of a package are available, use the ''vpkg_versions'' command: | ||
+ | |||
+ | <code> | ||
+ | [«username»@login00 ~]$ vpkg_versions intel | ||
+ | |||
+ | Available versions in package (* = default version): | ||
+ | |||
+ | [/opt/shared/valet/2.1/etc/intel.vpkg_yaml] | ||
+ | intel Intel Compiler Suite | ||
+ | 2013 alias to intel/2013u6 | ||
+ | 2013u6 Version 2013, SP1 Update 6 (2013_sp1.6.214) | ||
+ | 2015 alias to intel/2015u7 | ||
+ | 2015u7 Version 2015, Update 7 (2015.7.235) | ||
+ | 2016 alias to intel/2016u5 | ||
+ | 2016u5 Version 2016, Update 5 (2016.8.266) | ||
+ | 2017 alias to intel/2017u7 | ||
+ | 2017u7 Version 2017, Update 7 (2017.7.259) | ||
+ | * 2018 alias to intel/2018u4 | ||
+ | 2018u3 Version 2018, Update 3 (2018.3.222) | ||
+ | 2018u4 Version 2018, Update 4 (2018.5.274) | ||
+ | 2019 alias to intel/2019u2 | ||
+ | 2019u2 Version 2019, Update 2 (2019.2.187) | ||
+ | </code> | ||
+ | |||
+ | A detailed list of the actions taken for a package or a version of a package can be displayed with the ''vpkg_info'' command: | ||
+ | |||
+ | <code> | ||
+ | [«username»@login00 ~]$ vpkg_info udunits/2.2.26 | ||
+ | [udunits/2.2.26] { | ||
+ | contexts: all | ||
+ | udunits compiled with system compilers | ||
+ | prefix: /opt/shared/udunits/2.2.26 | ||
+ | standard paths: { | ||
+ | bin: /opt/shared/udunits/2.2.26/bin | ||
+ | lib: /opt/shared/udunits/2.2.26/lib | ||
+ | info: /opt/shared/udunits/2.2.26/share/info | ||
+ | include: /opt/shared/udunits/2.2.26/include | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ===== Adding packages ===== | ||
+ | |||
+ | The ''vpkg_require'' command is used to add a package's changes to your environment. One or more versioned package identifiers can be passed to the command: | ||
+ | |||
+ | <code> | ||
+ | [«username»@login00 ~]$ vpkg_require intel/2019 ffmpeg/4.0 python/3.6.5 | ||
+ | Adding package `intel/2019u2` to your environment | ||
+ | Adding package `ffmpeg/4.0` to your environment | ||
+ | Adding package `python/3.6.5` to your environment | ||
+ | </code> | ||
+ | |||
+ | Before making changes to the environment, VALET creates an //environment snapshot// that it can use to remove the changes it makes((Environment snapshots are stored in a directory created in ''$TMPDIR'' (or ''/tmp'' if ''$TMPDIR'' is not set).)). | ||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | Whenever possible, try to merge your package requests into as few ''vpkg_require'' commands as possible. This limits the number of environment snapshots that must be created and stored on disk. | ||
+ | </WRAP> | ||
+ | |||
+ | To see what packages have been added to your environment, use the ''vpkg_history'' command: | ||
+ | |||
+ | <code> | ||
+ | [«username»@login00 ~]$ vpkg_history | ||
+ | [standard] | ||
+ | intel/2019u2 | ||
+ | ffmpeg/4.0 | ||
+ | python/3.6.5 | ||
+ | </code> | ||
+ | |||
+ | ===== Removing packages ===== | ||
+ | |||
+ | The changes produced by each invocation of ''vpkg_require'' can be rolled back using the ''vpkg_rollback'' command: | ||
+ | |||
+ | <code> | ||
+ | [«username»@login00 ~]$ which ifort | ||
+ | /opt/shared/intel/2019u2/compilers_and_libraries_2019.2.187/linux/bin/intel64/ifort | ||
+ | [«username»@login00 ~]$ vpkg_rollback | ||
+ | [«username»@login00 ~]$ which ifort | ||
+ | /usr/bin/which: no ifort in (/home/1001/bin:/opt/shared/valet/2.1/bin/bash:/opt/shared/valet/2.1/bin:/opt/shared/slurm/add-ons/bin:/opt/shared/slurm/bin:/usr/lib64/qt-3.3/bin:/opt/shared/gqueue/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin) | ||
+ | </code> | ||
+ | |||
+ | By default, ''vpkg_rollback'' undoes the last ''vpkg_require''. To rollback the last //N// ''vpkg_require'' commands issued in your current shell, use ''vpkg_rollback //N//''. | ||
+ | |||
+ | To undo all ''vpkg_require'' commands issued in your current shell, use ''vpkg_rollback all''. | ||
+ | |||
+ | ===== Getting help ===== | ||
+ | |||
+ | VALET includes several Linux manual (man) pages for online help: | ||
+ | |||
+ | ^Name^Section^Description^ | ||
+ | |valet|7|General discussion of what VALET is, how it's used, etc. Good starting point.| | ||
+ | |vpkg_yaml|5|Outlines the YAML VALET package definition file format (see also the vpkg_json page); this is currently the preferred format| | ||
+ | |vpkg_json|5|Outlines the JSON VALET package definition file format (the YAML format is similar)| | ||
+ | |vpkg_xml|5|Outlines the XML VALET package definition file format; this was the original format and is now more or less deprecated in favor of YAML/JSON| | ||
+ | |vpkg_py|5|Outlines the Python package definition file format; there are two variants, literal and executable (dynamic), with availability of the latter determined by the sysadmin| | ||
+ | |vpkg_attr|1|Describes the ''vpkg_attr'' command| | ||
+ | |vpkg_devrequire|1|Describes the ''vpkg_devrequire'' command| | ||
+ | |vpkg_history|1|Describes the ''vpkg_history'' command| | ||
+ | |vpkg_info|1|Describes the ''vpkg_info'' command| | ||
+ | |vpkg_list|1|Describes the ''vpkg_list'' command| | ||
+ | |vpkg_require|1|Describes the ''vpkg_require'' command| | ||
+ | |vpkg_rollback|1|Describes the ''vpkg_rollback'' command| | ||
+ | |vpkg_versions|1|Describes the ''vpkg_versions'' command| | ||