<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Bubobubo</title>
    <link>https://bubobubo.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Wed, 12 Aug 2026 02:48:43 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>0wl</managingEditor>
    <image>
      <title>Bubobubo</title>
      <url>https://t1.daumcdn.net/cfile/tistory/23232B4C5786614003</url>
      <link>https://bubobubo.tistory.com</link>
    </image>
    <item>
      <title>DWVA Installation</title>
      <link>https://bubobubo.tistory.com/37</link>
      <description>&lt;h3&gt;DVWA란?&lt;/h3&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 640px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9951E13E5A675E780B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9951E13E5A675E780B&quot; width=&quot;640&quot; height=&quot;448&quot; filename=&quot;캡처.PNG&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Damn Vulnerable Web Application의 약자로 PHP와 MySQL로 만들어진 웹 애플리케이션 취약점을 구현한 웹 애플리케이션이다. 아래의 주소에서 자세한 정보를 확인할 수 있으며 최신버전을 다운받을 수 있다.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.dvwa.co.uk/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://www.dvwa.co.uk/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/ethicalhack3r/DVWA&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://github.com/ethicalhack3r/DVWA&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;환경구성&lt;/h3&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;DVWA를 설치하는 환경은 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;Ubuntu Xenial&lt;/span&gt;&lt;/b&gt;을 대상으로 한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h4&gt;패키지 설치&lt;/h4&gt;&lt;p&gt;DVWA를 동작시키기 위해 웹 서버(여기서는 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;nginx&lt;/span&gt;&lt;/b&gt;를 사용)와 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;SQL&lt;/span&gt; &lt;/b&gt;그리고 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;PHP&lt;/span&gt;&lt;/b&gt;를 설치한다.&lt;/p&gt;&lt;p&gt;DVWA의 설치 전 요구사항은 &lt;a href=&quot;https://github.com/ethicalhack3r/DVWA#installation&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;여기&lt;/a&gt;를 참고하자.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;sudo apt install nginx&lt;/p&gt;&lt;p&gt;sudo apt install php php-mysqli php-gd&lt;/p&gt;&lt;p&gt;sudo apt install mysql-server&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h4&gt;Nginx 및 php-fpm 설정&lt;/h4&gt;&lt;p&gt;Nginx의 설정파일인 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;/etc/nginx/nginx.conf&lt;/span&gt;&lt;/b&gt;의 내용을 보면 다음과 같다.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;user www-data;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;worker_processes auto;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;pid /run/nginx.pid;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;events {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; worker_connections 768;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # multi_accept on;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;http {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Basic Settings&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;...&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ##&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Virtual Host Configs&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ##&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; include /etc/nginx/conf.d/*.conf;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;include /etc/nginx/sites-enabled/*;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;첫 줄은 nginx의 process를 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;www-data&lt;/span&gt;&lt;/b&gt; 권한으로 실행하는 것을 의미한다. 이를 참고하여 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;php-fpm&lt;/span&gt;&lt;/b&gt;의 설정에서 요구하는 실행 권한을 일치시켜야 된다. 위의 마지막 라인의 include 설정을 보면 sites-enabled 하위의 모든 파일을 설정파일로 지정하고 있다. 해당 경로에는 default 파일이 존재하며 이 default 파일은 sites-available/default 파일의 링크 파일이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;결론은 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;sites-available/default&lt;/span&gt;&lt;/b&gt; 파일을 수정하면 된다는 말이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아래는 해당 파일의 기본 내용에서 &lt;a href=&quot;http://php.net/manual/en/install.unix.nginx.php&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;PHP와 nginx 설정예시&lt;/a&gt;를 참고하여 작성한 설정파일이다. 볼드체로 표시된 부분을 작성해주면된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;# Default server configuration&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;server {&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; listen 80 default_server;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; listen [::]:80 default_server;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # SSL configuration&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # listen 443 ssl default_server;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # listen [::]:443 ssl default_server;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Note: You should disable gzip for SSL traffic.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # See: https://bugs.debian.org/773332&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Read up on ssl_ciphers to ensure a secure configuration.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # See: https://bugs.debian.org/765782&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Self signed certs generated by the ssl-cert package&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Don't use them in a production server!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # include snippets/snakeoil.conf;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; root /var/www/html;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Add index.php to the list if you are using PHP&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; index &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;index.php&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt; index.html index.htm index.nginx-debian.html;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; server_name _;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; location / {&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # First attempt to serve request as file, then&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # as directory, then fall back to displaying a 404.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try_files $uri $uri/ =404;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; location ~* \.php$ {&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fastcgi_index&amp;nbsp; &amp;nbsp;index.php;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fastcgi_pass&amp;nbsp; &amp;nbsp; unix:/var/run/php/php7.0-fpm.sock;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; include&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;fastcgi_params;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fastcgi_param&amp;nbsp; &amp;nbsp;SCRIPT_FILENAME&amp;nbsp; &amp;nbsp; $document_root$fastcgi_script_name;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fastcgi_param&amp;nbsp; &amp;nbsp;SCRIPT_NAME&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $fastcgi_script_name;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;...&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;index 지시자를 통해서 index.php 파일을 index 파일로 등록시켜주고 PHP파일을 사용하기위해 request가 php로 끝날경우 현재 설치된 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;php-fpm&lt;/span&gt;&lt;/b&gt;이 연&amp;nbsp;&lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;unix socket&lt;/span&gt;&lt;/b&gt;에 php파일을 전달하여 php 파일을 fpm이 처리할 수 있게 하는 내용이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;php-fpm의 설정 파일은 Ubuntu(php7.0)의 경우 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;/etc/php/7.0/fpm/pool.d/www.conf&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;에 위치한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;; Unix user/group of processes&lt;/p&gt;&lt;p&gt;; Note: The user is mandatory. If the group is not set, the default user's group&lt;/p&gt;&lt;p&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;will be used.&lt;/p&gt;&lt;p&gt;&lt;b&gt;user = www-data&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;group = www-data&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;; The address on which to accept FastCGI requests.&lt;/p&gt;&lt;p&gt;; Valid syntaxes are:&lt;/p&gt;&lt;p&gt;;&amp;nbsp; &amp;nbsp;'ip.add.re.ss:port'&amp;nbsp; &amp;nbsp; - to listen on a TCP socket to a specific IPv4 address on&lt;/p&gt;&lt;p&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a specific port;&lt;/p&gt;&lt;p&gt;;&amp;nbsp; &amp;nbsp;'[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on&lt;/p&gt;&lt;p&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a specific port;&lt;/p&gt;&lt;p&gt;;&amp;nbsp; &amp;nbsp;'port'&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- to listen on a TCP socket to all addresses&lt;/p&gt;&lt;p&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (IPv6 and IPv4-mapped) on a specific port;&lt;/p&gt;&lt;p&gt;;&amp;nbsp; &amp;nbsp;'/path/to/unix/socket' - to listen on a unix socket.&lt;/p&gt;&lt;p&gt;; Note: This value is mandatory.&lt;/p&gt;&lt;p&gt;&lt;b&gt;listen = /run/php/php7.0-fpm.sock&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;...&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위의 설정파일에서 참고할 수 있듯 php-fpm의 유저 및 그룹 권한은 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;www-data&lt;/span&gt;&lt;/b&gt;로 실행되며 이는 nginx와 일치하여야 한다. 또한 php-fpm은 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;unix socket&lt;/span&gt;&lt;/b&gt; 형태로 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;listen&lt;/span&gt;&lt;/b&gt;하고 있음을 알 수 있다. 주소:포트 형태로 listen 할 수도 있다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이렇게 설정을 완료했다면 php 파일이 제대로 웹서버에서 작동하는지 확인해보자.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Ubuntu에서 nginx의 기본 서비스 경로는 /var/www/html이며 nginx 설정&amp;nbsp;파일에서 확인할 수 있다. 다음과 같이&amp;nbsp;간단한 php파일을 생성한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;echo &quot;&amp;lt;?php phpinfo(); ?&amp;gt;&quot; &amp;gt; /var/www/html/test.php&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이런 화면이 나온다면 성공이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 640px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9993BE495A67644B12&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9993BE495A67644B12&quot; width=&quot;640&quot; height=&quot;515&quot; filename=&quot;캡처phpinfo.PNG&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h4&gt;DVWA 설치&lt;/h4&gt;&lt;p&gt;DVWA의 현재 github 프로젝트를 가져오기 위해 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;git clone&lt;/span&gt;&lt;/b&gt; 명령을 통하여 전체를 가져온다. 물론 해당 프로젝트를 nginx의 서비스 경로에 위치시켜야 한다.&lt;/p&gt;&lt;p&gt;원활한 실습을 위해서는 적절한 권한이 부여되야 된다. 그렇기 때문에 서버의 실행권한인 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;www-data의 소유&lt;/span&gt;&lt;/b&gt;로&amp;nbsp;DVWA 디렉터리 전체를 변경한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;git clone https://github.com/ethicalhack3r/DVWA&lt;/p&gt;&lt;p&gt;sudo chown -R www-data:www-data DVWA&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;또한 DVWA의 설치 가이드에는 다음과 같은 사항이 언급되어 있다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;Please make sure your config/config.inc.php file exists. Only having a config.inc.php.dist will not be sufficient and you'll have to edit it to suit your environment and rename it to config.inc.php. Windows may hide the trailing extension.&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;DVWA의 디렉터리 하위 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;config/config.inc.php&lt;/span&gt;&lt;/b&gt; 파일이 존재하여야 만이 제대로 실행될 수 있다는 의미이다. 그러므로 config.inc.php.dist 파일을 복사하여 config.inc.php파일을 생성하고 해당 파일의 내용을 자신의 환경에 맞게(DB관련 설정) 수정하면 된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;cp ./config/config.inc.php.dist ./config/config.inc.php&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이렇게 설정이 다 완료되면 다음과 같이 초기 화면을 볼 수 있다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 640px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/992857395A676A9E01&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F992857395A676A9E01&quot; width=&quot;640&quot; height=&quot;489&quot; filename=&quot;캡처3.PNG&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Setup Check 항목에서 PHP관련 설정 상태를 확인 할 수 있다. 이러한 설정은 php-fpm의 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;php.ini&lt;/span&gt;&lt;/b&gt; 파일의 설정을 수정하면 즉각 해당 화면에 반영될 것이다.&lt;/p&gt;&lt;p&gt;이후 database setup 버튼을 통해 설정을 완료한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;로그인 창에서 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;admin/password&lt;/span&gt;&lt;/b&gt;를 입력하고 로그인하면 DVWA를 이용할 수 있다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 640px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9930633A5A676B671C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9930633A5A676B671C&quot; width=&quot;640&quot; height=&quot;507&quot; filename=&quot;캡처4.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 640px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99B6B33A5A676B6633&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99B6B33A5A676B6633&quot; width=&quot;640&quot; height=&quot;492&quot; filename=&quot;캡처5.PNG&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;참고&lt;/h3&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/ethicalhack3r/DVWA&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://github.com/ethicalhack3r/DVWA&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/ethicalhack3r/DVWA/issues/151&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://github.com/ethicalhack3r/DVWA/issues/151&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://php.net/manual/en/install.unix.nginx.php&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://php.net/manual/en/install.unix.nginx.php&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-in-ubuntu-16-04&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-in-ubuntu-16-04&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Web/DVWA</category>
      <author>0wl</author>
      <guid isPermaLink="true">https://bubobubo.tistory.com/37</guid>
      <comments>https://bubobubo.tistory.com/37#entry37comment</comments>
      <pubDate>Wed, 24 Jan 2018 01:04:31 +0900</pubDate>
    </item>
    <item>
      <title>WebStorm 사용시 webgl 사용 설정하기</title>
      <link>https://bubobubo.tistory.com/36</link>
      <description>&lt;p&gt;&lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;WebStrom&lt;/span&gt;&lt;/b&gt; 사용시 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;webgl&lt;/span&gt;&lt;/b&gt; 코드를 입력하면 autocomplete 기능이나 syntax관련 기능이 원활하지 않다. 이를 사용하려면 WebStrom에 해당 프로젝트가 webgl을 사용한다고 명시하면 된다. 다음과 같은 경로로 들어가 webgl 설정을 체크하면 된다.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: dashed; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Settings | Languages &amp;amp; Frameworks | JavaScript | Libraries&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;참고&lt;/h3&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://softwareengineering.stackexchange.com/questions/271827/how-to-inform-webstorms-autocomplete-about-webglrenderingcontext&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://softwareengineering.stackexchange.com/questions/271827/how-to-inform-webstorms-autocomplete-about-webglrenderingcontext&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/webstorm/2014/07/how-webstorm-works-completion-for-javascript-libraries/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://blog.jetbrains.com/webstorm/2014/07/how-webstorm-works-completion-for-javascript-libraries/&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Tools</category>
      <author>0wl</author>
      <guid isPermaLink="true">https://bubobubo.tistory.com/36</guid>
      <comments>https://bubobubo.tistory.com/36#entry36comment</comments>
      <pubDate>Fri, 6 Oct 2017 16:50:33 +0900</pubDate>
    </item>
    <item>
      <title>MySQL Installer 사용시 MySQL Server 및 Workbench 설치 실패</title>
      <link>https://bubobubo.tistory.com/35</link>
      <description>&lt;p&gt;MySQL을 Windows Installer를 통해 설치를 시도 했으나 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;Server&lt;/span&gt;&lt;/b&gt;와 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;Workbench&lt;/span&gt;&lt;/b&gt; 설치가 실패했다. 나의 경우 설치 로그를 살펴보니 Workbench는 &lt;b&gt;&lt;a href=&quot;https://www.microsoft.com/en-us/download/details.aspx?id=42642&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;.NET Framework 4.5.2&lt;/a&gt;&lt;/b&gt;가 설치 되지 않은 문제였다. 또한 이미&amp;nbsp;&lt;b&gt;&lt;a href=&quot;https://www.microsoft.com/en-us/download/details.aspx?id=40784&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;Visual C++ Redistributable Packages for Visual Studio 2013&lt;/a&gt;&lt;/b&gt; 설치가 되어 있었지만 Server는 계속 설치가 실패 되었다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/questions/45275872/mysql-5-7-19-not-installing-giving-same-error&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;이 글&lt;/a&gt;에 따르면&amp;nbsp;Visual C++ Redistributable Packages for Visual Studio 2013의 &lt;b&gt;x86 및 x64를 같이&lt;/b&gt;&amp;nbsp;설치해야 한다고 한다. 2개를 설치하고나서 Server의 설치가 진행되었다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;또한 내 경우에는 노트북을 사용해서 설치를 진행하다보니 Server의 configuration 화면의 &lt;b&gt;Next 버튼&lt;/b&gt;이 보이질 않았다. 이 경우에도 &lt;a href=&quot;https://bugs.mysql.com/bug.php?id=85973&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;이 글&lt;/a&gt;을 참조하면 되겠다. 디스플레이 설정에서 폰트 크기를 &lt;b&gt;125%에서 100%로 변경&lt;/b&gt;하면 Next 버튼이 보이게 된다.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;참고&lt;/h3&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://stackoverflow.com/questions/45275872/mysql-5-7-19-not-installing-giving-same-error&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://stackoverflow.com/questions/45275872/mysql-5-7-19-not-installing-giving-same-error&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://bugs.mysql.com/bug.php?id=85973&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://bugs.mysql.com/bug.php?id=85973&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Windows/Trouble Shooting</category>
      <category>MySQL</category>
      <category>Windows</category>
      <author>0wl</author>
      <guid isPermaLink="true">https://bubobubo.tistory.com/35</guid>
      <comments>https://bubobubo.tistory.com/35#entry35comment</comments>
      <pubDate>Sat, 9 Sep 2017 16:53:06 +0900</pubDate>
    </item>
    <item>
      <title>Upgrade python package using pip</title>
      <link>https://bubobubo.tistory.com/33</link>
      <description>&lt;h3&gt;개요&lt;/h3&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 640px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/236A193D58C4D6AD28&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F236A193D58C4D6AD28&quot; width=&quot;640&quot; height=&quot;329&quot; filename=&quot;캡처.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;pip&lt;/span&gt;&lt;/b&gt;는 파이썬에서 사용하는 패키지 관리 도구이다. 이 글은 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;pip&lt;/span&gt;&lt;/b&gt;를 이용하여 현재 설치된 파이썬 패키지를 일괄적으로 버전 업데이트 하는 방법 소개를&amp;nbsp;목적으로 한다. 이에 앞서 pip에서 사용할 옵션과 명령을 살펴보고, 이후&amp;nbsp;설치된 파이썬 패키지를 업데이트 한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;pip 옵션 및 명령&lt;/h3&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;pip의 기능을 살펴보기 위해 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;pip --help&lt;/span&gt;&lt;/b&gt;를 통해 살펴보면 다음과 같다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;Usage:&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; pip &amp;lt;command&amp;gt; [options]&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;Commands:&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &lt;span style=&quot;background-color: rgb(70, 115, 255); color: rgb(255, 255, 255);&quot;&gt;install&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Install packages.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; download &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Download packages.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; uninstall &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Uninstall packages.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &lt;span style=&quot;background-color: rgb(70, 115, 255); color: rgb(255, 255, 255);&quot;&gt;freeze&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Output installed packages in &lt;span style=&quot;background-color: rgb(70, 115, 255); color: rgb(255, 255, 255);&quot;&gt;requirements format&lt;/span&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; list &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List installed packages.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; show &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Show information about installed packages.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; check &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Verify installed packages have compatible dependencies.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; search &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Search PyPI for packages.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; wheel &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Build wheels from your requirements.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; hash &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Compute hashes of package archives.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; completion &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A helper command used for command completion.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; help &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Show help for commands.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;명령어 중에서 사용할 것은 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;install&lt;/span&gt;&lt;/b&gt; 명령어와 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;freeze&lt;/span&gt;&lt;/b&gt; 명령어를 사용할 것이다. install 명령어에서는 pip install &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;--upgrade&lt;/span&gt;&lt;/b&gt;(-U)&amp;nbsp;옵션과 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;--requirement&lt;/span&gt;&lt;/b&gt;(-r) 옵션을 통해서 설치되어 있는 파이썬 패키지들을 업데이트 한다. &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;--upgrade&lt;/span&gt;&lt;/b&gt;는 말 그대로 기존의 패키지를 버전 업하는 것이며 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;--requirement&lt;/span&gt;&lt;/b&gt; 옵션은 pip의 requirement 형식의 파일로 부터 패키지 이름과 버전을 입력으로 받아 install 명령어를 수행하는 것이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;먼저 freeze 명령어를 통해 requirement 파일을 만들어보자.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&lt;b&gt;$ pip3 freeze &amp;gt; pip_requirement&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다음은 pip requirement 형식 파일을 살펴보자. freeze 명령어는 수행 시점의 패키지 목록과 각 패키지의 버전을 표시하는데 이를 개발 환경 구축과 같은 경우에는 적합하나 패키지를 전체적으로 업데이트 하기 위해서는 버전 명시가 없어야 된다. 그러므로 정규표현식을 통해서 버전 명시부분을 지우고 패키지 이름만을 남기도록 하자.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;appdirs==1.4.3&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;apturl==0.5.2&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;asn1crypto==0.21.1&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;beautifulsoup4==4.5.3&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;blinker==1.4&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;bottle==0.12.13&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;Brlapi==0.6.4&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;cffi==1.9.1&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;chardet==2.3.0&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;checkbox-support==0.33.0&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;click==6.7&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;command-not-found==0.3&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;cryptography==1.8.1&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;defer==1.0.6&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;feedparser==5.2.1&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;Flask==0.12&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;guacamole==0.9.2&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;html5lib==0.999999999&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;httplib2==0.10.3&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;idna==2.5&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;itsdangerous==0.24&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;Jinja2==2.9.5&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;language-selector==0.1&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;louis==2.6.4&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;lxml==3.7.3&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;...&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 640px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2167813D58C4EB7C3E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2167813D58C4EB7C3E&quot; width=&quot;640&quot; height=&quot;480&quot; filename=&quot;캡처.PNG&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;Upgrade packages&lt;/h3&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이후 pip 명령어를 통해서 다음명령어를 통해서 패키지 업데이트를 수행한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&lt;b&gt;$ sudo pip3 install --upgrade -r pip_requirement&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;Requirement already up-to-date: appdirs in /usr/local/lib/python3.5/dist-packages (from -r pip_requirement (line 1))&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;Requirement already up-to-date: apturl in /usr/lib/python3/dist-packages (from -r pip_requirement (line 2))&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;Requirement already up-to-date: asn1crypto in /usr/local/lib/python3.5/dist-packages (from -r pip_requirement (line 3))&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;Requirement already up-to-date: beautifulsoup4 in /usr/local/lib/python3.5/dist-packages (from -r pip_requirement (line 4))&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;Requirement already up-to-date: blinker in /usr/local/lib/python3.5/dist-packages (from -r pip_requirement (line 5))&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;Requirement already up-to-date: bottle in /usr/local/lib/python3.5/dist-packages (from -r pip_requirement (line 6))&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;Requirement already up-to-date: Brlapi in /usr/lib/python3/dist-packages (from -r pip_requirement (line 7))&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;Requirement already up-to-date: cffi in /usr/local/lib/python3.5/dist-packages (from -r pip_requirement (line 8))&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;...&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위의 방법이외에도 여러가지 방법이 참조한 페이지에 열거되어 있다. 다른 방법을 원한다면 아래의 참조 링크를 참고하면 된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;참고&lt;/h3&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/questions/2720014/upgrading-all-packages-with-pip&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://stackoverflow.com/questions/2720014/upgrading-all-packages-with-pip&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Language/Python</category>
      <category>PIP</category>
      <category>Python</category>
      <author>0wl</author>
      <guid isPermaLink="true">https://bubobubo.tistory.com/33</guid>
      <comments>https://bubobubo.tistory.com/33#entry33comment</comments>
      <pubDate>Sun, 12 Mar 2017 14:51:27 +0900</pubDate>
    </item>
    <item>
      <title>lvalue required as increment operand</title>
      <link>https://bubobubo.tistory.com/30</link>
      <description>&lt;h3&gt;What is lvalue?&lt;/h3&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;해당 에러 메세지에 대해 알아보기 전에 &lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;&lt;b&gt;lvalue&lt;/b&gt;&lt;/span&gt;에 대해 간단히 알아보기 위해 &lt;a href=&quot;https://msdn.microsoft.com/en-us/library/f90831hc.aspx&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;MSDN&lt;/a&gt;의 lvalue에 대한 정의를 살펴보자.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(254, 254, 184); background-color: rgb(254, 254, 184); padding: 10px;&quot;&gt;&lt;p&gt;An &lt;b&gt;lvalue&lt;/b&gt; refers to &lt;b&gt;an object that persists beyond a single expression&lt;/b&gt;. You can think of an lvalue as an object that &lt;b&gt;has a name&lt;/b&gt;. &lt;b&gt;All variables&lt;/b&gt;, including nonmodifiable (const) variables, &lt;b&gt;are lvalues&lt;/b&gt;. An rvalue is a temporary value that does not persist beyond the expression that uses it.&lt;/p&gt;&lt;p style=&quot;text-align: right;&quot;&gt;&lt;i&gt;- MSDN -&lt;/i&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;MSDN에서 말한&amp;nbsp;lvalue란 하나의 표현식을 넘어서 존재하는 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;object&lt;/span&gt;&lt;/b&gt;이며 쉽게 말해 우리가 값을 할당하고, 변경하며 사용하는 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;variable&lt;/span&gt;&lt;/b&gt;인 것이다. 아래의 변수가 lvalue이며 &quot;1 + 1&quot;이라는 표현식의 결과가 rvalue라고 할 수 있을 것이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;lvalue_var = 1 + 1;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;lvalue error&lt;/h3&gt;&lt;p&gt;내 경우에는 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;type cast&lt;/span&gt;&lt;/b&gt;를 사용한 표현식에 증가 연산자(Increment operator)를 사용하여 해당 에러가 발생하였다. 다음의 코드는 컴파일 시 &quot;lvalue required as increment operand&quot; 에러메세지를 출력하게 된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;int main(int argc, char **argv, char **envp)&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;{&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int l = 0;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l++;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l = 0;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //l = ((long int)l) + 1;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l = (&lt;span style=&quot;background-color: rgb(70, 115, 255); color: rgb(255, 255, 255);&quot;&gt;(long int)&lt;/span&gt;l)++;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return 0;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;}&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;$ gcc &lt;/span&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;cast.c&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;cast.c: In function ‘main’:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;cast.c:9:19: error: &lt;span style=&quot;background-color: rgb(70, 115, 255); color: rgb(255, 255, 255);&quot;&gt;lvalue required as increment operand&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&amp;nbsp; l = ((long int)l)++;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;^&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;type cast&lt;/span&gt;&lt;/b&gt;와 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;postfix increment operator&lt;/span&gt;&lt;/b&gt;간의 우선순위는 후자 쪽이 더 우선한다. 그러므로 괄호를 한번 더 사용하지 않는다면 ++이 먼저 적용되므로 에러가 나지 않지만 type cast를 우선하게 만든다면 에러가 발생하게 된다. 즉 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;type cast&lt;/span&gt;&lt;/b&gt;의 결과는 lvalue가 아니라는 의미인 것 이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그렇다면 type cast가 어떻게 처리되는지 알기 위해 위의 주석처리를 서로 바꿔서 에러가 나지 않게 하고 해당 assembly 코드를 살펴보았다. 해당 코드를 살펴보면 type cast가 된 값은 레지스터에서 연산되므로, 변수를 의미하는 lvalue가 아니게 된다. ++ 연산자는 lvalue를 operand로 삼으므로 에러가 발생하게 되는 것이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;(gdb) &lt;b&gt;disas main&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;Dump of assembler code for function main:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;0x00000000004004ed &amp;lt;+0&amp;gt;: &amp;nbsp; &amp;nbsp; push &amp;nbsp; %rbp&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;0x00000000004004ee &amp;lt;+1&amp;gt;: &amp;nbsp; &amp;nbsp; mov &amp;nbsp; &amp;nbsp;%rsp,%rbp&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;0x00000000004004f1 &amp;lt;+4&amp;gt;: &amp;nbsp; &amp;nbsp; mov &amp;nbsp; &amp;nbsp;%edi,-0x14(%rbp)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;0x00000000004004f4 &amp;lt;+7&amp;gt;: &amp;nbsp; &amp;nbsp; mov &amp;nbsp; &amp;nbsp;%rsi,-0x20(%rbp)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;0x00000000004004f8 &amp;lt;+11&amp;gt;: &amp;nbsp; &amp;nbsp;mov &amp;nbsp; &amp;nbsp;%rdx,-0x28(%rbp)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;0x00000000004004fc &amp;lt;+15&amp;gt;: &amp;nbsp; &amp;nbsp;movl &amp;nbsp; $0x0,-0x4(%rbp)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;0x0000000000400503 &amp;lt;+22&amp;gt;: &amp;nbsp; &amp;nbsp;addl &amp;nbsp; $0x1,-0x4(%rbp)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;0x0000000000400507 &amp;lt;+26&amp;gt;: &amp;nbsp; &amp;nbsp;movl &amp;nbsp; $0x0,-0x4(%rbp)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;=&amp;gt; 0x000000000040050e &amp;lt;+33&amp;gt;: &amp;nbsp; &amp;nbsp;&lt;span style=&quot;background-color: rgb(70, 115, 255); color: rgb(255, 255, 255);&quot;&gt;mov &amp;nbsp; &amp;nbsp;-0x4(%rbp),%eax&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;0x0000000000400511 &amp;lt;+36&amp;gt;: &amp;nbsp; &amp;nbsp;&lt;span style=&quot;background-color: rgb(70, 115, 255); color: rgb(255, 255, 255);&quot;&gt;add &amp;nbsp; &amp;nbsp;$0x1,%eax&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;0x0000000000400514 &amp;lt;+39&amp;gt;: &amp;nbsp; &amp;nbsp;mov &amp;nbsp; &amp;nbsp;%eax,-0x4(%rbp)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;0x0000000000400517 &amp;lt;+42&amp;gt;: &amp;nbsp; &amp;nbsp;mov &amp;nbsp; &amp;nbsp;$0x0,%eax&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;0x000000000040051c &amp;lt;+47&amp;gt;: &amp;nbsp; &amp;nbsp;pop &amp;nbsp; &amp;nbsp;%rbp&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;0x000000000040051d &amp;lt;+48&amp;gt;: &amp;nbsp; &amp;nbsp;retq&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;End of assembler dump.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그러므로 type cast를 사용할 때 이러한 에러 발생 여부를 염두해 두고 사용해야 될 듯 싶다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;참고&lt;/h3&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://en.cppreference.com/w/c/language/operator_precedence&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://en.cppreference.com/w/c/language/operator_precedence&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://msdn.microsoft.com/en-us/library/f90831hc.aspx&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://msdn.microsoft.com/en-us/library/f90831hc.aspx&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/questions/7446489/casting-a-pointer-does-not-produce-an-lvalue-why&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://stackoverflow.com/questions/7446489/casting-a-pointer-does-not-produce-an-lvalue-why&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/questions/21386485/why-isnt-the-result-of-this-cast-an-lvalue&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://stackoverflow.com/questions/21386485/why-isnt-the-result-of-this-cast-an-lvalue&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/questions/12036921/lvalue-required-on-incrementing-a-void-pointer-even-after-proper-casting&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://stackoverflow.com/questions/12036921/lvalue-required-on-incrementing-a-void-pointer-even-after-proper-casting&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description>
      <category>Language/C</category>
      <author>0wl</author>
      <guid isPermaLink="true">https://bubobubo.tistory.com/30</guid>
      <comments>https://bubobubo.tistory.com/30#entry30comment</comments>
      <pubDate>Wed, 22 Feb 2017 14:44:59 +0900</pubDate>
    </item>
    <item>
      <title>Vim에 Vundle 설치하기</title>
      <link>https://bubobubo.tistory.com/28</link>
      <description>&lt;h3&gt;Download Vundle&lt;/h3&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Vim에 여러가지 플러그인을 통해서 편리하게 사용가능하다. 플러그인을 좀 더 쉽게 설치하고 관리하기 위해 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;Vundle&lt;/span&gt;&lt;/b&gt;이라는 Vim 플러그인 매니저를 설치해 사용해 보자. 다음은 Vundle의 github 페이지 이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: dashed; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/VundleVim/Vundle.vim&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://github.com/VundleVim/Vundle.vim&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;해당 페이지에서 볼 수 있듯이 git을 이용해 해당 repository를 복사해 정해진 위치에 가져다 놓으면 된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 640px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/270C4B4B58844B9F34&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F270C4B4B58844B9F34&quot; width=&quot;640&quot; height=&quot;240&quot; filename=&quot;캡처.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;git을 설치하고 위에서 나타난 대로 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;git clone&lt;/span&gt;&lt;/b&gt; 명령어를 사용해 로컬에 저장하자. 아래의 명령어를 수행하면 결과적으로 해당 repository가 계정 홈디렉터리 하위 .vim/bundle에 위치하게 된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;$ sudo apt-get install git&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;tree 명령어로 디렉터리 구조를 살펴보자. 말한대로 하위에 repository 구조가 생성되었다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;$ tree -d ~/.vim&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;/home/OOO/.vim&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;└── &lt;span style=&quot;background-color: rgb(70, 115, 255); color: rgb(255, 255, 255);&quot;&gt;bundle&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; └── Vundle.vim&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ├── autoload&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; │ &amp;nbsp; └── vundle&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ├── doc&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ├── ftplugin&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ├── syntax&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; └── test&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; └── files&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;9 directories&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;Vundle 사용하기&lt;/h3&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Vim이 시작할 때 참고하는 설정파일인 &lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;&lt;b&gt;.vimrc&lt;/b&gt;&lt;/span&gt; 파일에 Vundle 관련 설정을 작성해야 한다. 해당 설정의 기본적인 부분은 마련되어 있으니 그대로 가져다가 사용해도 될 것이다. github에 올려져 있는 예시파일을 사용하거나 test 디렉터리에 있는 것을 사용해도 된다. 각 파일에 미리 설정되어 있는 것들을 확인하고 사용하자.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 640px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2569A64B5884593D28&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2569A64B5884593D28&quot; width=&quot;640&quot; height=&quot;222&quot; filename=&quot;캡처.PNG&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;$ ls ~/.vim/bundle/Vundle.vim/test/&lt;/span&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;minirc.vim&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;/home/OOO&lt;/span&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;/.vim/bundle/Vundle.vim/test/&lt;/span&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;minirc.vim&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Menlo, Monaco, Consolas, monospace&quot;&gt;$ cp ~/.vim/bundle/Vundle.vim/test/minirc.vim&amp;nbsp;&lt;span style=&quot;background-color: rgb(70, 115, 255); color: rgb(255, 255, 255);&quot;&gt;~/.vimrc&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;$ ls ~/.vimrc&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;/home/OOO/.vimrc&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이제 Vim을 켜고 플러그인을 설치해보자. &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;PluginInstall&lt;/span&gt;&lt;/b&gt; 명령어를 통해서 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;.vimrc&lt;/span&gt;&lt;/b&gt; 에 언급되어 있는 Plugin 문장 부분이 실행된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 640px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2221B44D58845B4716&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2221B44D58845B4716&quot; width=&quot;640&quot; height=&quot;383&quot; filename=&quot;캡처.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 640px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2271525058845C0218&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2271525058845C0218&quot; width=&quot;640&quot; height=&quot;383&quot; filename=&quot;캡처.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;앞으로 사용하고 싶은 플러그인이 있다면 해당 위치에 Plugin 문장을 사용해 .vimrc에 명시한 뒤 PluginInstall 명령어를 통해 설치 가능하다. 아래에는 간단한 플러그인 관련 Vundle 명령어이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&quot; Brief help&lt;/p&gt;&lt;p&gt;&quot; &lt;b&gt;:PluginList&lt;/b&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; - lists configured plugins&lt;/p&gt;&lt;p&gt;&quot; &lt;b&gt;:PluginInstall&lt;/b&gt; &amp;nbsp; &amp;nbsp;- installs plugins; append `!` to update or just :PluginUpdate&lt;/p&gt;&lt;p&gt;&quot; &lt;b&gt;:PluginSearch&lt;/b&gt; foo - searches for foo; append `!` to refresh local cache&lt;/p&gt;&lt;p&gt;&quot; &lt;b&gt;:PluginClean&lt;/b&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;- confirms removal of unused plugins; append `!` to auto-approve removal&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;참고&lt;/h3&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/VundleVim/Vundle.vim&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://github.com/VundleVim/Vundle.vim&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Linux/Basic</category>
      <category>Ubuntu 16.04</category>
      <category>vim</category>
      <category>vundle</category>
      <author>0wl</author>
      <guid isPermaLink="true">https://bubobubo.tistory.com/28</guid>
      <comments>https://bubobubo.tistory.com/28#entry28comment</comments>
      <pubDate>Sun, 22 Jan 2017 16:20:40 +0900</pubDate>
    </item>
    <item>
      <title>Installing FreeBSD 11 on Virtualbox</title>
      <link>https://bubobubo.tistory.com/27</link>
      <description>&lt;h3&gt;FreeBSD 11 이미지 받기&lt;/h3&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;FreeBSD 이미지를 받기전에 각 용도 별로 이미지의 종류가 존재하며, 용도에 따라 이미지를 선택해야 된다. VirtualBox에 설치하기 위해서는 dvd가 아닌 &lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;&lt;b&gt;disc1&lt;/b&gt;&lt;/span&gt; 이미지를 사용하도록 하자. FreeBSD를 USB로 설치하기 위해서는 memstick 이미지와 dd 명령어를 사용하면 된다.&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 640px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2534C64E5871C43E1D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2534C64E5871C43E1D&quot; width=&quot;640&quot; height=&quot;261&quot; filename=&quot;캡처.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;Desktop 환경 설치&lt;/h3&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;해당 이미지를 받고 일반적으로 OS 설치하는 것 처럼 VirtualBox에 설치했다고 하자. 이후 이미지를 가상머신에서 꺼낸 후 다시 부팅하자. 물론 데스크탑 환경을 조성하지 않았으므로 CUI 환경이 반겨줄 것이다. 이전에 정한 패스워드로 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;root&lt;/span&gt;&lt;/b&gt;로 로그인한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;로그인 후 이제 데스크탑 환경 조성을 위해 다음과 같이 진행하자. &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;xorg&lt;/span&gt;&lt;/b&gt;와 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;gnome3&lt;/span&gt;&lt;/b&gt;에 설치 시간이 꽤 걸린다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;# pkg update&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;# pkg install xorg&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;# pkg install gnome3&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다 설치가 완료되면 데스크탑 환경과 관련된 설정을 해야된다. &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;gnome&lt;/span&gt;&lt;/b&gt;은 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;/proc&lt;/span&gt;&lt;/b&gt; 파일시스템의 마운트를 요구한다. 그러므로 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;/etc/fstab&lt;/span&gt;&lt;/b&gt;에서 자동으로 startup mount를 설정하자.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;# vi /etc/fstab&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;# Device &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Mountpoint &amp;nbsp; &amp;nbsp; &amp;nbsp;FStype &amp;nbsp;Options Dump &amp;nbsp; &amp;nbsp;Pass#&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;/dev/ada0p2 &amp;nbsp; &amp;nbsp; / &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ufs &amp;nbsp; &amp;nbsp; rw &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;/dev/ada0p3 &amp;nbsp; &amp;nbsp; none &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;swap &amp;nbsp; &amp;nbsp;sw &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; background-color: rgb(70, 115, 255); color: rgb(255, 255, 255);&quot;&gt;proc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/proc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; procfs &amp;nbsp;rw &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/span&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&lt;span style=&quot;background-color: rgb(70, 115, 255); color: rgb(255, 255, 255);&quot;&gt; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;또한 gnome은 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;D-Bus&lt;/span&gt;&lt;/b&gt;와 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;HAL&lt;/span&gt;&lt;/b&gt;(Hardware Abstraction Layer)을 사용한다. gnome을 설치할 때 같이 설치되었으므로 이 역시 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;/etc/rc.conf&lt;/span&gt;&lt;/b&gt;에&amp;nbsp;해당 옵션을 부가해서 시스템 부팅 시 자동으로 시작하도록 설정한다. 그놈 디스플레이 매니저(&lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;GDM&lt;/span&gt;&lt;/b&gt;)와 그놈(&lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;GNOME&lt;/span&gt;&lt;/b&gt;)을 시작시 자동으로 시작하도록 설정한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;# vi /etc/rc.conf&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;dbus_enable=&quot;YES&quot;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;hald_enable=&quot;YES&quot;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;gdm_enable=&quot;YES&quot;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;gnome_enable=&quot;YES&quot;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;VirtualBox guest addition 설치&lt;/h3&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;sudo&lt;/span&gt;&lt;/b&gt;가 설치되어 있지 않으므로 sudo를 설치하자.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;# pkg install sudo&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;VirtualBox guest addition을 설치하고 다음 시작 시 자동으로 실행하기 위해서 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;/etc/rc.conf&lt;/span&gt;&lt;/b&gt;에 다음 설정을 입력한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;# pkg install &lt;/span&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;virtualbox-ose-additions&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;# vi /etc/rc.conf&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;vboxguest_enable=&quot;YES&quot;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;vboxservice_enable=&quot;YES&quot;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;마지막으로 &lt;b&gt;&lt;span style=&quot;background-color: rgb(234, 234, 234);&quot;&gt;reboot&lt;/span&gt;&lt;/b&gt;을 하면 다음과 같이 데스크탑 환경이 작동한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 640px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2244C5375871D3991A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2244C5375871D3991A&quot; width=&quot;640&quot; height=&quot;480&quot; filename=&quot;캡처.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;출처&lt;/h3&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://www.freebsd.org/doc/handbook/x11-wm.html&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://www.freebsd.org/doc/handbook/x11-wm.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.freebsdfoundation.org/freebsd/how-to-guides/installing-freebsd-with-virtualbox/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://www.freebsdfoundation.org/freebsd/how-to-guides/installing-freebsd-with-virtualbox/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.ostechnix.com/install-gnome-desktop-environment-in-freebsd-10-2/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://www.ostechnix.com/install-gnome-desktop-environment-in-freebsd-10-2/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Unix/FreeBSD</category>
      <category>freebsd</category>
      <category>Installation</category>
      <category>VirtualBox</category>
      <author>0wl</author>
      <guid isPermaLink="true">https://bubobubo.tistory.com/27</guid>
      <comments>https://bubobubo.tistory.com/27#entry27comment</comments>
      <pubDate>Sun, 8 Jan 2017 14:55:58 +0900</pubDate>
    </item>
    <item>
      <title>리눅스 설치시 랩탑 스크롤(휠) 버튼 인식 문제</title>
      <link>https://bubobubo.tistory.com/25</link>
      <description>&lt;p&gt;Thinkpad x230에 리눅스 Mint를 설치했다. 근데 스크롤 버튼이 안된다...&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 550px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/26199947586CF07A2F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F26199947586CF07A2F&quot; width=&quot;550&quot; height=&quot;390&quot; filename=&quot;original.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;문제(?)의 버튼&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;i&gt;(출처:&amp;nbsp;&lt;a href=&quot;https://forums.lenovo.com/t5/image/serverpage/image-id/17631i5D795815DB84716A/image-size/original?v=mpbl-1&amp;amp;px=-1&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://forums.lenovo.com/t5/image/serverpage/image-id/17631i5D795815DB84716A/image-size/original?v=mpbl-1&amp;amp;px=-1&lt;/a&gt;)&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이전에는 Ubuntu를 설치했었는데 터치패드 및 스크롤 버튼에서는 전혀 문제가 발생하지 않았는데, 이번 mint 배포판을 설치하고서 스크롤 버튼이 제데로 작동하지 않는 것이다. 그래서 찾다보니 이런게(?) 있었다!!! 찾아서 적용하니 정상적으로 사용가능해졌다!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: dashed; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://wiki.debian.org/InstallingDebianOn/Thinkpad/Trackpoint&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://wiki.debian.org/InstallingDebianOn/Thinkpad/Trackpoint&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아래는 해당 링크에서 내가 적용한 방법이다.&lt;/p&gt;&lt;p&gt;이걸 터미널에 입력만하면 임시적으로 적용이 되고 계속 사용하고 싶다면 계정 홈 디렉터리에 .xsessionrc 라는 파일을 만들어서 아래의 내용을 입력하면 된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&lt;b&gt;$&lt;/b&gt; xinput set-prop &quot;TPPS/2 IBM TrackPoint&quot; &quot;Evdev Wheel Emulation&quot; 1&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&lt;b&gt;$&lt;/b&gt; xinput set-prop &quot;TPPS/2 IBM TrackPoint&quot; &quot;Evdev Wheel Emulation Button&quot; 2&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace;&quot;&gt;&lt;b&gt;$&lt;/b&gt; xinput set-prop &quot;TPPS/2 IBM TrackPoint&quot; &quot;Evdev Wheel Emulation Timeout&quot; 200&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;참고로 데비안에서 thinkpad 트랙패드 스크롤링은 디폴트로 안되나보다.&lt;/p&gt;&lt;p&gt;&lt;i&gt;(&quot;On most ThinkPads, Debian doesn't enable scrolling with the TrackPoint by default.&quot; - Installing Debian On Thinkpad Trackpoint -)&lt;/i&gt;&lt;/p&gt;</description>
      <category>Linux/Trouble Shooting</category>
      <author>0wl</author>
      <guid isPermaLink="true">https://bubobubo.tistory.com/25</guid>
      <comments>https://bubobubo.tistory.com/25#entry25comment</comments>
      <pubDate>Wed, 4 Jan 2017 22:02:39 +0900</pubDate>
    </item>
    <item>
      <title>Java classpath command-line option</title>
      <link>https://bubobubo.tistory.com/23</link>
      <description>&lt;p&gt;자바 CLASSPATH를 설정할 때 2가지 방법이 있다.&lt;/p&gt;&lt;p&gt;하나는 환경변수&amp;nbsp;CLASSPATH를&amp;nbsp;사용하는 것과 다른 하나는 java 명령행 옵션(-classpath)에서 경로를 지정하는 방법이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;java 명령어의 도움말을&amp;nbsp;보면 다음과 같이 -classpath라는 옵션에 경로를 지정하며 각 경로는 ':'(colon)으로 구분한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(254, 254, 184); background-color: rgb(254, 254, 184); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;Usage: java [-options] class [args...]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(to execute a class)&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;where options include:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;b&gt;-classpath&lt;/b&gt; &amp;lt;class search path of directories and zip/jar files&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A &lt;b&gt;:&lt;/b&gt; separated list of directories, JAR archives,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; and ZIP archives to search for class files.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Java 명령어의 classpath를 지정하지 않았을 때&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;$ java Test&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;Exception in thread &quot;main&quot; java.lang.NoClassDefFoundError: First&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at Test.main(Test.java:15)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;Caused by: java.lang.ClassNotFoundException: First&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.net.URLClassLoader.findClass(URLClassLoader.java:381)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.ClassLoader.loadClass(ClassLoader.java:424)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.ClassLoader.loadClass(ClassLoader.java:357)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ... 1 more&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Java 명령어의 classpath를 옵션으로 지정할 때&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;$ java -classpath &lt;span style=&quot;background-color: rgb(70, 115, 255); color: rgb(255, 255, 255);&quot;&gt;.&lt;b&gt;:&lt;/b&gt;./subdir&lt;/span&gt; Test&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;1st test!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;2nd test!&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;[참조]&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description>
      <category>Linux/Ubuntu</category>
      <category>Java</category>
      <category>Ubuntu 16.04</category>
      <author>0wl</author>
      <guid isPermaLink="true">https://bubobubo.tistory.com/23</guid>
      <comments>https://bubobubo.tistory.com/23#entry23comment</comments>
      <pubDate>Sun, 18 Sep 2016 00:36:15 +0900</pubDate>
    </item>
    <item>
      <title>Ubuntu's bootsplash</title>
      <link>https://bubobubo.tistory.com/22</link>
      <description>&lt;h3&gt;Bootsplash란?&lt;/h3&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;부팅과정에서의 시각적인 효과 및 화면을 의미한다. 흔히 윈도우 로고와 함께 기어다니던 지렁이를 생각하면 될 것이다.&lt;/p&gt;&lt;p&gt;우분투(16.04, Xenial)의 bootsplash는 다음과 같다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 700px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2604E54E57DA50531F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2604E54E57DA50531F&quot; width=&quot;700&quot; height=&quot;393&quot; filename=&quot;제목 없음.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;바탕화면 때문에 이것 저것 보다가 다음과 같은 우분투의 bootsplash 화면을 보게 되었다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align=&quot;middle&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/zZ7JK8yKoa0&quot; width=&quot;640&quot; height=&quot;360&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;왠지 적용해 보고 싶어 이것저것 찾아보아서 해보았다.&lt;/p&gt;&lt;p&gt;다음은 내가 적용한&amp;nbsp;방법이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;먼저 bootsplash 테마를 하나 다운받는다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 700px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2244A74757DA52B51D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2244A74757DA52B51D&quot; width=&quot;700&quot; height=&quot;497&quot; filename=&quot;제목 없음.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;혹은 다음과 같이 package를 설치한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;$ sudo apt-get install plymouth-themes&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그러면 다음 경로에 여러 테마가 설치된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;$ ls -l /usr/share/plymouth/themes/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;total 44&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;lrwxrwxrwx 1 root root &amp;nbsp; 39 Sep 14 14:06 default.grub -&amp;gt; /etc/alternatives/default.plymouth.grub&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;lrwxrwxrwx 1 root root &amp;nbsp; 34 Sep 14 14:06 default.plymouth -&amp;gt; /etc/alternatives/default.plymouth&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;drwxr-xr-x 2 root root 4096 Jul 20 05:45 details/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;drwxr-xr-x 2 root root 4096 Sep 15 17:02 fade-in/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;drwxr-xr-x 2 root root 4096 Sep 15 17:02 glow/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;drwxr-xr-x 2 root root 4096 Sep 15 17:02 script/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;drwxr-xr-x 2 root root 4096 Sep 15 17:02 solar/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;drwxr-xr-x 2 root root 4096 Sep 15 17:02 spinfinity/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;drwxr-xr-x 2 root root 4096 Sep 15 17:02 spinner/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;drwxr-xr-x 2 root root 4096 Jul 20 05:45 text/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;lrwxrwxrwx 1 root root &amp;nbsp; 31 Sep 14 14:06 text.plymouth -&amp;gt; /etc/alternatives/text.plymouth&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;drwxr-xr-x 2 root root 4096 Jul 20 05:45 tribar/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;drwxr-xr-x 2 root root 4096 Sep 15 13:43 ubuntu-logo/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;drwxr-xr-x 2 root root 4096 Jul 20 05:49 ubuntu-text/&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;여기서 update-alternatives 명령을 통해 원하는 테마를 선택한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;$ sudo &lt;span style=&quot;background-color: rgb(70, 115, 255); color: rgb(255, 255, 255);&quot;&gt;update-alternatives&lt;/span&gt; --config &lt;span style=&quot;background-color: rgb(70, 115, 255); color: rgb(255, 255, 255);&quot;&gt;default.plymouth&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;There are 3 choices for the alternative default.plymouth (providing /lib/plymouth/themes/default.plymouth).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;&amp;nbsp; Selection &amp;nbsp; &amp;nbsp;Path &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Priority &amp;nbsp; Status&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;------------------------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;* 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/usr/share/plymouth/themes/ubuntu-logo/ubuntu-logo.plymouth &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 100 &amp;nbsp; &amp;nbsp; &amp;nbsp; auto mode&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;&amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/lib/plymouth/themes/solar/solar.plymouth &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 10 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;manual mode&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;&amp;nbsp; 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/usr/share/plymouth/themes/ubuntu-logo/ubuntu-logo-scale-2.plymouth &amp;nbsp; 99 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;manual mode&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;&amp;nbsp; 3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/usr/share/plymouth/themes/ubuntu-logo/ubuntu-logo.plymouth &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 100 &amp;nbsp; &amp;nbsp; &amp;nbsp; manual mode&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그리고 해당 변경사항을 적용시켜준다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;$ sudo update-initramfs -u&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그런데 deb패키지 설치는 update-alternatives에 등록이 되는데 apt-get으로 설치하면 등록이 안된다?!&lt;sup class=&quot;footnote&quot;&gt;&lt;a href=&quot;#footnote_22_1&quot; id=&quot;footnote_link_22_1&quot; onmouseover=&quot;tistoryFootnote.show(this, 22, 1)&quot; onmouseout=&quot;tistoryFootnote.hide(22, 1)&quot; style=&quot;color:#f9650d; font-family: Verdana, Sans-serif; display: inline;&quot;&gt;&lt;span style=&quot;display: none;&quot;&gt;[각주:&lt;/span&gt;1&lt;span style=&quot;display: none;&quot;&gt;]&lt;/span&gt;&lt;/a&gt;&lt;/sup&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;그래서 ln -s 명령으로 /etc/alternatives의 심볼릭 링크를 수동으로 수정하자.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Menlo, Monaco, Consolas, monospace; font-size: 12pt;&quot;&gt;$ sudo ln -fs /usr/share/plymouth/themes/solar/solar.plymouth /etc/alternatives/default.plymouth&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;마찬가지로 update-initramfs 명령을 사용하여 설정 업데이트를 해준다.&lt;/p&gt;&lt;p&gt;그러면 다음과 같이 종료 및 부팅시에 다음 화면이 출력된다!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 700px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2212994557DA5DFD29&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2212994557DA5DFD29&quot; width=&quot;700&quot; height=&quot;393&quot; filename=&quot;제목 없음.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;[참조]&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://wiki.ubuntu.com/Plymouth#Splash_Theme&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://wiki.ubuntu.com/Plymouth#Splash_Theme&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;
  &lt;ol class=&quot;footnotes&quot;&gt;
    &lt;li id=&quot;footnote_22_1&quot;&gt;plymouth-themes doesn't register all themes in alternatives system 참조 (https://bugs.launchpad.net/ubuntu/+source/plymouth/+bug/1576391) &lt;a href=&quot;#footnote_link_22_1&quot;&gt;[본문으로]&lt;/a&gt;&lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;</description>
      <category>Linux/Ubuntu</category>
      <author>0wl</author>
      <guid isPermaLink="true">https://bubobubo.tistory.com/22</guid>
      <comments>https://bubobubo.tistory.com/22#entry22comment</comments>
      <pubDate>Thu, 15 Sep 2016 17:39:28 +0900</pubDate>
    </item>
  </channel>
</rss>