단순 설치 스크립트에서 패키지를 찾을 수 없다고 표시됩니다.

단순 설치 스크립트에서 패키지를 찾을 수 없다고 표시됩니다.

이 설치 스크립트는 대부분의 프로그램에서 오류를 발생시킵니다 Unable to locate package.

#! /bin/bash

apps=(
'python-dev',
'python-pip',
'python-numpy',
'python-scipy',
'python-matplotlib',
'ipython',
'ipython-notebook',
'python-pandas',
'python-sympy',
'python-nose',
'python-picamera',
'openssh-client',
'openssh-server',
'vim'
)

sudo apt-get update

# Loop over apps and install each one with default 'yes' flag
for app in "${apps[@]}"
do
    sudo apt-get install $app -y
done 

# configure ssh
sudo cp /etc/ssh/sshd_confi /etc/ssh/sshd_config.original
sudo chmod a-w /etc/ssh/sshd_config.original

piplist=(
'networkx',
'scikit-image'
)

for app in "${piplist[@]}"
do
    sudo pip install -U $app
done 

vim만 설치되어 있습니다. 그래서 내 저장소 목록이 업데이트되지 않은 것 같지만 이것이 "sudo apt-get update"의 목적이라고 생각합니다.

실행하면 sudo apt-get install python-dev스크립트 외부에 패키지가 설치됩니다.

답변1

$app이 vim이 아닌 패키지 이름에 쉼표를 추가하는 것 같습니다. 앱에서 쉼표를 삭제해 보세요.

아니면 시도해 보세요

sudo apt-get install $(echo $app | sed 's/,//g') -y

바꾸다

sudo apt-get install $app -y

그리고

sudo pip install -U $(echo $app | sed 's/,//g')

바꾸다

sudo pip install -U $app

답변2

내가 교체해야 할 Milin의 대답이 해결책 sudo apt-get install $app -y입니다 .sudo apt-get install $(echo $app | sed 's/,//g') -y

답변3

배열의 각 구성원 뒤에 오는 모든 쉼표( )를 제거하면 명령을 다른 방식으로 수정할 ,필요가 없습니다 . apt-get install따라서 스크립트는 다음과 같을 수 있습니다.

#!/bin/bash

apps=(
'python-dev'
'python-pip'
'python-numpy'
'python-scipy'
'python-matplotlib'
'ipython'
'ipython-notebook'
'python-pandas'
'python-sympy'
'python-nose'
'python-picamera'
'openssh-client'
'openssh-server'
'vim'
)

sudo apt-get update

# Loop over apps and install each one with default 'yes' flag
for app in "${apps[@]}"
do
    sudo apt-get install $app -y
done 

관련 정보