오늘:
2,330
어제:
2,285
전체:
3,222,391

자유게시판

예전에 리눅스를 몇번 시도하였으나 설치 후 바로 지운경험이 있습니다.
윈도우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
번호 제목 추천 수 글쓴이 날짜 조회 수
1519 nvme SSD에 리눅스 설치 질문입니다. 1 0 블랙커피 2019.12.18 2490
» 리눅스 왕초보입니다. 프린터 드라이버 설치하려는데 어찌할지 모르겠습니다. 고수님들의 조언 부탁드립니다. 8 file 0 꽁이 2019.12.18 2462
1517 우분투 마테 한국어판에서 방송을 찍는 사람입니다. 3 0 saltman 2019.12.20 1557
1516 아랫분 댓글허용해야 답변받을 수 있어요 1 0 가벼운게최고 2019.12.20 1108
1515 구름 OS 및 리눅스용 한글 소식 (소프트웨이브 2019) 6 0 la_Nube(누베) 2019.12.21 5170
1514 Kdenlive Appimage 최신 버젼 실행 확인했습니다. 3 0 neti 2019.12.21 1452
1513 [질문] hamonikr 3.0 소프트웨어 매니저 이용시 오류 5 0 문외인 2019.12.23 1606
1512 [질문] 리브레오피스 컬크 ___ 그림불러오기 4 file 0 목수 2019.12.25 1611
1511 [사지방] 부팅 관련질문입니다. 1 0 군악대나팔수 2019.12.25 2685
1510 ibus hangul 한글 자동 교정 기능, NIMF에도 있나요? 2 0 세벌 2019.12.27 1696
1509 크로미움 vaapi지원하는 버전 설치하는 시간이 상당히 기네요 2 0 가벼운게최고 2019.12.31 1436
1508 자꾸 다운됩니다. 어떻게 해야 하나요? 10 0 karis 2020.01.01 2397
1507 사지방에서 넷플릭스.. 0 통퉁통퉁 2020.01.03 2512
1506 리그오브레전드 한글 입력이 nimf로도 안되네요.. 2 0 가벼운게최고 2020.01.04 1529
1505 kdenlive appimage버전은 nimf로 한글입력이 안되나요? 4 0 가벼운게최고 2020.01.04 1558
1504 싸지방 화면녹화(터미널 쓰지 않고) 질문드립니다. 2 0 필립 2020.01.04 1918
1503 정부24 1 0 neti 2020.01.04 1603
1502 nimf에서 환경변수 설정이 정확히 어떤 역할을 하는건가요? 3 0 가벼운게최고 2020.01.06 1594
1501 opensuse에 nimf 입력기설치 관련 질문드려요. 7 0 군만두 2020.01.06 1816
1500 마우스 휠 속도, 시간 변경 방지 관련 요청의 건 2 0 jh.kim 2020.01.08 1226
Board Pagination Prev 1 ... 21 22 23 24 25 26 27 28 29 30 ... 101 Next
/ 101
CLOSE