PTY alloc request failed / No job control in this shell

I have had this problem for a while when trying to ssh into my linode… and have been chasing my tail intermittently trying to fix it. Usually I'm in a hurry and give up and use lish. But after a recent iteration I finally realised there was no /dev/pts! Well that would do it. Searching for this issue led me to an ancient thread

https://bbs.archlinux.org/viewtopic.php?id=123999

But it quickly became obvious that the Linux on my linode is not similar to the one referenced here. I do find that there is a dir pts in /lib/udev/devices, but I don't find any command in the rc scripts at startup to copy that dir over to /dev.

I also can't easily find out which Linux is actually running on my linode! It is identified (uname -r) only by a version number 5.10.13 which seems to correspond to the "base" Linux kernel from the Foundation, not any of the "brand name" linuxes like Fedora, Ubuntu etc. So is it just vanilla foundation linux?

BTW I can mount devpts manually with
mount -t devpts devpts /dev/pts
and this fixes the problem!
but… some forum posts I have found suggest that this device will be lost on reboot. I'd rather not have to lish in and repeat the fix.

It's been a while since I wandered around in Linux initscripts and I'd rather not break anything, so was wondering if a fellow linode user could just point me towards the correct way to get my pts (and maybe shm too?) into /dev at startup so it is reboot-proof.

1 Reply

I was able to locate your account and the Linode that you're using. It looks like the issue that you're now running into is running an old, end of life'd version of a distribution. As this is a public forum, I'm not going to divulge any specific information, though if you can run dmesg to get a copy of the bootlog which includes an error pointing to udev and a mount point failure.

I would recommend creating a new Linode, with a fresh install of a current version of your Linode's OS, then using Secure Copy Protocol (SCP) to transfer files and data over after you install any needed packages.

The output of the urname command you shared will only provide you with the kernel that your Linode is using, not the operating system. There are a couple of ways that you can figure out what distribution you're running:

hostnamectl

Or, you can run:

cat /etc/*-release

While this Community Questions post has Ubuntu in its title, the same approach can be done for any Linux distro:

How do I upgrade my existing Ubuntu installation?

If you don't want to upgrade your Linode, then I would recommend reviewing this Community Questions post that covers more around the error message that I saw in the bootlog:

Debian Linode not working after reboot

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct