Rough Elgg Installation and Upgrade Process

Erase all files in Elgg’s root folder except .htaccess. 
Erase all folders except engine and mod. 
Erase everything within the engine folder exept settings.php  
Erase all bundled plugin folders in mod. 
Now I can copy the new version into the Elgg folder being sure that now obsolete files remain. 

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 777 data

Last thing to do is to check any possible updates necessary in settings.php (compared with settings.example.php) and .htaccess (compared with ./vendor/elgg/elgg/install/config/htaccess.dist), 
then running upgrade.php. Done! 

If you haven’t made any changes in .htaccess for the current 1.X version of Elgg you are using, you can simply replace the current .htaccess file with the new .htaccess file of Elgg 2.0 when upgrading. 

Basically the same procedure should be done with the settings.php file. 

All other Elgg core files of Elgg 1.X should be deleted before copying Elgg 2.0 to the server. Of course, you can keep your 3rd party plugins in the mod folder. Though you might replace the 3rd party plugin folders with new releases for Elgg 2.0 if available. 3rd party plugins without new releases for Elgg 2.0 might work or not on Elgg 2.0 – a general rule regarding their compatibility is quite impossible.