Lab 5-1 YaST GUI
First, let's make a couple of notes on YaST itself. The most useful thing about YaST becomes apparent immediately after opening it – it has configuration information about almost every aspect of the system. One of the problems you notice though (at least coming from other distros) is that the arrangements aren't quite the same as the “standard” configuration arrangements inherited from the old linuxconf. It is, however, easy to find and start, which is good.
A Windows-like aspect of YaST is the log file viewer. Although this is not as useful, it does at least collect all of the system logs into a single location alongside the other configuration options. Of course, it's really easier to sort through logs files via the CLI using grep and other text-based tools, but that does require that you know which file to look in. I did kind of wonder why they chose /proc/version, which only has the system kernel version, as an example, but it does show how the System Log feature gathers files from disparate locations – in this case, /proc rather than the more common /var/log.
Another basic configuration element is the system time and date. Again, though YaST is not the only way to adjust this, it does aggregate the time and date settings with the other configuration settings. Not only can you manually set the time and date as you do here, but you can also set the time zone. A useful feature there is the map-based selector, which selects the nearest “official” city when you hover over your actual location.
Another useful feature is the network-based time setting. Because ntp is so low-bandwidth, this is probably a good idea for any desktop or server – machines that are likely to have a permanent network connection.
One of the things that makes YaST a little different from some other configuration systems is that it actually started life as an ncurses-based text system. Only linuxconf can claim a similar pedigree, and it is rarely seen in a modern distro. Starting the ncurses interface is as easy as the GUI interface, and the name is easy to remember. One of the more useful features shown here is the -l switch, which lets you list all of the modules you can install to go with YaST. It's really nice to have a rundown easily available from the command line.
Part V and VI
It's also useful that the ncurses variant uses all of the same categories as the GUI version. Navigating with the arrow keys and Tab key is intuitive, and the ncurses styles make for easy reading. Of course, accessing the log files, as is done here, is a little nonsensical. If you want to see log files from the command line, it really does make more sense to just use cat, less, or grep. Closing YaST is also pretty intuitive, with Alt-Q a fairly common shortcut.
Part I and II
Finding ip address is a little easier in Novell with the ip command, though again, it seems a bit redundant when the ifconfig command is available. Again, YaST is easy to find and start.
Part III, IV, and V
Configuring a network interface with YaST is also fairly straightforward. Although information is rather more scattered than it would be from the command line, all the most-used information is available via the tabs in the main network configuration interface. This is itself easy to reach via the Network configuration option in the main YaST window.
Each element of the network configuration – routing, DNS, and address configuration – has it's own tab, and each has fields for the requisite information. Configuration simple involves inserting the proper information in each field. It's easy, but somewhat clumsy in that the information isn't easily editable in one place.
This lab simply goes through the motions of creating a new user in YaST and checking that the new user can log in. The user creation from YaST involves, as above, merely filling in the proper fields in the User and Group Management module. There's really not much to it. Once this is done, logging in to check that you've entered everthing properly is always a good idea. This lab also has you check that the user appears in the /etc/passwd file, and that is also a good idea. Things that get missed in the GUI interface are sometimes apparent in the plain text of /etc/passwd.
This lab has you remove the user information entered in the previous lab. Again, the module access is easy, and authentication in the module means you don't have to log in as root to perform this activity. The user is removed with a minimum of fuss, and the assorted cleanup that would be necessary with manual methods can be handled by the module. Again, the independent confirmation that the user is gone and all files have been deleted (by checking the filesystem in Nautilus) is an important step.
This lab is more careful look at how user information is stored in the system. It also shows how there are multiple methods for retrieving user and group information. For one it demonstrates the utility of simply searching /etc/passwd and /etc/group for certain users/groups. This is easy even using less in a small system, and even easy using grep in a larger system. In addition, the lab shows how any user can use the id command to determine their own user information.
This is a demonstration of how to perform the same actions as Lab 6-1, only with the command line interface. It's an excellent example of just how much more powerful the command line can be, for all of the actions can be performed in just a few lines (and this lab actually takes far more lines than are really necessary). The addition of a user is a one-line command, with all of the user variables, as is his or her deletion. As above, this lab stresses the importance of confirmation.
This lab takes a look at all of the ways you can edit file and directory permissions from the command line. Each file has its user, group, and other permissions available via a simple -l switch on the ls command, and the chmod and chown commands are demonstrated, with their ability to change filesystem permissions as well as change both the user and group of a given filesystem node. In particular, using the chmod xxx numeric system and the letter-based chmod ugo+- system of changing permissions is demonstrated clearly. All of this can also be done in nautilus, but first you have to actually drill down to the requisite file/directory in the GUI, which can be extremely time-consuming, as using absolute paths is not really and option in Nautilus.
The vi editor is really my favorite way of editing text. For most things, it's just superior to any alternative. Though it doesn't have any WSYIWYG features, it compensates with a keystroke command set that's hard to beat, and it's an easy command to remember to start editing. Plus vi is easy to type,as this lab demonstrates.
Actually editing text in vi involves being used to mode awareness. You have to remember which mode you're in, because otherwise you wind up typing lots of commands that get included into your text, or typing text that gets interpreted as commands. The first can be annoying, but you just erase the errant characters. The latter can be disastrous, especially if you're a fast typist, as you can issue a large number of commands and even overflow the undo buffer or write your changes to disk before you even realize what you've done. The commands here are a decent example of the power of vi. With a few keystrokes, you copy whole lines, delete multiple words, and save/quit. All require fewer keystrokes than a short sentence.
This lab examines the GUI package manager, which is not one of the better ones I've seen. I actually fielded a call from a classmate where simply updating his system resulted in a non-booting virtual machine. When presented with dependency conflicts, the graphical package manager offers bad and worse choices to the user – the classmate chose some that simply removed vital system packages. This is horrific behavior, especially in s so-called enterprise system. The package manager is also not terribly intuitive to use, and adding repositories is a pain.
This is a lab on the other GUI package manager available – PackageKit. Though an improvement on YaST, it still offers the ability to wreck your system as a matter of course. Not really a good idea
This lab looks at the old command line rpm installer, which still forms the basis for package management in Novell. The advantages to using rpm from the command line are that you never have to worry about the GUI offering to do something stupid. He disadvantage is that you really have to almost everything yourself. For packages included in the distro, though, this is usually quite minimal. As long as you're up to date, you can usually install an rpm designed to work with your distro without much trouble. In addition, the other rpm switches, especially the -q switches, can tell you a lot about installed software.