- 0x0000007b
- 2차세계대전
- 3.20해킹
- 4대강
- 502 error
- 53빌딩
- 7840hs
- 88체육관 수영장
- ABI
- abortive close
- abortive shutdown
- AHCI
- akmods
- ALC1220
- alma linux
- alternatives
- AM4 메인보드
- AMD
- amd 7840hs
- amd 그래픽 게임용
- amd 내장 그래픽 최적화
- anonymous file
- API
- apple.com
- APT
- apt-get
- Armagnac
- Asrock
- ASTALIFT
- audacious player
- Today / Yesterday
- /
- Total
목록컴퓨터 관련/리눅스(유닉스) 일반 (16)
Linux Programmer
유닉스 표준 IEEE std 1003.1 issue 8 (SUSv5) 개정판 소개 부제 : C언어 표준과 리눅스와의 관계 유닉스 표준인 IEEE std 1003.1은 셸(shell)과 명령어, 유닉스 파일 이름 및 경로, 소스 레벨의 함수 호환성 등을 정의하는 문서다. 유닉스 표준이기도 하지만 리눅스도 이 표준을 준수하기 때문에 리눅스 개발자도 필수로 알아둬야 한다.🔔원래 유닉스 표준 문서📒란 새로운 기능을 만드는 것이 아니라 기존의 기능 중에 공통으로 지원해야 하는 것들을 정의하고 문서화 한다. 다만 공통의 기능 중에는 필수(mandatory)로 제공해야 하는 기능이 있고, 해도 되고 안해도 되는 선택적(optional) 기능이 있다. 그리고 과거의 기능 중에 표준화에 충돌이 생기는 기능은 대체된(..
이 문서는 페도라 리눅스에서 nvidia 드라이버를 손쉽게 설치하고, 커널 업데이트시 자동으로 드라이버를 업데이트 및 빌드하는 akmods 기반의 드라이버 설치를 다룬다. 여기서 사용된 리눅스는 Fedora Linux 40 버전을 기준으로 작성하였다. 일반적으로 페도라 35 이후는 이 문서의 방법대로 작업하면 된다. 만일 페도라 34 이전의 구형 버전이라면 다른 방법을 사용해야 하는데, 오래된 페도라 버전의 경우는 굳이 문서화가 필요 없다고 판단되어 생략하였다. 명령어 권한이 문서에서 내리는 모든 명령어는 root 권한으로 작업한다. 따라서 터미널을 열고 "su -" 를 실행하여 root로 권한을 변경하는 것을 권장한다. (sudo 권한이 주어져 있다면 sudo를 사용해도 되지만 계속 sudo를 타이핑하..
썬더볼트 기술은 2024년을 기점으로 볼 때 아직은 호환성 문제가 있는 편이다. 특히 PC에서는 드라이버 설치부터 문제가 발생하거나, 드라이버가 설치되었다고 하더라도 작동이 안되는 경우도 있을 수 있다. 게다가 PCIe 썬더볼트 카드는 제품을 만든 회사가 다르면 인식이 될 수도 있고 아닐 수도 있다. 예를 들어 아래는 asrock의 썬더볼트 확장 카드인데, 이를 ASUS나 MSI같은 메인보드에 꼽아도 인식이 되어야 한다. 하지만 실제로는 같은 회사인 경우도 100% 장담하기 어렵다는 문제가 있다. 더 웃긴건 핫 플러그를 제대로 지원하지 못하는 경우도 있다. 이것은 썬더볼트 칩셋 자체의 문제라고 하기보단 펌웨어나 드라이버, 혹은 운영체제의 버그인 경우도 있다. 근본적인 원인은 인텔의 썬더볼트 기술이 개방된..
CentOS7.9의 vim 7.4의 python3 지원 패키지 설치 및 빌드 CentOS 7.9에 설치되는 vim-enhanced 패키지는 python 2.x만 지원하고, python 3는 지원하지 않도록 빌드되어있다. 따라서 python3를 이용하는 플러그인 사용시 에러가 발생한다. 이를 해결하기 위해 vim 소스 파일을 다운 받아서 빌드해도 되지만, 그렇게 되면 패키지 버전 관리도 안되고, 빌드를 위해 각종 라이브러리와 헤더를 설치해야 하므로 귀찮아진다. 따라서 미리 빌드된 CentOS 7.9용 RPM 패키지를 올려둔다. 패키지 압축 파일과 설치법은 조금 아래에 적어두었다. 1. 배경 CMake, make 및 C 관련 프로그래밍 툴 강의를 갔는데, CentOS 7.9에서 당연히 vim ultisnip..
Fedora 35 에서 Intel JHL 8540 Maple ridge 칩셋이 내장된 메인보드(B550 ProArt)의 썬더볼트가 제대로 인식되지 않는 문제 해결 방법에 대한 글이다. 2022-09-29 변경사항 : kernel 5.18로 업그레이드 후에 인식 실패 문제는 사라졌음. (이 글은 커널 5.18미만에서 유효함) * 하드웨어/소프트웨어 환경 M/B : ASUS B550 ProArt OS : Fedora 35 (Kernel 5.17.5-200) BIOS 설정 : ErP 활성화(S5) => ErP 설정을 disable 시키면 Thunderbolt device failure 증상이 생기기도 한다. (이외에 BIOS를 업데이트하면 인식이 안되는 경우도 있는데, 바이오스 설정을 factory defau..
Failed to initialize NVML: Driver/library version mismatchnvidia 커널 모듈 드라이버와 라이브러리 버전의 미스매치 에러 해결 방법이다. 이 방법은 akmods를 사용하는 Fedora에서 작업한 것이다. 우분투는 다를 수도 있다. 1. nvidia 에러 메시지Nvidia 그래픽 카드를 사용하는 페도라 리눅스에서 nvidia-smi 실행시 "Failed to initialize NVML: Driver/library version mismatch" 메시지와 함께 에러가 발생하는 경우가 있다.# nvidia-smiFailed to initialize NVML: Driver/library version mismatch이런 경우에 journalctl -xe로 로그를..
인터넷의 글이나 유튜브를 보면 리눅스 배포판 순위, 혹은 리눅스 순위 등등 글이 올라올 때가 있는데, 이때 종종 distrowatch 사이트를 참조하는 경우가 많다.예를 들어 오늘자로 distrowatch.com의 순위는 다음과 같다.이 순위를 보고 "제일 인기 있는 리눅스는 MX Linux구나"라고 생각한다면 잘못된 판단이다. 만일 CentOS를 쓰려고 하는데, 겨우 15위인 거 보니 인기가 없으니 CentOS 쓰면 안 되겠네라고 생각한다면 더 큰 오류다.실제로 구글에서 "리눅스 배포판 순위"로 검색하면 디스트로왓치를 근거로 "최고 인기는 민트 리눅스입니다 다들 민트 쓰세요~" 하는 글도 볼 수 있고, 심지어 뉴스 기사도 이렇게 쓰인 것을 봤다. 그러나 저 순위는 단순하게 distrowatch.com을..
셸의 발전 순서대로 보면 다음과 같다. (shell의 한글 표기로 쉘이라고 적는 경우도 있지만 요새는 셸을 더 많이 쓰는 것 같아서 shell을 셸이라고 표기하겠다)Bourne shell : /bin/sh - POSIX shellC shell : /bin/csh - Sun microsystem (BSD)Korn shell : /bin/kshbash : /bin/bashzsh : /bin/zsh 1. bash 이전의 셸들가장 유명한 셸은 초기 유닉스에서 쓰였고, 아직까지도 현역으로 쓰이는 본셸(Bourne shell)이 있다. Steve Bourne이 만들었고, 그 이전에 유닉스의 아버지가 만들었던 Thompson shell이 있지만 지금은 쓰이지 않는다.본셸은 POSIX 표준에 기본 셸로 정해져서 POS..
파일(file)에 대한 토막글 : 파일이란 무엇인가? 토막글인데 쓰다보니 길어졌다. 보기 귀찮은 분들은 TL;DR을 참고하자. (페북에 썼다가 짬이 생긴 시간에 정리해서 블로그에 올려둡니다.) 이 글은 운영체제(OS)의 핵심 파트인 파일 시스템(FS)을 이해하는데 필요한 중요 개념인 경로(path)에 대해 굉장히 길게 설명하는 글이다. 따라서 조금 지루할 수도 있음을 밝힌다.😣 참고로 경로를 구성하는 것은 directory와 filename이며 /bin/bash 라는 파일이 있다면 "/bin"이 디렉토리, "bash"가 파일네임(혹은 basename이라고도 함)이 된다. 보통 file이라고 불리는 덩어리를 읽거나 쓰려면 메모리에 mapping(다른 말로 하면 사본을 만든다고 이해하면 됨)되어야 하는데..
CentOS7 리눅스 한글 입력기 설정CentOS 7 리눅스의 한글 입력기를 설정하는 방법을 살펴보겠다. 설정은 로그인 할 때 하는 것과 로그인 후에 제어판(control panel)에서 하는 방법이 있다. 어차피 로그인 후에 제어판에서 다시 설정하는 부분이 있으므로 제어판 설정까지 완료해야 제대로 작동한다.참고로 CentOS에서 사용하는 한글 입력기는 ibus-hangul이다. 간혹 해당 패키지가 설치되지 않아서 문제가 생기는 경우도 있으므로 그럴 경우에는 "yum -y install ibus-hangul" 명령어를 실행하여 설치하면 된다. 1. 처음 로그인에서 설정하는 부분우선 CentOS7을 설치시 한글로 설치하면 최초 로그인할 때 한글 설정 창이 나타난다. 이 과정은 큰 의미가 없다. 어차피 뒤에..
리눅스에서 5버튼 혹은 7버튼 휠 마우스를 사용하는 경우 기본 3버튼(좌우버튼 + 휠버튼)외에 인식되지 않는 경우가 많다. 윈도라면 웹 브라우저에서 앞,뒤 페이지로 이동할 때 마우스 옆에 딸린 2개의 추가 버튼을 엄지로 눌러주면 그만이지만, 리눅스는 이게 안된다. (마우스 모델에 따라서 기본으로 되는 경우도 있는데, 그럴 경우에는 굳이 이 방법을 쓰지 않아도 된다.) 따라서 웹 브라우저에서 앞뒤 페이지로 갈 때 마다 단축키인 를 대신 쓰는 경우가 많은데, 이건 매우 귀찮다. 그러나 리눅스에서도 몇 가지 작업을 해주면 마우스의 다른 버튼에 기능을 설정할 수 있다. 참고로 이 글은 레드햇 리눅스 계열(CentOS, RHEL, Fedora Linux)에서 작성하였다. 그리고 데비안 계열(Ubuntu, Mint..
리눅스 아재력 or 할배력 테스트 (2023-06-28일 업데이트) 이 테스트는 리눅스 옛날 명령어만 알고 있는지, 아니면 대체된 새로운 명령어도 알고 있는지 알려줍니다. deprecated된 옛날 명령어(일명 아재명령어 or 할배명령어)만 알고 있다면 이제 새로운 명령어와 기능들도 열심히 배우도록 합시다. 0. 사용방법 아래 명령어나 기능 중에 a가 가장 오래된 기능이고, 이후 보기들(b,c,d)은 대체된 새로운 기능이거나 명령어입니다. 예를 들어 문항에서 a, b, c를 모두 알고 있다면 최근 새로운 기능까지 모두 알고 있는 것입니다. Part 1 : 기초 명령어, 셸 1-1. 터미널 화면 clear (or scroll up) a) clear b) 아직도 화면을 지우기 위해 clear를 타이핑하고 있..
* 리눅스에서 엔비디아(nvidia) 그래픽 카드의 드라이버 설치Last updated on Sat 14 May 2022리눅스를 공부할 때 vmware, virtualbox를 설치한 뒤에 가상머신으로 리눅스를 설치하고 있는가?만일 가상머신으로 리눅스를 돌리고 있다면, 중급 이상의 리눅스 실력으로 성장하기 힘들다. 왜냐하면 가상머신은 오류가 발생되지 않도록 vmware, virtualbox에서 호환성이 높은 드라이버를 가상으로 제공하기 때문이다. 그래서 오류 메시지를 경험하지 못하고 리눅스를 사용하게 된다.그러나 회사나 연구실에서 머신러닝(machine learning)을 위해 CUDA를 사용하거나, 혹은 그래픽 처리를 위해 리눅스를 사용한다면 리눅스를 직접 설치해야만 한다. 허나 직접 설치해보면 가상머신..
얼마전 무심코 mpstat 명령을 실행했는데 시스템에 아직 설치가 안된 상태였다. 그런데 그냥 명령어가 실패했나부다 했는데........ 다음과 같은 친절한 메시지가 나온다. # mpstat bash: mpstat: command not found... Install package 'sysstat' to provide command 'mpstat'? [N/y] * Running.. * Resolving dependencies.. * Downloading update information.. mpstat명령이 들어있는 sysstat 패키지를 설치할 것이냐고 물어보는 것이 아닌가? 언제부터 추가된 기능인지는 모르겠으나 새삼 편리해서 놀랬다. 리눅스가 이렇게 친절해도 되는건가? ^^ 왠지 까칠한 리눅스가 더 ..
Fedora13에서는 spin 배포판 지원이 활발해졌습니다. 여러 다양한 목적에 맞게 spin된 배포판을 http://spins.fedoraproject.org/에서 볼 수 있습니다. (spin에는 데스크탑 화면에 따른 형태, 모바일 최적화, 보안 강화판등 여러 용도의 페도라가 지원됩니다.) * 설치 방법 추가 인터넷을 이용해서 설치하는 방법이 추가되었습니다. 사용자는 http://boot.fedoraproject.org 에서 작은 부트 이미지로 부팅하면 나머지는 필요에 따라서 인터넷으로 바로 다운받아서 설치합니다. 혹 Fedora 설치에 앞어서 try out 하려면 live CD (약 700M남짓)으로 부팅해보기 바랍니다. 그리고 마음에 맞는다면 설치 DVD로 설치해보세요. live CD는 http:/..
*TCP auto tuning 네트워크 라인 속도가 충분히 빠르다면 TCP 소켓의 버퍼가 클수록 전송속도에서 유리해진다. 그러나 프로그래머가 일일히 네트워크 라인 속도를 체크하여 소켓 버퍼를 조정하도록 프로그래밍 하는 것은 매우 귀찮은 일이다. 따라서 리눅스나 최근 운영체제들은 운영체제에서 전송속도를 감지하여 자동으로 소켓 버퍼의 크기를 늘려주거나 반대로 줄여주어 쓸데없는 메모리 낭비를 막아주는 기능이 도입되었다. 리눅스에서는 이를 TCP auto tuning이라고 하며 Linux 2.4.16 or 2.6.8 이후부터 제공되었다. TCP auto tuning의 리눅스 커널 설정 항목 값 설명 net.ipv4.tcp_moderate_rcvbuf boolean : 0=off, 1=on 수신버퍼에 TCP au..