자유게시판

예전에 리눅스를 몇번 시도하였으나 설치 후 바로 지운경험이 있습니다.
윈도우7의 지원 종료로 다시 리눅스를 고민하다. 국내os가 있음을 알게되었고 하모니카os도 알게 되었습니다.
설치 후 대만족 중입니다.

그러나 프린터 드라이버 설치 중 난관을 만났습니다.

 

0. 제 리눅스 버전은

  - 릴리즈 Linux Mint 17.3 Rosa 32비트

  - 커널 Linux 3.19.0-32-generic i686

  - MATE 1.12.0

 

0. 제 프린터는

  - 캐논 MF638cwz

 

0. 캐논에서 제공하는 리눅스버전 드라이버를 다운 받았습니다. 압축을 풀고 열어보니 폴더와 파일이 있네요.

폴더.jpg

 

0. install 이 있습니다. 가볍게 실행합니다. 그리곤 암호문이 나왔습니다. 어찌해야 하나요? 도와주세요..

 

1. 터미널에서 설치해야 하는건가요? 패키지관리자에서 설치하는건가요?

2. 제가 설치한 리눅스는 설치파일 확장자명이 어떤걸 써야 하는건가요?

3. 그리고 이런경우 전 어떻게 설치해야 하나요?

 

#!/bin/bash

##############################################################################
##
##  Canon Laser Printer Driver for Linux
##  Copyright CANON INC. 2015
##
##  This program is free software; you can redistribute it and/or modify
##  it under the terms of the GNU General Public License as published by
##  the Free Software Foundation; either version 2 of the License, or
##  (at your option) any later version.
##
##  This program is distributed in the hope that it will be useful,
##  but WITHOUT ANY WARRANTY; without even the implied warranty of
##  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
##  GNU General Public License for more details.
##
##  You should have received a copy of the GNU General Public License
##  along with this program; if not, write to the Free Software
##  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
##
##############################################################################


#-------------------------------------------------#
# install package list define
#-------------------------------------------------#
INSTALL_PACKAGE_RPM_32="
pangox-compat
beecrypt
beecrypt-devel
libglade2"

INSTALL_PACKAGE_RPM_64="
pangox-compat
libxml2
libxml2.i686
glibc glibc.i686
libstdc++
libstdc++.i686
libjpeg-turbo
libjpeg-turbo.i686
beecrypt.i686
beecrypt-devel.i686
libglade2"

INSTALL_PACKAGE_DEB_32="
libglade2-0
libjpeg62
libbeecrypt7
libbeecrypt-dev"

INSTALL_PACKAGE_DEB_64="
libglade2-0
libstdc++6:i386
libxml2:i386
libjpeg62:i386
libbeecrypt7:i386
libbeecrypt-dev:i386"

INSTALL_PACKAGE_DEB_64_IA32="
ia32-libs
libglade2-0
libjpeg62:i386
libbeecrypt7:i386
libbeecrypt-dev:i386"


#-------------------------------------------------#
# install message
#-------------------------------------------------#
INST_ERR_01_01="The current user is "
INST_ERR_01_02="Change user to root, and then perform installation again."

INST_COM_01_01="#----------------------------------------------------#"

INST_MSG_01_01="This installer is recommended for Fedora or Ubuntu distributions that are currently supported as of the release of this installer."
INST_MSG_01_04=""
INST_MSG_01_05="If this installer is run under earlier or later distributions, the installation of additional system libraries may be necessary after driver installation is complete."
INST_MSG_01_06="Do you want to continue with installation? (y/n) "

INST_MSG_02_01="Some system libraries could not be installed."
INST_MSG_02_02="Refer to the online manual for more information."
INST_MSG_02_03="Do you want to continue with installation? (y/n) "


#-------------------------------------------------#
# etc. define
#-------------------------------------------------#
ERROR_CHECK=0
MACHINE_TYPE=""
PACKAGE_TYPE=""
RELEASE_DIR=""
DRIVER_PACKAGE=""
INSTALL_PACKAGE=""
INSTALL_CMD=""
INSTALL_OPT=""
INSTALL_PACKAGE_CMD=""

COLOR_K='\033[1;30m'
COLOR_R='\033[1;31m'
COLOR_G='\033[1;32m'
COLOR_Y='\033[1;33m'
COLOR_B=''
COLOR_M='\033[1;35m'
COLOR_C='\033[1;36m'
COLOR_OFF='\033[m'


#-------------------------------------------------#
# common function
#-------------------------------------------------#
C_output_log()
{
    echo -e -n $COLOR_B
    echo -e $INST_COM_01_01
    echo -e "# $1"
    echo -e $INST_COM_01_01
    echo -e -n $COLOR_OFF
}


C_output_message()
{
    echo -e -n $COLOR_B
    echo -e "$1"
    echo -e -n $COLOR_OFF
}


C_output_error_message()
{
    echo -e -n $COLOR_R
    echo -e "$1"
    echo -e -n $COLOR_OFF
}


C_check_distribution()
{
    C_output_message "$INST_MSG_01_01"
    C_output_message "$INST_MSG_01_04"
    C_output_message "$INST_MSG_01_05"
    read -p "$INST_MSG_01_06" ans
    if [ "$ans" != "y" -a "$ans" != "Y" ]; then
        exit 1
    fi
    echo
}
   

C_check_directory()
{
    echo "${0}" | grep '/' >/dev/null  2>&1
    if [ "${?}" -eq 0 ]; then
        shell_dir="${0%/*}"
        cd "${shell_dir}"
    fi
}


C_init_cups()
{
    C_output_log "cups $1"

    if [ -f /etc/init.d/cups ]
    then
        CMD="/etc/init.d/cups $1"
        echo $CMD
        $CMD
    elif [ -f /etc/init.d/cupsys ]
    then
        CMD="/etc/init.d/cupsys $1"
        echo $CMD
        $CMD
    else
        CMD="service cups $1"
        echo $CMD
        $CMD
    fi
    echo
}


C_install_package()
{
    case $PACKAGE_TYPE in
    'deb')
        C_output_log "apt-get update"
        apt-get update
        echo
        ;;
    'rpm')
        C_output_log "$INSTALL_PACKAGE_CMD upgrade"
        for upgrade_pkg in $INSTALL_PACKAGE
        do
            echo "$upgrade_pkg"
            $INSTALL_PACKAGE_CMD -y upgrade $upgrade_pkg
            echo
        done
        ;;
    esac

    C_output_log "$INSTALL_PACKAGE_CMD install"

    $INSTALL_PACKAGE_CMD -y install $INSTALL_PACKAGE

    echo
}


C_install_package_check()
{
    C_output_log "Install Package Check"

    for inst_pkg in $INSTALL_PACKAGE
    do
        if which rpm > /dev/null 2>&1;
        then
            echo $inst_pkg | grep '\.'  > /dev/null 2>&1
            if [ $? -eq 0 ]; then
                LIB_NAME=`echo $inst_pkg | cut -d '.' -f1`
                ARCH=`echo $inst_pkg | cut -d '.' -f2`
                rpm -qa | grep -i $LIB_NAME | grep -i $ARCH > /dev/null 2>&1
            else
                rpm -qa | grep -i $inst_pkg > /dev/null 2>&1
            fi
        else
            echo $inst_pkg | grep ":" > /dev/null 2>&1
            if [ $? -eq 0 ]; then
                LIB_NAME=`echo $inst_pkg | cut -d ':' -f1`
                ARCH=`echo $inst_pkg | cut -d ':' -f2`
                dpkg -l | grep -i $LIB_NAME | grep -i $ARCH > /dev/null 2>&1
            else
                dpkg -l | grep -i $inst_pkg > /dev/null 2>&1
            fi
        fi

        if [ $? -eq 0 ]; then
            C_output_message " OK: $inst_pkg"
        else
            C_output_error_message   " NG: $inst_pkg"
            ERROR_CHECK=1
        fi
    done

    echo
   
    if [ $ERROR_CHECK -eq 1 ]; then
        C_output_message "$INST_MSG_02_01"
        C_output_message "$INST_MSG_02_02"
        read -p "$INST_MSG_02_03" ans
        if [ "$ans" != "y" -a "$ans" != "Y" ]; then
            exit 1
        fi
        echo
    fi
}


C_install_printer_driver()
{
    C_output_log "Install Printer Driver ($INSTALL_CMD $INSTALL_OPT)"

    unset DRIVER_PACKAGE
    DRIVER_PACKAGE=`find . -name "*$MACHINE_TYPE.$PACKAGE_TYPE"  | grep -i common`
    $INSTALL_CMD $INSTALL_OPT $DRIVER_PACKAGE

    unset DRIVER_PACKAGE
    DRIVER_PACKAGE=`find . -name "*$MACHINE_TYPE.$PACKAGE_TYPE" | grep -v common`
    $INSTALL_CMD $INSTALL_OPT $DRIVER_PACKAGE
    echo
}


#-------------------------------------------------#
# deb function
#-------------------------------------------------#
check_install_ia32()
{
    #-------------------------------------
    # Ubuntu only
    #-------------------------------------
    grep -i -e ubuntu /etc/issue > /dev/null 2>&1
    if [ $? -ne 0 ]; then
        return 0
    fi

    if [ ! -f /etc/lsb-release ]; then
        return 0
    fi

    VER=`grep -i release /etc/lsb-release | sed -e 's/[^0-9]//g'`
    if [ $VER -le 1304 ]; then
        INSTALL_PACKAGE=$INSTALL_PACKAGE_DEB_64_IA32
    fi
}


#-------------------------------------------------#
# start install.sh
#-------------------------------------------------#
main()
{
    #---------------
    # check root
    #---------------
    if test `id -un` != "root"; then
        C_output_error_message "$INST_ERR_01_01`id -un`."
        C_output_error_message "$INST_ERR_01_02"
        exit 1
    fi
   
    #---------------------
    # check directory
    #---------------------
    C_check_directory
   
    #---------------------
    # check distribution
    #---------------------
    C_check_distribution
   
    #------------------------
    # get distribution data
    #------------------------
    case `uname` in
    'SunOS')
        EXE_PATH='/opt/sfw/cups/sbin'
        ;;
    'HP-UX')
        EXE_PATH='/usr/sbin:/usr/bin'
        ;;
    'AIX')
        EXE_PATH='/usr/sbin:/usr/bin'
        ;;
    'Linux')
        EXE_PATH='/usr/sbin:/usr/bin'
        ;;
    esac
   
    export PATH=$EXE_PATH:$PATH
   
    if which rpm > /dev/null 2>&1;
    then
        PACKAGE_TYPE="rpm"
        INSTALL_CMD="rpm"
        INSTALL_OPT="-Uvh"
        if which yum > /dev/null 2>&1;
        then
            INSTALL_PACKAGE_CMD="yum"
        else
            INSTALL_PACKAGE_CMD="dnf"
        fi

        case `uname -m` in      
        'i386'|'i686')      
            MACHINE_TYPE="i386"      
            INSTALL_PACKAGE=$INSTALL_PACKAGE_RPM_32
            ;;      
        'x86_64')      
            MACHINE_TYPE="x86_64"      
            INSTALL_PACKAGE=$INSTALL_PACKAGE_RPM_64
            ;;      
        esac
    else
        PACKAGE_TYPE="deb"
        INSTALL_CMD="dpkg"
        INSTALL_OPT="-i --force-overwrite"
        INSTALL_PACKAGE_CMD="apt-get"
   
        case `uname -m` in      
        'i386'|'i686')      
            MACHINE_TYPE="i386"      
            INSTALL_PACKAGE=$INSTALL_PACKAGE_DEB_32
            ;;      
        'x86_64')      
            MACHINE_TYPE="amd64"      
            INSTALL_PACKAGE=$INSTALL_PACKAGE_DEB_64
            check_install_ia32
            ;;      
        esac
    fi
   
    #------------------------
    # install start
    #------------------------
    C_output_log "Install Start"
    C_output_message "Machine Type = $MACHINE_TYPE"
    C_output_message "Package Type = $PACKAGE_TYPE"
   
    DRIVER_PACKAGE=`find . -name "*$MACHINE_TYPE.$PACKAGE_TYPE" | sort 2> /dev/null`
   
    C_output_message "Package list = "
   
    for list in $DRIVER_PACKAGE
    do
        C_output_message "    $list"
    done
    echo
   
    C_install_package
    C_install_package_check
    C_install_printer_driver
    C_init_cups restart
}

main $*

C_output_message "Complete"

exit 0
 

 

 

  • ?
    가벼운게최고 2019.12.18 18:18
    실행했을때 나오는 문구를 알려주셔야 답변이 가능합니다.. 관리자권한으로 살행해야할거 같은데 관리자 권한으로 실행하셨나요? 혹시 프린터가 공유기와 연결되어있다면 cups로도 가능할거 같습니다.
  • ?
    꽁이 2019.12.18 19:21

    install.sh 를 더블클릭하니 텍스트편집기(Pluma)가 열리고 암호문같은 글이 열렸습니다.
    실행을 어떻게 해야 설치되는지 잘 모르겠네요. 가장 기초적인 질문인듯 하나 제게는 어렵네요. 검색을 해도 윈도우에 비해 찾기도 어렵습니다.

  • ?
    가벼운게최고 2019.12.18 19:48
    아.. 저 파일이 열렸다는거네요.. 저게 설치 프로그램입니다. 다만 메모장같은 프로그램으로 실행해서 그런거고, 터미널에서 sudo키워드와 함께 사용하면 되는데 어떻게 설명해야될지 잘 모르겠네요
  • ?
    가벼운게최고 2019.12.18 19:51
    위 인스톨 프로그램을 오른쪽마우스로 클릭해서 속성?등록정보?를 선택해서 실행권한을 체크하는게 우선일거 같고. 탐색기에서 오른쪽마우스를 클릭하면 여기서 터미널 실행이라는 버튼이 있을겁니다. 그걸 누르면 cmd같은데 나오는데 거기서 sudo ./install.sh 라고 치고 엔터하시면 됩니다.
  • ?
    가벼운게최고 2019.12.18 19:53
    제가 하모니카가 정확하게 어떻게 생겼는지 잘 몰라서 속성은 확실하지 않으니 터미널에서 sudo chmod +x ./install.sh 라고 하셔도 실행권한이 생깁니다.
  • ?
    가벼운게최고 2019.12.18 19:52
    아무 프로그램이나 실행되면 문제가 되니 실행권한을 줘야 실행이 되는 보안사항으로 인해 문제를 겪으신거 같습니다.
  • ?
    자유의지 2019.12.23 16:13
    리눅스가 이런 면이 답답한 것 같습니다. sh 실행파일이면 더블클릭으로 실행하되 윈도우처럼 경고문을 띄우면 될텐데요. 속성에서 '프로그램으로 실행'을 체크해야한다던지 전체 속성을 전부 변경해야한다던지 답답한 면이 있어요.
  • ?
    Moordev 2019.12.23 17:59
    그런데 퍼미션은 윈도우가 너무 과하게 풀어줬다는 감이 있습니다. 도스 시절의 그 영향으로 보이는데 리눅스는 원래 확장자 개념이 없지요. 그냥 확장자는 참고용이고 본래는 파일 헤더로 처리합니다. exe확장자면 일단 닥치고 실행해보는 윈도우랑 다르죠.
    그런데 또 무작정 #!로 시작한다고 실행스크립트로 처리했다가는 윈도우같은 보안 구멍투성이 될겁니다.

    인터넷에서 텍스트파일을 다운로드 받았는데 그게 알고보니 백도어 스크립트였다면? 그리고 그걸 실수로 열기를 눌러서 실행해 버렸다면??? 심지어 대형 호스팅 서버에서 그랬다면?????

    그래서 관리자(root)의 검사를 한번 더 받는것이고 관리자의 허가하에 실행이 되는 구조입니다.

    불편하긴하지만 UAC등을 굳이 추가해서 돌아가는 윈도우보다는 깔끔하죠.

List of Articles
번호 제목 추천 수 글쓴이 날짜 조회 수
1312 퍼피 리눅스 한글 입력 어떻게 하나요? 0 bigma 2020.04.17 1015
1311 ddr2 램 노트북에서 리눅스 잘 작동하나요? 2 0 soulowner 2018.09.30 1014
1310 리눅스 설치한 컴에서 TV HDMI 연결 화면 품질 설정? 15 0 세벌 2021.02.03 1013
1309 일부 프로그램에서 한글 입력이 되지 않는 문제가 있습니다. 2 0 jun 2020.03.06 1013
1308 하모니카 분위기가... 3 0 세벌 2019.06.10 1012
1307 Kdenlive Appimage 최신 버젼 실행 확인했습니다. 3 0 neti 2019.12.21 1011
1306 KDE 네온 업데이트 이후 와인 안 되시는 분 참고하세요 2 0 통큰비둘기 2018.09.28 1011
1305 공유기 없이 살기 3 0 neti 2020.03.02 1009
1304 스팀에서 리눅스지원 안되는게임을 할수있는 방법은 없을까요? 9 0 라루미 2020.03.04 1007
1303 갤럭시탭 테블릿을 듀얼모니터로 사용하는 방법 6 0 잘몰라요. 2022.11.21 1006
1302 한글오피스 설치 관련 문의드립니다. 2 0 쏘키 2021.01.02 1006
1301 Ubuntu 18.04 LTS 다운로드 2 0 iskra 2018.04.27 1005
1300 mp3를 cd로 굽기 해보신 분 계신가요? 7 0 스피더 2019.01.16 1001
1299 DOS용 타자연습 프로그램들을 젠투 패키지로 만들었습니다. 4 0 Diablo 2018.10.27 1000
1298 리눅스 위협하는 봇·백도어·트로이목마·악성코드 2 0 버디버디 2018.06.27 1000
1297 리눅스 운영체계의 마지막 맛보기, OPENSUSE LINUX 9 file 0 haseungwun 2021.10.28 998
1296 부팅할 때 네트워크 드라이브를 자동 마운트하는 방법 아시나요? 2 0 나이스투미튜 2020.07.29 997
1295 리눅스용 Life is Strange 게임 한글패치하기 1 0 Moordev 2018.06.23 996
1294 광고 하지 맙시다 2 0 kiwijuice 2020.07.08 995
1293 리눅스 노트북 2 0 Ohnine 2018.03.12 994
Board Pagination Prev 1 ... 24 25 26 27 28 29 30 31 32 33 ... 94 Next
/ 94
CLOSE