5 ms·
Great list for starters. But getting real work done requires much more. Having just walked through some basic steps with a novice, I can concur, modern linux i
by indescions_2017 9y ago
Great list for starters. But getting real work done requires much more.
Having just walked through some basic steps with a novice, I can concur, modern linux is impossible without "recipes".
Just setting up a hello world web app can involve: ssh login to running instance, using curl to download the gcloud sdk, tar to unpack, sudo to install, systemctl to start local processes, useradd dedicated www, chmod and chroot to allow access, rsync to tranfer files, netcat to manage ports, etc.
For beginners, without a trusted hand to guide them, its beyond intimidating. These systems must become more accessible to the average human.
- jmiserez 9y ago>These systems must become more accessible to the average human. I disagree. Firstly, all the commands you mentioned are pretty simple to understand given that they have a manpage and lots of help available online. Secondly, not everything needs to dumbed down for the average user. A large part of the power comes from all the tools and flags available and the combination possibilities. Dumbed down tools are limiting and frustrating. I’d expect any software engineer worth their salt to not be an “average user” and grasp a few simple commands the same way they approach a new project or programming language, i.e. they should be able to pick up the basics even if it’s a complex system. That’s a prerequisite for programming and understanding a project’s code well anyways.
- tachion 9y ago"Well" is the keyword here. They don't, far too often "good enough if it doesn't crash the machine on start" is a norm in companies of all sizes when writing applications code and infrastructure code.
- eitland 9y agoProblem is, as I've already mentioned elsewhere, that the manpages do a pretty poor job in a number of places. Yes, I do use them but I guess most Linux users learned most of what they use from colleagues and Internet, not the official documentation.
- nlawalker 9y agoI rarely use `man`. Most of the time I find what I'm looking for with --help, and if I don't, I end up doing a web search. Sometimes I end up at the HTML version of a man page, somewhere like linux.die.net, which is much more comfortable to read than the terminal.
- tachion 9y agoThese systems should be handled and operated by dedicated people (administrators/ops/devops/pick your religion) who care enough to know how to use the tools they work with. ;)
- bluedino 9y ago>> For beginners, without a trusted hand to guide them, its beyond intimidating. These systems must become more accessible to the average human. I cringe at thinking about what a newbie has to go through. Install the right version of php/python etc on your platform Install a virtual environment Install a package manager Install a framework Install a database
- Bartweiss 9y agoI think about this every time I have to set up a new environment myself. Getting from "fresh machine" to "clean build" can be a full day of work for very experienced devs if they're joining a long-lived project. Setting up novices to start their work with an arcane and difficult step is unfortunate even if it is unavoidable.
- 0xfeba 9y agoWell, before facebook it used to be setup Geocities or setup wordpress/blog software It's no wonder MySpace and then Facebook became popular. This was the dumbed down web presence people wanted but didn't want to have to manage.
- grx 9y agoDisagree! I'm normally all for easier entry points, but ssh login to running instance using curl to download the gcloud sdk tar to unpack sudo to install systemctl to start local processes useradd dedicated www chmod and chroot to allow access rsync to tranfer files are absolute basics of system administration. People who cannot even handle those tasks should not use a root server for their project. There are alternatives to a full system, if running a single app with a database is your use case. Be it Heroku or Lambda, there are solutions that do not need administrator knowledge to run an application. To add to this, servers that are lousily configured because some developer did not know what platform to use damages the infrastructure as a whole. They are broken in, used for spam or data theft if the application has some user base. If you know someone who does not know how to handle a system, please advice them to either coop with an admin or to not use a full system for their project.
- Bartweiss 9y agoSomeone who doesn't know how to do those things probably shouldn't be administering an important server themselves, agreed. But there's still a lot to be said for putting up a Hello World webpage locally, or making minor tweaks on a system formally run by a sysadmin. My concern would mostly be that the list above is unacceptable for learning, not for usability. That's ~8 different tools to learn from scratch, totally independent of the underlying project. And sure, most devs will eventually know all of those tools (or equivalents) without much conscious effort. But there's a lot to be said for scripted introductions to complex systems.
- ProAm 9y ago> For beginners, without a trusted hand to guide them, its beyond intimidating. These systems must become more accessible to the average human. They are not meant for beginners or average people. We have Windows and MacOS for that, once you get to a point where you are thinking about linux you shoudln't be soon 'green'. Just because we have an OS doesn't mean it's meant for everybody.
- makapuf 9y agoYou do realize that the mainstream, used by everyone OS is actually Linux with a graphical layer now ? Yes I'm talking about Android. The next environment a user can use being a userfriendly desktop such as Ubuntu desktop which is a bit closer to the real Unix, then simple command line. My kids have zero issue with desktop Linux but don't use command-line.
- ProAm 9y agoAbsolutely, but the complaint the poster I was replying to was that, essentially, linux is too hard. Am Im saying its just not for him because thousands upon thousands of people have learned to use it effectively and powerfully.