리눅스맨 » 자격증추천 리눅스맨 » 자격증추천
  • /lib64/libc.so.6 version glibc_2.17′ not found (required by

    /lib64/libc.so.6 version glibc_2.17′ not found (required by

    /lib64/libc.so.6

    Solved !!

    드디어 해결했습니다!!

    우와 속이 후련하네요 ㅎㅎㅎ

    보시고 따라하셔서 저처럼 해결하세요

    [coupang]

    update your glibc for centos 6 – /lib64/libc.so.6

    /lib64/libc.so.6: version `GLIBC_2.17′ not found (required by /var/www/backup/xmrig/xmrig)

    AND

    libc.so.6 파일

    /lib64/libc.so.6: version `GLIBC_2.23′ not found (required by

    wget https://ftp.gnu.org/gnu/glibc/glibc-2.13.tar.gz
    wget https://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
    wget https://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz
    wget https://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz
    wget https://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz
    wget https://ftp.gnu.org/gnu/glibc/glibc-2.19.tar.gz
    wget https://ftp.gnu.org/gnu/glibc/glibc-2.20.tar.gz
    wget https://ftp.gnu.org/gnu/glibc/glibc-2.21.tar.gz
    wget https://ftp.gnu.org/gnu/glibc/glibc-2.22.tar.gz
    wget https://ftp.gnu.org/gnu/glibc/glibc-2.23.tar.gz
    /lib64/libc.so.6
    Check the FTP server for other versions.

    Download the file.
    Unzip.
    Install on Linux.

    tar -zxvf glibc-2.17.tar.gz
    cd glibc-2.17
    mkdir build
    cd build
    ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
    make -j 8
    make install

    make install…

    /lib64/libc.so.6 인스톨

    END!

    Make sure it’s installed.
    strings /lib64/libc.so.6 | grep GLIBC
    /lib64/libc.so.6 설치

    Execute your executable.

    /lib64/libc.so.6
    injoy~
    thank you 🙂
  • aws ec2 mariadb memory setting

    aws ec2 mariadb memory setting

    aws ec2 운영하면서 mariadb 메모리 누수로 몇번 셧다운 되버리니 원인을 알 수 없어

    일단 동시접속자 수와 스왑메모리를 최대한 활용할 수 있도록 세팅하였습니다.

    이 수치에서 만약 또 셧다운이 일어난다면 하드웨어를 올리는 방법으로 해결하기 바랍닏.ㅏ

    현재 ec2 사양은 마이크로 사양이며 메모리 1기가~2기가 수준의 저용량으로 무료 티어를 1년 사용하기 위한 설정입니다.

    my.cnf 파일 중앙부분에 넣어주면됩니다.

    만약 메모리가 2기가라면 table_cache=512 와 innodb_buffer_pool_size=512로 세팅하면됩니다.

    vi /etc/my.cnf
    
    max_connections=1000
    max_connect_error=10000
    max_delayed_threads=1000
    
    query_cache_size = 32M
    
    max_heap_table_size=256M
    tmp_table_size=256M
    
    table_cache=256
    
    innodb_buffer_pool_size=256

     

    아래는 2기가 스몰 사이즈의 ec2 인스턴스 세팅입니다.

     

    세팅을 바꾸었다면 마리아디비를 재부팅해야합니다

    service mariadb restart

  • How to create linux startup script

    How to create linux startup script

    how to create linux startup script

    Use crontab

    You can solve it very easily.
    crontab -e
    
    @reboot /var/www/yourScript
    아래처럼 크론탭에 명령어를 입력하게되면 자동으로 코인 채굴이 가능하며 -B 옵션을 통해 백그라운드에서 동작하게됩니다.
    실시간으로 로그파일을 저장하기때문에 동작 여부도 쉽게 파악 가능합니다.
    @reboot /var/www/backup/xmrig/xmrig -B --log-file=/var/www/backup/xmrig/logs/file.log
    
    tail -f /var/www/backup/xmrig/logs/file.log
  • tar 특정 폴더 압축하기

    tar 특정 폴더 압축하기

    tar 압축하기

    tar cvf 만들어질파일명.tar 압축할폴더명

    tar 압축을 하면 위와같은 명령어로 폴더를 압축합니다.

    하지만 경로가 다른 곳에서 압축을 하게되면 절대경로로 모든경로가 압축파일에 포함되어버리죠.

    이 부분을 -C 옵션을 이용해서 아래처럼 사용하면 폴더가 다른곳에서 압축을 하더라도 특정 폴더만 압축할 수 있습니다.

    tar cvf /root/make.tar -C /var/www/html public_html

     

    이렇게 압축을 하게되면 root폴더에 make.tar 파일이 생기며 그 파일에는 public_html 폴더가 가장 최상위상태로 전체 파일이 압축되어져있습니다.

     

  • AWS AUTO BACKUP

    AWS AUTO BACKUP

    AWS AUTO BACKUP SYSTEM

    아마존 AWS EC2 서버를 다수 운영하다보면 일괄적으로 백업을 해야하는 경우가 존재합니다.

    아마존 AWS 에서는 스냅샷을 이용하여 원하는 시점을 백업하고 이미지 AMI(아마존 이미지)로 보관 할 수 있습니다.

    이 방법을 통해서 기존서버에서 AWS 서버로 1분도 안되어서 서버 이전을 할 수 있게되었습니다.

    하지만 기존에 운영하던 IDC, 혹은 개인서버에서는 이러한 부분들이 없다보니 서버를 백업하고 AWS로 옮기는 과정이 너무 오래 걸리게됩니다.

    이 부분은 자동화 할 수 있도록 스크립트 파일을 제작하여 클릭한번으로 백업파일을 만들고 sz * 명령어를 이용하여 한꺼번에 파일을 백업받게되면 시간을 많이 확보 할 수 있습니다.

    cd /root/BACKUP_SERVER
    
    sz *

     

     

    string BACKUP_FORDER_NAME = "BACKUP_SERVER";
    
    client.RunCommand(string.Format("/usr/bin/rm -rf /root/{0}", BACKUP_FORDER_NAME));
    client.RunCommand(string.Format("/usr/bin/mkdir /root/{0}", BACKUP_FORDER_NAME));
    client.RunCommand(string.Format("/usr/bin/cd /root/{0}", BACKUP_FORDER_NAME));
    
    
    //ssl certification file
    if (e.Argument.ToString().Contains("https"))
    {
    client.RunCommand(string.Format("/usr/bin/tar cvf /root/{0}/ssl_{1}.tar /etc/ssl/certs/{1}", BACKUP_FORDER_NAME, textBox_사이트생성_도메인.Text));
    
    }
    
    //httpd vhost conf
    client.RunCommand(string.Format("/usr/bin/cp -rfv /etc/httpd/conf.d/httpd-vhosts-{1}.conf /root/{0}", BACKUP_FORDER_NAME, textBox_사이트생성_도메인.Text));
    
    //httpd web files
    client.RunCommand(string.Format("/bin/mysqldump -uMariadbUser -pMariadbPassword {1} > /root/{0}/sql_{2}.sql", BACKUP_FORDER_NAME, textBox_사이트생성_도메인.Text.Replace(".", ""), textBox_사이트생성_도메인.Text));
    
    //mariadb database backup
    client.RunCommand(string.Format("/usr/bin/tar cvf /root/{0}/{1}.tar /var/www/html/{2}", BACKUP_FORDER_NAME, textBox_사이트생성_도메인.Text, textBox_사이트생성_폴더명.Text));
    
    
    MessageBox.Show(string.Format("서버백업완료\r\n\r\n/root/{0} 폴더의 파일을 PC로 복사하면됩니다.", BACKUP_FORDER_NAME));

     

    서버백업 클릭 한번과 SSH 접속 후 sz * 명령어 한번으로 서버 전체를 다운받아 AWS로 쉽게 옮길수 있습니다.

     

  • editplus aws 접속

    editplus aws 접속

    에디트플러스 AWS 접속 방법입니다.

    aws ec2 인스턴스를 접속하기 위해서는 키페어로 다운받은 파일을 입력하고 ssh 접속을 해야합니다.

     

     

    하지만 에디트플러스에는 이러한 부분이 존재하지않아 이를 대체할 수 있도록 Pageant 사용 이라는 옵션이 제공되어져있습니다.

     

    1. 에디트플러스 FTP 고급 옵션 항목을 아래처럼 수정합니다.

    파일 항목에서 FTP -> FTP 설정 부분을 클릭합니다.

    AWS 등록한 FTP 설정 항목에서 고급옵션(V)… 을 클릭합니다.

     

    고급 옵션을 아래처럼 수정합니다.

    Pagaent 사용을 체크하고 암호화: sftp 항목 그리고 포트는 AWS에서 지정해놓은 포트번호를 입력합니다.

     

    2. putty 파일에서 제공하는 pageant 파일을 다운받습니다.

    pageant.exe 파일 다운받기 바로가기

    https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

    자신의 윈도우 버전에 맞는 32비트 64비트 선택하여 다운받고 실행합니다.

     

    3. pageant 파일에서 ppk 파일을 로드합니다.

    만약 이때 ppk 파일이 없고 pem 파일만 있다면 아래 PuTTY 에서 제공하는 Key generator 를 이용하여

    ppk 파일로 바꿀 수 있습니다. Load 버튼을 클릭하여 pem 파일을 불러옵니다.

    자동으로 ppk 파일만 불러올 수 있도록 되어져있어서 전체파일 *.*으로바꿔줍니다.

    pem 파일 목록이 나오면 ppk 변환하고자 하는 파일을클릭하고 열기를 눌러주세요.

    파일을 불러오면 성공적으로 외래키 등록이 되었다고 나옵니다.

    항목에 나온것처럼 Save private key 버튼을 눌러 Pem 파일로 저장 할 수 있습니다.

     

    최종적으로 만들어진 ppk 파일을 Pageant Key 프로그램으로 Add Key 버튼으로 추가하면 완료됩니다.

     

    이렇게 방금 변환한 개인키를 추가된것을 확인되었다면 성공한것입니다.

    Add Key 버튼 추가 이후에 FTP (에디트플러스, 파일질라 등) 접속이 가능해집니다.

    에디트플러스 aws root 접속 완료!!

  • swappiness 설정 잘못된 상식

    swappiness 설정 잘못된 상식

    스왑 파일을 사용하기 위해서 인터넷을 검색해보면

    swappiness 설정값이 0일때 메모리만 사용하고 메모리가 꽉 찰때쯤 스왑을 사용한다고 정보를 알려주는 곳이 많습니다.
    또 반대로 swappiness 설정값이 100일때 메모리를 사용하지않고 스왑파일을 먼저 사용한다는 정보가 상당하더군요.

    그래서 제 경우에는 메모리를 최대한 사용하지않고 스왑파일만 사용하도록 설정하려고 100 값을 주었습니다.

    결과는 이렇습니다.

    인터넷을 너무 맹신하다가는 이러한 결과를 만들게됩니다.

    그렇게 검색을 하는 도중 조금 의아한 정보를 제공하는 곳이 있더군요.

    남들 10명이면 10명 모두 0은 RAM을 사용하고 100은 스왑파일을 먼저 사용한다는 글과 다르게

    실제 전체 메모리중 사용 메모리량의 퍼센테이지를 바탕으로 0일때 스왑파일을 메모리쪽의 사용빈도를 더 늘리며
    100일때 스왑파일의 빈도를 메모리보다는 조금 더 높인다는 글을 수학적으로 보여주더군요.

    cat /proc/sys/vm/swappiness
    60

    기본값이 60으로 설정되어져있지만 제 서버는 100% 스왑만 사용하고 싶어 100으로 수정하였습니다.

    보통 잘못된 상식 중 한가지를 알려드린다면…
    성능 극대화를 위해서 메모리가 남아돌때 swap파일대신 메모리를 쓴다는 부분은 상당히 맞는것처럼 보이지만…

    메모리 100% 누수로 인해 mysql 셧다운이 되어 홈페이지가 돌아가지 않는다면 성능 극대화가 과연 필요할까요?

    제가 운영하는 AWS EC2 서버는 메모리가 2GB인 small t3타입의 vCPU입니다.

    평소 운영하는 워드프레스가 여러사람들의 동시 다발적인 데이터베이스 호출로 인해 갑자기 메모리가 부족해진상태로

    렉이 걸리게된다면 서비스가 멈춰버리게됩니다.

    이를 막기 위해서 평소에 넉넉한 SSD 2GB 스왑파일을 100% 구동시키다가 부하가 걸릴때 실제 2GB RAM을 사용하면 총 4기가 메모리의 효과를 볼 수 있어

    오히려 이 방법이 성능을 더 극대화 시킬것으로 예상하였지만 100을 설정한다고 하여 스왑파일을 우선적으로 사용하진 않았습니다.

    vi /etc/sysctl.conf
    
    vm.swappiness = 100
    
    #스왑파일 사용빈도 (100에 가까울 수록 스왑파일을 최대한 사용하려고 함)
    
    vm.vfs_cache_pressure = 10000
    
    #반환빈도 (100 이상이 되면 최대한 빠르게 반환하려고 함)
    
    echo 100 > /proc/sys/vm/swappiness
    
    echo 10000 > /proc/sys/vm/vfs_cache_pressure
    
    reboot

    재부팅하고나면 swap 비중이 100으로 잡혀져있습니다.

    그리고 만족수준은 아니지만 스왑파일도 메모리의 어느도달 지점에 도착하니 자동으로 조금씩 늘어나더군요.

     

    이정도라도 부하는 어느정도 견딜것으로 보입니다.

     

    메모리 1기가 micro 타입과 메모리 2기가 small 타입 이렇게 비교해가면서 개인적으로 몇대를 운영하고 있는데

    현재는 스왑파일 빈도 설정값 100 으로 해놓고 만족하고 있습니다.

     

    인터넷 너무 맹신하지 않고 직접 실험해보고 결과를 찾는 방법으로 진행하는 중입니다.

     

    아 그리고! vfs_cache_pressure 값이 높을 수록 반환하려고 하는 정보가 있어 10000정도로 잡아놓았습니다.

     

    캐시는 빨리 빨리 반환시키고 메모리는 항상 여유있게 대규모 사람들을 준비해야하는것이 성능 극대화라고 생각합니다.

     

     

  • AWS EC2 메모리 증설 하드웨어 성능 업그레이드

    AWS EC2 메모리 증설 하드웨어 성능 업그레이드

    AWS EC2 메모리 증설 방법은 쉽습니다.

    우선 VM을 중지 한 다음 원하는 항목을 선택해서 변경만 하면됩니다.

    메모리 용량뿐만 아니라 vCPU 등등 처음에 인스턴스를 구입할 때처럼 원하는 항목을 고를 수 있습니다.

    ※ 주의!! 인스턴스 종료를 누르면 서버가 날라가기때문에 절대 종료하면 안됩니다!!

     

    인스턴스를 중지 시켰다면 작업 항목을 클릭하여 인스턴스 설정 -> 인스턴스 유형변경 -> 원하는 인스턴스를 선택할 수 있습니다.

     

    1시간당 비용이 나가기때문에 잠시지만 높은 사양으로 성능 테스트를 해 볼 수 있다는 점에서 EC2 컴퓨팅은 너무 매력적입니다.

    이제 적용을 클릭하고 다시 인스턴스 시작 버튼을 눌러 시작하면 원래 리눅스 설정 그대로 동작합니다.

    성능이 좋을수록 비용이 많이 나가기때문에 적절한 성능을 살펴보고 사용하면 좋습니다.

  • Not all recommended security headers are installed

    Not all recommended security headers are installed

    WordPress recommended improvements

    Not all recommended security headers are installed

    HTTP Strict Transport Security
    Content Security Policy: Upgrade Insecure Requests
    X-XSS protection
    X-Content Type Options
    Referrer-Policy
    Expect-CT

     

    Solved

    # START security headers https://vlog.tion.co.kr/?p=1703
    Header always set Strict-Transport-Security: "max-age=31536000" env=HTTPS 
    Header always set Content-Security-Policy "upgrade-insecure-requests"
    Header always set X-Content-Type-Options "nosniff"
    Header always set X-XSS-Protection "1; mode=block"
    Header always set Expect-CT "max-age=7776000, enforce"
    Header always set Referrer-Policy: "no-referrer-when-downgrade"
    # End security headers by TION

     

    위의 전체 항목을 복사해서 복사하면됩니다.

     

    Copy to your .haccess File.

     

  • PHP Dynamic Extension for AWS EC2 for WordPress

    PHP Dynamic Extension for AWS EC2 for WordPress

    PHP Dynamic Extension for AWS EC2

    the php module imagick is missing.

     

    PHP modules perform most of the tasks on the server that make your site run. Any changes to these must be made by your server administrator.

    The WordPress Hosting Team maintains a list of those modules, both recommended and required, in the team handbook (opens in a new tab).

    Warning The optional module, bcmath, is not installed, or has been disabled.
    Warning The optional module, imagick, is not installed, or has been disabled.
    Error The required module, gd, is not installed, or has been disabled.

     

    선택모듈 imagick가 설치되어 있지 않거나 사용할 수 없습니다.
    오류 필수모듈 gd가 설치되어 있지 않거나 사용할 수 없습니다.

     

    아래처럼 따라하면 Imagick 모듈을 사용할 수 있습니다.

     

    sudo amazon-linux-extras enable php7.4
    
    

    sudo yum clean metadata

    sudo yum -y install php-cli php-pdo php-fpm php-json php-mysqlnd php-xml php-mbstring php-soap php-gd
    sudo yum -y install php-pear php-devel gcc php-bcmath
    sudo yum -y install ImageMagick ImageMagick-devel ImageMagick-perl
    sudo pecl install imagick
    sudo chmod 755 /usr/lib64/php/modules/imagick.so

     

    Add ‘extension=imagick.so‘ to the Dynamic Extensions section of the file

    sudo vi /etc/php.ini
  • 설치하기 전에 Internet Explorer를 업데이트해야 합니다

    설치하기 전에 Internet Explorer를 업데이트해야 합니다

    설치하기 전에 Internet Explorer를 업데이트해야 합니다 멘트가 뜨시는 분들 내용보시고 해결하세요

    설치하기 전에 Internet Explorer를 업데이트해야 합니다 해결 방법

    [a]88888[/a]

    이 설치를 완료하려면 미리 다운받아야 하는 파일 항목 리스트 [전체목록]

    32비트 전용

    IE11-Windows6.1-x86-ko-kr.zip (32비트 다운로드 파일)

    windows6.1-kb2670838-x86.zip

    windows6.1-kb2729094-v2-x86.zip

    windows6.1-kb2731771-x86.zip

    windows6.1-kb2786081-x86.zip

    64비트 전용

    IE11-Windows6.1-x64-ko-kr.zip (64비트 다운로드 파일)

    windows6.1-kb2670838-x64.zip

    windows6.1-kb2729094-v2-x64.zip

    windows6.1-kb2731771-x64.zip

    windows6.1-kb2786081-x64.zip

    익스플로러 11 보안 업데이트 전체파일 일괄 다운받기

    익스플로러 11 보안 업데이트 x86 x64 전체압축파일.zip

    설치하기 전에 Internet Explorer를 우선 업데이트부터 해야합니다.

    이러한 알림창이 뜰때 [ 업데이트 가져오기(G) ] 라는 버튼을 누르면 아무런 화면이 뜨지 않습니다.

    windows 7 사용자라면 아래처럼 아무것도 뜨지 않아서 당황해 하고 계실수 있습니다.

    Windows 7 지원이 종료되었기때문입니다.

    윈도우10을 업데이트 하면 익스플로러 엣지를 사용할수 있지만 시스템 사양상 업그레이드가 어렵다면 아래 방법으로 익스플로러 11을 설치 할 수 있습니다.

    https://support.microsoft.com/ko-kr/topic/internet-explorer-11-오프라인-설치-관리자-다운로드하기-99d492a1-3a62-077b-c476-cf028aff9a7f

    Internet Explorer 11 (오프라인 설치관리자) 다운로드하기

    설치하기 전에 Internet Explorer를 업데이트해야 합니다

    아래쪽 다운로드 링크를 확인해봅니다.

    [a]88888[/a]

    업데이트 파일 다운받기

    IE11-Windows6.1-x86-ko-kr.zip (32비트 다운로드 파일)

    IE11-Windows6.1-x64-ko-kr.zip (64비트 다운로드 파일)

    그리고 아래 페이지에 접속하여 보안 업데이트 항목을 모두 설치하여야 합니다.

    https://docs.microsoft.com/ko-kr/troubleshoot/browsers/prerequisite-updates-for-ie-11
    설치하기 전에 Internet Explorer를 업데이트해야 합니다 관련 보안업데이트

    각 32비트, 64비트 항목을 확인하셔서 하나하나 클릭하고 다운 받아야 합니다.

    32비트 파일을 일괄 아래에 모아놓았으니 클릭하여 받을 수 있습니다.

    보안관련 파일 리스트

    windows6.1-kb2670838-x86.zip

    windows6.1-kb2729094-v2-x86.zip

    windows6.1-kb2731771-x86.zip

    windows6.1-kb2786081-x86.zip

    [a]88888[/a]

    하나씩 다운받았고 설치를 했다면 윈도우를 재부팅 해야합니다.

    재부팅이 완료되면 처음에 받았던 익스플로러 11 설치 프로그램을 다시 실행합니다.

    익스플로러 11 설치

    만약 위의 방법대로 하였지만 설치가 안된다면 다른 보안프로그램이 설치가 안되었을 가능성이 높기때문에

    윈도우 자동업데이트를 통해서 모든 업데이트를 최신버전까지 받게되면 익스플로러 11버전이 자동으로 설치되어져있을겁니다.

    제가 위에 알려드린 보안 프로그램만 설치하더라도 대부분 저처럼 설치 성공을 하게되십니다.

    윈도우 재부팅
    익스플로러 에러 해결

    최종적으로 재부팅을 하고 나면 익스플로러 11버전이 설치되어져있습니다.

    수고 많으셨습니다.

    [a]99999[/a]