What is the difference between copying an a.out file(executable file) and installing an application? [closed]

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP








up vote
0
down vote

favorite












What is the difference between installing an application software and copying the executable file(ex:a.out) of the application? When we run the a.out file it gives some result, running the application that is installed also gives some result. I don't understand the difference when some one says "Installing an application", and copying an executable file. What actually happens when an application is installed? How is it different from just copying the executable from one computer to another(same os and similar hardware) and running it there?










share|improve this question













closed as off-topic by mikewhatever, Eric Carvalho, waltinator, user117103, vidarlo Feb 12 at 19:04


This question appears to be off-topic. The users who voted to close gave this specific reason:


  • "This is not about Ubuntu. Questions about other Linux distributions can be asked on Unix & Linux, those about Windows on Super User, those about Apple products on Ask Different and generic programming questions on Stack Overflow." – Eric Carvalho, guntbert, vidarlo
If this question can be reworded to fit the rules in the help center, please edit the question.








  • 1




    An aplication is often more then just one file, and you need to copy and link various files properly. As an example, check the output of locate firefox | grep /usr.
    – mikewhatever
    Feb 10 at 11:09










  • @mikewhatever: or shorter locate '/usr/*firefox*'
    – David Foerster
    Feb 11 at 11:04















up vote
0
down vote

favorite












What is the difference between installing an application software and copying the executable file(ex:a.out) of the application? When we run the a.out file it gives some result, running the application that is installed also gives some result. I don't understand the difference when some one says "Installing an application", and copying an executable file. What actually happens when an application is installed? How is it different from just copying the executable from one computer to another(same os and similar hardware) and running it there?










share|improve this question













closed as off-topic by mikewhatever, Eric Carvalho, waltinator, user117103, vidarlo Feb 12 at 19:04


This question appears to be off-topic. The users who voted to close gave this specific reason:


  • "This is not about Ubuntu. Questions about other Linux distributions can be asked on Unix & Linux, those about Windows on Super User, those about Apple products on Ask Different and generic programming questions on Stack Overflow." – Eric Carvalho, guntbert, vidarlo
If this question can be reworded to fit the rules in the help center, please edit the question.








  • 1




    An aplication is often more then just one file, and you need to copy and link various files properly. As an example, check the output of locate firefox | grep /usr.
    – mikewhatever
    Feb 10 at 11:09










  • @mikewhatever: or shorter locate '/usr/*firefox*'
    – David Foerster
    Feb 11 at 11:04













up vote
0
down vote

favorite









up vote
0
down vote

favorite











What is the difference between installing an application software and copying the executable file(ex:a.out) of the application? When we run the a.out file it gives some result, running the application that is installed also gives some result. I don't understand the difference when some one says "Installing an application", and copying an executable file. What actually happens when an application is installed? How is it different from just copying the executable from one computer to another(same os and similar hardware) and running it there?










share|improve this question













What is the difference between installing an application software and copying the executable file(ex:a.out) of the application? When we run the a.out file it gives some result, running the application that is installed also gives some result. I don't understand the difference when some one says "Installing an application", and copying an executable file. What actually happens when an application is installed? How is it different from just copying the executable from one computer to another(same os and similar hardware) and running it there?







software-installation kernel software-center application-development webapps






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Feb 10 at 10:57









Charan K

191




191




closed as off-topic by mikewhatever, Eric Carvalho, waltinator, user117103, vidarlo Feb 12 at 19:04


This question appears to be off-topic. The users who voted to close gave this specific reason:


  • "This is not about Ubuntu. Questions about other Linux distributions can be asked on Unix & Linux, those about Windows on Super User, those about Apple products on Ask Different and generic programming questions on Stack Overflow." – Eric Carvalho, guntbert, vidarlo
If this question can be reworded to fit the rules in the help center, please edit the question.




closed as off-topic by mikewhatever, Eric Carvalho, waltinator, user117103, vidarlo Feb 12 at 19:04


This question appears to be off-topic. The users who voted to close gave this specific reason:


  • "This is not about Ubuntu. Questions about other Linux distributions can be asked on Unix & Linux, those about Windows on Super User, those about Apple products on Ask Different and generic programming questions on Stack Overflow." – Eric Carvalho, guntbert, vidarlo
If this question can be reworded to fit the rules in the help center, please edit the question.







  • 1




    An aplication is often more then just one file, and you need to copy and link various files properly. As an example, check the output of locate firefox | grep /usr.
    – mikewhatever
    Feb 10 at 11:09










  • @mikewhatever: or shorter locate '/usr/*firefox*'
    – David Foerster
    Feb 11 at 11:04













  • 1




    An aplication is often more then just one file, and you need to copy and link various files properly. As an example, check the output of locate firefox | grep /usr.
    – mikewhatever
    Feb 10 at 11:09










  • @mikewhatever: or shorter locate '/usr/*firefox*'
    – David Foerster
    Feb 11 at 11:04








1




1




An aplication is often more then just one file, and you need to copy and link various files properly. As an example, check the output of locate firefox | grep /usr.
– mikewhatever
Feb 10 at 11:09




An aplication is often more then just one file, and you need to copy and link various files properly. As an example, check the output of locate firefox | grep /usr.
– mikewhatever
Feb 10 at 11:09












@mikewhatever: or shorter locate '/usr/*firefox*'
– David Foerster
Feb 11 at 11:04





@mikewhatever: or shorter locate '/usr/*firefox*'
– David Foerster
Feb 11 at 11:04











2 Answers
2






active

oldest

votes

















up vote
1
down vote













Well, when saying installing an application, that normally means that you use a package manager like dpkg or the higher level apt family. In this case, the executables are shipped in a package that also can contain additional libraries that are needed to run the executable, manpages, developer files, configuration files etc. The advantage of this is that the admin can keep track of what is installed and also ensures that when installing new software or updates, the new software does not clash with other software and libraries already installed which could lead to other applications crash.



So, while it might work to just copy over your executable to another system, it is not recommended as it can break things. It is safe to copy executables to somewhere outside the system paths like /bin/, /sbin, /usr/bin, /usr/sbin.

You could use /usr/local/bin and /usr/local/sbin for such a purpose or even better create a directory beneath /opt for your executable and place it there. Then call the executable with the full path or add the path to the executable to your PATH environment variable.



$ mkdir -p /opt/myapp/bin
$ cp myexec /opt/myapp/bin/



$ /opt/myapp/bin/myexec


or



$ export PATH=$PATH:/opt/myapp/bin
$ myexec





share|improve this answer



























    up vote
    0
    down vote













    A core principle of all Unix-like operating systems (like Ubuntu) is everything is a file. If you look at the contents of a package, you will also find an executable file there, and yes, for two machines with the exact same (or at least very similar) combination of software and hardware (platform), you could just use your executable. But most programs do not consist of only one executable. Run ls -R /usr |grep libreoffice for an example of a more complex package, you wouldn't want to copy all those files in their individual locations by hand now, would you?



    While in some cases (especially when testing small programs) it does make sense to just send someone an executable they can run, you will almost always want to provide a package for a finished product.



    Package managers usually also take care of installing dependencies, adding your program to the list of installed applications and PATH, and last but not least provide an option to update the program when a new version is released.






    share|improve this answer



























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes








      up vote
      1
      down vote













      Well, when saying installing an application, that normally means that you use a package manager like dpkg or the higher level apt family. In this case, the executables are shipped in a package that also can contain additional libraries that are needed to run the executable, manpages, developer files, configuration files etc. The advantage of this is that the admin can keep track of what is installed and also ensures that when installing new software or updates, the new software does not clash with other software and libraries already installed which could lead to other applications crash.



      So, while it might work to just copy over your executable to another system, it is not recommended as it can break things. It is safe to copy executables to somewhere outside the system paths like /bin/, /sbin, /usr/bin, /usr/sbin.

      You could use /usr/local/bin and /usr/local/sbin for such a purpose or even better create a directory beneath /opt for your executable and place it there. Then call the executable with the full path or add the path to the executable to your PATH environment variable.



      $ mkdir -p /opt/myapp/bin
      $ cp myexec /opt/myapp/bin/



      $ /opt/myapp/bin/myexec


      or



      $ export PATH=$PATH:/opt/myapp/bin
      $ myexec





      share|improve this answer
























        up vote
        1
        down vote













        Well, when saying installing an application, that normally means that you use a package manager like dpkg or the higher level apt family. In this case, the executables are shipped in a package that also can contain additional libraries that are needed to run the executable, manpages, developer files, configuration files etc. The advantage of this is that the admin can keep track of what is installed and also ensures that when installing new software or updates, the new software does not clash with other software and libraries already installed which could lead to other applications crash.



        So, while it might work to just copy over your executable to another system, it is not recommended as it can break things. It is safe to copy executables to somewhere outside the system paths like /bin/, /sbin, /usr/bin, /usr/sbin.

        You could use /usr/local/bin and /usr/local/sbin for such a purpose or even better create a directory beneath /opt for your executable and place it there. Then call the executable with the full path or add the path to the executable to your PATH environment variable.



        $ mkdir -p /opt/myapp/bin
        $ cp myexec /opt/myapp/bin/



        $ /opt/myapp/bin/myexec


        or



        $ export PATH=$PATH:/opt/myapp/bin
        $ myexec





        share|improve this answer






















          up vote
          1
          down vote










          up vote
          1
          down vote









          Well, when saying installing an application, that normally means that you use a package manager like dpkg or the higher level apt family. In this case, the executables are shipped in a package that also can contain additional libraries that are needed to run the executable, manpages, developer files, configuration files etc. The advantage of this is that the admin can keep track of what is installed and also ensures that when installing new software or updates, the new software does not clash with other software and libraries already installed which could lead to other applications crash.



          So, while it might work to just copy over your executable to another system, it is not recommended as it can break things. It is safe to copy executables to somewhere outside the system paths like /bin/, /sbin, /usr/bin, /usr/sbin.

          You could use /usr/local/bin and /usr/local/sbin for such a purpose or even better create a directory beneath /opt for your executable and place it there. Then call the executable with the full path or add the path to the executable to your PATH environment variable.



          $ mkdir -p /opt/myapp/bin
          $ cp myexec /opt/myapp/bin/



          $ /opt/myapp/bin/myexec


          or



          $ export PATH=$PATH:/opt/myapp/bin
          $ myexec





          share|improve this answer












          Well, when saying installing an application, that normally means that you use a package manager like dpkg or the higher level apt family. In this case, the executables are shipped in a package that also can contain additional libraries that are needed to run the executable, manpages, developer files, configuration files etc. The advantage of this is that the admin can keep track of what is installed and also ensures that when installing new software or updates, the new software does not clash with other software and libraries already installed which could lead to other applications crash.



          So, while it might work to just copy over your executable to another system, it is not recommended as it can break things. It is safe to copy executables to somewhere outside the system paths like /bin/, /sbin, /usr/bin, /usr/sbin.

          You could use /usr/local/bin and /usr/local/sbin for such a purpose or even better create a directory beneath /opt for your executable and place it there. Then call the executable with the full path or add the path to the executable to your PATH environment variable.



          $ mkdir -p /opt/myapp/bin
          $ cp myexec /opt/myapp/bin/



          $ /opt/myapp/bin/myexec


          or



          $ export PATH=$PATH:/opt/myapp/bin
          $ myexec






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Feb 10 at 11:16









          Thomas

          3,29481325




          3,29481325






















              up vote
              0
              down vote













              A core principle of all Unix-like operating systems (like Ubuntu) is everything is a file. If you look at the contents of a package, you will also find an executable file there, and yes, for two machines with the exact same (or at least very similar) combination of software and hardware (platform), you could just use your executable. But most programs do not consist of only one executable. Run ls -R /usr |grep libreoffice for an example of a more complex package, you wouldn't want to copy all those files in their individual locations by hand now, would you?



              While in some cases (especially when testing small programs) it does make sense to just send someone an executable they can run, you will almost always want to provide a package for a finished product.



              Package managers usually also take care of installing dependencies, adding your program to the list of installed applications and PATH, and last but not least provide an option to update the program when a new version is released.






              share|improve this answer
























                up vote
                0
                down vote













                A core principle of all Unix-like operating systems (like Ubuntu) is everything is a file. If you look at the contents of a package, you will also find an executable file there, and yes, for two machines with the exact same (or at least very similar) combination of software and hardware (platform), you could just use your executable. But most programs do not consist of only one executable. Run ls -R /usr |grep libreoffice for an example of a more complex package, you wouldn't want to copy all those files in their individual locations by hand now, would you?



                While in some cases (especially when testing small programs) it does make sense to just send someone an executable they can run, you will almost always want to provide a package for a finished product.



                Package managers usually also take care of installing dependencies, adding your program to the list of installed applications and PATH, and last but not least provide an option to update the program when a new version is released.






                share|improve this answer






















                  up vote
                  0
                  down vote










                  up vote
                  0
                  down vote









                  A core principle of all Unix-like operating systems (like Ubuntu) is everything is a file. If you look at the contents of a package, you will also find an executable file there, and yes, for two machines with the exact same (or at least very similar) combination of software and hardware (platform), you could just use your executable. But most programs do not consist of only one executable. Run ls -R /usr |grep libreoffice for an example of a more complex package, you wouldn't want to copy all those files in their individual locations by hand now, would you?



                  While in some cases (especially when testing small programs) it does make sense to just send someone an executable they can run, you will almost always want to provide a package for a finished product.



                  Package managers usually also take care of installing dependencies, adding your program to the list of installed applications and PATH, and last but not least provide an option to update the program when a new version is released.






                  share|improve this answer












                  A core principle of all Unix-like operating systems (like Ubuntu) is everything is a file. If you look at the contents of a package, you will also find an executable file there, and yes, for two machines with the exact same (or at least very similar) combination of software and hardware (platform), you could just use your executable. But most programs do not consist of only one executable. Run ls -R /usr |grep libreoffice for an example of a more complex package, you wouldn't want to copy all those files in their individual locations by hand now, would you?



                  While in some cases (especially when testing small programs) it does make sense to just send someone an executable they can run, you will almost always want to provide a package for a finished product.



                  Package managers usually also take care of installing dependencies, adding your program to the list of installed applications and PATH, and last but not least provide an option to update the program when a new version is released.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Feb 10 at 11:23









                  NeoTheThird

                  796428




                  796428












                      Popular posts from this blog

                      pylint3 and pip3 broken

                      Missing snmpget and snmpwalk

                      How to enroll fingerprints to Ubuntu 17.10 with VFS491