What Does Unix-Like Mean

What Does “Unix-Like” Mean?

There is so much tech terminology and so little time – so it helps quite a bit when we can think of things within categories. In the case of operating systems, there are essentially two. There are the ones from Microsoft, descendants of Windows NT (for “new technology”). On the other side are basically the remainder of options. These other systems – such as Chrome OS, Orbis OS, iOS, Mac OS X, Android, and Linux – all have a code structure that is loosely described as “Unix-like.”

 

UNIX & its many offspring

 

We can start to understand the term Unix-like by looking at Unix construction and the operating systems created with it as their basis. Coders at Bell Labs, an AT&T facility, created Unix in 1969; Ken Thompson is the specific person credited with its development by the Linux Information Project.

 

Many technologists and organizations have developed operating systems from Unix over the years. However, there are generally two branches of Unix’s “next of kin.”

 

One branch was within education. The chief example is the Unix-like, open source OS Berkeley Software Distribution (BSD). This system is built into such further offshoots as FreeBSD, NetBSD, and OpenBSD. In fact, BSD was used to create NeXTStep, which was in turn used to design Mac OS X (from which iOS was developed). In fact, the operating system of the PlayStation 4, Orbis OS, was coded with BSD as its foundation.

 

The GNU project, an effort launched by Richard Stallman to aid in making licensing terms loose enough to facilitate free use of programs, was inspired by the tightening of language within AT&T’s Unix agreement. MINIX was a Unix-like system that was intended for use within academia, and Linux is a descendant of MINIX. When we use a Linux OX now, we are actually using GNU/Linux, notes Chris Hoffman in How-To Geek – because these systems combine a Linux kernel with numerous GNU utilities.

 

GNU/Linux (otherwise, and commonly known simple as Linux) is not a straight offshoot of BSD. However, it is similar because it uses Unix as its initial structure and also grew out of scholarly circles. Many different operating systems – notably Android, Steam OS, and Chrome OS but also ones used on many devices – are rooted in Linux.

 

The above systems were all a single side of development from the original code, the educational offshoots. The other side was commercial systems that were created, with many different companies wanting to promote their own version. These systems are now much less prevalent, but they have included AT&T UNIX, HP-UX, IBM-AIX, SCO UnixWare, SGI IRIX, and Solaris.

 

What do we mean by “Unix-like”?

 

What does the term Unix-like mean specifically, though? It is a blanket way to refer to many different operating systems that all share the same common structure – as opposed to the one used by Microsoft. Unix-like also grew from confusion and debate over what should be considered a Unix system.

 

When we call an OS “Unix-like,” that generally will mean that the source code of the OS (the version of the software as it was originally coded) is directly traceable to, has similar properties to, and is explicitly based on Unix. Examples are Compaq’s True64, Solaris, IRIX, HP-UX, and IBM’s AIX.

 

The umbrella-term Unix-like also refers to clones of Unix. A clone is software that performs in a similar way to other software but does not have the same source code.

 

The way that the prominent Unix clones act is so, well, er, Unix-like that often computer scientists and expert technicians simply refer to them as Unix. These systems should be understood as clones, though, and not Unix-based but certainly Unix-like. These clones include the BSDs (Darwin, FreeBSD, NetBSD, OpenBSD) Linux (in all its distros), MINIX, Cygwin, and QNX.

 

For the most part, a Unlike-like OS will have most of the additions and elaborations that were appended to the original at the University of California – Berkeley. These features, often called the Berkeley extensions, contains the vi text editor, virtual memory (enabling simulations of extra memory by the hard disk drive), transmission control protocol / internet protocol (TCP/IP, the primary protocol for the internet and local networking), and C shell (csh). Since these capabilities from the Berkeley extensions are so core to the functioning of Unix-like systems, people have sometimes posited that modern systems of this type should be called “Unix/Berkeley” (or “Unix-Berkeley-like”?).

 

Now let’s look at BSD directly: this OS, short for Berkeley Software Distribution, is a Unix clone that was written at the University of California in the 70s and early 80s. Generally BSD and its offshoots are called Unix; actually, one version was even called BSD UNIX 4.0 (October 1980).

 

Controversy related to the UNIX name

 

UNIX is the initial name of the operating system that was created at Bell Labs – that part we know and is indisputable. The way that the term has been understood since that point has become much fuzzier. UNIX became a trademark, and an association created in 1996, called the Open Group, eventually acquired ownership of it. The Open Group states that operating systems should only be called UNIX if they agree with the body’s Single UNIX Specification and pay them a sizable fee. In this sense, it is possible that a system could be called UNIX legally even if were dissimilar to the original and did not contain any of its source code.

 

Apple has questioned the legitimacy of the UNIX trademark – claiming that the term is generic and should not be protected by the government. Apple actually has stated on its website, “Beneath the surface of Mac OS X lies an industrial-strength UNIX foundation.”

The Open Group and Apple have been sparring over usage in this manner.

 

A couple key UNIX or Unix-like characteristics

 

Key design characteristics of the original version of Unix are shared by today’s modern operating systems.

 

One of the basic centerpieces of the way Unix is constructed is that you have small utilities that are fine-tuned to perform single tasks. When you interact with the OS, you are able to leverage these tools in part by blending them, via pipes or otherwise, to carry out more sophisticated activities. By elaborating on modules in this manner and combining utilities, shell scripts also become simpler.

 

Another aspect of Unix that makes it special is that there is just one file system through which software is able to exchange data and interact. All components of the computing ecosystem become represented by files within this model – including special files with system details and even hardware. The contrast to this architecture is the drive letters of Windows (C, D, etc.), a format that Microsoft brought over from DOS. In contrast to breaking everything up into drives, there is one unified directory hierarchy on Unix.

 

What does it mean to have full root access?

 

You will sometimes hear coders and others discussing infrastructure talk about full root access. Full root access means that you have complete superuser privileges over your system – administrative-level control. The root user is unique to Linux and other Unix-like operating systems.

 

Do you want super-fast performance and root access? At KnownHost, our managed VPS hosting plans come with full root access for complete control. Compare plans.

Read More

Root Access for Your Website

What is Root Access? What Can You Do With It?

Who cares about root access? Do you need it? If you do, what can you do with it? Learn about the Linux root, what it can do for you, and how a Unix-like operating system is organized as an upside-down tree.

 

  • Does it matter if you write root or Root?
  • The root user: the Linux version of Windows admin
  • What exactly is root access? (possible sources of confusion)
  • Linux as an upside-down tree
  • What can you do as root?
  • How to get root access for your website

 

Why is root lower case?

 

First, let’s get into root vs. Root. It is possible for a person to argue that this piece should have been entitled, “What is root access?” to make it clearer that the root user is in lower-case.

 

Remember that the root user is specific to Linux, BSD (Berkeley Software Distribution), and other Unix-like operating systems (see the next section regarding “Unix-like”). The bulk of Linux is written in C. Like some other computer languages (C++, Java, Ruby, XML, etc.) and in contrast to others (Pascal, SQL, Ada, etc.), C is a case-sensitive coding language. Because of that, well, it matters whether you write root or Root. Why do people choose lower-case over the capitalized version of a word? Let’s look at the discussion of why it might be used, or not used, to name a local variable – from a relatively popular post within Software Engineering Stack Exchange.

 

In the post, the user oscilatingcretin [sic] says he gets a lot of grief from other developers for capitalizing the first letter in words within his local variables. Standardly, coders will use employeeCount and firstName, as examples. Instead, oscilatingcretin would use EmployeeCount and FirstName in those instances. He uses capitalization across the board – for constants, properties, variables, return methods, void methods, etc. He notes that he even uses that same model within Javascript.

 

Why does this decision bother people? Well, because there is a certain logic to the non-use of capital letters in that context. The idea is that initial-caps of words – or “proper case” – within case-sensitive code is typically only a convention that is applied to void methods and properties; you should start with the lower case for methods that return a value and local variables, says this perspective.

 

Oscilatingcretin notes that he has too often felt that the supposed need to use this convention is perhaps more arbitrary than it is rational – although he does note that he has “never needed a casing convention to tell me whether or not something is a local variable or property” because he has “always used a very intuitive naming convention.”

 

The bottom line is that you should write root without a capital letter; and if you want, you can question whether the lack of a capital letter makes sense.

 

The root user: the Linux version of Windows admin

 

Have you worked with Windows servers? Then you are probably familiar with the administrator account. That, like root, is an example of a superuser account that is designated for system administration. The superuser name will vary depending on the operating system (OS).

 

It’s important to understand scope, so what exactly do we mean by Unix-like? According to the Linux Information Project, Unix-like is a term applied to computing operating systems to mean that it has numerous attributes that are similar to UNIX (created at Bell Labs by Ken Thompson in 1969) and the systems that followed soon after it.

 

A superuser account such as root is able to edit whatever server files they want and perform any other tasks without getting blocked due to a lack of sufficient permission. Specific tasks that you can accomplish when logged in as root are covered in the “What can you do as root?” section below.

 

What exactly is root access? (possible sources of confusion)

 

Within Linux or another Unix-like system, the root user – accessible with dedicated and some VPS servers – has overarching file access and command privileges. A term that can often be used interchangeably with root user is root account. The notion of root access can become a bit more muddled when you look at similar ways in which root is used within Linux, BSD, and similar (i.e. Unix-like) systems. Those are:

 

  • root directory (/) – The root directory is the top-level directory. To look at it from the bottom up, your files will typically be contained within subdirectories, which in turn are within directories, all of which are included in the root directory. A forward slash (this character – /), indicates the root directory.

 

  • slash root (/root) – Although this may sound like a sloppy effort at harvesting ingredients for sarsaparilla, it is actually the home directory of the root account (/root). In other words, it is the main place where the root user’s files (configuration and otherwise) are stored. Typically it is the location where a user will start when they log into Linux. Remember that the forward slash designates the root directory; that means slash root is a subdirectory of it. Any typical (non-root) home directories populate within a different default subdirectory of root, slash home (/home).

 

  • root privileges – This term refers to the capabilities that the root user has to control the system, distinct from those of other users. The root account is the king and queen of the castle, as described above. It has 100% management control, with full access to every command and file. Let’s get into these privileges in the next section.

 

  • rootkit – You may want root privileges, but you don’t want to get them through a rootkit, no matter how user-friendly its name may sound. A rootkit is applications that are clandestinely placed on a server by an unauthorized party, often for malicious reasons. The Linux Information Project notes that “well designed rootkits are able to obtain root access… and to hide most or all traces of their presence and activities.”

 

Linux as an upside-down tree

 

To better understand how the concepts in the above section interrelate, this account is called root because it has exclusive write permissions within the root directory – i.e. it can change any files contained therein.

 

The root directory is called that because the hierarchy of a Unix-like OS is designed to be similar to a tree, with everything sprouting and branching off from one directory that serves as the roots. Flip the tree over, and you see the hierarchy, with root on top.

 

What can you do as root?

 

This question could be rephrased as, “What are example root privileges?” That is essentially what we are talking about with privileges is the ability to do other stuff on your dedicated or VPS server (the latter provided you have full root access). Here are 5 broad examples of what you can do within this account:

 

  1. 1. Edit whatever files you choose
  2. 2. Change the system however you want
  3. 3. Provide and remove permissions to other accounts (which will affect whether they can read, change, or execute certain directories and files)
  4. 4. Install software server-wide (MySQL, Apache, etc.)
  5. 5. Set up configurations for software throughout the server

 

How to get root access for your website

 

You can get root access on a dedicated or virtual private server, provided this feature is available through your hosting provider. With a good service, logging in as root should be a snap. At KnownHost, support is something we pride ourselves on, so you can rest easy knowing we’ve got your back. See our full-root-access fully managed VPS plans.

Read More

Finding the Right Hosting Solution for Your Database

Finding the Right Hosting Solution for Your Database

Often when business owners think about hosting solutions, they’re operating within a website hosting mindset. This is typically what business owners are really concerned about when it comes to hosting. After all, that’s generally what people associate with hosting companies. They provide a way to put your website online so you can sell things or blog or whatever your business model is.

 

But, depending on your specific business, it’s not just website hosting you need to worry about. Large e-commerce sites or even large-scale informational sites have to worry about their databases as well. Any business that receives, manages, and uses huge amounts of information has to be concerned about the ability to process it all via a database. In fact, some businesses are only concerned about finding a hosting solution exclusively for their database needs. Whatever camp you happen to fall into, a managed VPS can provide you with the hosting solution you need to run your business.

 

You need to take your database hosting just as seriously as you would your website hosting. While poor performance and downtime have immediate, easy to see negative results on your business in the form of higher bounce rates and low sales, a database that can’t properly function is just as disruptive. You rely on having access to your information. Whether it’s an e-commerce product database or customer information, you can’t run your business without it.

 

Even if you aren’t running a massive “Big Data” sized database, you’re probably still going to be managing some kind of MySQL (or similar) powered database. So, what do you need to look for in a hosting solution for your database? Are you going to be hosting a website as well? Does it make sense to separate the two? Let’s take a look at hosting solutions for business owners concerned about keeping a database online.

 

Should you try to keep a database local?

 

The first thing that needs to be addressed is the idea that a database should be separate from a website. What separate really means in this instance is different servers for each. We’ll get to that concept shortly, but there is also a belief that a database can be housed locally for “security” reasons. Often, this is considered when there are concerns about certain regulatory issues or remaining in compliance with PCI or HIPAA.

A couple of points about those kinds of serious compliance issues. For one thing, the amount of resources required to be compliant would be outlandishly expensive to maintain at a local level. The sheer amount of encryption, guaranteed uptime, security measures, and more is best handled by a third party. Secondly, you’d need to find a highly specialized hosting company that is explicitly in business to provide compliant hosting. If you’re in the medical field handling EMRs, these kinds of general database hosting conservations don’t necessarily apply.

For the vast majority of business owners, they don’t need to worry about serious compliance issues. They just need to make sure their database is reliably online. Even then, local solutions are more expensive and unreliable than having your database hosted with a third party.

 

Is a VPS enough?

 

For the average business with a MySQL database that is either powering their WordPress installation or is the backbone of their e-commerce product offerings, yes, a VPS is probably powerful enough. A dedicated server really only comes into play if you were running an unusually large database that needs as many resources as possible. Or, you’re trying to run a demanding website alongside a large database on the same hardware. But, on average, a VPS will be powerful enough to meet your needs.

 

Interestingly, there are some who feel that at a certain point you’d be better served to split your website and database off onto two different VPSes. Some people obviously opt for this setup. For the typical business owner that probably isn’t necessarily and may offer needless complications. But, for the sake of providing information, let’s quickly look at the pros and cons of this setup.

The argument in favor of keeping the two separate but finding some way to link them is that the resources required to keep both operating at a high performing level won’t interfere with one another. So, if your site requires all the broadband, CPU power, and storage space it can get due to high traffic and complexity, not having to share all of those hardware resources with an equally demanding database would on paper benefit both sides of the operation. There is also a perceived security benefit where if a website gets compromised, for example, the database would remain untouched and recovery wouldn’t be as difficult comparatively.

 

Sounds reasonable enough, but the downsides are paying for two VPSes, having to worry about maintaining both, and worrying about the infrastructure and linking the two servers to one another. However, since this is such a common practice, you may find yourself in a situation where using two VPSes makes sense. In the early days of your business, this probably isn’t necessary.

 

Why managed hosting?

 

What you will want to look for is managed hosting. Managed hosting is a great feature to have when dealing with databases because it takes some of the IT concerns off you and your team.  There are many benefits to managed hosting. Convenience is a leading one. You’re already worried about fulfilling your customers’ needs. Do you really want to spend time monitoring the server to ensure your database is online? Do you want to set aside one of your employees to do that? Probably not. It’s better to play to your strengths. With managed hosting, you get uptime monitoring, some security assistance, automatic backups, and peace of mind knowing that your hosting company is keeping an eye out for you.

 

Uptime and databases

 

Finally, you need a hosting solution that will keep your database connected and online as consistently as possible. That’s why it’s important to partner with a host that offers a service level agreement that guarantees 99.9% uptime. This is beneficial to every part of your business. Whether it’s your website or a business critical database, being online as close to always as possible is imperative to your success. Downtime of every kind costs businesses billions of dollars a year cumulatively. If you can’t be reached, you can’t sell anything. If your site can’t populate products or handle credit cards, that’s money going out the door. This also ties back into managed hosting. With a managed host, you can minimize downtime because any system abnormalities will be noticed. If you manage your own hosting environment, you’re responsible for finding the fixes to get back online.

 

Conclusion

 

When it comes to keeping your business running, you need solutions you can be confident in. After all, you’re essentially trusting another company to help keep yours functioning. That’s not something that should be taken lightly. At KnownHost, we take that responsibility seriously. That’s why we offer powerful hardware and expert customer service that you can rely on. If you’re looking for a managed VPS to power your website and database, contact us today. We’ll help you find the hosting solution you need to power your online business.

 

 

Read More

What Can You Do with a Virtual Server?

What Can You Do with a Virtual Server?

This article describes what a virtual private server (VPS) is and how it relates to other major technology concepts: virtual private networks, the virtual machine (VM), shared hosting, and dedicated hosting. We then look at especially compelling reasons to use a VPS and a few of the most prominent ways that one can be used.

 

  • Virtual Private Network vs. Virtual Private Server
  • Getting to Know the Virtual Server
  • Strong Reasons for Adopting a VPS
  • Typical Uses of a VPS
  • Managed vs. Unmanaged

 

Virtual Private Network vs. Virtual Private Server

 

Two major concepts that have closely aligned names are the virtual private network (VPN) and the virtual private server (VPS). While both are virtualized and centered on privacy and security, that’s about as far as the similarity goes.

 

VPN: This technology allows you to securely use the internet and connect to private networks (such as a company’s internal one). All traffic is passed through an encrypted tunnel, and each device uses a remote, proxy server – concealing your IP address, what you do, and where you are.

 

VPS: The virtual private server is an advanced, secure way to divide the resources of a physical server (the main host) within a data center. A hosting provider creates VPSs by slicing up one piece of hardware into multiple, independently operating instances.

 

Getting to Know the Virtual Server

 

Perhaps the best way to approach the virtual private server is the idea of a virtual machine. A VM allows you to run an emulation of a computer within your computer, drawing on the resources of the physical one –  disk space, RAM, CPU, etc. This tactic allows you to run an entirely separate operating system (OS) solely for the purposes of the VM, even if its type and version of OS are identical to what’s on your hardware.

 

Because you only are using a portion of the resources for the VM, you can have several of them running on one computer or server, as is common with hosting services. A hosting provider that offers VPS hosting has a vast number of physical servers that each contain multiple virtual machines. While demarcation and intrusion prevention within the physical machine is not a huge concern on your own PC, VPS hosts must have security safeguards in place to ensure isolation of each customer’s server. That’s why the terminology virtual private server is used – to denote the attention paid to privacy and the server programs that are typically loaded onto this type of VM.

 

Strong Reasons for Adopting a VPS

 

Shared hosting, cloud hosting, and dedicated hosting are the three main alternatives to a VPS.

 

Shared hosting: With shared hosting, your site is stored and served from the same physical machine as many other customers – possibly hundreds of them. All domains are drawing from the same CPU, RAM, and other resources.  This type of hosting is the lowest-priced option. However, your site’s speed and reliability suffer from other users, and you don’t get root access.

 

Cloud hosting: This type of hosting is slightly more expensive than shared hosting (similarly priced to VPS hosting). Rather than using a single server to store and load your site, a cloud system distributes resources across many different computers for faster response times. However, this model typically doesn’t give you root access, and its distributed structure presents fundamental security challenges.

 

Dedicated hosting: This format means that an entire physical server is used solely for your site and applications. While you do have all the resources reserved for your own purposes, a dedicated server is substantially more expensive than shared hosting.

The primary reasons that someone will choose a VPS are performance, flexibility, error-proof sandbox, and security. Let’s look at each of those factors:

 

  •  – Performance – When you switch to a VPS, you will get guaranteed resources. That means traffic spikes on other domains stored on the physical server won’t slow down your site.
  •  – Flexibility – A VPS can be considered your own remote computer. While the primary purpose of a VPS for most hosting customers is to serve websites, you can perform any functions on your VPS (within the hosting provider’s guidelines) as you can on a PC.
  •  – Error-proof sandbox – Virtual private servers give you “do-over” potential because they exist within a virtual sandbox. Damaging a virtual server won’t impact the operating system running on the hardware itself. “The VPS can be rebooted or reinstalled without much issue except maybe for lost data (so always keep backups),” notes Joel Lee of MakeUseOf. “On a dedicated host, a mistake could cause permanent damage.”
  •  – Security – Other users within the physical server can’t hack your virtual sandbox and access your VPS through the relatively simple means they can on a shared server.

 

Typical Uses of a VPS

 

Above, we got a basic sense of what a VPS is and factors that make it attractive. Now, let’s look at some of the ways that this route is useful to people on a day-to-day basis:

 

  1. Serving a website

 

The main reason that someone signs up for a VPS is that they need a server through which to run their site. When you adopt one, you should notice that your site is performing better than it was on a shared account (because of the guaranteed allotment of resources). Also, the full root access gives you better control. You are able to install and get rid of whatever programs you want.

 

Example: You can use a VPS to run your e-commerce platform (Magento, WooCommerce, Shopify, etc.). With the stronger resources of a VPS over shared hosting, you have a competitive advantage over many other sites in terms of stability, speed, and general user experience.

 

  1. Hosting a server or business files

 

Sometimes people will use a VPS to run a Minecraft server or host Mumble for private chatting. Businesses will often use it to host media or other files.

 

  1. Testing

Virtual servers are a cost-effective way to test anything before you bring it live. That includes new environments, operating systems, applications, frameworks, or anything else.

 

  1. Torrents

 

You can use a VPS for torrenting, in which case the machine is called a seedbox. By moving your torrent activity to a VPS, you clear out that bandwidth on your local system and designate a 24/7 machine for that purpose.

 

  1. Backups

 

You can also use a VPS for the storage of key files. That’s something that customers will often do if there is extra space available beyond what they need for their primary purposes. Assuming that it’s leftover space, you are able to effectively get free file storage in this way – and it’s within a private environment, so your security is strong.

 

Managed vs. Unmanaged

 

One final key consideration when you look into a virtual private server is whether you want to get an unmanaged or managed VPS plan.

 

If you are unsure which way to go and perhaps don’t feel technically confident with a VPS, “it is recommended that you go with a managed VPS solution,” advises Creativeoverflow. “[I]t is better to go ahead with a specialist hosting company that can manage the technical aspects of your VPS solution.”

 

*****

 

Are you considering a virtual private server to run your website or for any other purpose? At KnownHost, our hosting packages – all of which are managed based on our 15+ years of experience – offer great speed, incredible support, and a 99.9% uptime guarantee. Compare managed VPS plans.

Read More