2

I need to run some basic Linux stuff on Android. Specifically I want to run a .deb file on my 4.4 device.

Is there any software that emulates basic Linux functions enough to run the .deb file?

I would prefer it be on the Google store but I can settle for Amazon or another third party store.

  • 3
    Android is Linux. You aren't looking for "basic Linux functionality" on Android--you're looking for advanced Debian package management on Android. – Flimzy Apr 24 '15 at 14:00
  • 3
    You'd probably be much better off looking for an Android version of the same tool that does what you want on Linux. Which specific .deb are you wanting to install? – Flimzy Apr 24 '15 at 14:01
  • There is always ubuntu for devices! developer.ubuntu.com/en/start/ubuntu-for-devices/… :) – Dreamwalker Apr 24 '15 at 14:36
  • 1
    @DJMethaneMan: Getting a 3D graphics program to work on another platform out of the box is probably an impossibility, considering the hardware, and (more importantly) the hardware interface is very device-specific. I'd suggest instead looking for an Android tool that accomplishes the same thing you need. – Flimzy Apr 24 '15 at 14:40
  • 2
    Also remember you don't run a *.deb file. That's just an installation package, so it doesn't really give any specific requirement in the context of your question. For some applications, it's not too hard to just install them (provided there're binaries for your device's platform) – so I e.g. got Midnight Commander running on my tablets (for use via ADB or SSH). There are even X-Servers available. But there's no "generic emulator", to my knowledge – so as it currently is, your question is unlikely to be answerable here. – Izzy Apr 24 '15 at 15:02
2

.deb files are Linux packages. You can't simply install a Linux package on Android: Android is not a Linux, it is a separate operating system that only shares the kernel with Linux.

Since Android uses the same kernel as Linux, you can install a Linux system and run Android programs and Linux programs at the same time. You'll need to install not just the program you want, but all the supporting software, in particular libraries.

Not all Linux software can work on Android. The Android kernel is compiled with different options from a normal Linux kernel, though the missing features¹ aren't used by many applications. Low-level system software (e.g. things that require an init script) are likely to be hard to install as they conflict with Android's equivalents. Anything that requires systemd (e.g. Gnome 3) is out without some serious work that I think hasn't been done. Anything with a GUI requires an X server, but there are X servers for Android, even some on Google Play.

There are several prepackaged ways to install a Linux system on Android. Most of them require a rooted system. Kernel versions since 3.8 (run uname -r at the adb prompt to check what you have) make it possible to go a long way without rooting, thanks to user namespaces, but I don't know if there are installers that use this feature. If you have a rooted device, you can try Complete Linux installer. There used to be a project Ubuntu for Android, but since it's no longer supported, I can't recommend it.

Assuming a rooted device, you can also install a Debian or Ubuntu system manually. I described the procedure on Unix & Linux Stack Exchange.

¹ SysV IPC

1

After a few days of frenzied googling, I have come to the conclusion that while I might not be able to directly install Linux .deb files on my Android, There are many ways to get a .deb file running on one.

The first (and my personal favorite so far) is KBOX. In short, it creates a mini Linux distro on your internal storage and installs files there. The downside is that a package either has to be directly designed for it, or ported to it, with the latter option being more buggy. On rare occasion an installed package will run without being ported. The reason for needing porting is because since KBOX doesn't have access to your root directory (it doesn't use root) it cannot set up a conventional Linux file system. In short, applications that want to write a file or read one in the root directory will get turned down.

There are other ways that require root access and give you a full blown Linux distro with all functionalities, but they require root and as such are not good for my purposes.

The Complete Linux Installer app for Android will give you a selection of Linux distros to choose from.

If you own a Nexus 7 you can install the mobile version of Ubuntu to your device following the directions here.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.