[Ubuntu-BD] GNU/Linux খ্যাত কার্নেল এবার কম্পাইল হলো অ্যাপলের Clang কম্পাইলার দিয়ে
Abu Ashraf Masnun
masnun at gmail.com
Mon Jul 30 02:53:06 UTC 2012
Nice explanation Nasim vai :)
It's interesting how people believe Linus wouldn't be able to compile the
Linux Kernel without GCC and how Linux would be incomplete without GNU
tools. I wonder if they have ever compiled C by hand or actually know about
the coreutils.
Again, Linus also clarifies the GNU/Linux issue in Revolution OS and calls
the idea hilarious. But people seem to always quote RMS instead of Linus
when it comes to that movie.
On Mon, Jul 30, 2012 at 7:19 AM, Nasimul Haque <nasim.haque at gmail.com>wrote:
> Let's start with what is GNU/Linux actually. In the beginning of the Linux,
> people started building linux based distro bundling GNU utilities (which is
> now
> called coreutils in most distros). For those old distros it might be ok to
> call
> them GNU/Linux. Because that was all in those days. Now let's see what is
> in
> the tools. There are exactly 101 small UNIX-clone tools in this package.
> Check
> yourself by
>
> $ dpkg -L coreutils | grep '/bin/' | wc -l
>
> GNU is "GNU is Not Unix". From the name you can see that GNU was born to be
> a free/open clone of UNIX. Therefore it created all the free/open clones of
> UNIX command line tools. All of these command line tools: cat, dd, tar,
> uname,
> etc. were the main product of GNU. However, to have a complete UNIX-like
> computing system GNU lacked a OS kernel. They did start the GNU HURD
> project.
> And they failed to create it.
>
> In the very beginning of Linux days, when Linux distros were only command
> line
> OS. The GNU/Linux made sense. But as soon as the plethora of desktop
> software
> like X, Window manager, DE, Office suite became a part of the OS, calling
> a Linux OS GNU/Linux not only is irrelevant but also humorous. Those 101
> utility tools are only the part of tens of thousands of software packaged
> in
> now-a-days Linux distributions.
>
> Innovation never stops on certain things. If GCC were not available Linus
> would
> build his kernel on one of several other available compilers. In fact,
> there
> were better compiler available at the time, such as PCC. People could build
> Linux distros with BSD utils, which has the exact same number of tools as
> those
> came from the original UNIX. Even if no-one would do that we would still
> have
> the BSDs.
>
> Now let's see why uname reports linux as GNU/Linux. First of all, in the
> original uname there is no such option for 'operating system'. It is added
> by
> the GNU people. Some BSD uname implement this option to be compatible with
> GNU
> uname. But that -o is actually -s. Just try to run "uname -o" in an OSX
> machine.
>
> The most interesting part of uname reporting GNU/Linux is that they
> hard-coded
> the name in their tools. Let's run the following commands in Precise
> Pangolin:
>
> $ apt-get source coreutils
> $ sed -n '30554,30594p' coreutils-8.13/configure
>
> and you will see the following output:
>
> winnt*) os='Windows NT';;
> vos*) os='VOS';;
> sysv*) os='Unix System V';;
> superux*) os='SUPER-UX';;
> sunos*) os='SunOS';;
> stop*) os='STOP';;
> sco*) os='SCO Unix';;
> riscos*) os='RISC OS';;
> riscix*) os='RISCiX';;
> qnx*) os='QNX';;
> pw32*) os='PW32';;
> ptx*) os='ptx';;
> plan9*) os='Plan 9';;
> osf*) os='Tru64';;
> os2*) os='OS/2';;
> openbsd*) os='OpenBSD';;
> nsk*) os='NonStop Kernel';;
> nonstopux*) os='NonStop-UX';;
> netbsd*-gnu*) os='GNU/NetBSD';; # NetBSD kernel+libc, GNU
> userland
> netbsd*) os='NetBSD';;
> mirbsd*) os='MirBSD';;
> knetbsd*-gnu) os='GNU/kNetBSD';; # NetBSD kernel, GNU
> libc+userland
> kfreebsd*-gnu) os='GNU/kFreeBSD';; # FreeBSD kernel, GNU
> libc+userland
> msdosdjgpp*) os='DJGPP';;
> mpeix*) os='MPE/iX';;
> mint*) os='MiNT';;
> mingw*) os='MinGW';;
> lynxos*) os='LynxOS';;
> linux*) os='GNU/Linux';;
> hpux*) os='HP-UX';;
> hiux*) os='HI-UX';;
> gnu*) os='GNU';;
> freebsd*) os='FreeBSD';;
> dgux*) os='DG/UX';;
> bsdi*) os='BSD/OS';;
> bsd*) os='BSD';;
> beos*) os='BeOS';;
> aux*) os='A/UX';;
> atheos*) os='AtheOS';;
> amigaos*) os='Amiga OS';;
> aix*) os='AIX';;
>
> Now take a close look. This is where gnu tools set the so-called "operating
> system" option. You have certainly noticed that they have re-labeled any
> kind
> of linux as GNU/Linux by hand. You will also see that only when gnu is
> installed in bsd distros it sets GNU/ prefix on them otherwise not. So the
> GNU
> people force the GNU/Linux name on Linux.
>
> GIMP is not from GNU. It's from the GNOME foundation which is completely
> seperate entity. GIMP only has GNU in its name. It doesn't have anything
> with
> GNU.
>
> It makes more sense to call a Linux distro GNOME/Linux (if it's GNOME
> based) or
> KDE/Linux (if it's KDE) than GNU/Linux as people use those thousands of GUI
> software rather than those 101 small command line tools.
>
> The GNU tools were included just because Linus compiled the kernel with GCC
> and
> that made it more GNU tools compatible than the BSD ones. Also the earlier
> distro creators thought it would be good idea to just build the distro with
> the
> compatible one rather than make it compatible with BSDs. And it is good
> that we
> have choice to make.
>
> --
> M. Nasimul Haque
> Appliansys, Coventry, UK
> http://www.nasim.me.uk
> --
> Ubuntu Bangladesh
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-bd
>
--
Abu Ashraf Masnun | +8801711960803 | http://masnun.me
More information about the ubuntu-bd
mailing list