Author's posts

Ubuntu 리눅스에 Django 어플리케이션 배포하기(Nginx+Django+uWSGI)

Ubuntu 리눅스에 Django 어플리케이션 배포하기(Nginx+Django+uWSGI) * 작업환경 OS: ubuntu 20.04 LTS Python: Python 3.8.2 uwsgi : 2.0.18 Django: 3.0.6 Nginx : 1.17.10 1. 준비작업(Django project 만들고 django app 만들기 – 배포 테스트용) virtualenv 로 간단한 프로젝트를 만든다. virtualenv 가 없으면, 아래 명령어로 설치한다. $ sudo apt install python3-virtualenv python 가상환경을 만들고 django를 설치한다. snowfox@ubuntu:~$ virtualenv …

Continue reading

Ubuntu 일반 사용자에게 sudo 권한주기.

일반 사용자에게 sudo 권한 주기 작업환경: ubuntu 20.04 LTS * 일반 사용자 계정 등록 # useradd -d /home/testuser -m -s /bin/bash -c “test” testuser root@ubuntu:/etc# passwd testuser New password: Retype new password: passwd: password updated successfully 일반 사용자인 testuser로 로그인 후에 sudo 명령을 내리면 아래처럼 sudoers 파일에 등록되지 않았다는 메시지가 나온다. testuser@ubuntu:~$ sudo -s [sudo] …

Continue reading

vmware tools 옛날버전 다운로드

vmware tools (vmware client) 옛날 버전은 아래 링크에서 다운로드 받을 수 있다. https://packages.vmware.com/tools/esx/

리눅스 timedatectl

리눅스에서 날짜/시간을 조정하는 방법에는 여러 가지가 있다. 완전 수동 방식: date 명령어로 날짜 시간을 조정하였음. 옛날(?) 방식: ntpdate, rdate 로 time 서버와 시간 동기화. 최신(?) 방식: timedatectl 1. Ubuntu 18.04 에서 timedatectl 사용하기. 전통적인 명령어인 date 명령어로 현재 날짜/시간을 확인 할 수 있다. $ date Tue Apr 21 10:57:03 KST 2020 하지만, timedatectl 명령으로는 현재 …

Continue reading

Ubuntu 18.04, nvidia cuda 설치하기.

Ubuntu 18.04, nvidia cuda 설치 1. GPU 설치 확인 Tesla V100이 설치되어 있으며, device driver가 설치되어 있지 않아서 UNCLAIMED로 표시된다. $ sudo lshw -c display *-display:1 UNCLAIMED description: 3D controller product: GV100GL [Tesla V100 SXM2 32GB] vendor: NVIDIA Corporation physical id: 9 bus info: pci@0000:00:09.0 version: a1 width: 64 bits clock: 33MHz capabilities: pm msi …

Continue reading

KVM guest에 nvidia GPU 할당할때 오류 처리

KVM guest에 nvidia GPU (path through)할당할때 오류 처리. Host OS: CentOS 7, 4 nvidia GPU Guest OS: Ubuntu 18.04 kvm guest에 Nvidia GPU를 할당하고 실행했을때, 아래 오류가 발생했다. Nvidia GPU는 아래 그림처럼 PCI 디바이스에서 찾아 볼 수 있다. 오류 내용은 아래와 같다. Error starting domain: unsupported configuration: host doesn’t support passthrough of host PCI devices …

Continue reading

[Django Recipe] django-import-export 관리자페이지 적용.

django-import-export 관리자 페이지 적용하기. django-import-export는 csv, xlsx 등의 파일을 읽어 데이타베이스에 저장하거나, 데이타베이스의 내용을 csv, xlsx등의 파일로 저장하는 기능을 제공한다. 지원되는 파일 포맷은 tablib 가 지원하는 형식이며, tablib는 Excel, JSON, YAML, HTML, Jira, TSV, ODS, CSV, DBF를 지원한다. 1. 설치 pip install django-import-export 2. 설정 project/settings.py 에 아래 내용 추가 INSTALLED_APPS = [ … ‘import_export’, …

Continue reading

[Django Recipe] 디자인 부담을 덜어주는 django-adminlte3 – part 3

django-adminlte3 – part 3 django-adminlte3와 django-mptt로 사이드바 tree 메뉴 만들기 django-mptt 설치와 설정은 django-mptt로 tree구조 만들기(https://blog.boxcorea.com/wp/archives/2605)를 참고하면 된다. 관리자페이지에서 아래와같은 tree구조를 만들었고, 이것을 사이드바에 tree 구조로 보이도록 view를 만들어본다. project/app/urls.py에 url을 등록한다. urlpatterns = [ path(‘category’, CategoryView.as_view(), name=’category’), path(‘test/’, TestView.as_view(), name=’test’), ] project/app/views.py 에 아래와 같이 view를 만든다. class CategoryView(View): template_name = ‘chaser/category.html’ def get(self, …

Continue reading

[Django Recipe] 디자인 부담을 덜어주는 django-adminlte3 part-2

웹 디자인 부담을 덜어주는 django-adminlte3 part-2 base.html 살펴보기. base.html 아래 링크를 참고하여 템플릿에서 사용할 수 있는 블럭의 이름을 알 수 있다. https://github.com/d-demirci/django-adminlte3/blob/master/adminlte3/templates/adminlte/base.html 먼저, 간단히 사이트 이름과 페이지 제목을 변경하고 싶다면, block title_outer를 설정한다. project/templates/index.html 에 title을 설정하면 index.html을 상속받는 모든 페이지에 적용되며, test.html에 설정하면 test.html을 사용하는 페이지에만 적용된다. index.html에 적용하는 경우 {% extends ‘adminlte/base.html’ %} …

Continue reading

[Django Recipe] 웹 디자인 부담을 덜어주는 django-adminlte3 – part 1

웹 디자인 부담을 덜어주는 django-adminlte3 – 1부 adminlte는 다양한 기능을 제공하는 웹템플릿으로 많은 개발자들이 사용한다. 다양한 기능을 편리하게 사용할 수있는 장점이 있으나, 많은 개발자들이 사용하므로 디자인이 비슷하다는 단점이 있다. adminlte는 현재 버전3 까지 나와 있다. * 작업환경 python: 3.6 django: 3.0 os: windows 10 1. 설치 및 설정 설치 pip install django-adminlte3 설정 django project …

Continue reading