@FaheemMitha Same here. I've never even started exploring the possibility of building a laptop, while in the last (almost) fifteen years I kept replacing parts (as they got too old) in the desktop computer I had assembled.
It's easy enough. Takes some time at first, but it boils down to screwing a few screws. The only tricky bit is the CPU and even that is just a question of being careful, applying thermal paste and not forcing anything.
@FaheemMitha I wouldn't say it's hard. Sure, practicing with some old piece of junk before putting your brand new components together would be a good idea. Sometimes I broke things, though it was never completely unexpected.
@FaheemMitha Good grief no. You just need a regular flat surface to lay the thing down, a Phillips screwdriver and, if you're also installing a CPU, a tube of thermal paste and a plastic card (usually included when you buy the paste, if not any membership card or expired credit card will do). No other tools or special equipment needed at all.
I haven't done this in a while, but I don't think I used help from the internet. I did know the basics, however. But still, most of what I needed was "which cable connects to which port on the motherboard" and that is in the motherboard's manual.
The magnet on the screwdriver is not going to affect your HDD, surely. At least, every single build I've made in the past 25 years or so used magnetic screwdrivers.
@FaheemMitha BS. I mean, yes, the colder the room holding your computer, the better the computer will be cooled and the better it will work. So servers tend to be kept in refrigerated (air conditioned) rooms. But there is no need to do so unless you are building a server.
@FaheemMitha working temperatures are higher anyway. You only have to worry about the PC's own heat if it's doing a lot of work. Hence ACs in server rooms.
@AndrasDeak My computer seems to get quite warm easily. It might be partly age. Or something else. I think it has adequate ventilation. We also cleaned it recently.
@FaheemMitha Yes. Your machine will regularly reach temperatures approaching 100 degrees Celsius. And yes, when it is very hot outside, that does mean the internal temperature of the machine can go up but, again, unless you're doing something very intense, I doubt it will matter.
More importantly, haven't you been using computers in that climate for years? Surely you'd have noticed if they can't work outside an air conditioned room.
@AndrasDeak Nobody is suggesting it actually does cause harm, at best it's people who worry about it for no specific reason. So the evidence on both sides is weak. I'm pretty sure we can find a good answer if we look though. I can guarantee it has never been a problem for me and seriously, if that were an issue our machines would be breaking all the time.
In computing, a shebang is the character sequence consisting of the characters number sign and exclamation mark (#!) at the beginning of a script. It is also called sha-bang, hashbang, pound-bang, or hash-pling.When a text file with a shebang is used as if it is an executable in a Unix-like operating system, the program loader mechanism parses the rest of the file's initial line as an interpreter directive. The loader executes the specified interpreter program, passing to it as an argument the path that was initially used when attempting to run the script, so that the program may use the file as...
There it was, hah. A few lines above the comment I linked «Note that early versions of Unix had a limit of 16 characters in this interpreter line, so you couldn’t have an arbitrary amount of whitespace there. This restriction no longer applies in modern kernels.»
That doesn't make sense though. I mean, granted, the extra space would eat an extra character, but if the stuff on wikipedia is right, the very first version to ever support a shebang, explicitly allowed and even suggested (the example had it) a space.
@terdon if you find yourself snickering too much, maybe put the magnetized screwdriver down for a bit -- you might be inducing a current in your fillings
FYI, systemd fails to parse shebangs with a space. With a service like this:
[Service]
Type=oneshot
ExecStart=/root/foo.sh
... and a shebang like this:
#! /bin/bash
... you get an error like this:
systemd[32834]: foo.service: Failed at step EXEC spawning /root/foo.sh: Exec format error
...
couldn't find an existing (open) bug searching their github open issues for "space"; I only scanned the titles, so I either missed it, or it's a closed issue, or it hasn't been reported yet
I can't reproduce the systemd issue on Ubuntu 20.04. The ENOEXEC error message in that answer also suggests the issue is elsewhere. I'd expect a ENOENT error if systemd tried to execute " /bin/bash" instead of "/bin/bash".
If interested in v8 shell: https://github.com/Alhadis/Research-Unix-v8/blob/master/v8/usr/sys/h/user.h#L24 https://github.com/Alhadis/Research-Unix-v8/blob/master/v8/usr/sys/sys/sys1.c#L260
In case it's not been mentioned already (other than the Q&A I referenced above), one of the best references about Unix shebang is in-ulm.de/~mascheck/various/shebang
I'm not sure why systemd would want to parse shebangs by itself. Also, I'd expect a "no such file or directory" error if systemd tried to execute " /bin/bash" instead of "/bin/bash". It all suggests systemd is fine but your issue was elsewhere. Maybe you had a UTF-8 BOM at the start of your #! /bin/bash script? — Stéphane Chazelas19 mins ago
^^ That's the main issue isn't it? That's what I found surprising anyway, why would systemd be reinventing the wheel?
I find Stéphane's comment plausible; perhaps there was some other kind of space there (tab/vertical-tab, etc). Untested hypothesis. Too many other problems at the moment to generate & troubleshoot this one :)
@terdon I read it as I'm not sure why systemd would want to parse shebangs by itself. = I have not seen any indication that systemd is parsing the shebang, and why would it - but I might be wrong.
I mean, from a simplicity standpoint, why would systemd dig into the script/executable pointed at? Why not just exec() it and be transparent about the results?