[ ubuntu ] 우분투 부트로더의 부팅 순서 변경하기

리눅스를 윈도우 등과 멀티부팅할 경우 리눅스를 마직막으로 설치하는 것이 일반적임으로, 부트로더는 리눅스의 부트로더인 Grub를 사용하게 된다. 이 경우 기본 부팅순서는 리눅스 다음에 윈도우 등이 나오게 된다.
이 부팅 순서를 바꾸고자 한다면 다음과 같이 Grub를 수정해 주면 된다.
* 멀티부팅과 관련된 사항은 ‘[ ubuntu ] Windows와 Linux의 멀티부팅‘을 참고.

우분투에서는 GNU프로젝트의  부트로더인 GRUB를 사용한다.
이 GRUB의 부팅 우선순위를 바꾸면 원하는 OS를 먼저 부팅할 수 있다.

1. 먼저 부팅을 할때 부팅 리스트를 확인한다.
필자의 경우 Ubuntu와 Window10 이 설치되어 이고 부팅시 부트메뉴는 다음과 같이 표시된다.

*Ubuntu
 Ubuntu용 고급 설정
 Memory test (memtest86+)
 Memory test (memtest86+, serial console 115200)
 Windows 10 (loader) (/dev/sda1에 있는)

*(스타)표시가 있는 Ubuntu가 먼저 부팅이 되도록 세팅되어 있다.
여기서 Windows 10에 *(스타)표시를 옮겨 윈도우가 먼저 부팅되게 하면 된다.
현재 윈도우는 5번째 줄에 있기 때문에 *Ubuntu를 0으로 시작하면 윈도우는 4가 된다. Grub를 수정하여 4를 default로 해주면 윈도우가 우선 부팅되게 된다.

2. 다음과 같이 명령어를 실행하여 grub를 에디터로 open한다. 필자의 경우는 vi에디터를 사용했다.

$sudo vi /etc/default/grub

문서가 open되면 상단에 다음과 같은 문구를 확인할 수 있다.

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

여기서 첫번째 줄에 있는 GRUB_DEFAULT=0를 GRUB_DEFAULT=4로 수정한 후 저장한다.

3. 마지막으로 다음 명령으로 grub 업데이트를 적용한다.

sudo update-grub

위 명령을 실행하면 다음과 같은 메시지가 나타나고 업데이트를 마무리 한다.

grub 설정 파일을 형성합니다 ...
리눅스 이미지를 찾았습니다: /boot/vmlinuz-4.13.0.37-generic
initrd 이미지를 찾았습니다: /boot/initrd.img-4.13.0.37-generic
리눅스 이미지를 찾았습니다: /boot/vmlinuz-4.13.0.26-generic
initrd 이미지를 찾았습니다: /boot/initrd.img-4.13.0.26-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Windows 10에서 /dev/sda1를 찾았습니다.
완료되었습니다.

4. rebooting을 하면 윈도우에 *(스타)가 표시되고 우선 순위가 변동된 것을 확인할 수 있습니다.

 Ubuntu
 Ubuntu용 고급 설정
 Memory test (memtest86+)
 Memory test (memtest86+, serial console 115200)
*Windows 10 (loader) (/dev/sda1에 있는)

[ ubuntu ] 우분투 버전 업그레이드 방법

4월 26일 우분투 18.04 LTS가 릴리즈 된다는 소식이 들려오고 있다. 하위 버전을 사용하고 있다면 다음 내용을 참고하여 터미널을 통해 간단히 업그레이드를 할 수 있다.

  1. 업그레이드 전에 update-manager-core가 설치되어 있어야 한다. 만일 설치 여부를 알 수 없거나 설치한 적이 없다면 다음과 같이 설치를 진행한다.
    $ sudo apt install update-manager-core
  2. 다음 /etc/update-manager/release-upgrades의 prompt옵션이 normal로 되어 있는지 확인하고, 만일 nomal로 되어 있지 않다면 Prompt = nomal로 변경한 후 저장한다.
    다음 명령으로 release-upgrades를 에디터로 열 수 있다.

    $ sudo nano /etc/update-manager/release-upgrades
  3. 이제 다음 명령으로 업그레이드를 시작합니다.
    $ sudo do-release-upgrade

    네트워크 사정에 따라서 차이가 나지만 시간이 다소 걸린다.
    업그레이드 과정에서 진행 여부 등을 묻는 과정이 있는데 모두 Y를 선택하면 무리 없이 업그레이드가 이루어 진다.

    설치가 끝나면 리부팅을 하고 버전을 확인해 본다.
    버전 확인 방법은 “우분투 버전 확인 명령어“를 참고하기 바란다.

[ Tools ] NotePad++ 플러그인 메니저 설치 방법

NotePad++ 사용 중 플러그인 메니저 메뉴를 찾을 수 없어 당황해 하는 사용자가 있다. 이제는 플러그인 메니저가 노트패드++ 설치시 함께 설치되지 않고 별도로 설치해야 사용할 수 있다.

플러그인 메니저를 다운로드 받아 설치하는 방법은 다음과 같다.

1. Plugin Manager 다운로드. https://github.com/bruderstein/nppPluginManager/releases
2. 압축을 풀면 plugins와 updater라는 두개의 폴더를 확인할 수 있다.
3. 먼저 plugins 폴더 내에 있는 PluginManager.dll 파일을 노트패드++가 설치되어 있는 폴더의 plugins폴더에 복사한다.
4. 다음 updater폴더 내에 있는 gpup.exe파일을  노트패드++가 설치되어 있는 폴더의 updater폴더에 복사한다.
5. 노트패드++를 재실행 한다.

노트패드++의 플러그인>Plugin Manager>Show Plugin Manager를 선택하면 사용할 수 있다.

만일 updater를 사용하지 않는 경우 4번 항목은 생략한다.

[ windows10 ] “폴더가 존재하지 않습니다”라는 오류창이 뜨면서 폴더를 삭제할 수 없을 때

탐색기에서 폴더를 삭제하려고 하면 “폴더가 더 이상 존재하지 않습니다.”등 이와 유사한 오류창이 뜨면서 삭제가 안되는 경우가 있다. 이런 경우 삭제방법에 대해서 설명이다.

1. CMD 창을 연다. ( ctrl + R 클릭 후 실행탕에서 cmd라고 입력하고 enter key를 누른다.)
2. 해당 폴더로 이동한다. ( cd 명령으로 이동 )
3. dir /x 명령 실행. ( dir을 옵션없이 실행했을 때와는 다르게 폴더명 앞에 ~가 붙은 다른 이름이 보인다. )
4. rmdir /s [3에서 확인한 별명] 를 실행.

리눅스를 접한 경험이 있다면 “~가 붙은 다른 이름”이 무엇인지 짐작할 수 있을 것이다.
바로 리눅스의 alias이다.
위도우에서는 긴 폴더명이나 파일명에 자동으로 alias를 할당한다.
dir /x명령을 통해 alias를 확인한 후 그 alias로 삭제 작업을 진행하는 것이다.

[ CSS3 ] 스타일시트 스타일 가이드

정해진 규칙이 없이 생각 나는 대로 코딩을 하다보면 가독성이 현저히 떨어지는 것을 알 수 있다. 이는 어떤 언어이건 마찬가지다. 이런 이유때문에 많은 많은 기업이나 개발자 들이 코딩 스타일 가이드를 제시하고 있다. 그 중 CSS의 스타일 가이드에 관해 알아보자.

1. attribute(속성) 이름순으로 정렬.
2. “attribute(속성): value(값);”의 기본 형식에서
1) 콜론(:) 뒤 공백 1칸 뛰어 쓰기..
2) 마지막 속성 값 뒤에 세미콜론(;) 사용.
3. Selector(선택자) 단위 개행.
4. 블럭 간 빈줄 삽입.
5. single quotation  사용.

6. value가 없을 경우 none보다 0를 사용.
7. class이름에 camel notation 보다는 hyphen(-)을 사용.
8. 블럭 주석보다 라인 주석 권장.
9. ID는 안티패턴으로 간주됨으로 사용하지 않는다.
사용하는 것 자체는 가능하지만 재사용이 불가능 하기 때문이다.

[ WooGee 생각 ]
일반적인 style guide는 위와 같다. 하지만 상기 1번의 속성을 이름순으로 정렬하는 것에는 반대한다.
최근 대표적이 에디터들도 알파벳 순으로 정렬하지 않으면 귀찮은 안내 문구가 뜨기도 한다. 왜 이런 가이드가 난무 하는지는 모르겠으나 무조건 아파벳 순으로 정렬하면 가독성이 현저하게 떨어진다.
따라서 속성의 순서는 알파벳 순이 아닌 기능별로 순서를 정하는 것을 권장한다. 기능별 순서는 외형에서 상세형태의 순으로 작성한다.
모질라 파이어폭의 CSS선언 순서를 참고하면 이해가 쉬울 것이다.
1. Display & Flow
2. Positioning
3. Dimensions
4. Margins, Padding, Borders, Outline
5. Typographic Styles
6. Backgrounds
7. Opacity, Cursors, Generated Content

참고로 네이버의 CSS선언 순서는 다음과 같다.
1. display
2. overflow
3. float
4. position
5. width/height
6. padding/margin
7. border
8. background
9. color/font
10. animation
11. 기타

모질라와 네이버 방식에 큰차이는 없다.
두가지 방식의 공통점은 레이아웃>테두리>베경>글꼴>동작 순으로 작성한다는 것이다.

어떤 형식을 따라도 상관 없으나 가장 중요한 것은 가독성을 높이고, 지속적으로 사용이 가능해야 한다는 것이다.

W3C의 CSS의 유효성 검사 : http://jigsaw.w3.org/css-validator/
이 곳은 가이드 적용을 검사하는 곳이 아니라 문법적 오류가 없는지를 검사해 주는 곳이다. URL이나 파일업로드, 직접입력 방식으로 CSS의 문법을 검사해준다.