Archive for Operating Systems

Microsoft Screwing The Linux Foundation

A while ago, The Linux Foundation announced a plan to allow for Linux to boot on systems with Secure Boot enabled. Lately, it has come to light that Microsoft is screwing with The Linux Foundation, and not granting the key required despite the fact that The Linux Foundation has already paid for it. Oddly enough, certain Microsoft apologists still believe that this is the fault of The Linux Foundation, despite the fact that there is nothing to support that contention. Here is a list of links that disagree with that fantasy.

Of course, this won’t convince Microsoft fans. Facts seldom do.

Intel and AMD Not Supporting Linux: Why It Just Doesn’t Matter

It’s been an interesting couple days on the processor front, and many think that these past couple days haven’t been all together positive. While I can see where that impression may be gotten pretty easily, I’m here to say one very simple thing. It just doesn’t matter.

First, this is what happened.

Intel’s Clover Trail Won’t Work With Linux

On September 13th, as part of their Intel Developer Forum, Intel claimed that Clover Trail “is a Windows 8 chip” and that “the chip cannot run Linux”. Clover Trail is a new version of the Atom processor, which is used in tablets for the most part. Claiming the processor is “a Windows 8 chip” seems a bit odd considering Microsoft’s complete lack of a presence in the tablet market. Intel later clarified their position saying, “Intel has plans for another version of this platform directed at Linux/Android; however we are not commenting on the platform specifics or market segments that at this time. Stay tuned.” It’s unclear if this was the original intent, or a reaction.

AMD’s Hondo Processor Will Only Support Windows 8

Shortly after the announcement from Intel regarding the Clover Trail processor, AMD came out with their own claims regarding their own Hondo processor. Steve Belt (corporate VP of ultra low power products at AMD) said, “This is a Windows 8 product, only. We’re not doing Android on this platform, at least not now.” Again, the Hondo processor is a processor aimed at the tablet market, which Microsoft has zero presence in. He went on to say, “It is a conscious decision not to go after Android. We think the Windows 8 space has a lot of opportunity, there’s plenty of TAM [total addressable market] there for us to go at. So we don’t need to spread ourselves into other markets, we think Windows 8 is a great place to start. Down the road we may look at Android, right now we’re focused on Windows 8.”

Who Cares?

So the big question on everybody’s mind is, what does this mean for Linux and Android? The answer is much more simple than you’d imagine. What does it actually mean for Linux and Android? Answer: “Not a damn thing.”  While Intel claims that here will be an Android specific version of Clover Trail available shortly and AMD is banking on Microsoft, it really doesn’t matter.

Linux, and by extension Android, will run on whatever its developers want it to run on. Intel didn’t help out Linus Torvalds when he originally wrote the operating system in the 90s, and Linux developers don’t need Intel’s help now. I have full confidence that there is a Linux developer out there that could write a version of Linux that can run on my toaster if he or she so chose. Support from the company is not a requirement for Linux or Android.

Think I’m wrong? I’d love to hear from you in the comments.

Is Samsung Copying Apple Again?

I have to ask, do the people who are fans of Apple think that this new device from Samsung is shamelessly copying Apple again? Leave a comment below and tell me what you think.

My Wife’s Thoughts on Linux

Custom Wedding Cake Topper made by Esther Taal:

Right after the start of August, my wife finally had enough of Windows. Her computer crashed, and it was the last straw. I convinced her to try Linux (Ubuntu specifically).

A couple of days ago, I asked her to write me up a small little blurb on what she thought so far. I thought that what she wrote was perfect, so I’m just going to paste let it stand on it’s own merits!

My first impressions of Linux (on my computer)

To start with a little bit of a background, I’ll tell you a little bit about the reasons why Linux has taken up residence on my desktop machine, and what sort of “prior” experience I had with it. I can’t say that I was ever 100% delighted with Windows, and despite the frustrations I’ve experienced with it, Windows has done what I needed and it was there (i.e. it came installed on my computers, ready to go). My games and other applications ran on it. A few things I bought “after market” for my computer, like a TV capture card or somesuch had to be tinkered with a fair bit, but they worked eventually in Windows. It has been this way for me for nearly two decades.

Fast forward to the past 9 months or so. I bought my newest computer when the one before it up and died (in all actuality, the motherboard probably went out, but it was about time for a new one, so why not). It started out that my internet connection would cut out from time to time. That got really irritating after a while, and when my computer died again (with it being less than 6 months old), it was replaced with a new motherboard and all was supposed to be right with the world. Wrong. My internet would still go in and out, and it looked like an issue with the wireless internet adapter. That was, until Mike suggested I try out a Linux bootable CD just for kicks and giggles. And the internet never went out. Shocking.

I’m not afraid of Linux. I know better than to think that Linux is all command line, all intentionally super user-unfriendly, and only designed for computer techy geeks. I mention those preconceived notions because when you mention Linux to someone who has no idea what it is, they just assume that it’s non-graphical and does something really weird. So, again, I’m not afraid of Linux. I’m lazy. I’m too lazy to change off of what was just there and what was working. It doesn’t make a whole lot of sense, because I had to put a lot of work into making things “go” in Windows, so why would I be afraid of putting in the same amount of work to making things “go” in Linux? I saw my husband with Linux on his machine, and he began playing all of the games that he’d had in Windows. He was starting to sell me.

The breaking point was when my Windows side was not holding a connection to the internet, and it was becoming more of a pain and a time suck to get basic tasks done. Knowing that I wasn’t totally ridding myself of the Windows side, I just said…do it. Mike…do it. Put Linux on. Make it work. So he did. Now here are my perceptions.

Speed: Yeah, there really is no contest. My computer booted Windows pretty quickly (usually), but it boots Linux even faster. I didn’t think that was possible. It loads just about everything just as quickly, if not more so, than Windows. In terms of speed, it also doesn’t seem to slow down when I stress programs out. I’m notorious for having 20-30 different Word/word processing documents open at the same time while grading. Simultaneously having at least a dozen tabs in Chrome going. Throw in a couple of PDFs and maybe a spreadsheet, and that usually slows things down on the Windows side, but I don’t notice a whole lot of slow down on the Linux side.

Programs/Applications: There are a lot of spiffy little applications that go with my Linux side. I think they’re actually a lot easier to get a hold of than something that would be an equivalent in Windows. Little widgets, things for desktop customization and things to make your desktop more streamlined and clean. Honestly, my desktop has never looked so clean (and no, it isn’t because I just haven’t cluttered it up yet!).

OK, now on flip side of things, possible negatives. Ubuntu comes with (I think) Libre office, which has had some quirks (as in, it isn’t Microsoft Office, and although close, it has mangled a few documents, made speakers notes invisible in some presentations, just to name a few). I play a few games, and I know my husband has figured out ways to make them work, those modifications aren’t on my system (yet), and they took a bit of research to figure out. As I said, I play a few games, and rarely, but it could be a bigger problem for those who have a bigger variety of games that they play (that were designed for Windows primarily).

Interface: It doesn’t look like Windows, and there are some differences for those switching over from Windows. Nothing major. There’s no big Start/Windows button. I use alt-tab a lot, and that does work, but a little differently (I actually like the Linux function better). That’s all I’ve got there.

So my initial impression is that it works. That is more than I can say for the Windows side. The speed is faster, the interface is cleaner, and the ability to customize things to look how I want them to look is there and easy to play with. Only downside I see now is that I want my Star Trek Online, The Sims, or Civilization V to run, but no big deal.

Mike asks how it is working for me, and I can see how giddy he is waiting for my response (because he’s converted another…LOL!). I’m not one to get all super excited about my operating systems, but he should know that he’s got a winner on this, even if I’m not going all crazy excited about it on my system now. I’m glad it works. If it makes my husband all happy inside, that’s an added bonus :)

Raspberry Pi Getting Android 4.0

If you’re a fan of the Raspberry Pi, you’re about to love it even more. It was announced yesterday that Android 4.0 (Ice Cream Sandwich) is almost done being ported to the Raspberry Pi.

This is great news for the Pi. Android is in a unique position to make use of the Raspberry Pi’s hardware. Since Android is designed with mobile in mind, the 700MHz ARM processor found on the Pi has more than enough power. Hardware-accelerated graphics and video are also working.

With very little effort and $25 plus shipping, you can have a working Android game system for your TV. Access to both Google Play and the Amazon App Store will guarantee a ton of apps you can easily install on the Pi.

Currently, the implementation uses a different kernel and VideoCore binary image from the one available on GitHub. They’re looking into converging the two code lines. As soon as they can, they’ll be releasing the sources to the public.

I’ll update this post as more information becomes available.

Will Your Next PC Be a Google Nexus?

Will your next PC be a Google Nexus? A recent “ask maggie” column addressed the question, “Is Google headed toward an Android Nexus PC?” Her conclusion was “when Google challenges Microsoft or Apple on the traditional computing OS battlefield, it won’t likely be armed with Android.”

I disagree.

Where Android and ChromeOS are Today. It’s Competition Too.

Today, Android has taken the dominant position in smart phones, and the number two position in tablets. It’s advancing at a break neck speed, and has easily surpassed it’s only real competition. It’s spread to a significant number of other platforms, such as music players, car stereos, TVs, gaming systems, and even wrist watches and reality augmentation devices. No other operating system in history has done something like this.

ChromeOS has only just begun, and has seen amazing advances since it’s introduction. It started out as a glorified browser, and now has added application functionality and remote storage capability. It also has the ability to run applications through Citrix, making it a feasible stand-in for a Microsoft or Apple based operating system anywhere in the Enterprise market.

Windows has stagnated over the last decade, accomplishing very little of value considering the ten years it’s had to do it. A recent Vanity Fair piece referred to it as “Microsoft’s Lost Decade“. Windows got some flashier graphics in Vista and 7, and then traded them for a travesty of a user interface in Windows 8.

Apple hasn’t done much better on the desktop than Microsoft. OSX has added an App Store type interface, but other than some graphical changes, there’s no significant changes to OSX since it’s arrival in 2001.

Our desktop operating systems have stagnated. Improvements are measured in baby steps rather than leaps and bounds, if they’re improvements at all.

ChromeOS or Android? Where does Nexus Figure into this?

The question that has to be asked now is, why Android? It’s not even a desktop operating system. ChromeOS is. Shouldn’t it be ChromeOS that replaces Windows and OSX, not Android?

True, ChromeOS is the desktop operating system. Android has always taken it’s position on other kinds of systems, never the desktop.

It really comes back to why Google decided to do two different OSs to begin with, and what their plans were.

The Nexus Consolidation.

The thing that no one seems to be taking into consideration is Google’s plans. Maybe it’s because it’s not convenient, or maybe it’s just because their memories are short. We need to think back to 2009. In an interview with CNET, Sergey Brin was asked about ChromeOS and Android, and why the two seperate Operating Systems. His reply was that Android and the Chrome OS “will likely converge over time.” In fact, the two operating systems share a common Webkit and Linux foundation.

Today, we’ve already seen Google add the Chrome Browser to the Android operating system. Much of the ChromeOS functionality is already incorporated with Android Jellybean. All that remains is the right hardware to bring the two operating systems together.

This is where Nexus comes in.

Nexus systems are designed by Google to Google’s specifications. It could be that the first Nexus “PC” could be a hybrid device, similar to the Motorola Atrix or the ASUS PadFone. We’ve already seen such a hybrid type system with Ubuntu for Android. When in “phone mode”, it’s Android. When it’s docked, it becomes a more desktop type system. Google’s moves to combine the functionality of the two OSs would make a move like this easy. Both systems are already Linux. Both systems already have use WebKit. Both systems are already Google.

The Nexus Solution.

A Nexus based PC would solve any number of problems with the PC. Files would be stored in the cloud, making it infinitely more secure and easily backed up. Lost hardware could be shutdown and wiped from a distance. A dock at home and a dock at work would be all that’s required. Your pocket is your new laptop case. Any location with a dock is a your home workstation.

Google has already gotten themselves into a position to implement a consolidation of Android and ChromeOS. All that Google needs now is the hardware. This is why your next computer just might be a Nexus computer.

Tux: Modern Olympic Champion

Tux: Olympic ChampionThe Olympics are known throughout the world and have been going on for centuries. The first Olympic games were thought to have occurred in the sixth century BC, and it consisted of foot races only. It started as a race for young women to compete for the honor of being a priestess for the goddess, Hera. A second race was run for young men for the right to be a consort for the priestess.

A lot has happened since then.

This year, the Olympic games are being held in London, and champions from all over the world are attending in the hopes of taking home Olympic gold.

One champion there is nothing like the others, and you won’t see in any of the events. It’s Linux.

When the Olympic Games needed a server to host their web page, they chose to rely on the same server that anyone in the world can download free of charge. Linux. The web services are provided by Apache and PHP, the database by MySQL. Like other Olympic competitors, the demands placed on Linux will be high. The website will be responsible for distributing stats for all of the events, receiving their information and making it available to other organizations to broadcast. That includes the event video distribution organization. You know all that information you see on the bottom of your television screen during the broadcast? That will be coming from the Linux server.

Don’t be confused though. There were other runners in the race. The Olympics could have chosen a Microsoft Server, or a traditional Unix server. They could have run their DBs on MSSQL or Oracle, but they didn’t. They chose a LAMP server.

To me, this shows a great deal of faith in the Linux environment. The Olympics chose to use the same software you can download from the Internet free of charge for their mission critical needs, and the world is watching. If Linux stumbles, the world will see. If Linux runs it’s race with speed and grace (which I am pretty sure it will), it will be a great victory for Linux.

Here’s to Olympic Gold in 2012.

Fun with File Permissions – Part 4

And we’re back for Day 4 of the Fun with File Permissions Nerdathon! On Day 1 we covered our standard DAC permissions. On Day 2 we covered getfacl and setfacl, and on Day 3 we covered lsattr and chattr. Today we’re going to close out our run by taking a quick look at the sticky bit!

I’ll admit right out of the gate that I know the least about the sticky bit than any of the other day’s topics. If you see something I get wrong, don’t hesitate to correct me in the comments. I’ll update the post with the correct information.

So stick bits really started out in Unix in the 70s. You can still find pictures of it with big hair and bell bottoms. The original idea was that it was meant to be used on executable files. When the bit was flipped, the executable file would stay resident in memory so that it could be quickly loaded again. There were issues with it, like when you had to update those executables, you had to remove the bit, upgrade the file, and then replace the bit.

The functionality evolved. Linux has never supported this implementation of sticky bits.

Today, sticky bits are used to protect files from being removed when you give another user full rights to the file. So, how does this thing work?

Setting the sticky bit is easy. You just use the chmod command just like you did back on Day 1:

chmod +t test

This will set the sticky bit on a file, or in my case directory. Doing an ls -al from inside the test directory you’ll see this:

mike@PreciseApex:~/test$ ls -al
total 28
drwxrwxr-t 2 mike mike 4096 Jul 20 20:15 .
drwxr--r-- 56 mike mike 16384 Jul 20 19:20 ..
-rwxrwxrwx 1 mike mike 0 Jul 20 20:15 file

In that directory, I’ve created a file called (originally), file. You can see that file has full read write execute privileges. You can also see the permissions on the . directory above oddly end with a “t” instead of an x or a – like you’d expect. That tells us that the sticky bit is active. If you were using the sticky bit on a file, a lowercase t would indicate that it’s not executable, and an uppercase T would indicate that it is.

So, let’s try to kill this file.

I login with my wife’s account (shhhhhhhh), and do an ls -al in the same directory:

amy@PreciseApex:/home/mike/test$ ls -al
total 28
drwxrwxr-t 2 mike mike 4096 Jul 20 20:15 .
drwxr--r-- 56 mike mike 16384 Jul 20 19:20 ..
-rwxrwxrwx 1 mike mike 0 Jul 20 20:15 file

Things look pretty much the same in this account. You can see the lowercase t on the end of the directory permissions, but other than that, it looks like I’ve got full rights to file. I can open that file, modify that file, and save that file. No problems, even from my wifes account. Where the sticky bit comes into play is when I try to delete the file. An rm -f results in:

amy@PreciseApex:/home/mike/test$ rm -f file 
rm: cannot remove `file': Permission denied

Dun dun dun. Permission denied. If I do the same command from my user?

mike@PreciseApex:~/test$ rm -f file 

No errors. The sticky bit will allow the owner of a file, and root (or a user with equivalent rights) to remove the file. If you want to remove the sticky bit from a file, it’s as easy as:

chmod -t file

And so our four days of Fun with File Permissions come to an end. I had a great time writing about this. It seems on the surface like it would be such a dry subject, but there are so many fun intricacies that it’s so exciting to experiment with. Please, if I didn’t cover something that you could have liked to see me cover, please mention it in the comments.

Fun with File Permissions – Part 3

Welcome to back to Mike’s 4 Days of Extreme Geekery (yes, Geekery is a word I just made up)! On Day 1 we talked about traditional Unix file permissions. On Day 2 we talked about setfacl and getfacl. Today, I want to go over chattr and lsattr!

What these two commands do is pretty self explanitory. lsattr shows you the attributes currently on a file or directory, and chattr changes those attributes. You use either + or – to add or subtract attributes.

 mike@PreciseApex:~/mike/test$ lsattr mike
 -------------e- mike
 mike@PreciseApex:~/mike/test$ sudo chattr +i mike
 mike@PreciseApex:~/mike/test$ lsattr mike
 ----i--------e- mike

The first time I found about the file attributes in Linux, I thought right away, “Hey, this is kinda like DOS!” I know what you’re thinking, and trust me if I could kick my own ass for saying that, I would. It turns out that the file attributes in DOS/Windows suck compared to the Linux version (like most things in DOS/Windows when compared to their Linux counterparts). Quick comparison will show you that DOS/Windows has 5 attributes. They are:

 R: Read Only
 A: Archive
 S: System
 H: Hidden
 I: Index

What each of these attributes does is, well, who cares. We’re not talking about DOS/Windows. The Linux version of file attributes is significantly more advanced. Available file attributes are:

 A: The date of last access is not updated (only useful for reducing disk access on laptops)
 S: The file is synchronous, the records in the file are made immediately on the disc.
 a: The file can be opened in addition to writing
 c: The file is automatically compressed before writing to disk, and unpacked before playback.
 D: The case is synchronous (see:S)
 d: The file will not be saved by the dump
 I: Can not be fixed by chattr only listed by lsattr
 i: The file / directory can not be amended, deleted, renamed or linked symbolically, not even by root.
 j: Mount file system with "data=ordered" or "data=writeback", and files are written to the log before the file.
 s: When the file is destroyed, all data blocks are being released to zero.
 T: Usable from version 2.5.46 kernel.
 u: If the file is deleted, its content is saved, it allows the user to seek its restoration.
 E: Experimental, can detect an error of compression can not be fixed by chattr, but can be listed by lsattr
 X: Experimental shows that the raw data to a compressed file can be accessed directly.
 Z: Experimental, provides information on the status of a compressed file.

As you can see, there are quite a few more file attributes that do significantly more. Some of these are more interesting than others. I’m only going to touch on a few of them that I find interesting. Of course, consult your man page for more information on the others.

The +A attribute basically locks that last accessed time to what it’s currently set at. Set this attribute, and you’re fill will be frozen in time. No more accesses will be recorded.

A really interesting one is the +c. This is an on the fly compression. If you add the +c attribute to an empty directory, everything you write to that directory will be compressed as if you stuck it in a file using gzip9 compression. One odd thing about it is that ls -l doesn’t show a darn thing. You can’t see the compression. I’ve heard that you can see it with a du, but when I was playing around with it, I didn’t see that.

I have to say that my favorite is the +i. I’m not sure what the i stands for, but I’m going with “Immortal”.

mike@PreciseApex:~/mike/test$ lsattr mike
----i--------e- mike
mike@PreciseApex:~/mike/test$ rm mike
rm: remove write-protected regular empty file `mike'? y
rm: cannot remove `mike': Operation not permitted
mike@PreciseApex:~/mike/test$ sudo rm mike
rm: cannot remove `mike': Operation not permitted
mike@PreciseApex:~/mike/test$ sudo rm -f mike
rm: cannot remove `mike': Operation not permitted

With the +i attribute set, this file can not be deleted. Not by the owner, not by root, not by anybody. You have to be root (or equivalent) to set this attribute, so no messing with your admins on servers you don’t own, but still fun.

The last two kind of have to be taken together. +s and +u. If a file with the s attribute is deleted, the blocks where it lived are zeroed out and written to the disk. Bye bye file. Good luck retrieving that one. In contrast, the +u makes sure that the files information is saved just in case you want to undelete it later. +s and +u are opposites. Oddly, you can set both flags on a single file. Not sure what that would do. If you know, throw it into the comments.

That’s an extremely high level view of the file attributes in Linux. I could probably spend weeks on these two commands going over what they do, but I have the feeling that I’d probably lose most of you in that amount of time. Tomorrow, I’m going to take a look at sticky bits! Bound to be fun!

Fun with File Permissions – Part 2

Now, where were we? Oh yea, so the day before yesterday (I know I said I was going to do this daily, but the series finale of Eureka was on!) we covered what’s commonly thought of as the traditional Unix file permission. Permissions are applied using chmod, and can be seen as a -rwxrwxrwx at the front of the line after doing an ls -l.

OK, that’s all well, and good, but what do you do if you want to grant permissions to just a single person, or add different permissions to multiple groups? That’s where the crazy combo of setfacl and getfacl come in. I have a test file called “test”. If I do an ls -l on the file, I see these permissions:

-rw-r----- 1 mike users 0 Jul 15 22:35 test

So, this tells us that I’m the owner, and users is the group the file is assigned to (my group being the default). So, with these permissions, I can read and write to the file, anybody in the group users can read the file, and no one else can do anything with the file. Standard 640.

At this point, if I use one of our commands, the getfacl, I’ll see a little bit different information, but still basically the same:

# file: test
# owner: mike
# group: users

But what if I want to give my wife permissions to that file, but no one else in the group users. One possibility is that I could create a separate group with just my wife and I in it and assign that group rights, but then the users group loses rights to the file. The simple solution is to just add my wife using this command:

setfacl -m u:amy:rx test

If I do an ls -l after this command, there’s only one slight change to tell us that we’ve done anything.

-rw-r-----+ 1 mike users 0 Jul 15 22:35 test

You can see now that there’s a + after the standard -rwxrwxrwx. This is a good sign. It means that our command was successful. If you were to do the getfacl now, you’d see this:

# file: test
# owner: mike
# group: users

You can see now that the user “amy” has been added to the permissions of the file. If you were to do an ls -l command, you’d see that the group permissions would be replaced with the value in the “mask” field. This value reflects the last permissions applied to the file. A similar command can be used to add groups:

setfacl -m g:plex:rwx test

This gave full permissions to any users in the “plex” group. Now my getfacl looks like this:

# file: test
# owner: mike
# group: users

Through all of this, if I were to do an ls -l, the mask on that line would now show the permissions of the “plex” group, not the user “amy”.

-rw-rwx---+ 1 mike users 0 Jul 17 21:23 test

And if in the end, you decide that you would rather return to the standard -rwxrwxrwx Unix type permissions, it’s as easy as this:

setfacl -b file

After that command, the + is gone, and the getfacl returns to it’s defaults.

 -rw-r-----  1 mike users  0 Jul 17 21:23 test
# file: test
# owner: mike
# group: users

Really, this is just scratching the surface. There is so much more that you can do with this, but again, I’ve gone on too long. Tomorrow (probably), I’m going to cover lsattr and chattr, and the day after I want to take a look at sticky bits!