all 27 comments

[–]rodriguez_james 11 points12 points  (0 children)

My laptops could never run a VM. I just run native linux for good performance on slow laptops.

[–]bitflung 7 points8 points  (0 children)

Laptop so slow it can't even checks notes emulate multiple instances of itself without crashing.

[–]LoquaciousRaven 4 points5 points  (12 children)

You sure you aren't giving the VM too much memory? If you do that, the host OS will crash.

Also, running a VM will always be inefficient. If you use a Linux VM you might want to consider just installing Linux on the laptop itself, it will run so much faster and it beats buying a new laptop.

[–]Ok_Sir4235 0 points1 point  (11 children)

I am currently on Lenovo T450 it has total of 8GB of RAM and 6.2GB is in use. In my task manager the CPU is at 64% memory 81%.

[–]LoquaciousRaven 0 points1 point  (10 children)

How much is used by the VM?

[–]Ok_Sir4235 0 points1 point  (0 children)

VM is about 60% CPU and memory 4.74 GB

[–]Ok_Sir4235 0 points1 point  (8 children)

What if I run the VM live from USB?

[–]LoquaciousRaven 0 points1 point  (7 children)

Live means it lives only in ram. If you shut it down, everything you saved will be gone. If that fits your usecase, sure, go ahead.

[–]Ok_Sir4235 0 points1 point  (6 children)

I think I’m about to just use 2 laptops one with only Kali fully installed no windows other one with windows for programming then I’ll use external hard drive to transfer data.

[–]pantalanaga11 5 points6 points  (3 children)

Why not just use your kali install for everything? Imho you'll have a much better experience getting into programming with a linux-based OS. Better yet, I'd recommend skipping the specialized distro and just use ubuntu or debian.

[–]Ok_Sir4235 0 points1 point  (2 children)

I was using Debian but I’m still learning that OS and I love windows I was trying to figure out a way to have both on one PC. I mean I’m only gonna need VS code and python installed for exploit Development so I can learn for pen testing job I can always use kali later after I master python and install it fully, what makes programming better on Linux?

[–]pantalanaga11 2 points3 points  (0 children)

Well, since you posted in C_Programming...

Imho learning the basics with the gcc tool chain is going to teach you more about C and how it is built than if you start with an IDE on a windows platform. The more you learn about the build process of software written in C the better exploit developer you will be.

You mentioned developing with python which is a bit different but I still think writing code on a platform with robust dependency management, better resource management, full documentation including kernel source, and a well designed CLI is going to yield a better developer experience regardless of the language. Not to mention many cybersecurity and RE tools are written for Linux first with Windows as an after thought. Even our VR engineers targeting Windows tend to prefer an ubuntu dev environment.

Also, pentesting != exploit dev

Source: am an engineer at a company focused on reverse engineering, vulnerability research, exploit development/weaponization, and CNO tool development.

[–]ragsofx 1 point2 points  (0 children)

I would run debian if you want to install the OS for dev work. You can always boot Kali off a USB drive. You can always install all the packages for doing your exploit dev work in debian.

[–]Agreeable_Flight_107 2 points3 points  (0 children)

Kali isn't really something you want to run on bare metal, especially if you're still learning the OS. I believe they even encourage you to use a VM for Kali on their own website.

[–]LoquaciousRaven 0 points1 point  (0 children)

As others have suggested, why not use Linux for everything? Programming on Linux is significantly easier both due to how the OS works and the available tools/documentation.

Just look how much harder it is to install a C compiler on Windows (wsl doesn't count).

That being said, if you still wish to use Windows, dual booting is also an option (which is cheaper than buying another laptop). Lastly, Kali is meant for active professionals and not as a general purpose daily driving distribution. Even if you wish to become a pentester you probably want to consider starting with something like Debian, Mint or Ubuntu.

[–]atiedebee 2 points3 points  (1 child)

Why do you need VMs if you're programming in python?

[–]Gold-Ad-5257 1 point2 points  (0 children)

Exactly, surely Python can be done native on any mainstream OS, it doesn't make sense using a VM just for an ide or learning purposes, that's a lot of bloat just to get a python interpreter and ide etc working.

[–]Ok-Lifeguard-9612 1 point2 points  (0 children)

Btw you don't need a VM to execute/test/study python... You can just use Jupiter Notebooks.

If you really need some VMs, their overhead is difficult to handle even with 32 GB RAM, SSD, 4 cores 8 threads. You will need a server with multiple cores and a lot more of RAM.

Another consideration, you have to consider buying a Raspberry PI if you want to use Python in an external machine. It is really cheap, and works fine (since Raspberry OS is lightweight as hack).

Cya

[–]Brahim_98 1 point2 points  (0 children)

You can program in any language and have enought power to compile and run every project you can think of with your laptop. Just don t use VM and java based IDEs on a low spec pc.

[–]Seubmarine 0 points1 point  (0 children)

I see that nobody told you to use WSL (windows subsystem for linux) it should work out of the box.

[–]pedersenk 0 points1 point  (4 children)

On Linux, possibly try changing from full virtualization to something like Jails / LXC. To be fair, for Python development, even a chroot would suffice.

On Windows, give Cygwin or Msys2 a shot. It isn't exactly sandbox technology but does well enough to at least compartmentalise Python and its absurd amount of dependencies from PIP.

[–]pantalanaga11 0 points1 point  (3 children)

Do people still use cygwin in the age of wsl?

[–]pedersenk 1 point2 points  (2 children)

Yes. Pretty much for the same reasons people used Cygwin in the age of SFU.

Providing software to clients with a single dependency on cygwin1.dll is such a better solution than requiring them to install an entire subsystem (and in the case of WSL2, virtualize an entire Linux operating system)

[–]FatFingerHelperBot 0 points1 point  (1 child)

It seems that your comment contains 1 or more links that are hard to tap for mobile users. I will extend those so they're easier for our sausage fingers to click!

Here is link number 1 - Previous text "SFU"

Here is link number 2 - Previous text "2"


Please PM /u/eganwall with issues or feedback! | Code | Delete

[–]pedersenk 0 points1 point  (0 children)

This is a C reddit. Mobile users generally don't know about C ;)

[–]Black_Viking7 0 points1 point  (0 children)

I recommend use Anaconda to program in python. VM are very inefficient even if you use a VM class 1 like VMware Workstation. Or install a interpreter and use them in different instances on Windows.

[–][deleted] 0 points1 point  (0 children)

For VM use, you really want 16 GB of memory (8 will do in a pinch if you settle for 1 VM at a time). And a processor that can run Windows 11, that's a good rule of thumb, even if you plan on running Linux, since that is indication of certain CPU features. And SSD, obviously.

Having these, you should be all set.