---
name: "locks"
section: "5"
platform: "linux"
package: "libzypp"
version: "17.38.17-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/locks/5"
---

# locks(5)

libzypp locking file

## NAME

locks - libzypp locking file

## DESCRIPTION

The file */etc/zypp/locks* is read by libzypp at start-up if *zypp.conf* allows it. The entries are used for initial locking of packages. Locking a package means not allowing to install or uninstall it.

Valid entries are of the form:

*attribute***:** *value*

Where attributes and their values are described below.

Locks are separated by an empty lines.

## ATTRIBUTES

All attributes are lower-case.

**repo**

specifies repository restriction. Only alias is accepted.\
 By default all repositories match.

**type**

resolvable type restriction. The values can be **package**, **patch**, **pattern**, **product** and **srcpackage**.\
 By default all types match.

**case\_sensitive**

if strings are matched case sensitive. The values are **true**, **false**, **on**, **off**.\
 The default is case insensitive.

**install\_status**

status of object. Possible states are **installed**, **not-installed** and **all**. If more install statuses are specified then the last one is used. The values are **installed** for all packages which are installed, **non-installed** for packages which can be installed or reinstalled and **all** for both.\
 The default is **all**.

**match\_type**

type of string matching in values. Does not affect **type** and **repo** which must be specified exactly. The values are **exact**, **substring**, **regex** for regular expressions, **glob** for matching as on the command line, and **word**.\
 The default is **substring**.

**query\_string**

String to be matched in multiple attributes. Should be restricted by another attribute with empty value (it is recommended, because without restriction expect some performance problems).

**version**

Restrict the lock only to some versions. It contains two parts: an optional operator and the version.\
 The operator is **==**, **!=**, **\<**, **\>**, **⇐**, **\>=**.  If operator is not specified then **==** is used.\
 The version has the format \[*epoch***:**`]`*version*\[**-***release*\].\
 Example: **version: \< 0:0.11.4-2**

**solvable\_name**

name of object (e.g. zypper)

**solvable\_summary**

summary of object

**solvable\_arch**

architecture of object (e.g. x86\_64, i586)

**solvable\_description**

description of object

**solvable\_eula**

license text of objects which request accepting license by user

**solvable\_license**

license of package (only for package) (e.g. GPL2)

**solvable\_keywords**

keywords which specify package (only for package)

**solvable\_authors**

authors of package (only for package)

**solvable\_group**

package group (only for package) (e.g. Development/Tools/Version Control )

**update\_reference\_type**

reference for update (e.g. bugzilla,cve) (only for patches)

## EXAMPLES

**Exact Package**

This is the way YaST UI does it. Lock k3b (e.g. you don’t want to update it).

```
-----locks-----
type: package
solvable_name: k3b
match_type: exact
case_sensitive: on
```

**Package Wildcard**

This is the way "zypper addlock cross-\*-gcc-icecream-backend" does it.

```
-----locks-----
type: package
solvable_name: cross-*-gcc-icecream-backend
match_type: glob
case_sensitive: on
```

**Versioned Lock**

Do not install new GCC. This format is used when converting from the openSUSE-10.3 lock format.

```
-----locks-----
solvable_name: gcc
match_type: glob
version: > 4.2
```

**Anything named KDE**

Locks everything which contains kde in the name.

```
-----locks-----
solvable_name: kde
```

**Anything mentioning KDE**

Locks everything which contains kde in the name, summary, or description.

```
-----locks-----
query_string: kde
solvable_name:
solvable_summary:
solvable_description:
```

## HOMEPAGE

This manual page only covers the most important attributes. The complete list is available at  \<http://en.opensuse.org/Libzypp/Locksfile\>

## AUTHORS

Josef Reidinger  \<jreidinger@suse.cz\> Manual page contributions by Martin Vidner  \<mvidner@suse.cz\>.

## SEE ALSO

[zypper(8)](/zypper/8.md)
