Installing software in Linux can confuse new users and make experienced friends or sorrows.
The following are 20 things we need to change when installing software in Linux.
1. Open source is not just the source code
"It is open-source, and this is the source code ." May be ignored. Most users do not actually need source code. They want a binary file. Developers should package their programs in advance and encourage developers to do so.
2. How to run
"I have installed Foo, but how can I run it ?" I am afraid there are not many people who have asked similar questions on relevant forums. All windows managers that follow the freeyuntop.org standard will follow the standard XDG's desktop file regulations on menu entries. You don't need to complain when installing a graphical program.
3. Standardization Interface
Forget the debate about the file package format. It will never happen. We need a graphical interface manager for standard software packages to install all software packages. Imagine how nice it is to run Synaptic on Ubuntu and Fedora and know whether the Debs package or RPMs package format is used.
4. Easier to add software repository repositories
Add repositories, often from the browser copy and paste a long, mysterious text string to the terminal. A standard repository file will enable the browser to start the appropriate package manager to add it to the repository, that is, a dialog box "are you sure/do you trust this" appears ".
5. Easier source code compilation
How many programs do not have compilers and installation instructions? Many of them have common automatic generation tools. This is easy. Why not generate an Install. sh script for the user? Check the dependency at the same time.
6. Autotools = yuck
Autotools is very slow and seems mysterious. Developers mainly use Autotools. End users should not see such things.
7. Reduce File System clutter
Is it really necessary to install files in a dazzling directory? Installing the program from the package manager is a good suggestion. You can also find out who to clear the package during uninstallation. Building Source Code may not be user-friendly when it is detached or removed from the system, especially when the developer does not provide file uninstallation.
8. Standard comprehensive package
If we cannot reach an agreement on the format of a single file package, what about standard package management?
9. Name of the standard software package
Why do different releases have different names for the same software package? If the names of the released versions are consistent, is it easier to solve the dependency between the software packages?
10. Split standard software packages
Not only does software naming need to be uniform, but in each release version, the sub-software package must also be named consistent. For upstream developers, there is still a way to go for consistency.
11. Remove the-dev package
When we try to compile the source code, the-dev or-devel software package containing the library header file will bring infinite confusion, such as information such as "libfoo not found. When GCC or Autotools is installed, automatic installation of the related-dev package will reduce our pain points.
12. automatically install the source code package
If different software packages are required for each release, a single source software package may solve this problem. However, if the package manager can automatically download, compile, and install the source code, will this not solve different package requirements?
13. browser-based software package management
Now, the graphical interface of the Software Package Manager is great, but Remote Installation has to go back to the command line. The Software Package Manager running on a Web browser makes it easier to browse and upgrade the software on a remote computer.
14. Do we need so many software packages?
Some projects have source code, and Deb and RPM package files are also available for download. Each Ubuntu derivative version has its own software package, not to mention the derivative version of SUSE and Fedora. Developers, is it really necessary to bring poor end users into the abyss?
15. Non-single directory Installation
Sometimes, the idea of installing software in your own directory is exposed. Well, it looks very attractive. But for our users, click the "Install" button to run the program, and then start it in the menu.
16. Link from web page to software Manager
In general, when you find that you want to try a Software Website, you start to look for software packages in the software manager, or venture to use a software package for a site without release version verification. Is it more convenient to start the Software Package Manager from the URL and find the software package?
17. Run after installation
If a non-Background running software is installed, it may run as soon as the installation is complete. If a check window appears in your favorite Software Package Manager after the installation is complete, is it more convenient? You don't have to start it from the menu. Just click "Install and run.
18. Make sure that the source code is built in the package Database
Not only is it a bit painful to install from the source code, but the package manager does not know what you have installed, so the dependency is always missing and the solution is not good. If there is a package manager that can be built from the source code package, not only ease the installation pain, but also let us know what to install.
19. Non-all-inclusive packages
The application and library files are divided into separate packages, causing dependencies and other problems, but this is effectively solved by most software package managers. We can also put everything in a package through the window, which means that the same library files scattered in different versions of the file system are aggregated together.
20. Clear old Dependencies
When you install the software, its dependencies are also installed. But when you remove the software package, These dependencies remain in the system and gradually fill up your hard disk. The package manager should not only remove unnecessary dependencies, but also clean up the system at any time.