IT_노트북수명_logo

Windows 10 에서 노트북 배터리 간단하게 수명 확인하기

노트북을 오래 사용 하다보면 배터리 특성상 수명도 많이 줄어듭니다.
배터리를 충전하고도 예전과 같지 않게 배터리가 많이 빠지는 느낌이 든다하면 점검을 해보는게 좋겠죠?

간단하게 많이 사용하는 OS 인 Windows 10 에서 노트북의 배터리 수명을 확인하는 방법을 알아보겠습니다.

우선 Winkey + R 을 눌러 실행창을 띄어줍니다.
띄어주었다면 “cmd” 를 입력하고 Ctrl + Shift + Enter 를 같이 눌러주어 관리자 명령 프롬프트를 띄어줍니다.

띄었다면 다음과 같이 입력해줍니다.

powercfg -energy






입력 해주면 위와 같이 60초간 사용내역에 대한 추적을 한 뒤 에너지 호율성에 대해 분석을 해줍니다.

그리고 다음과 같이 참조하라는 내용을 복사해줍니다.





복사는 간단하게 마우스로 해당부분을 Drag 하여 마우스 우클릭을 해줍니다.
명령 프롬프트에서 마우스 우클릭을 하면 Ctrl + C 와 같이 복사 기능을 합니다.





웹브라우저를 띄운 뒤 위에서 복사한 내용을 위와 같이 붙여넣어줍니다.





그러면 위와 같이 전원 효율성 진단 보고서가 뜨게됩니다.
전원 효율성 진단 보고서에서는 위에서 60초 동안에 추적 및 분석한 내용이 자세히 적혀있습니다.

해당 내용에서 빨갛게나 노랗게 되어있는 부분은 전원 정책이나 절전모드에 대한 내용이 대부분이며 해당 부분들은 배터리에 큰 영향을 준다고 되어있습니다.

다만, 사용시 구동에 문제가 있는 부분이 아니라면 넘어가셔도 됩니다.

전부 살펴 보았다면 우리가 확인하고 싶어하는 배터리 수명을 봐야겠죠?





페이지에서 Ctrl + F 를 눌러 검색창을 띄어줍니다.
그리고 “설계” 를 검색하게 되면 배터리 정보가 나옵니다.

해당 부분은 용량을 수치로 보여주는 부분이기 때문에 다음과 같은 수식을 통하여 Percent (%) 비율로 본다하면 좀 더 이해가 쉬워집니다.

수식은 다음과 같습니다.


(설계 용량 – 마지막 완전 충전) / 설계용량 X 100






저의 사무용 노트북을 해보니 약 3년 반 정도 사용하였는데 10% 정도나 깍여버렸네요.
앞으로 90% 남아있지만 배터리라는 것은 설계상 20% 정도가 넘어가기 시작하면 배터리가 광탈해버립니다.
앞으로 효율관리를 잘해야겠군요. ㅠㅠ…

IT_WSL_logo

Windows 10 에서 WSL (Windows Subsystem for Linux) 사용하기


기존 집에 있는 1U 서버에서 Linux(Debian)를 사용하다 Windows 10 으로 바꾸면서 Linux 에서 돌리던 Minecraft 서버를 그대로 Linux 상태에서 돌리고 싶어 시작하게 되었습니다.

사실 꼭 Linux 가 아니더라도 Minecraft 는 Java 를 통해 돌리면 되기는 하지만 Linux 를 좋아하는 저는 두개 다 사용하고 싶어졌었죠.

기본적으로 Linux 를 돌리기 위하여 Microsoft 에서 자신있게 내놓은 WSL 을 사용하는 방법을 설명해드립니다.

방법은 Microsoft Documents 공식 홈페이지에도 있으니 참고하시면 됩니다.

https://docs.microsoft.com/en-us/windows/wsl/install-win10


System 요구사항

1. x64 System : Windows 10 Version 1903 이상
2. ARM64 System : Windows 10 Version 2004 이상

3. BIOS 에서 Virtualization (VT-x/EPT, AMD-V/RVI) 옵션 활성화 상태



1. WSL 활성화



기본적으로 Windows 10 에서는 WSL 이 활성화 되어있지 않습니다.

Powershell 을 사용하여 WSL 을 활성화 합니다.





Winkey + R 를 입력하여 실행을 켜줍니다.
그 다음 “powershell” 을 입력 후 Ctrl + Shift + Enter 를 입력하여 관리자권한으로 Powershell 을 실행 시킵니다.

창 위쪽 상태줄에 관리자인지 확인 후 다음과 같이 입력하여 WSL 을 활성화 시켜줍니다.


dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart





2. Virtual Machine 활성화



Windows 10 을 일반적으로 설치했을때에는 VM 옵션이 활성화 되어있지 않습니다.

간단하게 Powershell 에서 다음과 같은 명령어로 쉽게 활성화 시킵니다.
작업전에 필수로 System 요구사항과 같이 BIOS 에서 Virtualization 옵션이 활성화 되어있는지 먼저 확인합니다.


dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart





3. Linux 사용을 위한 Kernel Package 설치 및 WSL Version 설정



WSL 은 결국 Linux Package 를 그대로 가져오는 것과 같다 봐도 됩니다.
Linux 를 사용해보신분은 아시겠지만, Kernel 은 Linux 에서 핵심적인 Core 중 하나입니다.

우선 Kernel 설치 전 “wsl” 을 입력하여 정상적으로 활성화가 되었는지 확인해봅니다.





위와 같이 뜬다면 WSL 은 정상적으로 활성화 된 상태입니다.
다만 Kernel Package 가 빠져 있어서, 매세지가 뜹니다.

다음의 링크를 이용하여 Kernel Package 를 받고 설치합니다.

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi



설치가 완료 되었다면 설치가 정상적으로 되었는지 확인과 WSL Version 을 2 로 고정 하는 작업을 같이 합니다.

Powershell 로 돌아와 다음과 같이 입력하여 WSL 관련 매세지가 뜬다하면 정상적으로 설치 및 Version 고정이 된 것입니다.

만약 WSL 이 “설치되어 있지 않습니다.” 라고 나오면 다시 한번 Kernel Package 설치를 진행해봅니다.


wsl --set-default-version 2





4. Linux (Ubuntu) 설치







Windows Store 에서 제공하는 Linux 는 대표적으로 Ubuntu, Debian, openSUSE, Kali, Alpine 가 있습니다.

아마 향후에 Microsoft 에서 지원을 본격적으로 더 한다면 CentOS 와 같은 Redhat 계열도 지원하지 않을까 싶습니다.

마음에 드는 배포판으로 설치하면 됩니다.

저는 Linux 중 사람들에게 가장 친숙하게 다가오는 Ubuntu 를 설치해보았습니다.





설치가 완료되면 위와 같이 “이 제품은 설치되어 있습니다.” 라고 뜹니다.


“시작”에서 보이는 Ubuntu 항목


또한 정상적으로 설치 되었다면 “시작” 에서도 보이게됩니다.

일반적으로 “시작” 에서는 모든 프로그램의 설치항목들이 보이기때문에 Windows Store 에서 설치 한 항목도 동일하게 보인다 보시면 됩니다.





Powershell 의 WSL 명령어를 통해서도 정상적으로 확인이 가능합니다.

Powershell 에서까지 정상적으로 설치를 확인했다면, 완벽하게 배포판이 설치 된것입니다.

또한 WSL 명령어를 통하여 WSL 에서 구동하는 Linux 의 순위를 설정할 수 있습니다.

순위는 향후 System resource 관리에 중점이 됩니다.


5. Linux (Ubuntu) 실행



설치가 다 되었다면 실행도 해봐야겠죠?

간단하게 “시작” 에서 Ubuntu 를 클릭하여 실행합니다.





Ubuntu 를 Docker 같은 Container 상태로 실행해보신 분들이라면 보실수 있는 계정설정 입니다.

간단하게 Ubuntu 에서 사용할 수 있는 ID 및 P/W 를 설정합니다.





ID 및 P/W 설정이 완료 되었다면, 위와 같이 Ubuntu 화면을 볼 수 있습니다.
여기까지 되었다면 정상적으로 WSL 이 설치 된 것입니다.

“sudo apt update” 와 같은 명령어로 Linux Package 를 잘 가져오는지 인터넷 확인도 해본 뒤 자유롭게 사용 하시면 됩니다.

다만, WSL 2 에서는 Network 가 Virtual Bridge 를 이용하기 때문에 Windows 10 에서 Port Forwarding 을 안해준다면 Port 를 사용하는 Service 는 사용하기 힘듭니다.

추후에 WSL 에서 Port Forwarding 하는 방법을 알려드리겠습니다.

IT_Synology_logo

Synology DSM 6.0 이후 WinSCP에서 root 권한으로 접속하기


WinSCP 에서 Synology 에 접근 시 root 권한이 없으면 최상위 폴더(/)부터 접속이 불가능합니다.

WinSCP 를 root 권한으로 접속하기 위하여 설정 하는 방법을 알아보겠습니다.

앞서 제가 제시하는 이 방법 외 sudoers 파일을 vi 와 같은 에디터로 수정하여 저장 하여 진행 할 수도 있지만 sudoers 파일을 잘못만지면 돌이킬 수 없는 위험이 존재(root 권한 사용불가 등)하기 때문에 파일을 복사 후 작업하는 방법을 설명해드립니다.


1. PuTTY 로 sudoers 파일을 다른 곳으로 복사



sudoers 는 계정 권한을 관리하는 파일입니다.

sudoers 파일을 우선 다른 임시의 장소로 복사 합니다.

PuTTY 로 Synology NAS 에 ssh 로 접속 한 뒤 다음과 같이 입력합니다.

# login id
# login pw

# PuTTY에서 root 권한 얻기
sudo -i

# sudoers 임시 장소로 복사
cp /etc/sudoers /volume1/web/sudoers






cp 명령어 사용시 앞쪽은 현재 파일이나 디렉토리, 뒤쪽은 복사할 장소나 파일명을 의미합니다.
저는 임시로 /volume1/web 를 대상으로 진행하였습니다.


2. 복사한 장소에서 sudoers 파일를 수정 후 덮어씌우기







smb 나 WebDAV 와 같은 것으로 sudoers 를 복사한 web 디렉토리에 접속합니다.
이 후 메모장 프로그램(ex. notepad++) 같은 것으로 열어줍니다.

작업 전 sudoers 파일을 백업 후 하는 것이 좋습니다.





위와 같이 빨간색 부분을 다음과 같이 수정합니다.

%administrators ALL=(ALL) NOPASSWD: ALL

저장 후 sudoers 파일을 원래 있던 /etc/sudoers 에 덮어주면 됩니다.
덮어 주기 위하여 아까 작업한 방법과 동일하게 PuTTY 로 접속 후 다음과 같이 cp 명령어로 덮어 씌어줍니다.

# login id
# login pw

# PuTTY에서 root 권한 얻기
sudo -i

# sudoers 파일 덮어씌우기
cp /volume1/web/sudoers /etc/sudoers



3. WinSCP 에서 설정 후 root 권한으로 접속 해보기







WinSCP 를 킨 후 위와 같이 이미지 항목들을 다 적어 준 뒤 “고급” 으로 들어갑니다.





“고급” 에 들어왔으면 위와 같은 창을 띄우기 위하여 왼쪽 탭에서 환경 – SCP/Shell 을 선택합니다.
그리고 쉘 항목에 sudo -i 를 입력해 준 뒤 확인하면 됩니다.

여기까지 정상적으로 다 되었다면 WinSCP 에서 로그인을 해봅니다.
Admin 권한의 계정으로 들어가면 root 권한으로 작업이 가능할 것 입니다.

IT_Kodi_logo

Kodi에서 YouTube Addon 제한량(Quota Exceeded) 풀기






예전에 집에서 라즈베리파이로 TV 머신을 만들어 돌리고 있었습니다.
어느날 Kodi 에서 YouTube 를 보려하니 제한이 되더군요.
“언젠가는 해결해야지..” 라고 생각만 하다가 찾아서 해결해봤습니다.
생각보다 절차가 귀찮아서 시간이 많을 때 차근 차근 해보는 것이 좋습니다.


1. Google Cloud Console 에 프로젝트 만들기





https://console.cloud.google.com/project

Google Cloud Platform 에 접속 한 뒤 Login 을 하면 프로젝트를 만들라 합니다.

프로젝트의 이름은 편하신데로 지으면 됩니다.


2. YouTube Data API 만들기





https://console.developers.google.com/apis/library

Libraries section on Google Cloud Console 항목에 들어오면 위와 같이 나옵니다.
그리고 YouTube API 에서 YouTube Data API 를 선택합니다.



선택하면 위와 같이 나오는데, 여기서 “사용 설정” 을 눌러줍니다.


3. API 키 만들기





https://console.cloud.google.com/apis/credentials

Credentials Page 로 이동하여 사용자 인증 정보 만들기에서 AP 키를 만들어 줍니다.
API 키는 39개의 문자와 숫자 그리고 -(Hyphen)으로 이루어져 있습니다.


4. OAuth 클라이언트 ID 만들기





API 키를 만들었으면 OAuth 클라이언트 ID 도 만들어야합니다.
이전 Credentials Page 에서 OAuth 클라이언트 ID 를 선택합니다.



처음 만들 때 동의 화면 구성이 뜨는데 이 중에서 제품 이름(사용자에게 표시되는 이름)이라는 칸만 작성 해주면 됩니다.

그런 다음 위와 같이 애플리케이션 유형이 나오는데, 유형은 기타로 합니다.
이름은 아무렇게나 지어도 됩니다.

생성하면 2가지가 나오는데 하나는 Client ID, 또 다른 하나는 Client Secret 입니다.

Client ID 는 45개의 문자와 숫자 그리고 -(Hyphen)으로 구성되어 있고, 마지막에는 apps.googleuser.content.com 이라고 표시 되어있습니다.
Client Secret 은 24개의 문자와 숫자 그리고 _(Underline)으로 구성되어 있습니다.


5. Kodi YouTube Addon 에 키를 넣어주기





YouTube Addon 에서 Login 을 해줍니다.
그런데 Login 도 하기 전에 Activate 라며 코드를 입력하라고 나옵니다.
다음의 링크로 들어가 코드를 입력 해주면 됩니다.

https://www.youtube.com/activate

한번 인증하면, 한번 더 하라고 나옵니다.

첫번째 인증때는 YouTube 를 해당 Kodi 계정에 등록하는 것,
두번째 인증때는 위에서 만든 OAuth 클라이언트 ID 를 등록하는 것 입니다.

두번 다 인증이 되었다면 YouTube Addon 설정에서 앞서 받았던 API 키를 넣어 주면 됩니다.



모든 설정은 완료하면 한번 더 내용을 확인 해 본 다음 잘 작동이 되는지 YouTube Addon 에서 확인해보면 됩니다.

IT_Synology_logo

Synology에서 Nginx 설정값 유지하기


기존의 웹사이트를 운영할때와 지금 현재 운영하는 이 블로그의 WordPress 도 구축하려했을때 부터 Nginx 의 설정이 항상 골치거리였습니다.
Apache 는 .htaccess 설정으로만 되던것들이 Nginx 에서는 안되니 말이죠.
Synology 공식 홈페이지의 지식 기반에서도 .htaccess 에 대한 언급은 있어도 Nginx 의 설정파일(*.conf)에 대해서는 언급이 없습니다.


1. 기존에 쓰던 방법


cp -v /volume1/******/server.webstation-vhost.conf /etc/nginx/app.d/
nginx -s reload

기존에 쓰던 방법은 Rebooting 및 00시가 지나면 Nginx 의 설정 값이 자동으로 초기화가 되므로 10분에 한번씩 가상호스트의 파일인 server.webstation-vhost.conf 를 지속적으로 Scheduling 하여 밀어 넣어주면 되지 않을까? 라는 생각으로 해봤습니다.

하지만 이건 생각보다 위험한 짓이라고 생각이 들었죠.

일단 크게 2가지의 문제점이 생긴다는 것 입니다.



-> Nginx 의 설정 값이 계속 변경 된다는 것

Synology 의 DSM 은 설정값들을 일정 시간 기준으로 계속 원상복구 하려고 합니다.
그래서 위와 같은 논리로 Scheduling 을 통해 계속 밀어 넣어주면 되지 않을까? 라고 생각이 들게 되었던거죠.
하지만 conf 의 파일은 계속 덮어 씌어준다는 것은 혹시나 작업 시 설정값이 꼬이거나 System 이 Upgrade 되었을때 예상치 못한 일이 발생할 수 있다는 것입니다.



-> Synology 기본 무료 SSL 인증서인 Let’s Encrypt 인증서를 지속적으로 사용하기가 번거롭다는 점

Synology DSM 6.0 버전 이상이 되면서 Let’s Encrypt 무료 SSL 인증서를 발급 할 수 있게 됩니다.
그런데 이것은 3개월의 기간동안 유지가 되며 3개월이 되면 자동적으로 갱신이 된다는 점이죠.
새로운 인증서가 들어오게 되는데 이것을 다시 새롭게 적용 시켜줘야 한다는 겁니다.
관리자로써 이런일은 매우 귀찮고 번거롭기만 합니다.


2. 모든 것을 쉽게 해결할 수 있는 방안



-> 가상호스트 설정


* 현재 Archiving 되어있는 Rhymix 의 가상호스트


가상호스트를 만들어줍니다.
가상호스트는 Synology Web Station 에 있습니다.
CNAME 을 이용하여 만드는 웹호스트는 가상호스트가 굉장히 좋은 기능인 것을 깨달을 수 있습니다.



-> 가상호스트를 정상적으로 생성하였다면 SCP 로 가상호스트 파일을 찾기


* SCP로 바라보는 가상호스트의 파일 경로


이 많은 파일 중 이름만 봐도 대충 감이 오지 않나요?
/etc/nginx/app.d/server.webstation-vhost.conf 가 가상 호스트의 파일입니다.

해당 파일을 찾았다면 편집기로 열어봅니다.
ssh 에서는 vi 나 nano 로, Windows 에서는 메모장이나 Notepad++ 같은 툴로 보면 좋습니다.

server {
 
    listen      80;
    listen      [::]:80;
 
    listen      443 ssl http2;
    listen      [::]:443 ssl http2;
 
    # 가상호스트 도메인 이름
    server_name archive.formellow.com;
 
 
    ... 중략 ...
 
 
    # 가상호스트에 설정할 수 있는 파일
    include /usr/local/etc/nginx/conf.d/f9c6e610-5ffb-4dd7-9dc6-da8192d6a0c0/user.conf*;
 
}

여기서 기억해야 할 곳은 2곳입니다.
도메인의 이름 부분과 가상호스트를 설정할 수 있는 파일(user.conf*)의 위치에요.



-> user.conf* 파일을 작성 후 Nginx 재시작 하기

user.conf*에는 server { ... }이나 location { ... }rewrite 같은 것들이 들어갑니다.


* SCP로 바라본 가상호스트 Nginx 설정 파일


Archiving 되어있는 웹사이트는 Rhymix 를 사용하니 Rhymix 의 설정 파일을 위와 같이 넣어 주었습니다.
Rhymix 의 Nginx 설정 파일은 다음과 같은 링크에 있습니다.

https://github.com/rhymix/rhymix/blob/master/common/manual/server_config/rhymix-nginx.conf

또한 WordPress 의 기본 Rewrite 설정 값을 다음과 같이 적어 드립니다.

location / {
           try_files $uri $uri/ /index.php?$args;
}

이렇게 전부 넣어주었다면 다음과 같이 적어서 Nginx 를 Reload 및 Service Restart 시켜주면 됩니다.

# Nginx Reload
nginx -s reload

# Nginx Service Restart
synoservice --restart nginx

이렇게 넣어주었다면 앞으로 Rebooting 을 하더라고 정상적으로 적용이 될 것 입니다.

가상호스트로 작동하는 CMS 들이나 기타 다른 웹 관련 호스트는 설정이 비슷하니 동일하게 작업해준다면 정상으로 작동 할 것입니다.

IT_Linux_logo

Linux에서 find 명령어 사용하기


NAS의 다운로드 스테이션 임시 디렉토리 @incoming 폴더에 7일이라는 기간을 두고,
파일이 생성된 지 7일 이후 삭제 되는 것을 스케줄링 해놓는게 어떨까 해서 찾아본 명령어 입니다.

사실 제한을 두기 시작한 계기는 지금은 2TB 인 임시 디렉토리였지만 이전에는 기껏해봐야 64GB 였다는 것 입니다.

64GB 로는 요즘 Torrent 에서 4K Blu-ray 하나만 받아도 80GB 가 넘기 때문에 저장소에 많은 파일이 쌓이면 다음 사람을 위해 그 만큼 정리를 해주는 것이 좋지 않을까 라고 생각하여 찾아본 방법입니다.

설명 전에 기본적으로 ‘*’와 ‘.’ 그리고 ‘/’에 대해 설명이 필요하다 생각해서 써봤습니다.
‘*’는 와일드카드로 “모든 것” 이라고 보시면 됩니다.
‘.’는 현재 디렉토리 입니다.
‘/’는 리눅스의 root(루트) 디렉토리입니다.
이해가 잘 안된다면 설명 후 예시가 나오는데 예시를 보면 됩니다.

Windows 를 제외한 대부분의 Server 는 Linux 로 운영 되기 때문에 Linux 명령어 중 find 에 대하여 구체적으로 적어봅니다.

find 명령어는 뜻 그대로 파일 or 디렉토리를 검색하기 위하여 사용됩니다.

보통 파일 검색의 조건은 다음 범위 내라고 생각하면 됩니다.

  • 특정 파일명을 찾고자 하는 경우
  • 특정 디렉토리를 찾고자 하는 경우
  • 특정 권한을 가진 파일을 찾고자 하는 경우
  • 특정 소유자의 파일을 찾고자 하는 경우
  • 특정 그룹의 파일을 찾고자 하는 경우
  • 특정 용량 기준으로 파일을 찾고자 하는 경우
  • 특정 시간 기준으로 파일을 찾고자 하는 경우




find 명령어의 기본은 다음과 같습니다.

find [찾고자 하는 디렉토리의 경로] [옵션]

옵션에 조건을 얼마나 잘 넣는냐에 따라 필요한 결과를 찾아낼 수 있습니다.





1. 특정 파일명을 찾고자 하는 경우


기본 사용법

find [디렉토리] -name '[파일명]'




# 현재 디렉토리에서 txt 파일을 모두 찾으려는 경우

find . -name '*.txt'

# temp 디렉토리 안에서 이름이 “1” 인 모든 확장자를 찾아내려는 경우

find ./temp/ -name '1.*'






2. 특정 디렉토리를 찾고자 하는 경우


기본 사용법

find [디렉토리] -type d -name '[디렉토리명]'




# root 에서 temp 디렉토리를 찾는 경우

find / -type d -name 'temp'

# 현재 디렉토리에서 tar이 포함되는 디렉토리명을 찾는 경우

find . -type d -name '*tar*'






3. 특정 권한을 가진 파일을 찾고자 하는 경우


기본 사용법

find [디렉토리] -perm [권한 숫자] -name '[파일명]'


여기에서 [권한 숫자] 이라는 것이 있는데, Linux 는 기본적으로 디렉토리나 파일에 대하여 10자의 Permission 기호가 있습니다.

예를 들어 ‘-rwx—r-x’ 가 있다고 가정했을때 이것을 네 분류로 나눠서 보면 됩니다.
‘-‘ 처음 – 의 표시는 파일을 의미하며 d 로 표시되면 디렉토리를 의미합니다.
‘rwx’ 두번째 rwx 는 소유자(Owner)를 의미하고요.
‘—‘ 세번째 — 의 표시는 그룹(Group) 사용자를 의미합니다.
‘r-x’ 그리고 마지막의 r-x 의 표시는 기타(Other) 사용자를 의미합니다.

r 은 Read(읽기)의 약자, w 는 Write(쓰기)의 약자, x는 Execute(실행)의 약자입니다.

그리고 이것들을 숫자로 표현하게 된다면, r = 4 / w = 2 / x = 1 로 표현됩니다.
총합이 7 이며 즉 7 은 모든 권한이죠.




# 현재 디렉토리에서 777(모든권한)을 가지며 txt 파일을 모두 찾는 경우

find . -perm 777 -name '*.txt'






4. 특정 소유자의 파일을 찾고자 하는 경우


기본 사용법

find [디렉토리] -group [그룹명] -name '[파일명]'




# temp 디렉토리에서 root 가 소유자인 txt 파일을 모두 찾는 경우

find ./temp/ -user root -name '*.txt'






5. 특정 그룹의 파일을 찾고자 하는 경우


기본 사용법

find [디렉토리] -group [그룹명] -name '[파일명]'




# root 디렉토리에서 web 그룹 소유권이 있는 파일을 찾는 경우

find / -group web

# 현재 디렉토리에서 web 그룹에게 소유권이 있는 테스트.txt 파일을 찾는 경우

find . -group web -name '테스트.txt'






6. 특정 용량 기준으로 파일을 찾고자 하는 경우


기본 사용법

find [디렉토리] -size [용량] -name '[파일명]'


[용량] 옵션에는 다음과 같은 용량 표기를 사용할 수 있습니다.

  • c : 바이트
  • k : 킬로바이트
  • M : 메가바이트
  • G : 기가바이트




# 현재 디렉토리에서 2M 이상 되는 파일을 찾는 경우

find . -size +2M

# temp 디렉토리에서 용량이 2k 이상 4k 미만이 되는 파일을 찾는 경우

find ./temp/ -size +2k -size 4k






7. 특정 시간 기준으로 파일을 찾고자 하는 경우


기본 사용법

find [디렉토리] -atime [시간 옵션] -name '[파일명]'
find [디렉토리] -mtime [시간 옵션] -name '[파일명]'
find [디렉토리] -ctime [시간 옵션] -name '[파일명]'


[시간 옵션] 앞에 옵션은 Linux 시간 표기법 의해 3가지로 구분이 됩니다.

  • atime (Access Time) : 마지막으로 파일에 접근한 시간, vi 및 cat 등의 명령어로 열람한 시간들이 이에 해당됨
  • mtime (Modification Time) : 마지막으로 파일의 내용을 수정한 시간
  • ctime (Change time) : chmod 나 chown 등 파일의 속성 및 권한을 변경한 시간


* 참고 사항
일반적으로 쓰이는 ls 의 명령어에서 보이는 시간은 mtime 입니다.
ctime 은 ls -lc 의 명령어로 확인이 가능하며,
atime 은 ls -lu 의 명령어로 확인을 할 수 있습니다.




# 사용자 디렉토리에서 마지막으로 수정한지 2달 이상 된 파일을 찾는 경우

find ~/ -mtime +60

# 사용자 디렉토리에서 마지막으로 수정한지 4달 이상 된 txt 파일을 찾는 경우

find ~/ -mtime +120 -name '*.txt'

# etc 디렉토리에서 파일의 속성을 변경한지 1달 이상 된 파일을 찾는 경우

find /etc -ctime +30







이상으로 find 명령어에 대하여 다 써봤는데, 확실히 Linux 는 Windows 와는 차별이 다른 검색을 제공합니다.

find 명령어 뒤에는 exec 라는 옵션을 붙여서 검색된 대상에 명령을 실행 할 수 도있어요.

Linux는 정말 좋은 OS 같습니다.
물론 CLI 환경에서만 말이죠.
GUI 는 아직 많이 부족한 면이 있으나, 지속적으로 개발하고 있으니 점점 좋아지겠죠.
GUI 는 아직 Windows 가 월등히 좋은 것 같습니다.

IT_MySQL_MariaDB_logo

MySQL 및 MariaDB 백업(Dump)과 복구


Web Service 를 운영하시는 분들은 특히나 DB 백업은 매우매우 중요하고 필수적으로 여겨집니다.

그래서 간단한 MySQL 및 MariaDB 에서 백업 하는 방법을 소개합니다.
백업은 Dump와 같은 용어로 사용되고 있습니다.

MySQL 및 MariaDB 의 백업은 DB 를 .sql 확장자로 변환하는 과정이라고 생각하시면 됩니다.


1. 백업 (Dump)


  • 전체 백업
mysqldump -u [유저아이디] -p 데이터베이스명 > 파일명.sql
  • 테이블만 백업
mysqldump -u [유저아이디] -p 데이터베이스명 테이블명 > 파일명.sql



2. 복구하기


mysql -u [유저아이디] -p 데이터베이스명 < 파일명.sql
IT_Network_image

TCP 및 UDP 기본 Network Well-known Ports

Network 기본 Port 번호는 Service 들을 운영 할 때 매우 중요합니다.

왜냐면 기본 Network Port 를 통해 보안 취약점이 나오기 때문이죠.

특히 Linux 쪽에서 가장 많이 쓰이는 Protocol 인 SSH 는 기본 22번 Port 를 사용 하지 않는 것이 좋습니다.

Well-known Ports, 즉 잘 알려진 Port 들은 바꿔주는게 좋습니다.

Network 의 기본 Port 의 범위는 0 ~ 65535 까지 입니다.


IT_Ubuntu_logo

Ubuntu에 Chrome 설치하기

테스트한 버전은 Ubuntu 16.04.1 입니다.

Chrome 홈페이지가 아직 변하지 않아 Ubuntu 20.04 에서도 동일하게 작동할 것으로 예상됩니다.

Ctrl + Alt + T 를 눌러 Terminal 을 띄웁니다.

Terminal 에서 다음과 같이 입력하여 deb 파일을 받아 패키지를 설치합니다.

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb






진행하다 위 스크린샷과 같이 의존성 패키지에서 Error 가 발생한다면 다음과 같이 입력하여 의존성 패키지를 가져옵니다.

sudo apt-get -f install

의존성까지 해결이 되고 정상 설치가 진행 됐다면 Ubuntu Menu 에서 Chrome 을 검색해봅니다.

정상적으로 뜬다면 Chrome 이 잘 설치 된 것으로 확인됩니다.