자유게시판

예전에 리눅스를 몇번 시도하였으나 설치 후 바로 지운경험이 있습니다.
윈도우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
 

 

 

번호 제목 추천 수 글쓴이 날짜 조회 수
537 gui에서 폴더 내 파일들을 리스트 뷰로 고정하는 방법 [3] 0 Jong 2020.02.01 320
536 민트를 깔고나서 하모니카를 알게되었습니다.;ㅎㅎ [3] 0 민실용음악 2020.02.01 497
535 이런 훌륭한 배포판을 이제야 깔았습니다. [3] 0 이원진 2020.01.29 755
534 하모니카 KR MR1.4 설치후 업데이트가 않되는데 방법은? [2] 0 staut 2020.01.24 697
533 하모니카 os에서 네이버 클라우드 사용하는 법 [14] 0 leyong 2020.01.23 2259
532 갑자기 우리은행 않돼는 이유가 뭘까요? [4] file 0 pohangnam 2020.01.21 1120
531 완전 초보 입미다. [3] 0 둥지 2020.01.21 762
530 1 카카오톡설치후 로그인은 안되네요. 2 euc-kr? [2] 0 자유의지 2020.01.18 820
529 [질문] GNOME 3 한글 입력 문제 [6] file 0 꼴돼지 2020.01.18 1412
528 WPS office 나 Free Office 에서 한글입력이 이상하게 되네요. [2] 0 자유의지 2020.01.18 930
527 시대교육 동영상 강의 [4] file 0 찌후니의놀이터 2020.01.15 1293
526 Appimage 나 Flatpak 물건이네요 [1] 0 자유의지 2020.01.14 974
525 카카오톡 한글 입력 문제 질문 [5] 0 재팔 2020.01.13 2436
524 데비안의 안 좋은 점 [3] 0 세벌 2020.01.12 1691
523 가족관계 하모니카에서 가능한가요? [1] 0 세벌 2020.01.10 1005
522 wine으로 설치한 프로그램을 mime타입 기본 프로그램으로 등록할 수 있을까요? [5] 0 가벼운게최고 2020.01.10 1191
521 윈도우 7 지원 종료한대서 검색하다 오게됐는데.. 여기 홈피만 보고 하모니 따라 설치하기가 쉽지 않네요. [10] 0 쭈매니저 2020.01.09 1166
520 마우스 휠 속도, 시간 변경 방지 관련 요청의 건 [2] 0 jh.kim 2020.01.08 471
519 opensuse에 nimf 입력기설치 관련 질문드려요. [7] 0 군만두 2020.01.06 898
518 nimf에서 환경변수 설정이 정확히 어떤 역할을 하는건가요? [3] 0 가벼운게최고 2020.01.06 625
  • 하모니카 미디어 에디션
  • 설치가 필요없는 화상통화 하모니
loginbox
아직 회원이 아니세요? 회원가입