• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 636
  • Last Modified:

Binaries in Linux

When we talk about binaries in linux, whta does mean by it ?
0
aashee
Asked:
aashee
  • 4
  • 3
1 Solution
 
jeremycrussellCommented:
Binaries usually refer to files that are not made up of simple text.  This can encompass several different types of files, but usually is specifically referring to executables (programs & commands) that are in a compiled code form (*not* shell or other scripted files).  Binaries are significant in the fact that they are usually not portable between different platforms.  For instance, a program that was compiled as a 32bit elf on an x86 (intel) based platform is not going to be able to be copied to a System running 64bit Sparc and be runnable without some type of emulation layer.
0
 
aasheeAuthor Commented:
and in what form are these files before making them binaries. basically they are end result of what ?
0
 
jeremycrussellCommented:
If the binary file in question is a compiled program, its the end result of some sort of source code being compiled into an object file and linked to be made executable.

What type of program and the language used to write it will determine the exact "compilation" process and can vary greatly.
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
aasheeAuthor Commented:
it means if i am using fedora 64 bit, i'll download compiled binaries of google chrome to install on it ?
or would i download something else? adn then compile it into binaries.

what are file extension for binaries normally?

and what are file extension of files from which we make binaries ?

what is command to make binaries?

thanks a lot for given such a great information
0
 
jeremycrussellCommented:
To install google chrome, yes, you would look for the install for your distro "Fedora" or the install that you would run.  I'm not 100%, but you might be able to get Chrome source and compile it yourself.  However, its more involved, I would only recommend it if you are looking to explore compiling source on linux and want to learn.

In the Linux/Unix world, file extensions are not real significant, like with Windows and some other OSes.  File types are derived from the actual contents of the file, and the "Magic Number" (http://en.wikipedia.org/wiki/Magic_number_%28programming%29).

You will not normally see binaries with extensions in linux.  You can use a file explorer or the "file" command in linux to see what type or format a file is.  i.e.

$file /bin/bash
/bin/bash:      ELF 32-bit MSB executable SPARC Version 1, dynamically linked, stripped

The extensions of source files is pretty much the same.. there are some standards and best practices surround this, but they don't have the same significance as other Operating Systems.

The commands used to compile source vary greatly depending upon what's being done and can be very complex.  There's nothing I can "generally" give you as its very dependent and specific to the task at hand.

However, if you want to dive into learning to program on linux, here's a good tutorial to get you started.  http://www.linfo.org/create_c1.html


However, this barely, breaks the surface of the background to what we've been discussing here.  It's simply one way something is done, as there are many.

You might get you some books on Operating System Design and Programming Languages Design to get a good foundation on all this to really understand it.

Back to your first question though... You can think of a "Binary" as a program made to run our your specific computer.   So in your case, you want "binaries" that would run on the Fedora Linux Distribution.

0
 
aasheeAuthor Commented:
it means if we have 15 dell computers with process 2.4 Ghz . and 2 mac computers with 2.4 ghz
and 3 hp computers with xeon processors. ?

would it means we have to compile binaries 3 times ?

thanks a lot for your info
0
 
jeremycrussellCommented:
Since they are all Intel, if they were running the exact same OS, then no, however, if they have different OSes, then yes, you would compile for each different OS.  Should you go the route of compiling.
0

Featured Post

The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now