1scl(1) General Commands Manual scl(1)
2
3
4
6 scl - Setup and run software from Software Collection environment
7
9 scl enable|run [-x|--exec] <collection1> [<collection2> ...] <command>
10
11
12 scl load|unload <collection1> [<collection2> ...]
13
14 scl list-collections
15
16 scl list-enabled
17
18 scl list-packages <collection>
19
20 scl register <path>
21
22 scl deregister <collection> [-f|--force]
23
24 scl man <collection>
25
26 scl -V|--version
27
29 This manual page documents scl, a program which is an utility for run‐
30 ning software packaged as a Software Collection.
31
32 scl utility allows to execute an application which is not located in
33 the filesystem root hierarchy but is present in an alternative loca‐
34 tion. This application can still use and benefit from software
35 installed in the root filesystem. In order to let an application be
36 visible to the system one has to use scl utility as an interface.
37
39 enable, run <collection1> [<collection2> ...] <command> [-x|--exec]
40 Run <command> within the environment of the given collections.
41 Each collection contains a module file that defines how collec‐
42 tion modifies the environment. First the environment is modified
43 according to module files of the given collections and then
44 <command> is executed. Control is returned back to the caller
45 with the original environment as soon as the <command> finishes.
46 If <command> is '-' (dash) then it is read from the standard
47 input.
48
49 If --exec is specified then function exec() will be used for
50 command execution otherwise function system() will be used.
51
52 Note: if you use <command> consisting of multiple arguments, you
53 either need to use quotes or the -- command separator. Every‐
54 thing that follows the separator will be considered a command or
55 its argument.
56
57 Note: some commands modify user environment in some way. Those
58 commands may potentially break SCLs, as their activation also
59 usually depends on env. modification as well. Typical examples
60 of such commands are su and sudo. Every collection modifies the
61 environment differently, thus more details may be found in the
62 documentation of the particular collection.
63
64 load <collection1> [<collection2> ...]
65 Load the given collections into current shell. The environment
66 of current shell is modified according to module files of the
67 collections. This command properly works in these shells: bash,
68 zsh, tcsh. You need to source /etc/profile.d/modules.sh and
69 /etc/profile.d/scl-init.sh for this command to work in shells:
70 dash, mksh, ksh. This command is not supported in other shells.
71
72 unload <collection1> [<collection2> ...]
73 Unload the given collections from current shell. The environment
74 of current shell is returned back to the state before loading
75 the collections. This command properly works in these shells:
76 bash, zsh, tcsh. You need to source /etc/profile.d/modules.sh
77 and /etc/profile.d/scl-init.sh for this command to work in
78 shells: dash, mksh, ksh. This command is not supported in other
79 shells.
80
81 list-collections
82 Lists all installed Software Collections on the system.
83
84 list-enabled
85 Lists Software Collections enabled in current shell.
86
87 list-packages <collection1> <collection2> ...
88 If a collection name is specified then list of installed pack‐
89 ages belonging to the collection is listed.
90
91 register <path>
92 If <path> leads to valid SCL file structure, scl will register
93 that as a SCL. <path> directory needs to contain module file
94 and root directory, to be considered valid SCL. <path> needs to
95 be an absolute path to the collection location.
96
97 deregister <collection> [-f|--force]
98 <collection> will no longer be considered SCL. If the <collec‐
99 tion> was installed locally, then the use of --force is needed.i
100
101 man <collection>
102 Show manual page for <collection>.
103
104 -v, --version
105 Show version.
106
108 scl enable example 'less --version'
109 runs command 'less --version' in the environment with collection
110 'example' enabled
111
112 scl load foo bar
113 Load foo and bar Software Collections into current shell
114
115 scl unload foo bar
116 Unload foo and bar Software Collections from current shell
117
118 cat my_command | scl enable baz -
119 run set of commands listed in my_command file in the environment
120 with baz Software Collection enabled
121
122 scl list-collections
123 list all installed collections
124
125 scl list-packages example
126 list all packages within example collection
127
128 scl register /foo/bar
129 registers new collection with a name bar
130
131 scl deregister bar --force
132 forces the deregistration of collection bar
133
134 A wrapper script must use proper quoting or command separator like in
135 the
136 following examples
137
138 #!/bin/bash
139 COMMAND="ruby $(printf "%q " "$@")"
140 scl enable ruby193 "$COMMAND"
141 # or
142 scl enable ruby193 -- $COMMAND
143
145 scl was written by Jindrich Novy <jnovy@redhat.com> and Jan Zeleny
146 <jzeleny@redhat.com>.
147
148
149
150 scl(1)