-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit fa72989
Showing
2 changed files
with
169 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
# Setup Script for Linux Machines | ||
|
||
This setup script automates the installation of various packages and tools on a Linux machine. The script must be run as the root user. | ||
|
||
## Pre-requisites | ||
|
||
- A Linux machine with `apt` package management (Ubuntu, Debian, etc.) | ||
- Root access to the machine | ||
|
||
## How to Use | ||
|
||
1. Download the `setup.sh` script to your machine. | ||
2. Open a terminal and navigate to the directory where `setup.sh` is located. | ||
3. Make the script executable: | ||
```bash | ||
chmod +x setup.sh | ||
``` | ||
4. Run the script as root: | ||
```bash | ||
sudo ./setup.sh | ||
``` | ||
|
||
### If Using a Remote or Cloud Linux Machine | ||
|
||
To copy the script to a remote machine, execute the following: | ||
|
||
```bash | ||
scp -i "path/to/your.pem" "path/to/setup.sh" username@remote_address:/path/to/remote/directory | ||
``` | ||
|
||
To SSH into the remote machine: | ||
|
||
```bash | ||
ssh -i "path/to/your.pem" username@remote_address | ||
``` | ||
|
||
Then execute the following commands to run the script: | ||
|
||
```bash | ||
chmod +x setup.sh | ||
sudo ./setup.sh | ||
``` | ||
|
||
## What Does The Script Do? | ||
|
||
- Checks if the script is being run as root | ||
- Updates package lists | ||
- Upgrades existing packages | ||
- Installs basic build tools like compilers, curl, wget, git, vim, etc. | ||
- Installs Python3, pip, and Python's `venv` module | ||
- Installs various Python packages and libraries for data science, machine learning, and deep learning | ||
- Installs Node.js | ||
- Installs OpenJDK 11 (Java) | ||
- Installs Docker | ||
- Installs MySQL and PostgreSQL clients | ||
- Installs additional tools like `tree` and `ncdu` | ||
|
||
## Packages and Tools Installed | ||
|
||
### Basic Build Tools | ||
|
||
- build-essential | ||
- curl | ||
- wget | ||
- git | ||
- vim | ||
- tmux | ||
- htop | ||
- unzip | ||
|
||
### Python and Data Science Tools | ||
|
||
- python3 | ||
- python3-pip | ||
- python3-venv | ||
- numpy | ||
- pandas | ||
- matplotlib | ||
- scikit-learn | ||
|
||
### Additional Python Packages for ML and DL | ||
|
||
- tensorflow | ||
- keras | ||
- pytorch | ||
- scikit-image | ||
- opencv-python | ||
- jupyterlab | ||
- seaborn | ||
- plotly | ||
- xgboost | ||
- lightgbm | ||
- nltk | ||
- spacy | ||
- gensim | ||
|
||
### Other Tools | ||
|
||
- Node.js | ||
- OpenJDK 11 | ||
- Docker | ||
- MySQL client | ||
- PostgreSQL client | ||
- tree | ||
- ncdu |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
#!/bin/bash | ||
|
||
# Check if the script is run as root | ||
if [[ $EUID -ne 0 ]]; then | ||
echo "This script must be run as root" | ||
exit 1 | ||
fi | ||
|
||
# Update package lists | ||
echo "Updating package lists..." | ||
apt update | ||
|
||
# Upgrade existing packages | ||
echo "Upgrading existing packages..." | ||
apt upgrade -y | ||
|
||
# Install basic build tools | ||
echo "Installing basic build tools..." | ||
apt install -y build-essential curl wget git vim tmux htop unzip | ||
|
||
# Install Python and pip | ||
echo "Installing Python3 and pip..." | ||
apt install -y python3 python3-pip python3-venv | ||
|
||
# Install Python dev tools and libraries | ||
echo "Installing Python dev tools..." | ||
pip3 install numpy pandas matplotlib scikit-learn | ||
|
||
# Install additional Python packages for ML and DL | ||
echo "Installing additional Python packages for machine learning and deep learning..." | ||
pip3 install tensorflow keras pytorch scikit-image opencv-python jupyterlab seaborn plotly xgboost lightgbm nltk spacy gensim | ||
|
||
# Install Node.js | ||
echo "Installing Node.js..." | ||
curl -fsSL https://deb.nodesource.com/setup_16.x | bash - | ||
apt install -y nodejs | ||
|
||
# Install Java | ||
echo "Installing Java..." | ||
apt install -y openjdk-11-jdk | ||
|
||
# Install Docker | ||
echo "Installing Docker..." | ||
apt install -y apt-transport-https ca-certificates curl software-properties-common | ||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - | ||
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | ||
apt update | ||
apt install -y docker-ce | ||
|
||
# Install MySQL client | ||
echo "Installing MySQL client..." | ||
apt install -y mysql-client | ||
|
||
# Install PostgreSQL client | ||
echo "Installing PostgreSQL client..." | ||
apt install -y postgresql-client | ||
|
||
# Install additional useful tools | ||
echo "Installing additional useful tools..." | ||
apt install -y tree ncdu | ||
|
||
# Complete | ||
echo "Setup completed!" | ||
|