자유게시판

예전에 리눅스를 몇번 시도하였으나 설치 후 바로 지운경험이 있습니다.
윈도우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
번호 제목 추천 수 글쓴이 날짜 조회 수
1315 [공모전] [한국농수산식품유통공사] 2022 농넷 농산물 가격 예측 AI 경진대회 ~ 8/28 0 인공지능팩토리 2022.08.08 512
1314 asus 제피러스 g14 4800hs amd cpu 놋북 설치 안됩니다. 설지 가능한 방법 알수 있을까요? 8 0 블랙이 2022.08.08 837
1313 게시판 관리가 필요하지 않을까요? 2 0 보이차 2022.08.04 699
1312 34인치 모니터는.. 2 0 재여이 2022.08.03 636
1311 [공모] 2022 청소년 언어문화 개선을 위한 안녕! 우리말 공연 지원 사업 공모 0 공모 2022.08.03 549
1310 삼성플랙스vs맥북프로 1 0 해중이 2022.08.02 549
1309 가입 인사 드립니다 1 0 어차피하수 2022.08.01 492
1308 Linux Mint 21 정식 버전이 릴리스 되었습니다. 0 보이차 2022.07.31 606
1307 8월 행운 0 blacklink 2022.07.31 602
1306 모니터 확장기에 대한 질문입니다. 5 0 잘몰라요. 2022.07.31 641
1305 8월 도커, 쿠버네티스, 록키 리눅스 실무 교육(Zoom) 100% 정부지원 0 RedHat 2022.07.29 690
1304 모르는게 너무 많아서... 1 0 재여이 2022.07.27 581
1303 수고하십니다.. 0 미고스 2022.07.27 474
1302 한컴소프트도 나쁘지는 않습니다 1 0 해중이 2022.07.25 771
1301 드라이브 파티션 배당 문자 변경 8 0 haseungwun 2022.07.24 651
1300 롤리팝. MP3폴더내 목록추가 할 수 없나요? 6 0 acrix 2022.07.24 608
1299 안녕하세요 2 0 TK50P 2022.07.22 584
1298 트리플 모니터 설정에 대한 질문입니다. 4 file 0 잘몰라요. 2022.07.22 1398
1297 벌써 내일이면 주말이네요 1 0 jamin56 2022.07.22 568
1296 [한국표준협회 충북지역본부] 하이퍼레저 기반 블록체인 응용서비스 개발과정 교육생모집, 무료 교육 안내입니다.(~07.27) file 0 ksa 2022.07.21 544
Board Pagination Prev 1 ... 23 24 25 26 27 28 29 30 31 32 ... 93 Next
/ 93
CLOSE