Running Linux, 5th Edition - Matthias Kalle Dalheimer [228]
Finally, you can access multiple services through rug just like you can with the GUI. Use the rug service-add command, followed by the URL for the service. Several services are listed at http://open-carpet.org.
Multiple users
Imagine that you are a system administrator and want to update several systems, but that you don't have root access to all of them. How can you do it? During your system install, install zmd and configure it to recognize you as a remote user. Then, even when the root password changes, you can still install security updates.
To add a user, use the command rug user-add username or, in the GUI, select Edit → Users. You will need to enter a password and select privileges for the user you are creating. Note that these usernames and passwords are totally distinct from system logins.
You can grant the following privileges:
Install
User can install new software.
Lock
User can add or delete package locks.
Remove
User can remove software.
Subscribe
User can alter channel subscriptions.
Superuser
User has all access granted to the local root user.
Trusted
User can install unsigned packages.
Upgrade
User can upgrade existing software.
View
User can see what software is installed, and check updates. This is the only privilege that is turned on by default.
Once you have created a user account with the daemon, you can let that user update the system and maintain its software without having to grant them full access to the data on the machine.
To disable remote user connections, use the command rug set-prefs remote-enabled false.
To access a remote daemon using the Red Carpet GUI, select File → Connect to Daemon and enter the address of the remote server. To access a remote daemon using rug, use the --host flag to set the host. Note that the default port for listening is 505.
Operating an update server
Large businesses often want to keep software updates within their firewalls and completely under their control. To do that, they use enterprise-class upgrade servers with sophisticated interfaces and multiple levels of administrator privileges. That's not the kind of update server we're covering here. If you're shipping a few updates to a few systems, or if you're a developer shipping software and want to make it easy to install and update, you don't need a really complicated system. You just want to make sure that the beta testers have the latest version.
Open Carpet is a free server for HTTP, FTP, and Red Carpet access to packages and package metadata. That means that anyone with a web browser can also download the files and install them by hand, just like with a regular file server, but in addition, Red Carpet users can update and resolve dependencies automatically. In some places it's a little rough around the edges, but it works nicely for those willing to fiddle with configuration files a little bit.
To set up your own server, install open-carpet and libredcarpet-python, available at http://open-carpet.org—and of course through the site's own official Open Carpet service. The packages provided contain sample configuration files, normally installed to /usr/share/doc/packages/open-carpet/sample/. Edit the server.conf file first. It's simple enough: enter a name for the server, your email address, and so forth. At the end, it points to a channel directory. Create that directory, put packages in it, and run the open-carpet command. If all goes well, you've got a server. To ship updates,