LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Using Slackware In A Consulting Business (https://www.linuxquestions.org/questions/slackware-14/using-slackware-in-a-consulting-business-687536/)

Woodsman 12-01-2008 03:13 PM

Using Slackware In A Consulting Business
 
Hypothetical Discussion: You are going to start a small-scale business installing a free/libre software operating system for home users and "mom and pop" small business users. Most of these people already have hardware. Therefore you will focus primarily on supplying the software and providing preconfigured systems. You've been using Slackware long enough to be more than comfortable with that operating system and decide to use Slackware in your business. Most of these installations will be performed at the customer's location. Presuming adequate skills to support such a business, but realizing hardware will vary all over the spectrum, what preparations would you make to efficiently install the operating system and desktop for customers?

For example:

1. A written installation check list. Such as?
2. Automate as many installation tasks as possible with shell scripts. Such as?
3. Build and install additional packages that do not come with the stock Slackware. Such as?
4. GUI administration utilities. Such as?
5. GUI networking tools. Such as?
6. Auto-configuration tools. Such as?
7. Migration tools. Such as?
8. Rebuilding the kernel. Such as?
9. A printed "Getting Started" user guide.

What additional packages would you build and install that are not packaged with the stock Slackware? For example, Conky, cpufrequtils, Adobe Flash, a handful of Firefox extensions, OpenOffice, root kit detection tools, various CD and DVD ripping support packages (libdvdcss, K9Copy), gtk-qt-engine, etc.

What KDE packages would you build for a typical user that are not packaged with the stock Slackware? For example, Digikam, rebuild K3B to fully support CD/DVD ripping, Gwenview, Kaffeine, etc.

The majority of customers will be content with KDE (they have known nothing but Windows), but a minority might want to use or explore Xfce. What additional GTK packages would you build and install? Abiword, Gnumeric, etc.

A significant number of customers likely will not want to fully purge Windows from their box. Is dual boot a good solution or a virtual machine accessing raw partitions?

You are going to run a business, which requires some reality checks, such as these customers are typical computer users.

What do I mean by typical computer user? Somebody who can press the power button, somebody who can find the "Start" button on the task bar but does not know the task bar's name, somebody who can browse the web by clicking the blue "e," somebody who can read and respond to email but hasn't a clue the account password is transmitted in clear text, somebody who uses only the Bold, Italics, and Underline button in a word processor and hasn't a clue about templates or style tags, somebody who has no clue about system security yet spends an inordinate amount of time downloading wallpaper, screen savers, and mouse pointers that actually are viruses and Trojan horses.

Many typical users often do not know they use Windows(r). They only know they use a computer.

If you are a Slacker then you are not a typical computer user. Do not compare yourself to such people. Slackers are comfortable opening an xterm and installing Slackware from scratch. Typical users do not know what a command line is and never have installed an operating system on a computer.

These people have known nothing but Windows. They are not geeks, nerds, or even tech savvy. A handful might be willing to learn a few things under the hood but most will not. They expect and demand a turn-key system, point-and-click operation. They are willing to perform some point-and-click configuration exercises but demanding they learn command line tools is a pipe dream. This is reality.

Regulars here know that I use Slackware daily on my primary computer. Like the proverbial old pair of jeans, I am comfortable with Slackware. Yet just because I am familiar with Slackware and am comfortable in that environment does not mean the stock Slackware is suitable for typical computer users.

This is a hypothetical business discussion, not a fan-boy discussion. Please stay on topic. Let's have fun with this discussion. :)

Thanks again.

Alien_Hominid 12-01-2008 03:43 PM

The first and most important for small bussiness is checking that koffice works as it should. If not or some required functions are missing, you should check whether it could be extended or maybe you would need to install openoffice.

Most of the other features can be thought of as convenience (flash, java, libdvdcss) thing if you can't efficiently work with various documentation floating around.

keefaz 12-01-2008 03:46 PM

I think your support service can make the difference. You have good system experience and know how to get the troubleshooting infos.
Make a package with full remote support, to access the service, the customer boots on a special partition that starts special scripts and you remotely control customer computer with vnc or ssh from your office :)

I wouldn't know what softwares to install for a typical customer though, I suppose web browser, email, text editor, I would offer a stripped down KDE (with my company logo on KDE dock button, desktop background and bootsplash :)... just kidding)

onebuck 12-01-2008 04:27 PM

Hi,

Your customer base hardware will vary. The platforms will require some detailed attention on the company's part. The user base will be another situation, some users are windows aware but just enough to get themselves into some trouble therefore trouble for both companies. You must idiot proof the OS and desktop. OO will not be the only software application problem. You must provide the applications that each consumer would warrant. So you will need to get the applications to the consumer level fast, delays are money and client issues (not happy).

My experiences tell me your tasks will be a up hill battle. You would be better off too just can a OS then adapt to each base. That is another advantage for terminal/client based systems but that too will be a setup nightmare for small shops.

I know you have thought this out but you do need to realize that FLOSS will require a lot of hand holding with the user(s), no matter the application.

Good luck!

mostlyharmless 12-01-2008 05:35 PM

Can't add much to what's been said, but I agree that a lot will depend on the customer's particular software needs. Some (many) businesses use software specifically written for that business which may be difficult to support at all under Linux. In addition, some internet applications, increasingly more common, cloud computing and all that, are distinctly IE friendly only.

If you HAVE to choose between dual booting and accessing the raw partition with a virtualized system, dual booting is probably better, as it will make hardware support considerably less complicated. The VM solution might be good for supporting a single WINE/Crossover unfriendly app, but the average user will have an easier time with the dual boot concept. It even might be better to have a Windows box dedicated to Windows tasks networked to the Slackware boxes.

ErV 12-01-2008 05:59 PM

Quote:

Originally Posted by Woodsman (Post 3360932)
what preparations would you make to efficiently install the operating system and desktop for customers?

You'll have to build repository of custom-built packages you might need.
And you'll need to gather common slackware fixes (like hal configuration fixes for dvd automount), and should have them nearby.
You should be prepared to deal with usb scanners (see sane installation), some of which might require finding firmware (which often means finding installation cd for scanner, unpacking archives, and extracting firmware from there).
The best thing you can do (if you are to check computers at customer's home) is to have some device with you that allows internet access from anywhere, and some server with all fixes - always up and running.

Quote:

Originally Posted by Woodsman (Post 3360932)
What additional packages would you build and install that are not packaged with the stock Slackware?

mplayer (with codecs), kaffeine, java runtime environment, opera, k3b, maybe some custom icq client, stardict or qstardict with dictionaries, gqview, realplayer, gtkcam (if you have digital photo camera), squid (especially if connection is slow), wine, kpdf, kchmviewer, djvulibre, ad block plus, rar or unrar, p7zip.
You also could install some games :) if you think this is necessary.

Quote:

Originally Posted by Woodsman (Post 3360932)
A significant number of customers likely will not want to fully purge Windows from their box. Is dual boot a good solution or a virtual machine accessing raw partitions?

Dual-boot. You'll have problems moving windows into virtual machine - XP bluescreens when motherboard changes, unless you did some things to prevent that. And you'll have to prevent those things in windows. Also, I have no idea how windows activation mechanism deals with sudden change of all hardware - afaik, there is a limit of devices you can change, after that system might ask for reactivation or something like that.

Quote:

Originally Posted by Woodsman (Post 3360932)
You are going to run a business, which requires some reality checks, such as these customers are typical computer users.

Take a look at this, will give you some ideas.

lstamm 12-02-2008 12:21 AM

I have managed slackware installations on public access computers in our local library, and I found that most members of the public had no trouble using OpenOffice, Firefox, Gaim, and Adobe Reader. Stray too far from those applications and trouble arose. For example, XPDF was just too different for some people to manage without some hand holding. It also helped to configure KDE to look as much like a default Windows XP install as possible.

Some people were frustrated that they couldn't install *.exe files, but most just assumed that the library had the computers locked down so users couldn't install anything. Few realized they weren't using Windows XP.

If you are going to be installing for people who expect to be able to download programs and games off the internet and install them, I expect you will need to do some (maybe quite a bit of) instruction and hand-holding. In fact, if I were contemplating starting this business, I would seriously consider Vector Linux over Slackware, just because so much of the extra packages are already available and integrated into the system (less work for you). The best solution (for you) might be a thin client network, where you control the terminal server and your customers just have remote X-terminals to log into the server. That way you just have to configure and install on the terminal server(s). This solution is probably only appropriate where a broadband network is both widely available and dependable.

Anyway, good luck. Also good luck in finding/training an assistant who can competently manage Slackware boxes, because you are going to want some time off occasionally.

gankoji 12-02-2008 12:45 AM

Well no matter which way you end up going amongst all this advice here, the absolute best thing you can do as far building a business repository of sorts would be to start tracking down wireless card drivers and building/packaging them for quick installation. Wireless card drivers are a critical part of installation on laptops (and even most desktops these days) and are notorious for disrupting an otherwise smooth install. The more effort you spend in the early stages, the fewer headaches you'll have down the line (perhaps sitting at a customer's box, pulling your hair out as you realize they have an AR5006EG instead of the AR5007 lspci reports and you don't have the right patch). Good luck to you, I'm glad to hear you're doing your part to spread the slack around.

hitest 12-02-2008 07:55 AM

I'm very much enjoying this thread:-)
I love the idea of Slackware being deployed in a small business. I wonder what the best way would be to efficiently keep the boxes patched and secure as security vulnerabilities are discovered (a local repository, cron job)? I don't think you would want to go to the site and manually apply patches to each unit when PV releases a security fix.
Thanks for spreading the good word, Woodsman!

bgeddy 12-02-2008 08:17 AM

Quote:

You are going to start a small-scale business installing a free software operating system for home users and "mom and pop" small business users.
Hopefully you meant free as in libre and not as in beer.

I would certainly factor in the cost of the Slackware CD/DVD set from the Slackware store and make this clear to any customer via my invoice and quotation. This would mean more support for Pat ensuring our distro may continue to develop.

Woodsman 12-02-2008 05:09 PM

I updated my original post to highlight 'free as in speech' software, not 'free as in beer'. Of course that is what I meant! ;)

Regarding piping revenues to The Benevolent Dictator For Life, yes, I presumed something like that.

The idea of terminal services for customers is intriguing, but could be a ball of yarn too. I don't know. :scratch: I think that kind of idea might be more palatable if worked in partnership with an ISP. At least mom-and-pop ISPs, which is what I have. They already have the infrastructure, only the terminal server is missing. An unknown is how much bandwidth such a venture would consume. The service here is very good but even if the servers go down (and they do once in a while), I don't think most people would like not having their computer do nothing. I think terminal services work great in controlled environments but not when end-users are not part of that environment. Still an intriguing idea as software as a service and cloud noise gain momentum.

Hand-holding is one of the presumptions about this business idea. Computers have become sufficiently complicated that many typical users today depend upon somebody for support, even if that support is another family member. Oddly, most typical users do not use the web to find solutions --- they depend upon other users or experts. Further, the idea of software as a service is catching on. I think the momentum is there now that people will start leaning more on people who provide support services. This is the basic business model most people have presumed with free/libre software --- the software is free but the support is not.

Regarding security patches and updates, the stock Slackware does not provide this automatically. Some shell scripting and perhaps slackpkg could resolve that problem.

The ability to use SSH to resolve various customer configuration issues would blow away most customers. Of course, there is a huge issue of trust involved.

I think anybody attempting such a business based upon Slackware must face the challenge of package variety. Based upon the typical user, as defined in my original post, most people are accustomed to downloading an EXE and "double-clicking" to install the software. Okay, some nominal training is required that installing software is a bit different with Slackware or any GNU/Linux operating system. That is the easy part. My concern is finding packages.

The stock Slackware provides a base operating system. Typical Slackers know how to build packages. Typical users do not and will not. Hence the great push within many distros to include package managers to both find and install packages.

Zenwalk has netpkg, which could be adapted to the stock Slackware but even then end-users are limited to the Zenwalk repositories. Possibly netpkg can be adapted to use slacky.eu, which would increase the number of available packages. Still, not a huge selection compared to the Debian world. :(

I suspect anybody attempting such a business would have to be darned good at finding packages for customers as well as building some less popular packages. I just read an online article about a person who uses his computer for music. I myself would not have a clue what software would be available for such people. I suspect many such packages would have to be built for customers using Slackware.

However, the customers would be local, therefore a local repository server would be straightforward. The local server could be synchronized with various Slackware related repositories and include self-built packages.

Another concern is ensuring everything "just works." I like ErV's use of the term "family-friendly" system. I think this is an area where some Slackers drift from reality. Slackers aren't afraid to hack. Typical users don't know what hacking is and they never will. In Windows everything doesn't always just work, that is not my concern. My concern is the plug-and-play mentality. Typical users see the computer as an appliance, not a geeky hobby. As long as the underlying services are configured correctly, KDE and Xfce are good at notifying users when devices are inserted. Some things are not as smooth, however, such as floppy disks. I think training would overcome the "problem" of pressing the DVD/CD eject button and nothing happens, but little things like that will confuse typical users. Typical users have long grown accustomed to pressing the eject button. Typical users get that constipated look when talking about processes like mounting and unmounting.

Other things simply have to work "out of the box." No discussion allowed. Customers might endure some soap box speeches about free/libre software philosophy, some will embrace the philosophy with no encouragement, but when they start the web browser, by golly, Flash and every other plugin they have known had better simply work. Things like that will push the typical user back to Windows in hardly no time.

There is the issue of migrating data. Word, Excel, Outlook, QuickBooks, IM buddy lists, address books, on and on. Dual booting grows old very fast. Been there, done that. :) WINE is a huge configuration and maintainance headache. Typical home users likely can migrate such software. The small mom-and-pop business owners might struggle more. Getting to the data is not the challenge --- converting the data into free/libre software apps is the challenge.

Games. Perhaps here VirtualBox would be better than dual booting. All of these customers already have a license for their Windows. Moving their Windows system to a VM is straightforward for people running Windows 95/98 or W2K. XP presents problems with re-registration. I haven't a clue about running Vista.

GUI admin tools. Zenwalk seems to have some nice GUI utilities that could be adapted to a stock Slackware. Yet those tools are GTK based rather than QT. If I pursued such a business I would focus primarily on KDE. Xfce is not like Windows and again, the reality is most users know only Windows. Yes, a handful of customers would explore Xfce and even like the desktop, most won't have a clue. Yes, GTK apps will run in KDE, but even with the gtk-qt-engine package installed, GTK apps look out of place in KDE. Not to mention GTK file picker dialog boxes looking and functioning different from the native KDialog, which will confuse the crap out many typical users. Therefore, I think any such utilities adapted from Zenwalk would have to have one-for-one equivalents in KDE.

Why not use Zenwalk as a core system? I have not tested Zenwalk in a long while (I plan to soon), but previously I did not like the way the maintainers modified the various rc.d scripts, or some of their overall design choices. Additionally, Zenwalk is an Xfce system --- although KDE can be installed by any typical Slacker. I think there would be less work involved starting with a base Slackware and adding a handful of Zenwalk tools rather than start with Zenwalk and try to massage the distro into something KDE-centric.

Vector has some GUI tools, but Vector veers away from the stock Slackware more than Zenwalk. Absolute Linux has some GUI tools too. I think these Slackware derivative systems are worth studying because all of them have been designed to render Slackware "more usable."

As mentioned there is the overwhelming variety of hardware. The stock Slackware comes with no auto-configuration tools. Networking is a killer, especially wireless. This problem is not unique to Slackware. The LQ forums are filled with threads about networking and wireless issues. Regardless, typical Slackers might tolerate command line tools and shell scripts to configure hardware, but not the typical user. Some auto-configuration and some GUI front-end tools are needed.

I'm not currently pursuing this idea but the idea has tickled my mind of late. I like Slackware as a base system, but I'm concerned about Slackware as a core system for such a business --- considering typical users. For example, for my own system I had to build and install more than 130 packages and write dozens of shell scripts beyond what the stock Slackware provides before I found my box "family-friendly."

Not that any of this can't be overcome! I'm only thinking about the reality of running a business. Been there done that. I myself am more comfortable with Slackware, but I see certain merits in using Ubuntu, OpenSuse, or Fedora as a base system for such a business. I am no guru, however, which is why I started this thread. There are some of you out there who have some experience with this broad topic. Slackware could very well be a sound choice for such a consulting business once several rough edges are smoothed.

I appreciate the comments and I hope they continue!

ErV 12-02-2008 06:07 PM

Quote:

Originally Posted by Woodsman (Post 3362316)
Games. Perhaps here VirtualBox would be better than dual booting.

Sorry, you won't be running any seriously modern windows game (which means shaders) on virtual machine for quite some time. Just forget about it, because from what I heard although people work on hardware-accelerated 3d support, right now they have very buggy implementation which have only pixel shader 1.1 or 1.4 support. Which simply means that you can forget about Assassin's Creed, Oblivion or Crysis. The lowest system requirements today are pixel shader model 2.0 or even 3.0, without it you won't be running anything. Also looking at the minimum system requirements of some games (example: 18GB of free space, Athlon 64 X2 2.4ghz, 2 GB of RAM, etc.) I highly doubt that using VirtualMachine will be a good option, unless machine is VERY powerful.
In my opinion, with windows games there are only 4 options:
1) Using wine, cedega or anything else.
2) Using dual-boot.
3) Buying a video console.
4) Using small number of available linux games (whether free or commercial). I could give few titles, but I bet anyone can find them easily on the net.

#2 and #4 are easiest. Wine @ cedega allow some things to work, but it isn't a trivial process, and there will be many problems. And if game requires DirectX 10 (there is small amount of such games, but they exist), wine/cedega won't help you.

Quote:

Originally Posted by Woodsman (Post 3362316)
For example, for my own system I had to build and install more than 130 packages and write dozens of shell scripts beyond what the stock Slackware provides before I found my box "family-friendly."

You know, you could build your own slackware derivative - standard installation dvd + additional packages you might need.

gankoji 12-02-2008 07:07 PM

A strong point there ErV. What you pointed out is the reason that many of us slackers are forced to continue dual-booting our boxes, much to our chagrin.

Woodsman: It seems that the pieces are now in place for this to move forward, even if it is only in an 'amateur' fashion (meaning building package repositories and auto-config scripts just for their utility, not for a business). I'm sure there are a few others who'd agree, but I'd be more than happy to help if you do decide to start work towards this end.

onebuck 12-02-2008 07:45 PM

Hi,

Hardware detection will be a major stumbling block along with software integration for the client/user base hardware. Accelerated Knoppix handles the hardware detection differently. I would look into the use of the way they used the cloop to speed up loading along with detection. The referenced article does provide some insight. I know they have the '"LCAT" (Live CD Acceleration Toolkit)' released under the GPL/GNU.

lstamm 12-03-2008 12:08 AM

Quote:

Woodsman wrote:
The idea of terminal services for customers is intriguing, but could be a ball of yarn too. I don't know.
For an example of a large thin client network, check out http://davelargo.blogspot.com/. The city of Largo, FL, has deployed about 800 thin clients at numerous locations throughout the municipality, all connected to a geographically dispersed cluster of terminal servers. Many examples of customized GUI apps to help out "normal" users. These are all office workers, so no real games involved. They are using GNOME on OpenSUSE I believe.

I originally installed standalone Slackware servers and workstations in our library, which was OK. But then I heard about the Linux Terminal Server Project, and soon had the whole library converted to a thin client network. I would never go back to standalone workstations voluntarily again.

Currently, I am using Edubuntu and LTSP5 in the library, because I didn't like being the only one who could manage the servers. The GUI maintenance tools in Ubuntu allow the couple of "power" users to handle routine maintenance tasks easily enough, but things break regularly with Ubuntu updates and the whole distribution is something of a hack upon hack. I am pretty frustrated with Ubuntu, and am currently investigating switching to OpenSuse with Kiwi LTSP. If I could find the time (and funding) to develop the needed GUI administrative tools, port LTSP5 to Slackware, plus compile all the extra apps needed for multimedia, etc, I would go back to Slackware in a flash. Nothing that I have found is as rock stable as Slackware, nor as simple under the hood (well, excepting OpenBSD of course).

Currently, we still need some MS Windows apps so my solution is to maintain an XP Pro server that allows multiple concurrent remote logins, so staff and patrons use rdesktop to login to that server to run the necessary applications. We also have 6 dual-boot boxes in an isolated sub-net for teaching basic multimedia applications and gaming. Those 6 boxes cause no end of troubles for me. The rest of the network is pretty stable, notwithstanding the Ubuntu follies.


All times are GMT -5. The time now is 05:05 PM.