Unix at Work. Part Two, Software

The problem was aggravated by the fact that in Solaris many system utilities like grep, awk, make, and so on had their own special versions that were incompatible with the GNU set in terms of their logic or keys.

Therefore, since the appearance of the x86 version (2003y year) Solaris appeared projectwhich provides external pluggable repositories of open source software:

OpenCSW (pronounced open-cashew /ˈkæʃuː/) is an easy to use open source software distribution installable on top of Solaris and Solaris-based systems.

The first thing that was installed from this repository was a set of utilities from GNU, including a compiler gccsince it was problematic to assemble anything more complex than “Hello world” using the standard ones.

As you can see, the project is still active and allows you to use a large amount of open source software in modern versions of Solaris, such as Oracle Solaris or OpenIndiana.

Although of course this is not so relevant – in the basic delivery now included There is much more open source software than there was 20 years ago.

To sum it up:

In both the “complex” FreeBSD and the “user” Ubuntu, today you will find practically the same basic utilities and applications: grep, awk, mc, bash, perl, python and so on.

Of course there are differences There is (at times significant), but over the years there are fewer and fewer of them and the tendency is towards greater unification and uniformity.

By the way, Python is up-to-date everywhere, by force you definitely won't have to work on the 2.x branch due to the rarity of the OS.

In general, all this basic software covers any automation tasks and most of the routine tasks that arise during daily work.

So problems with the lack of necessary tools for work are unlikely to visit you in any modern Unix system.

Now let's talk about something sad.

Yes, this is Maya on Linux. It's official now.

Yes, it is. Maya under Linux. Now it's official.

Professional software

There are many professional software with a long history for which the operating system is nothing more than a launch button. You have probably encountered some examples of such software in torrents during my studies at the university:

Adobe products, first of all – Photoshop3D modeling software (Maya, 3DMax), software for engineers and architects (Autocad) and so on.

For this type of software, the operating system is a kind of “Start” button, and everything A complete solution for work is a specially selected and configured hardware, a supported and configured OS and professional software installed on top.

Sometimes with certification of the entire hardware and software complex. And the specialists themselves.

Such software is naturally supplied closed and is optimized only for supported platforms.

I think it is quite obvious that such software does not fit into the philosophy of the “Unix Way” at all, so there is no point in waiting for an official release of some “Photoshop for FreeBSD”.

At the level of a joke, of course. Can do it (I did it myself, I confess), but expecting working functionality from such a bundle and even more so trying to use it for real work would be too much.

However, the situation is gradually improving, and open analogues of such systems are being developed: Blender, Gimp, FreeCAD, LibreOffice — all these projects have made great strides over the past 10 years.

It is difficult for me personally to judge the possibility of a complete replacement of Adobe or Autodesk products, since I have never been professionally involved in graphics, but I increasingly notice that at least students and beginning authors use open source graphics software in full with sufficient an inspiring result.

I will also add that the producers of professional software themselves are gradually start active support for Linux and more and more such software is starting to work in it somehow, which is good news.

Tears of nostalgia for those who remember.

Tears of nostalgia for those who remember.

Emulation

One of the solutions to the problem of lack of software in a particular rare OS is emulation.

It should be noted that in the Unix world everything is in order with emulation:

all kinds of emulators of both hardware and specific environments – Very many.

I will tell you about the most important of them now.

Dosbox

It's worth starting with the famous one Dosboxwhich allows you to close probably all possible questions with software for any variations and versions of DOS and its environment.

In addition to DOS, this emulator allows you to run old versions of Windows (3.1, 95, 98, NT):

Running Windows 3.1 in Dosbox

Running Windows 3.1 in Dosbox

I will add that the Dosbox project has more advanced ones forks with even more functionality and even ports into other languages.

By the way, the Dosbox port to Java was used by the author for one experimentfor which SkyNet will definitely kill him when robots come to power.

Wine

The next important tool of modern Unixoid is Winewhich, if you have time and a straight hand, allows you to launch even AAA games of the latest generation where they don't belong:

Cyberpunk 2077 on Gentoo Linux.

Cyberpunk 2077 on Gentoo Linux.

Since I am far from computer games, I appreciate Wine for the ability to run more mundane and philistine BY:

Microsoft Office 2019 running on Manjaro Linux

Microsoft Office 2019 running on Manjaro Linux

Qemu

Sooooo interesting thingallowing you to run “what you can’t but really want” on on a regular computer.

With this emulator, you can run an OS from the world of large corporate servers on your home Ubuntu:

I understand that it is unlikely that words HP-UX or PA-RISC something will mean something to most readers, so I'm just showing beautiful that even such emulation now possible:

HP-UX running on a regular x86 PC.

HP-UX running on a regular x86 PC.

This emulator is also extremely portable, so it is present in most unexpected places.

Mom

There's an emulator for the world's most unusual architectures Momwhich allows you to run a very rare software:

SGI Irix in MIPS emulator on a regular Linux computer.

SGI Irix in MIPS emulator on a regular Linux computer.

Of course, in the case of software emulation of non-x86 architectures, the speed leaves much to be desired, but believe me – it is much easier than restoring and launching real obsolete hardware from the 90s.

Virtualization

The next topic worth covering is virtualization, first of all – hardwareusing the capabilities of modern processors.

In Linux, the subsystem is responsible for this KVMbut recently similar solutions have been ported to all BSDs: OpenBSD, NetBSD And FreeBSD.

In the case of FreeBSD, such virtualization gave rise to interesting solution Problems with drivers for modern WiFi cards.

The most important thing to know:

hardware virtualization greatly speeds up the work of guest OS compared to classic solutions like VirtualBox or VMWare.

Therefore, with its help it is possible to do, for example, such.

But also the classic emulator itself VirtualBox — is not a death sentence, since it is portable and works well even under FreeBSD.

As an example, MacOS running in this emulator:

A manually patched version of VirtualBox that ran MacOS with XCode more or less successfully.

A manually patched version of VirtualBox that ran MacOS with XCode more or less successfully.

BSD and Desktop

It is also worth talking about the experience of using BSD systems on workstations, since such practice is quite rare.

FreeBSD and Klingon.

FreeBSD

The most “user friendly” of all BSDs, with the widest range of application software. Virtually everything that is available in Linux will be available in FreeBSD (with rare exceptions).

In addition to repositories with ready-made packages (like in Linux), there is also a system portswhich is a set of scripts for downloading source codes and building applications locally.

Unfortunately, the practice of distributing software in the form of ready-made assemblies is absent for BSD systems, so if some application is not in the official repository or in the ports, you will have to compile it yourself from the source code.

Which, although it sounds scary, in practice does not present (in most cases) any serious problem.

It is also worth adding that there is a special scriptwhich greatly simplifies the setup of FreeBSD on the desktop. Running this script in just a couple of steps will give you a full-fledged user system with a graphical environment.

OpenBSD update process.

OpenBSD

OpenBSD is much more complex in use system, and for the desktop, the security system will have to be seriously weakened, so their famous phrase:

Only two remote holes in the default install, in a heck of a long time!

will no longer have any relevance to your installation.

Just like FreeBSD, OpenBSD also has official repositories with ready-made packages And your analogue ports.

Unfortunately, the set of application software is still very poor, and the process of its approval and inclusion in the official repository is complicated due to the increased security requirements in this OS.

Therefore, it is worth paying attention to WIP (Work in progress) repositoriesV which The developers are working on a port of this or that application.

Often this is the only way to get a native build without virtualization for this rare OS.

It is also worth noting that due to certain features of this system, Wine doesn't work under OpenBSD.

Hand-built KDE 5.24 on NetBSD

NetBSD

Famous motto of this OS “Of course it runs NetBSD” does not apply to application software. Therefore, for example, the fact of running NetBSD on Amiga does not mean that Libreoffice, Chromium and all other familiar user software will work there.

As for use NetBSD on a regular x86 architecture, there are also some unpleasant surprises here.

The most important thing (from the desktop usage point of view) is the absence of Chrome/Chromium.

The guys simply can't keep up with the cosmic pace of development that the Chromium project has been maintaining in recent years.

For comparison in FreeBSD package updates stable version chromium are coming a couple of times a weekand the patch set for OpenBSD looks like this So and in terms of the volume of source code it approaches the size of the kernel of this OS.

Work on porting Chromium to NetBSD is still ongoing, and all the action is taking place in WIP repositoriesbut the author never managed to compile Chromium from these sources to the end – something always fell off.

So at the moment the only supported native browser for NetBSD is Firefox Nightly.

As for ready-made packages, here, as in all other BSDs, there is an official repository, package manager And its own analogue of the port system.

Last which is also typical cross-platform and allows use not only under NetBSD:

But of course the software set is highly dependent on the architecture, and not every package is built on rare architectures, even if it is present in ports.

To sum it up

With the availability of software in the modern Unix world, everything very good indeeddue to the constant process of unification – the differences (from the user's point of view) between specific operating systems are becoming smaller every year.

You are unlikely to experience complete disorientation when switching from Linux to one of the BSD systems any more, as was the case in the recent past with the big commercial Unixes like AIX or Solaris.

It is unlikely that you will need to learn any special commands for each specific OS, since all the specifics remain at the level of configuration and access control, but not daily use.

The only area where things are still going well Not good — modern professional, highly specialized commercial software, like Adobe Photoshop.

It wasn't in Linux and *BSD (for rare exceptions), no and most likely will not be:

As soon as the OS becomes a “start” button for a commercial product, all the magic of the “Unix Way” is lost, as is the point of using an open OS for such tasks.

But even such software can be made to work in a Unix environment using emulation and virtualization technologies, albeit with a significant loss in operating speed.

To be continued..

In the next part I will tell you about the features of development under Unix, how to do it correctly and enjoy the process and not suffer from the results.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *