For the fourth year now, I am a happy Linux user. I must say that before that, starting around 1996, at first I was just a user, and then a staunch supporter of Microsoft products. I have been working with their OS for a very long time, from DOS 6.22 to Windows XP / 2003 Server. In the direction of Linux, I then looked with persistent disbelief. But, I confess, I didn’t want to delve into it, but Windows looked more superficially. As my boss said, “I didn’t like all these occult things with demons and so on.” Due to the specifics of the work, dozens or even hundreds of Windows machines have passed through my hands. So everything that I will find fault with here is gained through experience :) I will also say that the standard arguments about security and stability in my case did not really work. Skillfully administer Windows, it is possible to achieve quite acceptable stability and security. Windows has fallen for me in 10 years a few times. Yes, of course there have been BSODs, but also not very often (kernel panic - a BSE linkus analog - on my machines, I haven’t seen it even once). I can not remember virus infections on my home machine at all. At work, like everyone else, fell under Blaster. But overall, it wasn't as bad as it was said.
At the end of my Windows era, I was a .Net programmer. Then I already read “Running Linux” and some other book on the general architecture of Unix-systems. They shook my worldview :) I saw how much more slender and more correct you can do things. I saw how clumsy and crutched some Microsoft solutions are. In general, I was morally ready. But in 2005, Mono was still an unworkable thing. I remember I even downloaded from the LiveCD project site with Mono Develop. But Wednesday collapsed with a crash while trying to resize a frame. This development tool did not suit me. Since Linux had to be postponed until better times. And the times came when I changed jobs, betraying .Net in favor of Java. Already here the bindings to the operating system were at a minimum. So God himself commanded. In addition, a separate laptop appeared at my home, on which I could experiment without pain for the rest of humanity. For a month, I set up a state that suits me Kubuntu 6.10. Since then, I became increasingly annoyed with each time I had to communicate with Windows XP on my wife’s computer.
So, not for the sake of holivar, but for the benefit of, let's see what the IT specialist gets from using Linux?
')
Management of installed programs
On Windows, I had a 30-gigabyte folder “D: \ Distribs”. The software in it is obsolete with frightening speed. And most of them never started at all, but lay just in case. After the transition, I boldly banged her, but forgot about the problem of searching and
updating the software completely. In almost every distribution you will find some kind of package manager. In my case it was apt. The software repository system is just great. You only need to know the name of the package you need, and most likely it already exists in the repository of your distribution. After executing one command, all that is needed will be installed and configured. With tightening all dependencies, help files and GUI settings if necessary. You do not have to communicate with the multistep installer, in which the vast majority of people just still put pressure on “Next”. The application thus installed will automatically update when needed. And you can also remove a program simply by one command, without all this horror, with special uninstallers, garbage in the registry and a bunch of other places on the system. Windows, of course, also allows you to update itself. In the case of critical vulnerabilities, it even does it quite quickly. As far as I know, there is even a way to update some third-party software, but this is already used by the percentage of users. Here you get updates not only of the system, but of everything that is installed on your machine. If in any application you suddenly find a serious vulnerability, within days or even hours, you will be offered to update it. In the case of Windows, you have to independently update some Acrobat Reader, through a hole in which dozens of worms work. At best, the program itself can ask to be updated on the Internet.
File system structure
In Windows, I was infuriated with drives. C: \ D: \ and other emoticons at the beginning of the path, seeming so natural to the usual Windows user, in the opinion of the person who saw the alternative, are a real nonsense! In Linux, you get a "single" file system with one root. You are free to connect your sections wherever you want. Spread out information from disks in the form you need. Yes, I remember that in Windows there was the ability to "connect a partition as a folder." I never used it. To me then it seemed too opaque. Also many times an interesting thing happened to me - the letters of the disks were reversed. For example, after connecting another device to the loop or launching a monster, such as Acronis Partition Expert. It was impossible to reassign the letters if the system partition was “affected”. The system, along with the programs and the user went crazy. I still do not understand how an idea with letters could come to someone's bright head.
Further more. Linux has some guidelines on where programs should store their files. In the file system structure there are some standard paths that have a previously known purpose. This greatly simplifies the search for the file you need and in general the administration of the system. I know where to look for settings, logs, binary files. In Windows, there was sheer variety. Some applications tried to make a mess right under Program Files, some - and even worse - in C: \ Windows! Some of the files were stored in the terrible path “C: \ Documents and settings \ User \ Application data”, some of them were one level higher. Some programs generally used, forgive my God, the registry. In this case, the reinstallation of the system, which was usually carried out with the cleaning of the system partition, led to the loss of all these settings and data, if you do not know where they live and how to save them. In Linux, we have a slim and unconditionally working concept of home directories, where the program stores everything that matters to it. For each user, their own directory. For each user, the program will behave as the user wants. Moreover, even after reinstalling Linux (which I had to do several times, after some unsuccessful updates on alpha :)) It is enough to install the application package, and it will behave exactly the same as before, if / home is moved to a separate section. I know that in Windows this, in principle, is also implemented. But at the time of my betrayal, only cross-platform open applications correctly used this concept in Windows.
Symlink support provides an extra degree of freedom when organizing a file system. In Windows, it seems, you can also make symbolic links in some way, but this is again secret knowledge. Simple users do not go beyond the labels. Meanwhile, symbolic links allow you to make the environment much more convenient and flexible.
Real console
Due to professional needs, first being an admin, then a developer, I occasionally had to do something in the Windows console. It was awful :) Probably it was the inhumanity of the Windows console that led to the overdevelopment of graphic tools. Even for simple file operations, users had to install some manager. In my case, it was first Windows (Total) Commander, then Far. Although I have even seen people using the guide. My mother, for example. In Linux, we get a real, extremely functional command shell. Almost immediately, I began to perform the overwhelming proportion of file operations from the console. It is much more effective to tell the system what you want it to do, in the form of a command, than to do it with your own hands, jumping around the panels and windows, selecting and dragging files and pressing extra buttons. “A lot of small, bustling movements” is an excellent characteristic of the method of work, which I now recall the Windows period. For example, create a standard maven project structure in Explorer or Far:
project /
`- src
| - main
| | - java
| `- resources
`- test
| - java
`- resources
, . , , . Linux :
mkdir -p project/src/{main,test}/{java,resources}
. , . , , GUI. Windows . , $PATH , . , , . Linux .
Linux , shell-, . , «» , GUI, ( ) Windows 7. XP.
Windows . . :) , . - , Linux cron. ! , , . cron — . . :)
, Windows RDP. 2 , — . XP . , . .
Linux ssh — shell , , , , . — . , . , :) VNC, Linux-.
Windows . , Linux . . , noname -, Windows , , Linux. , , , , , . , . , , . - , … :) , , «» . , , , Linux, , Windows. , . , .
Windows , , . — MSDN. Microsoft. , Linux — , . , , .
, . , wiki, . , , . , , , , , .
,
, , . ( ) , Windows. ? ? ? . , Windows - .
, , CAD- . - . wine, Windows .
. , -, , Linux, . - Live- . — . , , . . .
:) , . , .
, — , , IT-, , , , Windows. , . , Linux. , , , . Linux.
Linux (C++ Java ). Linux Windows.
, .