.sh 파일이 모든 명령을 실행하지 않습니다.

.sh 파일이 모든 명령을 실행하지 않습니다.

저는 OS 삭제를 수행해야 할 때 필요한 모든 파일, 패키지 및 소프트웨어를 자동으로 다운로드하는 일련의 Linux 명령인 .sh 파일을 작성했습니다. 다음과 같습니다.

sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y
sudo apt-get remove --auto-remove cheese -y
sudo ubuntu-drivers autoinstall -y

sudo add-apt-repository -y ppa:kdenlive/kdenlive-stable
sudo add-apt-repository -y ppa:deadsnakes/ppa
sudo add-apt-repository -y ppa:cappelikan/ppa
sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y

sudo apt-get install build-essential git curl wget ca-certificates gnupg lsb-release unrar libglvnd-dev pkg-config libssl-dev libffi-dev python3-dev python3-pip synaptic ubuntu-restricted-extras kdenlive nvidia-cuda-toolkit ffmpeg v4l2loopback-dkms obs-studio p7zip-full bazel-bootstrap libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-dev protobuf-compiler libboost-all-dev libopenblas-dev libleveldb-dev libsnappy-dev libhdf5-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler clang zlib1g  torbrowser-launcher octave liboctave-dev mainline deluge tree dconf-editor nemo spyder octave htop cmake qsharp mthree cirq-core cirq-pascal  pyquil -y

wget https://zoom.us/client/latest/zoom_amd64.deb
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
wget https://github.com/TorchStudio/torchstudio/releases/download/0.9.7/TorchStudio_0.9.7-Linux_Installer.deb
wget https://repo.nordvpn.com/deb/nordvpn/debian/pool/main/nordvpn-release_1.0.0_all.deb?_ga=2.120179208.140754703.1654140064-1729555164.1654140064

git clone https://github.com/qulacs/qulacs.git

sh <(curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh)

#! Install Display driver
#! chmod +x displaylink-driver-*
#! sudo ./displaylink-driver-*

pip3 install –upgrade pip

#! Install python packages
pip3 install numpy pandas Pillow lxml opencv-python matplotlib spotify_dl instaloader scikit-learn scikit-image scipy numba tensorflow tensorflow-addons torch torchvision torchaudio fastai keras jupyterlab notebook qiskit tensorflow-quantum cirq argon2-cffi ipykernel ipython-genutils nbconvert nbformat prometheus-client Send2Trash terminado ipython jupyter-server jupyterlab-server nbclassic vosk pyquil imutils dlib mxnet qulacs torchviz

pip3 install pennylane --upgrade

pip3 install pennylane-sf pennylane-qiskit pennylane-cirq pennylane-forest pennylane-qsharp --force --no-dependencies


#! Install apps
sudo snap install clion --classic
sudo snap install pycharm-professional --classic
sudo snap install webstorm --classic
sudo snap install thunderbird
sudo snap install walc
sudo snap install gimp
sudo snap install telegram-desktop
sudo snap install slack --classic
sudo snap install caprine
sudo snap install skype
sudo snap install teams
sudo snap install android-messages-desktop --edge
sudo snap install discord
sudo snap install code --classic
sudo snap install simplescreenrecorder
sudo snap install vlc
sudo snap install meshlab
sudo snap install amass
sudo snap install obs-studio
sudo snap install inkscape
sudo snap install remmina
sudo snap install netron
sudo snap install feroxbuster
sudo snap install joplin
sudo snap install poweshell –classic
sudo snap install zaproxy –classic
sudo snap install bitcoin-core
sudo snap install flutter –classic
sudo snap alias flutter.dart dart
sudo snap install android-studio –classic

#! Install chrome, zoom and torchstudio
sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo dpkg -i zoom_amd64.deb
sudo dpkg -i TorchStudio*
sudo dpkg -i nordvpn*
sudo chmod 777 ./quacs/script/build_gcc.sh nordvpn*
./qulacs/script/build_gcc.sh
sudo apt-get install ./nordvpn*
sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y
sudo apt-get install nordvpn


sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y && sudo apt autoremove -y

그러나 많은 명령이 실행되지 않았습니다. 특히 sudo apt-get install주문과 pip3주문. 이 상황을 어떻게 해결할 수 있나요? 내가 어디서 잘못됐나요?

답변1

답변:

특히 sudo apt-get install주문과 pip3주문.

귀하의 것을 보면 sudo apt-get install허용 가능한 매개변수 수를 초과했을 수도 있지만 apt-get문서에는 제한이 있다고 나와 있지 않기 때문에 추측일 뿐입니다.

스크립트를 디버깅하려면 다음을 실행하는 것이 좋습니다.

bash -x yourscript.sh

그러면 모든 메시지와 함께 모든 통화가 출력됩니다.

이 경우 for다음 루프와 별도의 패키지 파일을 사용하여 설치해 볼 수 있습니다.

for i in `cat packageList`;do sudo apt-get -y install $i;done

또한 상호작용 없이 이 스크립트를 실행하고 싶다는 점을 잊지 마십시오. 따라서 sudo는 비밀번호를 요청해서는 안 되며, 다른 명령도 확인이나 이와 유사한 것을 요청해서는 안 됩니다.

도움이 되었기를 바랍니다.

답변2

여기에는 거의 없습니다. 어떻게 실행했는지는 밝히지 않았지만 구체적인 오류에 대해 언급하지 않은 점을 고려하면 백그라운드 작업인 것으로 추측됩니다. 즉, 많은 수의 sudo 줄에 대한 암호 프롬프트가 표시되지 않아 실패(시간 초과)가 발생하지 않습니다. 백그라운드에서 실행하는 경우 >$HOME/Desktop/script.log 2>&1을 사용하여 실행하여 실패한 이유를 확인하세요.

스크립트를 sudo가 필요한 부분과 그렇지 않은 부분으로 구분해야 합니다. 그런 다음 모든 sudo 접두사를 제거하고 이를 요구하는 스크립트(sudo my_cool_reinstall_script.sh)를 한 번 실행하여 비밀번호를 미리 제공하면 스크립트의 모든 것이 예상대로 작동합니다. 또는 sudo apt*가 비밀번호 없이 실행되도록 허용하는 sudoers 규칙을 작성하여 스크립트를 있는 그대로 실행할 수 있습니다.

그러나 이는 첫 번째 명령에 sudo 비밀번호를 제공하고 유예 시간이 만료되었으며 다시 요청하고 시간 초과되는 것을 알지 못했다고 가정합니다.

또는 이름이 변경된 패키지를 설치하려고 할 수도 있습니다. 이제 자동 설치만 설치되고 ubuntu-drivers도 이에 대해 경고하므로 드라이버 명령이 더 이상 사용되지 않는 것으로 나타났습니다.

비슷한 것을 시도했지만 ppa가 변경되고, 종료되고, 패키지 이름이 변경되고, 실행 불가능하게 만드는 다양한 기타 문제로 인해 포기했습니다. NixOS는 이 작업을 쉽게 수행할 수 있는 유일한 배포판입니다.

실패한 명령에 대한 오류가 표시되지 않는 방식으로 실행하는 방법을 모르면 지금 당장 말하기가 어렵습니다.

-- 또한 ​​아니요. 반복이 필요한 적절한 제한에 도달하지 않았습니다. 한계가 있다면 아직 도달하지 않은 것이고, 하나의 라이너에 훨씬 더 많은 것을 설치한 것입니다.

관련 정보