Section 7
- e2tools · utilities to manipulate files in an ext2/ext3 filesystem
- ECHO · Generic output tool
- ecm · Extra CMake Modules
- ecm-developer · ECM Developer Reference
- ecm-find-modules · ECM Find Modules Reference
- ecm-kde-modules · ECM KDE Modules Reference
- ecm-modules · ECM Modules Reference
- ecm-toolchains · ECM Toolchains Reference
- ecpp · template language for tntnet(8)
- ecryptfs · an enterprise-class cryptographic filesystem for linux
- edb-sqlite · eurephia SQLite3 database driver
- editline · line editing user interface
- efadv · Direct verbs for efa devices This provides low level access to efa devices to perform direct operations, without general branching performed by libibverbs.
- elektra · A framework to store configuration atoms hierarchically Library Linkage Architecture.PP The Elektra library (libelektra.so) has 2 layers: public methods and backend access, according to the following architecture (these pictures were taken from the Elektra presentation[1]): When using local backends such as the filesys backend, all key access happens in the actual process space as bellow: A remote daemon backend is also possible as noted bellow: True Facts About Elektra Elektra Is Not Namespaces and Key Names.PP All keys are organized in a hierarchical tree with 2 Namespaces (subtrees) as showed by the picture: system user User Domains.PP Different from the system namespace, the user namespace is dynamic. For example, the key user/env/PATH may have completely different values for users luciana and valeria. In this example, if valeria wants to access this key at luciana's space, it should refer to user:luciana/env/PATH. Access permissions apply. User domains were implemented also to address situations when different user names ($USER) have same UID. So a user key is stored in his home directory based on the user name, not the UID. Inactive Keys.PP A great thing about text configuration files is that some configuration items can be there as an example, but inactive or commented. Elektra provides a very simple way to simulate this behavior: if the key name begins with a dot (.), it is considered inactive or commented. In real world applications, the Elektra API will ignore these keys by default, but the keys are still accessible if the developer wants to. These are some keys that have inactive subtrees: See bellow more examples of inactive keys. Key Examples.PP Here are some valid key names, and their values: The Elektra keys of the combined /etc/passwd and /etc/shadow entry for user 'nobody' would look like: The environment variables I want set, when I log in, with their full key name: The entry in /etc/inittab that is responsible for starting X11 would look: The users database files and /etc/inittab were Elektrified to key-value pairs using the users-convert and inittab-convert scripts included with the distribution. An example of an elektrified /etc/X11/xorg.conf or /etc/X11/XF86Config: Pay attention that the keys bellow system/sw/XFree/current/Monitor/.Monitor1 are inactive because we have .Monitor1 as their parent. So unless special options are used when calling the API, these keys will not be retrieved from the database. Throughout this text you will see other examples of key names. Key Data Types.PP There are only two types of data that can be stored: Text Binary There are very good reasons why types like Integer, Time, Font, List, etc were not implemented: Elektra was designed to be useful for any type of program, so having more specific data types implicates in the definition of value limits, separators in the storage format, etc, that may be good for some application and bad for other. So the semantics of the data is handled by the application. A program or framework may define its own special data handling methods using these essential basic types. See the keyGetType() and keySetType() methods documentation in the kdb(3) man page to understand how to set keys with your own data types. There are more two types of keys: Directory Link Key Meta Data.PP Besides the key name and the value, each key has other attributes: Owner's User and Group Access Permissions Modification, Access and Stat Times Key Comment Fine Grained Security Example.PP To show this metadata in action, this screen shows the kdb command listing keys and their attributes related to user nobody. We ran the kdb command without super-user credentials, asking for long (-l), recursive (-R) listing, and to show each key value (-v). But (since we are) regular user, we don't have permission to see the values of the system/users/nobody/passwd* fields. The users database files were elektrified to key-value pairs using the users-convert script included with the distribution. ExamplesSetting Keys.PP bash$kdb set -c "My first key" user/example/key "Some nice value" bash$kdb set user:luciana/example/key -- "Some - nice - value with dashes" bash#KDB_ROOT=user:http/sw/httpd kdb set -u nobody -g http key "Some value" bash$kdb set -b image.png -t bin user/example/binaryKey bash$kdb set -b file.txt user/example/regularKey bash#kdb set -t link system/sw/XFree/current system/sw/XFree/handmade Getting Keys.PP bash$KDB_ROOT=user/example kdb get some/key/name bash$eval `kdb get -s user/env/env1/PS1` bash$KDB_BACKEND=gconf kdb get user/sw/gnome-terminal/global/active_encodings Listing.PP bash$kdb ls -laR user:valeria bash$kdb ls -lR system/sw/xorg/current bash$KDB_ROOT=system/sw kdb ls -lR xorg bash$KDB_BACKEND=fstab kdb ls -Rv system/filesystems bash$eval `kdb ls -Rvs user/env/env2` Miscelaneous.PP bash#kdb ln system/sw/xorg/handmade system/sw/xorg/current bash#kdb mv system/sw/xorg/current system/sw/xorg/old bash#kdb rm system/inittab/rc4 bash$KDB_BACKEND=gconf kdb rm user/gconfKey XML Import and Export.PP bash#kdb export user/sw/app | sed -e 's|/app/|/app2/|g' | kdb import bash#KDB_ROOT=system/sw kdb export myapp > myappconf.xml bash#kdb import myappconf.xml bash$KDB_BACKEND=gconf kdb export user/sw
- elogind.directives · Index of configuration directives
- elogind.index · List all manpages from the elogind project
- elogind.journal-fields · Special journal fields rerouted to syslog by elogind
- elogind.syntax · General syntax of elogind configuration files
- elogind.time · Time and date specifications
- elvish-builtin
- elvish-bundled
- elvish-edit
- elvish-epm
- elvish-language
- elvish-math
- elvish-path
- elvish-philosophy
- elvish-platform
- elvish-re
- elvish-readline-binding
- elvish-store
- elvish-str
- elvish-unix
- END · commit the current transaction
- end · commit the current transaction
- environ · user environment
- epoll · I/O event notification facility
- eqn · eqn language reference for mandoc
- erl_docgen · The erl_docgen application is used to produce the OTP documentation.
- esil · Evaluable Strings Intermediate Language
- euca2ools · eucalyptus command line client tools
- eurephia-auth · The eurephia OpenVPN authentication plug-in
- eurephia-variables · eurephia configuration variables
- eurephia_init · Initialisation utility for the eurephia OpenVPN plug-in.
- eurephia_saltdecode · Debug utility for eurephia
- eurephiadm · eurephia administration utility
- eurephiadm-adminaccess · Access control for eurephia administration features
- eurephiadm-attempts · Manage the attempts log in eurephia
- eurephiadm-blacklist · Manage the eurephia blacklist
- eurephiadm-certs · Certificate management for eurephia
- eurephiadm-config · Show and modify eurephia configuration settings
- eurephiadm-fwprofiles · Configuring eurephia firewall profiles
- eurephiadm-lastlog · View the eurephia lastlog
- eurephiadm-usercerts · Managing user accounts and certificate relations
- eurephiadm-users · User management module
- exactimage · image processing library
- EXECUTE · execute a prepared statement
- execute · execute a prepared statement
- EXECUTE_SCRIPT · Execute SQL/DDL script
- EXIT · Terminate Slonik script with signal
- EXPLAIN · show the execution plan of a statement
- explain · show the execution plan of a statement