- Linux is case sensitive
- Totally new default locations
- u,g,o, r,w,x permissions can come as a rude shock to people new to Linux
- symlinks can be helpful but confusing because of Windows links (not shortcuts) being a bit different
- If MySQL stores tables as files with the same name (which it does in general) case senstitivity can make you feel very lost as "nothing works in both php/filesystem and mysql"
- "My Documents" to /home/username/Documents is a big change in thinking for people new to linux
- various service configs for server security might confuse you initially
- any hardware compatibility issues for your linux and your hardware (usually very minor problem, but can take up hours of figuring out what the problem is.)
Don't expect a cakewalk if the app is real-world and giving you some income.
Whatever free time you get, spend it practising linux commands.
sudo
will be of help for some time if you use ubuntu but you have to unlearn sudo-ing because you could sudo and make mistakes and mess up something.
Tip: use sudo cp -uav src dest
and maybe rsync
after that - real life-saving commands
If you can, install the same linux on two partitions on your development system.
And keep them near-exact copies of each other.
That way, you can test something on one and if something goes wrong, you still have the main install to copy settings and files over from.
If it takes you more than a couple of months, relax, it is common to take that kind of time.
Also, if you cannot get used to vi
and emacs
, use nano
- it is plain and simple, simpler than notepad, but you can understand what is going on, unlike vi and emacs, where you're totally lost unless you have a book or manual or video to help you.
If you're just learning, spend more time on linux.
If you're in a hurry, get friendly with a guy who's good at linux - get a mentor or a geek to guide you through your first few months in linux.
And use google a real lot, and use ubuntu - it's easiest to begin with and has everything you would need.
Oh yes, don't install things from just any place - this is not rpm world.
As far as possible use Synaptic to install/remove anything.
If you can, use sudo apt-get install
.
Study apt-get
I personally think it's ok to use ubuntu desktop for internal server if the app is not that critical till you get your bearings in the linux world.
Once you get confidence in the basics, install server edition and concentrate on security, locking down things, etc.
Only if you have a friendly linux geek next to you for a week, go for ubuntu server on the first day.