본 글은 전적으로 Ubuntu에서 매주 발행하고 있는 뉴스 소식지를 개인적으로 관심 있는 부분만 추려내어서

정리하는 글입니다.


좀더 자세한 내용은 본문을 참조하는 것이 가장 좋습니다.

https://wiki.ubuntu.com/UbuntuWeeklyNewsletter/Issue407




이번 이슈에서 다루어지는 내용은 다음과 같습니다.


In This Issue

  • Ubuntu at the Mobile World Congress
  • DMB election results
  • Ubuntu Stats
  • Recent Ubuntu Myanmar LoCo Team Activities

  • LoCo Events

  • Michael Hall: My SCaLE 13x and UbuCon review

  • Randall Ross: On Writing Software for OpenPOWER
  • Daniel Holbach: Giving Ubuntu devices users a head-start
  • Randall Ross: Ubuntu at Mobile World Congress 2015
  • Lubuntu Blog: Box 0.50 rev. 474
  • Announce: Vivid will switch to booting with systemd next Monday, brace for impact
  • Interview with Michael Hall (mhall119) of the Ubuntu Community Council
  • Kubuntu Docs 15.04
  • A Quick Look at the BQ Aquaris E4.5 Ubuntu Phone
  • Canonical News
  • First peek at the next Ubuntu 15.04 nester line-up
  • New Ubuntu Phone Separates the App from the Data
  • Nvidia patches Ubuntu bug that caused black window screen crashes
  • In The Blogosphere
  • Featured Audio and Video
  • Weekly Ubuntu Development Team Meetings
  • Upcoming Meetings and Events
  • Updates and Security for 10.04, 12.04, 14.04 and 14.10
  • And much more!

Ubuntu at the Mobile World Congress


이중에서 가장 관심이 있는 부분이 아무래도 Ubuntu Phone이다 캐노니컬에서도 가장 열심히 밀고 있는 부분이고 뉴스 소식지에서도 가장 처음 가장 비중있게 다루고 있는 부분이다. 하지만 모바일폰이 가장 경쟁이 치열한 부분이라서 과연 우분투가 이를 극복할 수 있을지 의문이 심하게 들기도 한다. 어디선가 들었는데 우분투가 현재 재정적으로 힘들어 하는데 그 이유가 우분투폰에 이루어진 투자때문이라고 한다.

과연 안드로이드와 IOS에 2강 체계에서 우분투와 같은 새로운 모바일 플랫폼이 어떠한 성과를 앞으로 낼지 귀추가 주목되는것은 본인 또한 마찬가지이다.


뉴스레터 소식은 아니지만 우분투폰 리뷰 중 가장 긴 내용이지 않을까 싶은 동영상이다




.

MWC 2015에 첫선을 보인 우분투폰에 대한 내용들은 다음을 참조하면 됩니다.



Ask Ubuntu Top 5 Questions this week

아무래도 제가 개발자이다 보니 기술적인 내용은 꼭 봐야 왠지 배부른 느낌. 아무 같은 개발자분들은 이해하실거라고 생각이 드네요.


1. 첫번째 질문은 ping flooding에 관련한 내용이다.

What non malicious uses are there for ping's flood (-f) option? [on hold] http://askubuntu.com/questions/592390/what-non-malicious-uses-are-there-for-pings-flood-f-option


ping flooding 에 관련해서 좀더 읽어 볼 만한 내용을 찾아 보았다.

- ping DOS 공격에 대한 Basic: http://tomicki.net/ping.flooding.php

- Ping Flooding DoS Attack in a Virtual Network: https://sandilands.info/sgordon/ping-flooding-dos-attack-in-a-virtual-network


2. 두번째 질문은 주어진 파일에서 각 알파벳이 나타나는 빈도를 알 수 있는 방법에 관련한 질문이다. 이런 질문은 당연히 답변은 프로그래밍 언어별로 해주는 것이 관례인가 ???



For example I have file 1.txt, that contain:

Moscow
Astana
Tokyo
Ottawa

I want to count number of all char as:

a - 4,
b - 0,
c - 1,
...
z - 0
sed 's/\(.\)/\1\n/g' 1.txt | sort | uniq -ic
#!/usr/bin/env python3
import sys

chars = open(sys.argv[1]).read().strip().replace("\n", "")
[print(c+" -", chars.count(c)) for c in sorted(set([c for c in chars]))]
$ awk '{for (i=1;i<=NF;i++) a[$i]++} END{for (c in a) print c,a[c]}' FS="" file
$ perl -e '$a=join("",<>);for("a".."z"){$d=()=$a=~/$_/gi;print"$_ - $d,\n"}' 1.txt


그리고 대망의 C 버전



#include <stdio.h>
#include <ctype.h>
#include <limits.h>
#include <math.h>
#include <sysexits.h>


inline static double square(double x)
{
    return x * x;
}


int main()
{
    static const unsigned distribution_size = 1 << CHAR_BIT;

    int rv = EX_OK;
    uintmax_t *distribution = calloc(distribution_size, sizeof(*distribution));

    {
        int c;
        while ((c = getchar()) != EOF)
            distribution[c]++;

        if (ferror(stdin)) {
            perror("I/O error on standard input");
            rv = EX_IOERR;
        }
    }

    uintmax_t sum = 0;
    for (unsigned i = 0; i != distribution_size; i++)
        sum += distribution[i];
    double avg = (double) sum / distribution_size;

    double var_accum = 0.0;
    for (unsigned i = 0; i != distribution_size; i++)
    {
        const uintmax_t x = distribution[i];

        printf("'%c' (%02X): %20ju", isprint((int) i) ? i : ' ', i, x);
        if (x != 0) {
            var_accum += square((double) x - avg);
            printf(" (%+.2e %%)\n", ((double) x / avg - 1.0) * 100.0);
        } else {
            var_accum += square(avg);
            putchar('\n');
        }
    }

    double stdev = sqrt(var_accum / distribution_size);
    double varcoeff = stdev / avg;
    printf(
        "total: %ju\n"
        "average: %e\n"
        "standard deviation: %e\n"
        "variation coefficient: %e\n",
        sum, avg, stdev, varcoeff);

    free(distribution);
    return rv;
}


3. 세번째 질문은 왜 다운가능한 MS Fonts들은 exe 형태로 설치되는가 ?

 - The MS Core Fonts come in a self-extracting zip archive we can open or install without the need to run the Windows executable or the included Windows font installer program.

 - http://corefonts.sourceforge.net/

 - 라이센스 관련: http://www.microsoft.com/typography/fontpack/eula.htm


4. Why is there an “update-grub” and a “update-grub2” command?

  $ file $(which update-grub{,2})
  /usr/sbin/update-grub: POSIX shell script, ASCII text executable
  /usr/sbin/update-grub2: symbolic link to `update-grub'


Canonical News

1. preinstalled ubuntu

 - https://insights.ubuntu.com/2014/05/15/huge-downloads-for-ubuntu-kylin-14-04lts-first-oem-partner-announced/

 - https://insights.ubuntu.com/2015/03/02/dell-launches-ubuntu-loaded-machines-across-500-stores-in-latin-america/



많은 것을 정리하지 못했네요... 다시 말하지만 좀더 자세한것은 원문을 참조해주세요...

https://wiki.ubuntu.com/UbuntuWeeklyNewsletter/Issue407



저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by sound79 사운드친구

댓글을 달아 주세요



Ubuntu newsletter (Issue #404, 2015/02/09 ~ 2015/02/15)

원문: https://wiki.ubuntu.com/UbuntuWeeklyNewsletter/Issue404


1. Ask Ubuntu Top 5 Questions this week

  • 스크린의 특정 좌/우 넓이를 확인할 수 있는 방법?
    http://askubuntu.com/questions/583698/how-do-i-measure-dimensions-on-screen-without-using-a-ruler
  • 터미널에서 모니터의 해상도를 확인할 수 있는 방법?
    http://askubuntu.com/questions/584688/how-can-i-get-the-monitor-resolution-using-the-command-line
  • 하나의 디렉토리안에 1000만개 이상의 파일이 가능한건가?
    http://askubuntu.com/questions/584315/10-million-files-in-one-folder
  • 우분투 설치 후 바로 해야 할 것들 (이건 개인마다 조금씩 다르지 않을까나???)
    http://askubuntu.com/questions/585134/what-should-i-do-straight-after-installing-ubuntu
  • 14.10이후에 바로 15.10으로 업그레이드가 가능한지?
    http://askubuntu.com/questions/585827/what-happens-after-14-10-expires-can-i-upgrade-to-15-10-or-do-i-have-to-reinsta


2. 우분투 로코 행사 일정

  • http://loco.ubuntu.com/events/


3. The Planet

  • Launchpad.net 이 곧 git를 지원할 예정이라고 함
    https://fitoschido.wordpress.com/2015/02/13/launchpad-support-git-repos/

    우분투 아이콘 가이드라인
    https://design.ubuntu.com/apps/style/iconography


4. Other Community News

  • Call for votes: Vacant Developer Membership Board seats
    1. https://lists.ubuntu.com/archives/ubuntu-devel-announce/2015-February/001125.html




저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by sound79 사운드친구

댓글을 달아 주세요


현재 사용하고 있는 우분투 리눅스가 12.04 입니다.

아직 쓸만하고 공식적으로 지원도 하고 있는 버전이라, 큰 무리 없이 메인으로 사용하고 있습니다.


오늘 갑자기 gcc로 컴파일을 할려고 하는데 c++11이 지원이 되지 않는 것입니다. 흠...

확인해보니 현재 우분투 12.04에 설치된 gcc version이 4.6 이어서 지원이 되지 않는 것이었습니다.


그래서 일단 해당 버전에서 gcc만 4.7로 업그레이드 하기로 하였습니다.



다음 사이트를 참고하시면 됩니다.

http://www.swiftsoftwaregroup.com/upgrade-gcc-4-7-ubuntu-12-04/


Install

sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-4.7 g++-4.7

Update Alternatives

Add GCC 4.7

sudo update-alternatives --remove gcc /usr/bin/gcc-4.6
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.6

Make sure GCC 4.7 is the default alternative

sudo update-alternatives --config gcc
There are 2 choices for the alternative gcc (providing /usr/bin/gcc)

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/gcc-4.7 60 auto mode
1 /usr/bin/gcc-4.6 40 manual mode
2 /usr/bin/gcc-4.7 60 manual mode

Press enter to keep the current choice[*], or type selection number: 0

Verify

$ gcc --version
gcc (Ubuntu/Linaro 4.7.3-2ubuntu1~12.04) 4.7.3
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


그럼 gcc-4.7에는 어떠한 내용들이 추가되었는지는 다음 사이트를 참고 하시면 됩니다.

https://gcc.gnu.org/gcc-4.7/changes.html


아직 실험단계라고 하는데,,, 다음 사이트도 참고하시기 바랍니다.

https://gcc.gnu.org/gcc-4.7/cxx0x_status.html


저작자 표시 비영리 동일 조건 변경 허락
신고

'Linux' 카테고리의 다른 글

lighttpd 403 forbidden for php files  (0) 2015.04.11
VLC 로 RTSP/RTP Streamming 하기  (0) 2014.12.21
ubuntu 12.04 에서 gcc-4.7로 갈아타기  (0) 2014.09.15
Ubuntu에 Dropbox 설치하기  (0) 2014.06.13
스크린샷 프로그램 (Shutter)  (1) 2014.06.09
EBS 라디오 듣기 주소 변경  (0) 2014.06.06
Posted by sound79 사운드친구

댓글을 달아 주세요

Makefile Tips #1

Linux 2014.05.26 11:30

Makefile 에서 실제 명령어를 수행하지 않고 구문 분석

  • --just-print (-n)


저작자 표시 비영리 동일 조건 변경 허락
신고

'Linux' 카테고리의 다른 글

스크린샷 프로그램 (Shutter)  (1) 2014.06.09
EBS 라디오 듣기 주소 변경  (0) 2014.06.06
Makefile Tips #1  (0) 2014.05.26
리눅스에서 EBS 라디오 듣기  (0) 2014.05.07
lighttpd static compile  (0) 2014.04.14
[Ubuntu] Full Circle Magazine 소개  (0) 2013.11.02
Posted by sound79 사운드친구

댓글을 달아 주세요


본 내용은 아래 링크를 정리하는 것입니다.

https://help.ubuntu.com/community/AptGet/Howto



1. 설치 관련 명령어


  (1). sudo apt-get install <package_name>

      <package_name>의 패키지를 설치합니다. 자동으로 의존성이 있는 패키지도 함께 설치합니다.


  (2). sudo apt-get build-dep <package_name>

      <package_name>을 설치하기 위한 의존성 있는 패키지들을 미리 설치할 수 있습니다.

    ** 어떤 경우에 이 명령어를 사용할까요? 패키지는 소스 형태로 설치할 때 사용할 수 있을거 같네요. 즉 의존성 있는 부분들은 미리 패키지로 설치하고 해당 패키지만 소스로 설치할 때요...


  (3). sudo apitude install <package_name>

    apt-get 설치와 비슷하다고 하는데, 크게 사용할 일은 없을 듯 함.


  (4). sudo apt-get install <package1_name> <package2_name> <package3_name>

    해당 패키지들을 순차적으로 설치함..




  -s flage: 가상(?) 으로 설치해 볼 수 있습니다. 즉 실제 설치는 하지 않지만 어떤 패키지들이 설치될 것이며, 어떤 설정 파일들이 설치될지를 알 수 있습니다. (종종, 설치하기 전에 한번 해볼 필요가 있을 때...)



  auto-apt 명령어

  소스 형태로 설치할때 ./configure를 대신 처리해 주는 명령어

  즉 소스 디렉토리로 가서

  auto-apt run ./configure



2. 관리 명렁어


(1). sudo apt-get update

   /etc/apt/source.list의 인덱스를 기반으로 패키지의 정보를 최신으로 업데이트 합니다.

  만약 찾지 못하는 패키지가 있으면 해당 패키지의 서버 리스트를 업데이트 후 본 명령어를 수행.


 (2). sudo apt-get upgrade

  설치한 패키지를 모두 최신으로 업그레이드


 (3). sudo apt-get dist-upgrade

  위의 명령어와 비슷합니다. 차이점은: "apt-get dist-upgrade" does not perform distribution upgrade.


 (4). sudo apt-get check

  진단 명령어로써, 패키지의 업데이트 및 파손된 의존성을 체크합니다.


 (5). sudo apt-get -f install

  "unmet dependences"를 만난다면 본 명령어로...


 (6). sudo apt-get autoclean

 더 이상 설치되어 있지 않은 패키지들의  .deb 를 제거해 줍니다.


 (7). sudo apt-get clean <package_name>

  해당 <package_name>의 .deb 파일을 지운다.


여기서 잠깐 .deb 파일이 있는 곳은 /var/cache/apt/archives

얼마나 많은 공간을 차지 하고 있는지 확인은

du -sh /var/cache/apt/archives

(8). dpkg-reconfigure <package_name>

<package_name>의 패키지를 재설정한다.



3. 삭제 명령어


  (1). sudo apt-get remove <package_name>

  <package_name>의 패키지를 삭제한다.


 (2). sudo apt-get purge <package_name>

 <package_name>의 패키지를 삭제하고 또한 해당 configuration file도 모두 삭제한다.


 (3). sudo apt-get autoremove

 다른 패키지 설치시 의존성 때문에 설치된 패키지가 더이상 사용되지 않을때 자동으로 삭제함


 (4). dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge

 삭제..



4. 검색 명령어


(1). sudo apt-cache search <search_term>

 <search_term>의 패키지를 검색한다. 


 (2). dpkg -l *<serch_term>*

 위의 명령어와 동일함. 단지 현재 설치되어 있는 패키지도 표시해 줌.

 ii (installed) and un (not installed).


 (3). sudo apt-cache show <package_name>

 <package_name>의 패키지의 정보를 표시함


 (4). dpkg --print-avail <package_name>

 위의 명령어와 동일함


 (5). dpkg -L <package_name>

 <pckage_name>의 파일들을 보여준다.


 (6). dpkg -c  foo.deb

  foo.deb의 파일들을 보여준다.


 (7). sudo apt-cache pkgnames

 시스템의 모든 패키지들을 보여준다.


 (8). apt-cache search filename | grep -w filename

 searching시 너무 길 경우 그 결과값을 짧게 하여 보구 싶을때..


 



5. 내용 업데이트


  (1). sudo apt-get source <package_name>

  package_name의 소스를 다운로드 한다.



좀더 자세한것은...

man apt-get


저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by sound79 사운드친구

댓글을 달아 주세요


윈도우에서 유용하게 사용한 프로그램이 바탕화면에서 항상 몇개씩 떠 있는 스티커 프로그램이다.

아마도 모니터 각 모서리 주위에서 3M 포스트잇이 몇개씩 붙어 있기도 하지만... ㅎㅎㅎ


우분투에서 사용할 프로그램을 찾아보았는데, 아무래도 가장 무난한 것이 좋은것이라고 Xpad 라는 것을 찾았다.

https://launchpad.net/xpad





쓸만한거 같다..


우분투를 널리 퍼뜨리자...

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by sound79 사운드친구

댓글을 달아 주세요