Ixemul provides a POSIX type environment to help with porting of complex Unix applications that need more than just a basic standard C library. On OS4 this was replaced with newlib which does much the same thing but it is much more up to date and a bit more 'Amiga-like' in it's implementation.
On OS3, there is both the 'libnix' option, which is a static library that does much of what ixemul does, except the latter does it as a shared library so in theory you only need one instance of it in memory, whereas if you use libnix you'll carry some of that weight with you in your own binary (though the linker only adds what you actually use). In practice, memory is cheap now and I'd like to think anyone using Amiga for anything serious, including serious hobby, has at least 6MB RAM if not a lot more. There's also clib2 which is a much expanded standard C library (much more than the old c.lib you got with SAS/C for example) that also goes a long way towards giving you POSIX compatibility.
On OS4 there's the also the most extreme option, AmiCygnix which, like it's inspiration Cygwin, attempts to give you the baseline part of a complete Linux distribution.
VBCC also has a POSIX link library which again covers a lot more than just the baseline C library. Indeed, I'm looking at using that to complete an up to date Python port. But I'm hoping for a decent SDK release for OS3.2.
In short, you can port a lot of non-GUI Unix/Linux software to Amiga these days relatively easily, but of course you'll find a lot of the recent stuff needs far more RAM and processing power than a classic Amiga can provide. And you need a more recent build of GCC too. Finally as always, the lack of Unix fork() creates issues.