From root@z-mp.slackware.lan Tue Jan 11 14:18:55 2022 Return-Path: X-Original-To: root Delivered-To: root@z-mp.slackware.lan Received: by z-mp.slackware.lan (Postfix, from userid 0) id D7F87251F63; Tue, 11 Jan 2022 14:18:36 -0600 (CST) Date: Tue, 11 Jan 2022 14:18:36 -0600 To: root@z-mp.slackware.lan Subject: Welcome to Linux (Slackware 15.0)! User-Agent: mailx v14.9.23 Message-Id: <20220111201855.D7F87251F63@z-mp.slackware.lan> From: root@z-mp.slackware.lan Welcome! I'm glad to see you've made it this far! :^) Here are a few hints to help you navigate through the Linux operating system a little bit better. Tools to help configure your system: pkgtool: Remember those screens you saw while each package was installing? You can see all that information (and more) again. The simplest way is to use the 'pkgtool' utility to view the package contents. Another way is to use 'less' or a text editor to read the files in /var/lib/pkgtools/packages and /var/lib/pkgtools/scripts (this is the method I use). The pkgtool script serves as a frontend to the command line package tools, so it's a menu based program that will enable you to remove, install, or view packages that are currently installed on the system. pkgtool will also allow you to re-run some of the system admin scripts that you may have seen during the installation process. Slackware's command line package tools: I use these utilities most of the time when I have packages to install, remove, or upgrade. These are the tools: installpkg -- Installs packages removepkg -- Removes installed packages upgradepkg -- Upgrades or downgrades installed packages makepkg -- Used to create your own Slackware Package explodepkg -- Will extract the files from the package without running any install scripts. slackpkg: For those more used to automated package management tools you might like to try slackpkg (my favorite due to its simple, straightforward approach to keeping a machine up to date). Slackpkg can be found in the slackware/ap directory. A search of the web will turn up more tools as well. You should approach these cautiously, as Slackware is designed around the idea that the system should be a complete installation kept updated with any official patches. This avoids the mess of dependencies that some other Linux based GNU systems face. However, many (if not most) of these tools won't know what to do about .new config files, or how to handle upgrading a package that has changed to a new name. Some also think that any package with a larger build number is "better", when there have been many instances that a new upstream release wasn't working properly and we had to roll back to an earlier one, and an automated upgrade tool didn't want to "downgrade" the package. This is something upgradepkg will gladly do, as it doesn't (as it should not) take the package's version number to mean much of anything. Regarding automatic upgrades, there have also been cases where a library upgrade caused unwanted side effects in programs that link with it. In theory, most libraries used on the system try to retain backwards compatibility, but in practice this isn't always the case. While any issued patches should be installed to keep your system secure, always remember the old adage "don't fix it if it ain't broke" when considering other upgrades and additions, especially if they come from unofficial sources. Again, there's a lot of good stuff out there, but there's also some that's not so good. It's always a good idea to look packages over before you install them. This is as simple as using 'less' to view the contents so you can see if they overwrite anything, and maybe using 'tar' or 'explodepkg' to extract the archive into a temporary directory to take a closer look. netconfig: netconfig is a menu based program that will help to configure your network. You will be asked several questions and given an opportunity to review your settings before the changes are committed. More advanced settings are available by editing the /etc/rc.d/rc.inet1.conf config file directly. pppsetup: pppsetup is a menu based program that will help you to connect to your ISP via a PPP connection. As with netconfig you are asked a series of questions and given a chance to review your settings. KDE also includes a utility for configuring PPP dialup connections. This is found in KDE's Internet menu (kppp). xwmconfig: If you have installed the X window system, you can use xwmconfig to choose your default window manager. Running this as root will set the system default while running it as a normal user will only set the window manager for that user. An /etc/X11/xorg.conf config file is no longer required to run X, but you may still use one if you wish. An initial xorg.conf may be generated by running: X -configure For many modern drivers (such as those using Kernel Mode Setting), X -configure no longer generates a working xorg.conf. For those drivers you could start by copying /etc/X11/xorg.conf-vesa to /etc/X11/xorg.conf and then edit this line: Driver "vesa" Change "vesa" to the name of the X driver for your chipset. liloconfig: If you are using the LILO boot loader to start your system you can use liloconfig to setup and install Lilo to the boot drive. There's a simple installation which tries to automatically set up LILO to boot Linux (also Windows if found). For more advanced users, the expert option offers more control over the installation process. If you have a lot of partitions, the selection menu in 'expert' mode may overflow. You'll likely then want to go to another console and find the partition you want with 'fdisk -l | less', and then go back and enter it (proving that you are, indeed, an expert). eliloconfig: If you are using the elilo boot loader to start your system that uses UEFI BIOS, then eliloconfig is used to copy the kernel (and the initrd if one is found) to the EFI System Partition, as well as to add a menu entry for Slackware to the EFI Boot Menu. After upgrading to a new kernel, use "geninitrd" to create an updated initrd, and then use eliloconfig to copy the kernel and initrd to the EFI System Partition. If you've already added a menu entry for Slackware you do not need to do it again, and indeed probably should not to avoid extra wear on the nvram used to store EFI data. Other configuration files: The majority of system configuration files can be found in and below the /etc directory. Most system configuration is done by editing these files with a text editor such as 'vi', "nano", or 'joe'. If you're not sure which files you need to edit to configure a given package, use 'less' or 'pkgtool' to see what files are installed by the package paying special attention to any files placed in /etc or that end with the suffix .new (these are usually moved into place if there's not already a configuration file with the same name). After upgrading a package, if a .new config file is put in place you'll have to decide whether to delete the .new, move it over the existing config file (losing any custom configuration information in the old file), or make a backup copy of your old config file, move the .new one into place, and merge any required changes into the new config file with a text editor. Hardware, network, and kernel issues: If you've got hardware such as a CD-ROM drive or Ethernet card that doesn't seem to work with Linux, it's possible that the kernel you're using doesn't contain the needed support. In that case, you can do one of two things: 1. Load the support with kernel modules. This is probably the simplest way to handle the situation. Just edit /etc/rc.d/rc.modules so that it loads the modules you need. 2. Recompile your kernel, including the needed driver(s). However, recompiling your kernel is an extreme measure that can be both difficult and dangerous to the stability of your system. If you decide to go that route, either be sure you know the potential pitfalls or seek guidance from someone experienced with kernel configuration, compilation, and installation. Also note that the vast majority of modules will load themselves with udev if the hardware is present in the system, unless the modules are not udev-capable yet, or they are blacklisted in a file in /etc/modprobe.d/ (local config files) or /lib/modprobe.d/ (config files that ship with the system). If the module for the driver you need is blacklisted, copy the appropriate file from /lib/modprobe.d/ to /etc/modprobe.d/ and then comment out the line that blacklists the module by putting # at the beginning. Files found in /etc/modprobe.d/ will override those found in /lib/modprobe.d/ and will not be overwritten by upgrades. If that doesn't fix the issue, check with "lsmod" to make sure that the module is loading correctly. If not, try loading it in the /etc/rc.d/rc.modules file. If you're on a standalone LAN without a nameserver, make sure you don't have a nameserver line in /etc/resolv.conf, or you may experience delays with many network commands as they attempt to query the bogus nameserver. Most people these days will have a nameserver, or be able to access one via their router/gateway. Most DHCP servers will tell dhcpcd what it needs to know in order to set up your /etc/resolv.conf automatically. Want to run NFS? You'll need to install the rpcbind and nfs-utils packages. Then, edit your /etc/exports to allow NFS access. (see 'man exports' for examples). Finally, set rc.rpc and rc.nfsd executable: chmod 755 /etc/rc.d/rc.rpc chmod 755 /etc/rc.d/rc.nfsd To start the NFS server, either reboot or execute the two rc files. The kernel is now set up with the CONFIG_SCSI_MULTI_LUNS option to scan for new "SCSI" devices automatically. However, if that fails to work after inserting a digital media card, or plugging in a new USB or IEEE1394 (Firewire) device, you may need to run the following command before it becomes available as a mountable device: rescan-scsi-bus -l This command scans the LUNs (or Logical Unit Numbers) of all the SCSI devices attached to the system, including USB and other devices that look like SCSI to the kernel. If you are running D-Bus, udisks2, and a graphical desktop such as KDE or Xfce, newly inserted devices should become automatically available to users who are members of the appropriate groups (cdrom, plugdev, and so forth) in the /etc/group file. Printing on Slackware with CUPS (the Common UNIX Printing System): Slackware prints using gs (ghostscript), CUPS (the Common UNIX Printing System), and printer drivers from gutenprint or hplip. These drivers are further supported by the foomatic-filters and cupsddk packages, used to generate and manage PPDs (PostScript Printer Description files). To set up CUPS, make sure that /etc/rc.d/rc.cups is executable so that CUPS will start at boot: chmod 755 /etc/rc.d/rc.cups To start CUPS without a reboot, run the file like this: sh /etc/rc.d/rc.cups start Then connect to the CUPS configuration port using a web browser at this URL: http://localhost:631/admin This local "website" may also be reached using the CUPS configuration menu choice within a desktop environment such as KDE. See the extensive docs in /usr/doc/cups for more details. If you don't see your exact printer model when adding a new printer, often one that's "close" will do the trick. Users who plan to print (or scan) need to be members of the "lp" group. Mouse support: Only very ancient mice will need any special treatment in order to get basic support, and with GPM cut and paste on the console. Most will work with the "ps2" or "imps2" protocols. If you should happen to have one of the ancient mice that is not a serial, PS/2, or USB mouse then you'll probably have to load a kernel module in order to get it to work. At this point in time, a busmouse is rare. These days, most mice are PS/2 (with a 6 pin round plug) or USB, or occasionally serial (with a 9 pin trapezoidal plug). These kinds of mice don't require any special setup as the system should detect and activate them automatically. If you think your mouse might need a special driver (if it's not working), read the comments in /etc/rc.d/rc.modules to see which one is needed, and edit the file to load it at boot time. It's also possible that the /dev/mouse link may need to be changed to point to the proper mouse device. Or, compile a new kernel with built in support for your mouse and install that. Using the lsmod command, you can see if the psmouse module is loaded. If so, you're using the psmouse module for a PS/2-like mouse (including most touchpads). If you need to adjust the mouse protocol, make a copy of the config file, and then edit that: cp /lib/modprobe.d/psmouse.conf /etc/modprobe.d/psmouse.conf vi /etc/modprobe.d/psmouse.conf Sometimes this is needed to make the mouse work correctly with a KVM switch, or to properly enable tap-to-click with a touchpad. Network support: Of course, you're going to want to get your machine online. If you have a router supporting DHCP you're probably already on by now. Otherwise, 'netconfig' will give you a simple network connection. To get your machine on the net, you'll need to install packages from the N (network) series. If you aren't sure which ones you'll need, the easiest thing is to just install them all. Network services will not run unless activated by making the startup scripts in /etc/rc.d/ executable, so it doesn't hurt to have them installed. Your machine should be configured at least with loopback using the "netconfig" utility. If you are using a modem, make sure the serial port your modem uses is correctly configured, and then use 'pppsetup' to configure the dialup process. Additional documentation on pppsetup can be found in /usr/doc/pppsetup-*/. DSL/Cable users who need to use PPPoE (PPP over Ethernet) should see the docs in /usr/doc/rp-pppoe-3.12/. If you will be using wireless (or even a wired interface), you might want to let NetworkManager handle your network connections. This is a choice during the initial installation, but may also be selected later by rerunning netconfig, or by setting the startup script to executable (chmod 755 /etc/rc.d/rc.networkmanager). When Network Manager is used to handle connections, a nice interface is provided to scan for wireless access points and make changes to the network configuration. This interface runs automatically with KDE or Xfce. In fluxbox, the nm-applet program will need to be launched. Other window managers lack a system tray to display nm-applet, so for those you might want to look at wicd in /extra, which also provides a nice GUI tool for connecting to wireless (or wired) networks. For window managers that do not provide a tray for running programs, start "wicd-client" to make changes. With NetworkManager or wicd, it's a good idea to remove any existing network configuration in /etc/rc.d/rc.inet1.conf first. This can be done by running netconfig and setting the machine to use loopback. Then, if you're using NetworkManager run it a second time and select NetworkManager. If you need to set up your Linux machine as a router for other systems, you'll want to set up the interfaces in /etc/rc.d/rc.inet1.conf, and set up NAT support with something like this in /etc/rc.d/rc.firewall, and then make rc.firewall executable. # Delete and flush. Default table is "filter". # Others like "nat" must be explicitly stated. iptables --flush # Flush all the rules in filter and nat tables iptables --table nat --flush # Delete all chains that are not in default filter and nat table iptables --delete-chain iptables --table nat --delete-chain # Set up IP FORWARDing and Masquerading iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE iptables --append FORWARD --in-interface eth1 -j ACCEPT echo "Enabling ip_forwarding..." echo 1 > /proc/sys/net/ipv4/ip_forward It's possible to expand (or reduce ;-) this script for just about any firewall needed. See "man iptables" for lots of information. F: FAQ series, and the HOWTO documentation collection: If you installed the F series, you find detailed documentation on many common Linux tasks in /usr/doc/Linux-HOWTOs. Each of these instructional files covers a particular Linux task. They cover most system administration tasks in a lot more detail than this little email does. At this point the majority of these have been unmaintained for years and are largely obsolete, but in spite of this there are still good hints to be found. In general a search engine will be your best bet for finding additional information. Or, visit the Slackware forum on Linux Questions and you'll find a helpful community who can answer your questions (or perhaps even I'll answer you there): https://www.linuxquestions.org/questions/slackware-14/ There is also a collection of Linux related FAQs (lists of Frequently Asked Questions with answers) /usr/doc/Linux-FAQs. Please see the CHANGES_AND_HINTS, RELEASE_NOTES and other files included with the distribution for any last-minute changes. Have fun! --- Patrick Volkerding volkerdi@slackware.com