Find the answer to your Linux question:
Results 1 to 7 of 7
I am trying to come over from a Windows to Linux and I have found it incredibly frustrating when it comes to the simple things Windows users take for granted. ...
  1. #1
    Just Joined!
    Join Date
    Feb 2010
    Posts
    9

    Frustrated

    I am trying to come over from a Windows to Linux and I have found it incredibly frustrating when it comes to the simple things Windows users take for granted. The latest is program installation. I installed Freeradius using Yum and then RPM, where the heck does the default program folder get installed and how do you even find it.

    I did a find . -name free and I come up with nothing

    In Windows, I can go to a program respoistory, download a program to the default directory or choose one, launch the installation, and more often than not the program and most of it's components are installed in the 'Programs' directory. It is a pretty consistent, neat, and organized process. Can someone relate how Linux works in comparison?

    I am not knocking Linux, just trying to understand if there is a consistent method to how it downloads, installs, and stores applications.

    Thanks.
    Last edited by oneirishpollack; 10-26-2010 at 07:27 PM. Reason: Added additional info.

  2. #2
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    Location
    I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
    Posts
    8,974
    When you install with yum (supercedes rpm for package installation - use it instead of rpm, even to install .rpm files) or rpm, the installation will generally place the executables in /usr/bin, libraries in /usr/lib, /usr/lib64, or /usr/lib32 (depending upon whether or not you are running a 64-bit OS), and documentation in /usr/share/man. If there are other components, sometimes the package installation directory will be in /var, /opt, or /usr/share. If there are system-wide configuration files, then they will go somewhere in /etc. User-specific configuration files usually go in ~/.package such as ~/.metacity where the '~' represents the user's home directory.

    As for the find command, you were looking for a file or directory named exactly 'free'. If you were looking for anything with free in the name (mixed case), then do this: sudo find / -iname '*free*'
    That will return any file, link, or directory with 'free' in the name (in any mix of cases). The sudo makes this run as root so it can navigate directories that you as a normal user may not have privileges to access, assuming you are in the sudoers group. If you are running as root (as you had to be to install the package in the first place) then you can just leave the sudo off the command line.
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

  3. #3
    Linux Guru Irithori's Avatar
    Join Date
    May 2009
    Location
    Munich
    Posts
    2,097
    Well, the approaches to software installation and maintenance are different.
    So different tools are needed.

    What I mean:
    On windows, a program stands on its own.
    Usually (yes, I know there are noteable exceptions), there are no dependencies and everything the programm needs is in its folder.

    linux has a more broader approach.
    Software installations follow the Filesystem Hierarchy Standard (fhs)
    Filesystem Hierarchy Standard

    For a quick graphical overview look here
    linux_file_structure.jpg (image)

    So programs are *not* in their respective directory, but rather their parts are distributed by type.
    Binaries go to .../bin
    binaries for root (aka "administrator") go to .../sbin
    manual pages go to the man directories.

    That makes it possible, that programs depend on each other on a larger scale.
    Which makes sense also from a open source perspective (working together).

    It also enables smart partitioning:
    Everything the system really *really* needs is in /boot /bin /sbin /lib and /etc
    Place these on one partiton, that can be a) rather small and b) even read only (if wished)
    and you gain a system, that most probably still can boot and give you a basis for operations in case the other partitions show errors.

    You will notice, that there are also /bin and /sbin under /usr.
    These are binaries, that are not essential for the system itself, but rather for it's purpose.
    So databaseserver, webserver, <whatever> servers and their tools go there.

    Then there is /usr/local/(s)bin
    This is basically your playground.
    Anything you compile on your own or scripts you have written should be there.
    It is safe in a sense, that this directory structure will not be overwritten by a packagemanager.

    Which brings me to packages
    You say it is easy in windows.
    I say it is not thought through.

    Reason: The update mechanism in windows only covers microsoft software.
    You have to update each other program individually.

    In linux, usually all software is controlled by the package manager.
    So, regardless if you have a desktop machine with thousands of packages (my ubuntu netbook 10.10 currently has about 1500 packages installed) or if you have a stripped down server or if you have one machine or hundreds:
    You update them all the same:
    Code:
    yum update
    Also, can you tell, if a file has been altered since install?
    Or which files belong to an application and where?
    Or the other way around: What is the package for this file?
    Yes sir
    Code:
    rpm -v --verify <PACKAGENAME>
    rpm -qivl <PACKAGENAME>
    rpm -qf <FILE>
    So to answer your question:
    I would suggest you get to know your package manager yum and some basic rpm commands.
    Also look at that fhs picture or in the best case read the fhs
    Then you will know exactly what belongs where and why, and also how to install, deinstall, update, verify, etc packages
    Last edited by Irithori; 10-26-2010 at 09:45 PM.
    You must always face the curtain with a bow.

  4. #4
    Just Joined!
    Join Date
    Feb 2010
    Posts
    9
    Thank you both for your respective post. You have answered my question thoroughly without the "Google it" answer that has become so common in many forums.

    I am creating a cheatsheet from your replies and plan on reviewing my Linux book.

    Thanks again.

    Irish Pollack

  5. #5
    Just Joined!
    Join Date
    Feb 2010
    Posts
    9
    So in regards to accessing directories and files via the GUI. If someone want to access a file in a directory that only has root permissions (/etc/raddb/certs), what is the preferred method to do this using the GUI?

    1. Login as Root
    2. Change directory/file permission

    I could do a SU in a terminal, but I would prefer using the GUI interface.

    Thanks

  6. #6
    Linux Guru reed9's Avatar
    Join Date
    Feb 2009
    Location
    Boston, MA
    Posts
    4,651
    You should have permission to read files in the root directory, just not write to them. So browsing through with a file manager is not an issue.

    Depending on the file manager, they often have an option to open a file as root or open a terminal to the current directory as root.

    I would not login as root. If you need to temporarily run your file manager as root, you can launch it using gksu or gksudo (in GNOME and most GTK based environments) or kdesu (in KDE).

    So open a terminal or run dialogue (ALT+F2 usually) and enter
    Code:
    gksu nautilus
    To launch GNOME's nautilus file manager as root. (I don't think Fedora uses sudo by default? If they do or you've installed it, you can do gksudo nautilus instead.)

    For KDE
    Code:
    kdesu dolphin
    Any graphical program you may need to open as root can be done in the same way.

  7. #7
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    Location
    I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
    Posts
    8,974
    Login as root. Changing the permissions can leave a hole exploitable by malware. Don't change default permissions on processes or directories unless you REALLY know what you are doing, that the potential consequences of your actions.
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
...