기본 콘텐츠로 건너뛰기

Neko (software)

원문 보기:  https://dawoum.duckdns.org/wiki/Neko_(software) Original article: w:Neko (software) Neko 는 크로 스-플랫폼 오픈-소스 애니메이션 커서-쫓는 고양이 스크린메이트 응용 프로그램입니다 . Neko ( 猫 , ねこ )는 고양이 에 대한 일본어 단어입니다. Introduction 모니터 화면의 크기가 커지면서, 자연스럽게 해상도가 증가하고, 이런 상황 아래에서 마우스의 위치를 한 번에 인식하지 못하는 경우가 생깁니다. 특히, 다른 일을 하다가 화면을 처음 바라보았을 때, 마우스를 흔들어서 위치를 확인하려고 시도하고 이것 마저 배경화면과 마우스 포인터의 색상에 비슷하면 포인터를 찾기에 시간 소모를 겪게 됩니다. 이를 보완하기 위해, 마우스를 돋보이도록 하는 방법이 필요하고, 그 중 하나가 Oneko입니다. Installation 아래 설명처럼, 데비안 저장소에는 oneko라는 이름으로 패키지가 존재합니다: sudo apt install oneko About Neko Neko는 원래 NEC PC-9801 에 대해 작성되었습니다. 그것은 나중에 1989년 Kenji Gotoh에 의해 Macintosh로의 데스크 액세서리 로 이 식 되었습니다. 그는 역시 Neko에 대한 수면 그래픽을 디자인했습니다. X 버전은 나중에 Masayuki Koba에 의해 만들어졌습니다 이 응용 프로그램에서, 스프라이트 는 마우스 포인터를 따라다닙니다. System 7 버전에서, 포인터는 마우스, 물고기, 또는 새와 같은 다양한 고양이 장난감으로 수정될 수 있습니다. Neko가 포인터를 따라잡았을 때, 몇 초 동안 화면을 응시하고, 몸에 가려운 곳을 긁고, 하품하고, 포인터가 방해받을 때까지 잠이 들 것입니다. 창 모드에서, Neko는 창 경계에서 멈추고 창 가장자리를 긁었습니다. Other appearances Neko 고양이는 다른 많은 프로그램에서 스프라이트로 사용되어 왔습니다. ...

리눅스 배우기

원문 보기: https://dawoum.duckdns.org/wiki/리눅스_배우기

이 기사는 윈도우를 벗어나서 다른 운영 시스템을 찾다가 결국 리눅스 배포판을 선택한 분들을 위한 글입니다.

2022년 현재, 잘 알려진 것처럼, 리눅스 배포판은 적어도 수백개가 존재합니다. 이러다 보니 배포판을 선택하는 것이 초보자에게 문제가 되기도 하지만, 처음 선택한 배포판을 그대로 사용할 가능성이 매우 낮을 수 있습니다.

이런 상황 아래에서, 처음에 어떤 배포판을 선택하더라도 나중에 또 다른 배포판으로 전환했을 때, 많은 시간 투자없이 해당 시스템을 잘 사용하기를 희망할 수 있습니다.

한편, 윈도우에서 사용했던 경험, 주로 GUI 환경에서 시스템을 설정하던 습관은 리눅스를 배우는 데 가장 큰 장애물 중 하나입니다. 만약 처음에 배포판을 선택했을 때, 그런 습관으로 인해, GUI에서 시스템을 설정하게 하고 그런 도구를 찾아 헤매는 것은 좋은 습관은 아닐 수 있습니다.

왜냐하면, 리눅스는 많은 부분이 자원자들에 의해 코드가 작성되고, 해당 프로젝트를 진행하는 주요 작성자가 시간적 여유가 사라지면, 프로젝트 자체가 사라지는 경우가 생깁니다. 이러다 보니, 초보자를 위한 GUI 환경을 제공하는 것보다는 필요한 기능 자체를 구현하는 것이 일차적인 목표입니다.

게다가, 프로젝트를 진행하는 당사자들은 대부분 그 프로젝트에서 금전적 이익을 취하지 않아서, 판매를 전제로 프로그램을 작성하지 않기 때문에, 굳이 GUI 도구를 만들지 않을 수 있습니다.

반면에, 아주 오랫동안 지속되고 많은 사용자 층을 가진 일부 프로그램, 예를 들어, Wine은 GUI 도구 PlayOnLinux를 가지기도 합니다.

또한, 일부 배포판에서 그런 GUI 도구를 일부 개발하고 제공하기도 하지만, 다른 배포판이 그것을 채택할지 여부는 배포판 제작자의 의도에 있고, 우분투와 같은 상업적 패포판이라면, 자신의 특색을 강조하기 위해 아마도 다른 배포판에서 만든 GUI 도구를 사용하기를 꺼릴 수 있습니다.

어쨌든, 초보자들이 윈도우에서의 경험을 살리기 위해, 어쩌면 유일한 경험이기 때문에, 이런 GUI 도구를 제공하는 배포판을 선택하기도 하지만, 대체로 리눅스 배포판의 많은 선택이 있기 때문에, 어느 정도 지식을 쌓은 후에는 다른 배포판으로의 이동도 아주 자연스러운 현상입니다.

이 기사는 리눅스를 배우는 과정을 다루지만, 배포판 사이의 이동을 전제로 가능한 공통적인 방법을 다루고자 합니다.

프로그램 설치와 제거

배포판을 선택하고 나면, 프로그램을 설치 또는 제거할 수 있어야 합니다. 리눅스는 윈도우에서 처럼 해당 아이콘을 클릭함으로써 명령을 실행할 수도 있지만, 리눅스는 가상 터미널, 예를 들어, 그놈 터미널에서 명령을 실행하는 것을 더 좋아할 수 있습니다.

데비안, 우분투, 페도라, 아치 등의 배포판은 프로그램을 설치하고 제거하는 GUI 도구를 제공합니다. 이런 도구들은 꽤 오랫동안 개발이 되어서 어느 정도는 안정적인 동작을 보장합니다.

그러나, 널리 사용되는 배포판은 터미널의 명령줄에서 간단한 입력으로 시스템 업데이트/업그레이드, 프로그램 설치/제거, 검색 등의 기능을 수행할 수 있고, 마우스를 사용할 일이 없어서 대체로 효율적이라고 생각될 수 있습니다:

  • 데비안/우분투-계열 – apt, dpkg, 등
  • 페도라-계열 – dnf, rpm, 등
  • 아치-계열 – pacman, yay, 등

실제로 데비안/우분투-계열에서 사용하던 명령어에 익숙해지면, 다른 배포판에서 같은 일을 수행할 때, 옵션이 어떻게 바뀌는지를 확인함으로써 거의 같은 정도의 숙련도를 발휘할 수 있습니다.

어느 누군가는 컴퓨터를 켜면, 가장 먼저 터미널을 열어서, 다음 명령을 입력할 것입니다:

  • sudo apt update
  • sudo dnf update
  • sudo pacman -Syu

이들 명령에서 주로 사용하는 옵션은 거의 결정되어 있어서, 이를 배우는 데애는 크게 시간이 소모되지 않습니다. 단지, 나아가서 패키지를 직접 제작할 때에는 보다 많은 지식이 필요할 수 있습니다.

각 배포판마다 자주 사용하는 프로그램 설치/제거 옵션을 확인하고 싶으면, Category:Distributions에 가셔서 확인을 하십시오.

파일시스템 계층구조 표준

윈도우 시스템은 물리적 파티션과 논리적 파티션을 드라이브 문자 C, D, 등으로 연결합니다. 반면에 리눅스는 드라이브가 없고, 슬래쉬 (/)로 표현되는 루트 디렉토리 아래에 미리-정의된 표준 파일시스템 계층구조를 가집니다. 윈도우 시스템과 다르게, 리눅스 시스템은 물리적과 논리적 파티션을 루트 디렉토리와 루트 디렉토리 아래의 특정 디렉토리 또는 사용자 지정 디렉토리에 마운트 (연결)합니다.

이 계층구조는 반드시 지켜야 할 사항은 아니지만, 배포판 사이의 가능한 공통점을 유지함으로써, 사용자들의 혼란을 최소화하기 위해 제시되었고, 특이한 몇 개의 배포판을 제외하고, 완전하지는 않지만, 지켜지는 경향이 있습니다.

사용자가 파일시스템 계층구조 표준을 외울 필요는 없는데, 왜냐하면 사용자가 설치한 프로그램의 목록 또는 설정의 조정 등을 하면서 자연스럽게 알게 되기 때문이고, 적어도 이런 계층 구조를 갖고 있다는 사실은 알아 둘 필요가 있습니다.

리눅스 기본 명령어

리눅스에서 사용되는 명령어 목록은 아래에서 볼 수 있습니다:

이 중에서 자주 사용하는 것은 특별한 순서없이 아래와 같습니다:

  • ls
  • cd
  • cp
  • tar –
  • mv –
  • rm –
  • mkdir –
  • df –
  • pwd –
  • grep
  • ln
  • chown
  • chmod
  • uname
  • less
  • ps
  • su / sudo
  • which

좋은 습관일까?

로그 보기

초보 사용자들에서 벗어날 가장 중요한 사항이 무엇일까? 라는 물음에, 여러 가지 중에서, 로그를 보는 습관을, 자주는 아니더라도, 들이는 것을 추천합니다.

잘 만들어진 프로그램은 자체의 동작 사항과 문제점을 만났을 때, 그것에 대한 기록, 로그를 남깁니다. 초보자들은 보통 문제에 부딪히면 로그를 볼 생각 자체를 전혀 하지 않기 때문에, 문제의 정확한 원인을 파악할 수 없습니다.

게다가, 초보자들의 질문을 받은 또 다른 사용자는 "먼저 로그를 확인하세요"라는 가장 중요한 말을 거의 하지 않습니다. 아마도 그런 사용자들은 로그의 중요성을 알지 못하기 때문에, 습관이 되지 않았을 것이고, 자연스럽게도 다른 사람들에게 전할 수 없을 것으로 보입니다.

대부분의 문제에 대한 해결책은 정확한 로그를 인터넷에 검색함으로써 얻을 수 있습니다. 아마도 찾지 못하는 경우는 최근 변경사항, 예를 들어 이번 주일에 발생한 내용이라서, 논의된 적이 없기 때문일 것입니다.

Chroot

중급 사용자에서 벗어날 가장 중요한 사항이 무엇일까? 라는 물음에, 여러 가지 중에서, chroot를 이해하고 사용하는 것입니다.

어떤 문제점에 부딪혔을 때, 시스템이 부팅되면, 부팅과 관련된 부분이 작동하고 있어서, 로그를 찾아보고 검색 등을 통해 해결책을 찾기가 쉬울 수 있지만, 부팅이 되지 않으면, 외부의 부팅 디스크를 사용해서 부팅한 후에, 시스템 내부로 들어가서 커널 재설치, 파일 시스템 검사, 부터로더 복구 등의 시스템 복원을 하는 과정이 필요합니다.

이때, 다른 방법이 있을지라도, chroot가 무난하게 이용할 수 있는 방법입니다.

이 과정은 오히려 초보자에게 매우 필요한데, 왜냐하면 초보자는 안전한 것과 위험한 것을 구별할 능력이 대체로 없고 주로 부팅이 되지 않을 상황을 만들 가능성이 높기 때문입니다.

게다가, 초보자는 자신이 처리할 수 없는 상황에 이르면 대체로 시스템을 다시 설치하려는 손쉬운 방법을 선택하기 쉽고, 이런 경향은 초보자를 영원히 현재 위치에 남겨둘 것입니다.

만약 시스템을 다시 설치하려고 시도한다면, 내부에 중요한 자료가 없기 때문이고, 이런 과정을 시도해 보기에 더할 나위없이 좋은 상황이므로, 이 과정을 통해 리눅스 시스템에서 생기는 거의 모든 문제점을 해결할 능력을 가질 수도 있습니다.

Gui 프로그램 배우기

예를 들어, 윈도우 시스템과의 파일 교환을 위해, 여러가지 방법이 있을지라도, 가장 친숙한 삼바 서버를 이용한다고 생각해 보십시오. 아마도 특정 배포판은 그 설정을 돕기 위해, GUI 도구를 제공하고, 초기에 인기를 얻을 수 있습니다. 그러나, 초보자에게 GUI 도구가 있는 것은 진입 장벽은 낮출 수 있지만, 반대 급부로 유용한 지식을 쌓는데에는 방해가 될 수 있습니다.

삼바 서버의 설정은 거의 모든 배포판에서 /etc/smb.conf 또는 /etc/samba/smb.conf에 저장됩니다. Samba (software)의 기사에서 제공되는 두 가지 설정은 십 몇년 전과 전혀 달라지지 않았습니다. 사실, 이런 설정이 있는 곳은 대체로 정해져 있고, 그것을 찾는 것도 명령-줄에서 확인하는 것이 훨씬 간편하고 빠릅니다.

초보자들은 이 내용을 복사해서 해당 위치로 옮기는 것이 힘들 수 있어서, 그 내용을 GUI 도구를 이용해서 입력하도록 만든 배포판을 사용합니다. 그러나, GUI 도구에서 어떤 위치에서 선택이 어떤 의미를 가지는지 알지 못하면, 초보자들 입장에서 그림에 나오는 것과 똑같이 했다고 주장하더라도, 그렇게 동작하지 않는 결과를 낳기도 합니다.

GUI 도구는 편안한 점이 없진 않지만, 그런 도구를 지속적으로 사용하고 그 습관에 머물러 있으면, 리눅스를 사용함으로써 얻을 수 있는 여러가지 재미있는 지식에 거의 접근할 수 없게 될 수도 있습니다.

더구나, GUI 환경이 작동하지 않으면, 오로지 명령어로 복구할 수 밖에 없다는 사실이 항상 존재합니다.

부지런한 관리자 vs. 게으른 관리자

부지런한 관리자가 되지 말자!!

이상한 소리로 들릴 수 있겠지만, 관리자는 같은 일을 무턱되게 부지런히 하는 습관을 버려야 합니다. 대신에 같은 일을 반복적으로 처리하고 있다면, 크론, systemd timer 등을 사용하여, 컴퓨터에 대신 지시하고, 그 결과를 이메일로 통보 받는 식으로 전환할 필요가 있습니다.

과거에 정보가 부족한 시절에는 이런 설정을 위해 긴 문서를 읽어야 하는 부담이 있었지만, 지금은 거의 모든 설정이 인터넷에 공개되어 있습니다.

따라서, 반복적 작업이 필요할 때에는 자동으로 처리할 방법을 찾아서 설정하고 관리자는 단지 시기별로 확인하는 습관을 가질 필요가 있습니다.

 


 

댓글

이 블로그의 인기 게시물

리눅스 한글 입력기 (Wayland 편)

원문 보기: https://dawoum.duckdns.org/wiki/한글 입력기/On_Wayland 최근 소프트웨어들의 버전 업그레이드로 인해, X11에서도 님프 입력기에서 문제들이 발생하고 있습니다. 따라서 이제는 X11이든, Wayland이든 kime을 사용하는 것이 바람직해 보입니다!! 리눅스 생태계에서 X11에서 Wayland로의 전환은 여러 가지 새로운 장점과 단점을 만들어 냅니다. 일반 사용자들은 이런 전환이 가진 장점에 열광하기도 하지만 기존에 작동하는 메커니즘이 작동하지 않을 때 더욱 불만을 표출합니다. 리눅스에서 가장 큰 문제점은 한글 입력에 있습니다. 그러나, 이 문제는 거의 한국 사람들에 국한된 문제입니다. 물론, 중국과 일본도 비슷한 처지에 있어서 CJK로 묶어서 얘기가 되지만, 한글은 다른 두 언어에 비해 더 고려할 사항이 있어서 한글 입력기 개발에 어려움이 더해진다고 알려져 있습니다. 이런 상황 아래에서, kime과 nimf는 최근에 한국에서 개발된 두 개의 한글 입력기입니다. 먼저, 개인적인 경험을 기반으로 결론부터 얘기하자면, X11에서는 nimf를 추천합니다. Wayland에서는 kime을 추천합니다. 이유는 간단하게도, X11에서는 nimf가 더 많은 프로그램에서 올바르게 동작했지만, Wayland에서는 X11에서 잘 입력되던 프로그램에서 입력이 되지 않거나 잘못 입력되는 경우가 발생합니다. 반면에 kime은 Wayland에서 nimf가 입력하지 못하는 프로그램에서 입력이 되거나 잘못 입력되던 것이 제대로 입력되는 경우가 있기 때문입니다. 예를 들어, 그놈 Wayland에서 적어도 아래의 현상이 있습니다: gnome-calendar : nimf 입력기 전환 안됨. kime 정상 작동. nimf 이 문제는 gooroom에서 제공되는 gtk4 패치를 이용해 보십시오. kakaotalk (bottles: wine) : nimf 마지막 점을 찍으면 마지막 글자 앞에 찍힘. kime 정상 작동. alac...

Btrfs 압축 수준 설정

원문 보기:  https://dawoum.duckdns.org/wiki/Btrfs 보통, 마운트 옵션에서 compress=zstd를 사용할 경우에 압축 레벨 3를 사용하고, HDD와 느린 플래시 스토리지에 적합하다고 알려져 있습니다. 좀 더 빠른 SATA SSD는 압축 레벨 2가 적당하고, NVME는 압축 레벨 1이 적당하다고 합니다: Yup, this is it. On slow storage higher compression levels tend to yield higher total storage throughput because you spend less time bound by slow storage bandwidth, instead you spend CPU time compressing/decompressing that data. The rick is to pick a compression level that yields greater total throughput than storage bandwidth can accommodate on its own. This approach works well on bandwidth limited storage like HDD pools, slow flash nand, flash nand attached to the system via slow USB, etc. On the flip side you don't want to constrain high bandwidth storage by sending data through a compression algorithm that limits throughput so lower compression levels (like zstd:1 on nvme storage, or zstd:2 on fast SATA SSDs) are usually safe choices. —  seaQueue, Btrfs compress level, https://...

원리합계

원문 보기:  https://dawoum.duckdns.org/wiki/원리합계 등비급수 는 대표적으로 닮은 도형의 합을 구하는 것과 원리합계가 있습니다. 닮은 도형의 합은 무한등비급수에서 자세히 설명될 것입니다. 원리합계 는 원 금과 이(리) 자를 합하는 것들을 통칭하는 말입니다. 여기서는 기본 이론으로부터 다음의 네 가지 유형을 생각할 수 있습니다. 기수불 기말불 상환(할부) 연금의 현가 원리합계의 네 가지 유형에 대한 공식을 외우는 것보다는 원금과 이자를 구하는 과정과 등비급수를 만드는 과정을 이해해 두는 것이 필요합니다. 그래야만 이를 응용한 문제들에 적응할 수 있습니다. 원리합계 문제에 대한 분석 등비수열의 합인 등비급수 이므로 공비가 1인 경우와 그렇지 않은 경우로 나누어집니다. 그렇지만 공비가 1인 경우에는 변화 없이 초항이 계속 유지되는 경우이므로 이를 다루지는 않습니다. 한편, 공비가 1이 아닐 때 등비급수의 식은 다음과 같이 구해져 있습니다. \(\quad\)\(\displaystyle S_n=\frac{a_1 (1-r^n)}{1-r}\) 위 식에서 미지수로 둘 수 있는 것은 초항 , 공비 , 항수 뿐입니다. 문제의 표현에 따라 수식을 세우는 기본 방법만 이해한다면, 원리합계와 관련된 문제들은 쉽게 풀 수가 있습니다. 공비 구하기 원리합계와 관련된 문제들은 실생활 문제이므로, 공비가 얼마라는 표현을 쓰지 않습니다. 다음과 같은 형태로 표현됩니다. 현재값의 k%씩 증가한다. 현재값의 k%씩 감소한다. 첫 번째 값이 \(A\)인 경우에 두 번째 값은 다음과 같이 표현됩니다. 증가 \(\displaystyle A+A\times \frac{k}{100}=A\left(1+\frac{k}{100}\right)\) 감소 \(\displaystyle A-A\times \frac{k}{100}=A\left(1-\frac{k}{100}\right)\) 세 번째 값을 구할 때에도 두 번째 값을 \(A\)라고 치환해 버리면 항상 같은 수식을 이용할 수 있...