본문 바로가기

Linux17

Ubuntu(우분투) vim 설치 및 설정, Vundle 설치, Plugin 설정 사실 Ubuntu를 사용하시면, 실제 컴퓨터에서 vim으로 개발하는 경우는 요즘 많다고 생각은 들지 않지만, 그래도 나름 vim은 수 많은 plugin을 설치해서 이것저것 커스텀마이징 할 수 있습니다.!! 근데 경험상 좋은 IDE 급으로 커스텀 마이징을 하게되면 여기저기 오버헤드가 너무커서 저는 좀 불편하더군요. 그래도 가장 큰 장점이라면!! ssh를 사용한 원격접속할 때 vim 에디터를 사용할 수 있다는 장점이 있지요!! 노트북에서 급하게 리눅스에 ssh접속해서 개발할 때, 진짜 기본 vim으로 하려면 indent도 안되고... 이런저런 불편함이 많습니다. 노트북에서 개발하고 파일을 옮기면 되는거 아니냐~ 하실 수도 있지만, 파이썬이나 java같은 경우는 OS 독립적이기 때문에 어느정도 개발환경을 비슷.. 2020. 5. 1.
Ubuntu(우분투) 터미널 명령어 시스템(PATH) 경로에 추가하기 우분투 apt 저장소를 통해서 설치한 패키지들은 보통 자동으로 경로에 추가되어 터미널 어디서든 명령어를 실행할 수 있습니다. 하지만 직접 설치한 프로그램들은 매번 직접 디렉토리 경로를 찾아 들어가 쉘스크립트 혹은 프로그램을 직접 실행시켜야 하는 번거로움이 있습니다. 이 문제는 2가지 방법으로 간단하게 해결 가능합니다. 첫 번째 시스템 PATH에 경로를 직접 추가하는 방법입니다. Python의 가상환경인 중 하나인 tensorflow2.0 디렉토리가 있습니다. 매번 가상환경을 실행시킬 때마다 source ~/prac/tensorflow2.0/env/bin/activate 를 실행시켜주어야하는데, 경로를 매번 외울 수도 없고 다 치기도 힘듭니다 ..( ~/ 는 현재 계정 디렉토리 경로입니다. 보통의 첫 터미.. 2020. 4. 23.
Ubuntu(우분투) fail to start load kernel module이 일어난 문제점 중 하나.. 커널을 컴파일하여 변경한 후 이것저것 설정을 건들다가 fail to start load kernel module 와 같은 오류가 뜨고 실행이 되었습니다. >systemctl status systemd-modules-load.service 실행해보면 kernel module load에 실패했다는 여러 메세지와 함께 disable 상태 일 때.. 찾았던 해결방안 중 하나입니다. 구글링을 통해 여러 방안들을 찾아서 실행해봤지만 해결이 되지 않았는데, 오류 메세지를 읽고 차근차근 파일들을 확인한 결과 > sudo vi /etc/modules-load.d/modules.conf ( ubuntu의 화면이 제대로 켜지지 않는다면, ssh로 원격으로 터미널에 접속하거나, ctrl + F2릍 통해 tty2 터미널을 실행.. 2020. 3. 4.
Linux C/C++ shared library 컴파일하기 fPIC 옵션 GOT, PLT c++ g++ -shared -fPIC -o g++ -shared fPIC -o lib.so code.cpp c gcc -shared [-fPIC] -o gcc -shared [-fPIC] -o lib.so code.c -fPIC 생략가능 하지만 공유라이브러리를 만들 때는 -fPIC 옵션 사용을 권장합니다. (컴파일 종류에 따라서 -fPIC는 필수 옵션입니다.) fPIC를 사용하지 않을경우 재배치 기법을 사용하게 되는데, 간략하게 라이브러리의 주소를 현재 사용하려는 프로세스 주소에서 접근가능하게 재배치 한다는 개녑입니다. 단점은 1. 여러 프로세스가 공유라이버리를 공유하게되면 각 프로세스가 로드 할때마다 공유라이브러리의 text section(프로세스의 코드가 있는 영역)가 변해야하는데 이는 불가능하다... 2020. 2. 6.