|
openvpn 설치
서버에서 ca.crt, ta.key, client.conf, client.ovpn, client.crt, client.key 파일을 준비
위 파일들을 /etc/openvpn으로 복사
/etc/default/openvpn 파일 수정
다음 명령으로 서비스 등록, 시작
|
sudo systemctl enable openvpn@client.service sudo systemctl daemon-reload sudo service openvpn@client start |
처음 Auzre에 VM을 만들고 운영을 하다보면 생각치도 않게 Disk Size 가 부족해 질때가 있다.
특히 OS Disk 가 부족해 지면 여러가지 방법을 찾아보고는 “절망” 한다
가장 일반적으로 Power Shell로 어찌 어찌 하는 방법이 있지만……….어렵다.
그렇다고 새로 설치하기에는 할일이 많아도 너무 많다.
그러다가 OS Disk Size를 바꿀수 있는 가장 쉬운 방법을 찾게 되었다.
먼저 운영하던 머신을 중지한다. 머신에 디스크 정보를 보면 크기가 30GB 인것을 확인할수 있다.
확장할 Disk에 스냅샷을 만든다.
만든 스냅샷에 가서 디스크 만들기를 한다.
디스크를 만들때 아래쪽에 크기 부분이 있다. 그 크기를 원하는 크기로 바꾸는 세팅을 하면 된다. 단 여기서 가용성 영역을 1로 설정해야 OS 디스크 교체를 할때 디스크가 옵션에 보인다.
해당 VM에 Disk에서 OS 디스크 교체를 하면 아래 이미지처럼 스토리지의 사이즈가 바뀐것을 확인할수 있다.
용어를 정확하게 설명을 하지는 못했는데.. vm을 시작해보면 딱히 power shell이나 파티션 작업 같은 것을 하지 않아도 size가 커진 것을 확인 할수 있다.
스냅샷이 백업과 같은 개념이기 때문에 백업했다가 restore를 하면서 자동을 포멧된 영역에 restore 하기 때문이다 라고 설명하면 되려나??
우선은 dotnet sdk를 설치 해야 한다.
dotnet 5.0 까지는 brew를 통해 설치하기가 많이 애매 했지만 6.0대로 가면서 brew를 통해 설치가 가능하다.
일단 brew를 설치한다.
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
brew로 dotnet sdk 를 설치 한다.
|
brew install --cask dotnet-sdk |
그리고 vscode를 설치한다
|
brew install --cask visual-studio-code |
vscode에서 dotnet 개발을 하기 위한 확장을 설치한다.
- .NET Core Add Reference
- .NET Core Snippet Pack
- .NET Install Tool for Extension Authors
- ASP.NET Core Switcher
- ASP.NET Helper
- Auto Close Tag
- Auto Fold
- Auto Rename Tag
- Auto-Using for C#
- Bookmarks
- Bootstrap 5 Snippets
- C#
- C# Namespace Autocompletion
- C# Snippets
- C# XML Documentation Comments
- Change Language Mods
- Code Spell Checker
- colorize
- CSS Flexbox Cheatsheet
- CSS Peek
- Error Lens
- Font Awesome Auto-complete & Preview
- Git History
- GitIgnore
- GitLens – Git supercharged
- Highlight Matching Tag
- HTML (C#)
- HTML CSS Support
- HTML End Tag Labels
- Image preview
- indent-rainbow
- IntelliCode
- IntelliSense for CSS class names in HTML
- JQuery Code Snippets
- jshint
- LibMan Tools
- Live Server
- Markdown All in One
- Nuget Package Manager
- Output Colorizer
- Svg Preview
- SVN
- Todo Tree
그외 dotnet 하고는 상관 없을지 모르지만 기타 필요한 확장들이 조금 더 있다.
- Vim
- Zoom Bar
- file-size
- google-search
- Material Icon Theme
깔아야 하는 확장이 생각보다 많다.
그런데 이렇게 확장을 깔고 각종 javascript 라이브러리들을 추가 하고 나면 vscode가 맞나 싶을 정도로 느려지기 시작한다.
여기서 우리는 환경 설정에서 exclude 설정을 잘 해야 한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
|
{ "emmet.triggerExpansionOnTab": true, "emmet.includeLanguages": { "razor": "html", "aspnetcorerazor": "html", "asp": "html", }, "git.enableSmartCommit": true, "git.autofetch": true, "git.confirmSync": false, "svn.delete.ignoredRulesForDeletedFiles": [ ".vscode" ], "svn.experimental.detect_encoding": true, "editor.fontFamily": "D2Coding Ligature", "editor.renderWhitespace": "all", "editor.insertSpaces": false, "editor.formatOnType": false, "editor.fontLigatures": true, "editor.wordBasedSuggestions": true, "editor.acceptSuggestionOnCommitCharacter": true, "editor.minimap.enabled": false, "editor.linkedEditing": true, "editor.showFoldingControls": "always", "editor.wordSeparators": "/\\()\"':,.;<>~!@#$%^&*|+=[]{}`?-", "editor.detectIndentation": false, "editor.quickSuggestionsDelay": 1, "editor.bracketPairColorization.enabled": true, "editor.guides.bracketPairs": "active", "editor.cursorSmoothCaretAnimation": true, "editor.suggestSelection": "first", "editor.suggestOnTriggerCharacters": true, "editor.quickSuggestions": { "comments": "on", "strings": "on", "other": "on" }, "debug.onTaskErrors": "abort", "debug.toolBarLocation": "docked", "workbench.list.smoothScrolling": true, "workbench.tree.indent": 20, "workbench.tree.renderIndentGuides": "always", "workbench.settings.editor": "json", "workbench.editor.enablePreview": false, "workbench.editor.enablePreviewFromQuickOpen": false, "workbench.startupEditor": "newUntitledFile", "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue", "search.followSymlinks": false, "search.exclude": { "**/.DS_Store": true, "**/.git": true, "**/.idea": true, "**/.svn": true, "**/.vscode": false, "**/.zip": true, "**/*.min.js": true, "**/*.xcodeproj": true, "**/*.xcworkspace": true, "**/bower_components": true, "**/build": true, "**/class": true, "**/coverage": true, "**/locks": true, "**/logs": true, "**/Migrations": true, "**/node_modules": true, "**/Pods": true, "**/tmp": true, "**/venv": true, "**/wwwroot/lib": true, "**/yarn.lock": true }, "files.encoding": "utf8bom", "files.autoGuessEncoding": true, "files.exclude": { "**/node_modules": true, "**/bower_components": true, "**/.zip": true, "**/.git": true, "**/.svn": true, "**/.DS_Store": true, "**/.idea": true, "**/.vscode": false, "**/logs": true, "**/locks": true, "**/class": true, "**/tmp": true }, "files.watcherExclude": { "**/.git/objects/**": true, "**/node_modules/**": true, "**/node_modules/*/**": true, "**/wwwroot/lib/**": true }, "files.associations": { "*.emProject": "xml" }, "gitlens.currentLine.enabled": false, "gitlens.advanced.messages": { "suppressImproperWorkspaceCasingWarning": true }, "fontAwesomeAutocomplete.patterns": [ "**/*.cshtml" ], "fontAwesomeAutocomplete.disableTriggerWordAutoClearPatterns": [ "**/*.cshtml" ], "todo-tree.highlights.defaultHighlight": { "opacity": 50, "gutterIcon": true }, "todo-tree.highlights.customHighlight": { "FIXME": { "icon": "bug", "iconColour": "red", "foreground": "white", "background": "red" }, "WARN": { "icon": "alert", "iconColour": "orange", "foreground": "orange", "background": "white" }, "TODO": { "icon": "check", "iconColour": "green", "foreground": "green", "background": "white" }, "REVIEW": { "icon": "eye", "iconColour": "lightblue", "foreground": "black", "background": "cyan" } }, "todo-tree.general.tags": [ "FIXME", "WARN", "TODO", "REVIEW" ], "liveServer.settings.donotShowInfoMsg": true, "gitHistory.showFileHistorySplit": false, "docomment.syntax": "single", "docomment.activateOnEnter": false, "autofold.pack": false, "autofold.types": [ { "ext": ".js", "level": 2 }, { "ext": ".cs", "level": 3 } ], "[javascript]": { "editor.defaultFormatter": "vscode.typescript-language-features" }, "[jsonc]": { "editor.defaultFormatter": "vscode.json-language-features" }, "javascript.suggestionActions.enabled": false, "typescript.suggestionActions.enabled": false, "html.autoClosingTags": true, "editor.formatOnSave": true, "colorize.exclude": [ "**/wwwroot/lib", "**/.git", "**/.svn", "**/.hg", "**/CVS", "**/.DS_Store", "**/.git", "**/node_modules", "**/bower_components", "**/tmp", "**/dist", "**/tests" ], "todo-tree.filtering.excludeGlobs": [ "**/node_modules", "**/wwwroot/lib" ], "html-css-class-completion.excludeGlobPattern": "**/*.min.*", "html.format.templating": true, "[html]": { "editor.defaultFormatter": "vscode.html-language-features" }, "html.format.wrapLineLength": 120, "editor.rulers": [ 120 ], } |
많은 개인적인 설정을 덜어내기는 했지만 dotnet으로 개발하는데 필요한 옵션들을 대부분 추가했고 특히 속도때문에 exclude 해야 하는 부분들을 포함해봤다.
특히 위에 setting.json을 보면 exclude 하는 경로중에 **/wwwroot/lib 라는 경로가 있는데 이는 내가 libman 을 통해 javascript 라이브러리를 wwwroot/lib 아래에 위치하게 하기 때문이다.
|
{ "version": "1.0", "defaultProvider": "unpkg", "libraries": [ { "library": "@fortawesome/fontawesome-free@latest", "destination": "wwwroot/lib/_fortawesome" }, { "library": "tinymce@latest", "destination": "wwwroot/lib/tinymce" } ] } |
|
링크
|