{"id":176,"date":"2020-08-18T19:23:47","date_gmt":"2020-08-18T20:23:47","guid":{"rendered":"http:\/\/www.linux-tutorial.info\/?page_id=77"},"modified":"2020-08-22T19:26:41","modified_gmt":"2020-08-22T20:26:41","slug":"this-is-the-page-title-toplevel-10","status":"publish","type":"page","link":"http:\/\/www.linux-tutorial.info\/?page_id=176","title":{"rendered":"What Linux is Made of"},"content":{"rendered":"\n<title>What Linux is Made of<\/title>\n<p>\nThere are many aspects of the Linux <glossary>operating system<\/glossary>\nthat are difficult to\ndefine. We can refer to individual programs as either utilities or commands,\ndepending on the extent of their functions. However, it is difficult to label\ncollections of files. Often, the labels we try to place on these collections do\nnot accurately describe the relationship of the files. However, I am going to\ntry.\n<\/p>\n<p>\nLinux comes with essentially all the basic <glossary>UNIX<\/glossary>\ncommands and utilities that\nyou have grown to know and love (plus some that you don&#8217;t love so much).\nBasic commands like <command>ls<\/command> and\n<command>cat<\/command>, as well as text manipulation programs like\n<command>sed<\/command>\nand <command>awk<\/command> are available.\nIf you don&#8217;t come from a Unix background, then many of the commands may seem\na little obscure and even intimidating. However, as you learn more about them\nyou will see how useful and powerful they can be, even if it takes longer to learn them.\n<\/p>\n<concept id=\"\" description=\"Linux  comes with a wide range of programming tools and environments.\" \/>\n<p>\nLinux also comes with a wide range of programming tools and environments,\nincluding the GNU <command>gcc<\/command> compiler, <command>make<\/command>, <command>rcs<\/command>, and even a debugger. Several\nlanguages are available, including Perl, Python, Fortran, Pascal, ADA, and even\nModula-3.\n<\/p>\n<p>\nUnless you have an extremely low-level distribution, you probably have X11R6\nin the form of XFree86 3.x, which contains drivers for a wide range of video\ncards. There are a dozen text editors (<command>vi<\/command>, <command>emacs<\/command>, <command>jove<\/command>)\nand shells (<command>bash<\/command>, <command>zsh<\/command>, <command>ash<\/command>,\n<command>pdksh<\/command>), plus a wide range of text\nprocessing tools, like TeX and groff. If\nyou are on a <glossary>network<\/glossary>,\nthere is also a wide range of networking tools and programs.\n<\/p>\n<p>\nEven if you have been working with a Linux or any <glossary>UNIX<\/glossary>\ndialect for a while, you\nmay have heard of certain aspects of the <glossary>operating system<\/glossary>\nbut not fully\nunderstood what they do. In this section, I&#8217;m going to talk about functions that\nthe system performs as well as some of the programs and files that are\nassociated with these functions. I&#8217;m also going to talk about how many of the\nsystem files are grouped together into what are referred to as\n&#8220;packages,&#8221; and discuss some of the more important packages.\n<\/p>\n<p>\nTo install, remove, and administer these packages on a\n<i>Slackware<\/i>-derived system, use the <command>pkgtool<\/command> tool, which is actually a\nlink to the <glossary>shell<\/glossary>\nscript <command>cpkgtool<\/command>. This tool can be called from\nthe <glossary>command line<\/glossary>\ndirectly or by the \/sbin\/setup program. Each package comes on\nits own set of disks. These packages are:<\/p>\n<ul>\n<li>A Base Linux System\n<li>AP various applications that do not need X\n<li>D Program Development (C, C++, Lisp, Perl, etc.)\n<li>E GNU emacs\n<li>F <glossary>FAQ<\/glossary>\nlists, <glossary>HOWTO<\/glossary>\ndocumentation\n<li>I Info files readable with info, JED, or emacs\n<li>IV InterViews Development + Doc and Idraw apps for X\n<li>N Networking (TCP\/IP, <glossary>UUCP<\/glossary>,\n Mail, News)\n<li>OOP Object-Oriented Programming (GNU Smalltalk 1.1.1)\n<li>Q Extra Linux kernels with custom drivers\n<li>T TeX ,text\nprocessing system\n<li>TCL Tcl\/Tk\/TclX, Tcl language and Tk toolkit for X\n<li>X XFree-86 3.1 <glossary>X Window System<\/glossary>\n<li>XAP <glossary>X<\/glossary>\napplications\n<li>XD XFree-86 3.1 X11 Server Development System\n<li>XV XView 3.2 (OpenLook Window Manager, apps)\n<li>Y games (that do not require X)\n<\/ul>\n<p>\nWhy is it important to know the names of the different packages?\nWell, for the average user, it really isn&#8217;t.\nHowever, the average user logs on, starts an <glossary>application<\/glossary>\nand has very little or\nno understanding of what lies under the <glossary>application<\/glossary>.\n The mere fact that you are\nreading this says to me that you want to know more about the operating\nsystem and how things work. Because these packages are the building blocks of\nthe <glossary>operating system<\/glossary>\n(at least in terms of how it exists on the hard disk),\nknowing about them is an important part of understanding the whole system.\n<\/p>\n<concept id=\"\" description=\"One of the key advantages that Linux has over Windows is the ability to\nselectively install and remove packages.\" \/>\n<question id=\"\" type=\"tf\" text=\"One of the key advantages that Linux has over Windows is the ability to\nselectively install and remove packages.\" \/>\n<p>\nPlus one of the key advantages that Linux has over Windows is the ability to\nselectively install and remove packages with <i>much<\/i> finer granularity. For example, you can\nadd and remove individual programs to a greater extent with Linux than you can with Windows. Further\nthere are fewer groups of programs in Windows (such a group of programs is often called a &#8220;package&#8221;\nin Linux). Grouping software like this allows you to pick and chose what you want to install to a greater extent. Therefore, knowing where each package resides (or at least having a starting point) is a big a help.\n<\/p>\n<p>\nTo be able to do any work on a Linux system, you must first install software.\nMost people think of installing software as adding a word processing program or\ndatabase application; but any program on the <glossary>operating system<\/glossary>\nneeds to be\ninstalled at one time or another. Even the <glossary>operating system<\/glossary>\nitself was\ninstalled.\n<\/p>\n<p>\nEarlier, I referred to the Linux <glossary>operating system<\/glossary>\nas all the files and programs on the hard disk. For the moment, I want to restrict the\ndefinition of &#8220;operating system&#8221; to just those files that are\nnecessary for &#8220;normal&#8221; operation. Linux (at least Slackware) has\ndefined that set of programs and files as the Base Linux System, or Base\nPackage. Although there are many files in the Base Package that could be left\nout to have a running system, this is the base set that is usually\ninstalled.\n<\/p>\n<question id=\"\" type=\"mc\" text=\"What is the most commonly used format to install Linux software?\" \/>\n<question id=\"\" type=\"tf\" text=\"The most commonly used format to install Linux software ist RPM.\" \/>\n<question id=\"\" type=\"mc\" text=\"What does RPM stand for?\" \/>\n<concept id=\"\" description=\"The most commonly used format to install Linux software ist RPM.\" \/>\n<p>\nMany versions of Linux are now using the Red Hat Package Manager (RPM)\nformat. In fact, <glossary>RPM<\/glossary> is perhaps the format most commonly\nfound on the Internet. Most sites will have new or updated programs as RPM files.\nYou can identify this format by the rpm extension to the file name.\n<\/p>\n<p>\nThis has proven itself to be a much more robust mechanism for adding and removing\npackages, as it is much easier to add and manage single programs than with\nSlackware. We&#8217;ll get into more detail about this when I talk about installing.\nYou will also find that <glossary>RPM<\/glossary>\npackages are also grouped into larger sets like those in\nSlackware, so the concepts are the same.\n<\/p>\n<p>\nAlthough most commercial distributions use the <glossary>RPM<\/glossary>\nformat, there are often a\nnumber of differences in which package groups there are and which programs and\napplications appear in which group. For example, later SuSE distribution has\nthe following package group:<\/p>\n<p>\n<ul>\n<li>a1 &#8211; Linux Base System (required)\n<li>ap1 &#8211; Applications which do not need X\n<li>ap4 &#8211; Applications which do not need X\n<li>d1 &#8211; Development (C, C++, Lisp, etc.)\n<li>doc1 &#8211; Documentation\n<li>doc4 &#8211; Documentation\n<li>e1 &#8211; Emacs\n<li>fun1 &#8211; Games and more\n<li>gra1 &#8211; All about graphics\n<li>gra3 &#8211; All about graphics\n<li>k2de1 &#8211; KDE2 &#8211; K Desktop Environment (Version 2)\n<li>n1 &#8211; Network-Support (TCP\/IP, <glossary>UUCP<\/glossary>,\n Mail, News)\n<li>perl1 &#8211; Perl modules\n<li>sec1 &#8211; Security related software\n<li>snd1 &#8211; Sound related software\n<li>spl1 &#8211; Spell checking utilities and databases\n<li>tcl1 &#8211; Tcl\/Tk\/TclX, Tcl-Language and Tk-Toolkit for X\n<li>tex1 &#8211; TeX\/LaTeX and applications\n<li>x1 &#8211; Base <glossary>X Window System<\/glossary> &#8211; XFree86\\tm\n<li>x3d1 &#8211; 3D software for X11 and console\n<li>xap1 &#8211; <glossary>X<\/glossary>\nApplications\n<li>xdev1 &#8211; Development under X11\n<li>xsrv1 &#8211; Several <glossary>X<\/glossary>\nServers (XFree86)\n<li>xsrv2 &#8211; Several <glossary>X<\/glossary>\nServers (XFree86)\n<li>xsrv3 &#8211; Several <glossary>X<\/glossary>\nServers (XFree86)\n<li>xsrv4 &#8211; Several <glossary>X<\/glossary>\nServers (XFree86)\n<li>xv1 &#8211; XView (OpenLook, Applications)\n<li>xwm1 &#8211; Window managers and desktop environments\n<li>yast1 &#8211; YaST Components\n<li>zq &#8211; source packages\n<\/ul>\n<question id=\"\" type=\"mc\" text=\"What is the name of the graphics tool used to add software on SUSE Linux?\" \/>\n<concept id=\"\" description=\"The name of the graphics tool used to add software on SUSE Linux is YAST.\" \/>\n<p>\nNote that in the case of SuSE, when you are in the administration tool (YAST), the\nnames of these groups will probably appear somewhat different. For example, there\nare two groups of applications: those that need X-Windows and those that do not.\nWhen you are in YAST, there are two dozen <glossary>application<\/glossary>\ngroups, such as\nspreadsheets, math and databases. The groups listed above are how you might find\nthem on the CD and date from a time when you did not have many applications\nand there were few distributions. Most people got Linux from the net and these\npackage groups were pretty convenient.\n<\/p>\n<p>\nToday, SuSE is on several CDs and just\nto make things easier, you are also given a DVD or two depending on which package you get. Also the package groups have changed as you see in the following figure:\n<\/p>\n<p>\n<img loading=\"lazy\" decoding=\"async\" src=\"yast_package_groups1.png\" width=\"835\" height=\"491\" border=\"0\">\n<\/p>\nIf you compare the previous list to the groups you see here, you will notice that the groupings are similar but not identical. Tools like YaST are able to determine what other packages are required and today there is really no need to group packages to make downloading easier. Typically, you will either order or download them. There are a number of places where you can download complete packages, but you have to spend the time downloading <glossary term=\"ISO image\">ISO images<\/glossary> and the burnign the CDs or DVS. Or, you can save yourself time and money by ordering them from places like <a href=\"http:\/\/www.osheaven.net\">OS Heaven<\/a>.\n","protected":false},"excerpt":{"rendered":"<p>What Linux is Made of There are many aspects of the Linux operating system that are difficult to define. We can refer to individual programs as either utilities or commands, depending on the extent of their functions. However, it is &hellip; <a href=\"http:\/\/www.linux-tutorial.info\/?page_id=176\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-176","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/pages\/176","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=176"}],"version-history":[{"count":1,"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/pages\/176\/revisions"}],"predecessor-version":[{"id":794,"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/pages\/176\/revisions\/794"}],"wp:attachment":[{"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=176"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}