Muestra las diferencias entre dos versiones de la página.
| Revisión previa | |||
| — | guias:debian_jessie_post_instalacion [2021/04/16 20:41] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| + | ====== Debian Jessie, post instalación ====== | ||
| + | ===== Introducción ===== | ||
| + | |||
| + | Mi portátil es un ordenador Acer 5755G con las siguientes características: | ||
| + | |||
| + | * Core i5 2430M 2.4GHz | ||
| + | * NVIDIA Geforce GT 540M | ||
| + | * 8Gb RAM | ||
| + | * 750Gb HD | ||
| + | |||
| + | Mi portátil equipa una tarjeta _Nvidia Geforce GT540M_ que resulta pertenecer a una rama muerta en el árbol de desarrollo de Nvidia. | ||
| + | |||
| + | La gráfica es una Nvidia Optimus, es decir una tarjeta híbrida que funcionaba perfectamente en Ubuntu 14.04 usando Bumblebee. | ||
| + | |||
| + | Con el paso a Ubuntu **Xenial Xerus** | ||
| + | |||
| + | A mayores me encontré también con problemas insalvables (para mi) para instalar el Virtual Box así que decidí volver a Debian. | ||
| + | |||
| + | Para hacer la actualización del sistema opté por desinstalar el dvd y montar en su lugar un disco SSD en un Caddie para Acer. La instalación fué muy fácil, y aunque el portátil arranca perfectamente de cualquiera de los dos discos, finalmente opté por instalar el SSD en la bahía interna del HD original y pasar el HD al caddie. | ||
| + | |||
| + | Una vez instalado el sistema operativo, lo primero fue la instalación del Bumblebee para probar que funcionaba normalmente. | ||
| + | |||
| + | < | ||
| + | sudo apt-get install firmware-linux-nonfree Bumblebee-nvidia primus | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Cambiar las opciones de idioma ===== | ||
| + | |||
| + | Ejecutamos: | ||
| + | |||
| + | < | ||
| + | sudo dpkg-reconfigure locales | ||
| + | </ | ||
| + | Y después solo tenemos que cambiar la selección del idioma en la configuración de Gnome. | ||
| + | |||
| + | Nos pedirá rearrancar Gnome y renombrará todos los directorios de sistema. | ||
| + | |||
| + | ===== Gestión de paquetes ===== | ||
| + | |||
| + | Instalamos // | ||
| + | |||
| + | < | ||
| + | sudo apt-get install aptitude | ||
| + | sudo apt-get install synaptic | ||
| + | sudo apt-get install gdebi | ||
| + | </ | ||
| + | Cambiamos las opciones de // | ||
| + | |||
| + | ==== Quitamos el cdrom de los sources.list ==== | ||
| + | |||
| + | Editamos el fichero /// | ||
| + | |||
| + | |||
| + | ==== Habilitamos los backports y multimedia ==== | ||
| + | |||
| + | === Backports: === | ||
| + | |||
| + | < | ||
| + | sudo cat> / | ||
| + | # backports | ||
| + | deb http:// | ||
| + | EOF | ||
| + | </ | ||
| + | |||
| + | |||
| + | === Multimedia: === | ||
| + | |||
| + | < | ||
| + | sudo cat>> / | ||
| + | # multimedia | ||
| + | deb http:// | ||
| + | EOF | ||
| + | |||
| + | sudo apt-get -y --allow-unauthenticated install --reinstall deb-multimedia-keyring | ||
| + | </ | ||
| + | |||
| + | Y actualizamos: | ||
| + | |||
| + | < | ||
| + | sudo aptitude update | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Instalación de varios paquetes sueltos ===== | ||
| + | |||
| + | ==== Programas de utilidad y uso frecuente ==== | ||
| + | |||
| + | === Menulibre === | ||
| + | |||
| + | Un editor de menús para Gnome, nos permite generar los archivos desktop para cualquier aplicación. Mucho más completo que // | ||
| + | |||
| + | < | ||
| + | sudo apt-get install menulibre | ||
| + | </ | ||
| + | === Terminator === | ||
| + | |||
| + | Terminator es un emulador de terminal muy completo y muy flexible. Los instalamos desde // | ||
| + | |||
| + | < | ||
| + | sudo aptitude install terminator python-keybinder | ||
| + | </ | ||
| + | === Keepass2 === | ||
| + | |||
| + | Instalado // | ||
| + | |||
| + | < | ||
| + | sudo aptitude install keepass2 | ||
| + | </ | ||
| + | === gksu === | ||
| + | |||
| + | Un //sudo// en modo gráfico: | ||
| + | |||
| + | < | ||
| + | sudo aptitude install gksu | ||
| + | </ | ||
| + | **Muy importante** ejecutar '' | ||
| + | |||
| + | === Diskmanager === | ||
| + | |||
| + | Para gestionar discos portátiles | ||
| + | |||
| + | < | ||
| + | sudo apt-get install ntfs-3g disk-manager | ||
| + | </ | ||
| + | === Gnucash === | ||
| + | |||
| + | Finanzas en linux | ||
| + | |||
| + | < | ||
| + | sudo apt-get -t jessie-backports install gnucash | ||
| + | </ | ||
| + | === Herramientas sync === | ||
| + | |||
| + | No sin mis //backups// | ||
| + | |||
| + | < | ||
| + | sudo apt-get install rsync grsync | ||
| + | </ | ||
| + | === Dropbox === | ||
| + | |||
| + | Bajado el paquete Debian desde la página [[https:// | ||
| + | |||
| + | === Compresores et al === | ||
| + | |||
| + | < | ||
| + | sudo apt-get install rar unrar zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar | ||
| + | </ | ||
| + | === Freeplane === | ||
| + | |||
| + | Mejor que [[http:// | ||
| + | |||
| + | === Telegram desktop === | ||
| + | |||
| + | El cliente de mensajeria de Telegram. Descargado desde la web, instalado en //~/apps// | ||
| + | |||
| + | ===== Internet ===== | ||
| + | |||
| + | ==== Chrome y Chromium ==== | ||
| + | |||
| + | Instalado /Chrome/ añadiendo fuentes a /aptitude/. No recuerdo como las añadí, pero en el fichero /// | ||
| + | |||
| + | < | ||
| + | ### | ||
| + | ### | ||
| + | ### | ||
| + | ### | ||
| + | ### THIS FILE IS AUTOMATICALLY CONFIGURED ### | ||
| + | # You may comment out this entry, but any other modifications may be lost. | ||
| + | deb [arch=amd64] http:// | ||
| + | </ | ||
| + | Ejecutamos: | ||
| + | |||
| + | < | ||
| + | sudo aptitude install google-chrome-stable | ||
| + | sudo aptitude install chromium | ||
| + | </ | ||
| + | ==== Tor ==== | ||
| + | |||
| + | Bajado el comprimido desde la [[https:// | ||
| + | |||
| + | ==== Deluge ==== | ||
| + | |||
| + | Mi aplicación para descarga de torrents. | ||
| + | |||
| + | Instalamos desde aptitude | ||
| + | |||
| + | < | ||
| + | sudo aptitude install deluge | ||
| + | xdg-mime default deluge.desktop x-scheme-handler/ | ||
| + | </ | ||
| + | ==== TiddlyDesktop ==== | ||
| + | |||
| + | //Tiddly// es una wiki auto-contenida y muy flexible, tiene un sinfin de versiones adaptadas para diferentes usos. Hace años que la uso como cuaderno de bitácora personal, pero no había seguido su evolución. | ||
| + | |||
| + | Me he descargado: | ||
| + | |||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | A mayores me he instalado la aplicación [[https:// | ||
| + | |||
| + | Como siempre la instalamos en //~/apps// y creamos un lanzador con // | ||
| + | |||
| + | ===== Gráficos ===== | ||
| + | |||
| + | ==== Inkscape ==== | ||
| + | |||
| + | El programa libre para creación y edición de gráficos vectoriales. | ||
| + | |||
| + | < | ||
| + | apt-cache policy inkscape | ||
| + | apt-get -t jessie-backports install inkscape | ||
| + | aptitude install ink-generator | ||
| + | </ | ||
| + | ==== LibreCAD y FreeCAD ==== | ||
| + | |||
| + | Imprescindibles para el diseño y creación de cacharros. | ||
| + | |||
| + | Instalado desde repos con aptitude | ||
| + | |||
| + | < | ||
| + | apt-get install librecad | ||
| + | |||
| + | apt-get -t jessie-backports install freecad | ||
| + | </ | ||
| + | ==== Gimp ==== | ||
| + | |||
| + | El programa libre por excelencia de edición y retocado de imágenes. | ||
| + | |||
| + | Gimp ya estaba instalado, adicionalmente instalado el gimp data-extra | ||
| + | |||
| + | < | ||
| + | sudo aptitude install gimp-plugin-registry gimp-texturize gimp-data-extras gimp-gap | ||
| + | </ | ||
| + | |||
| + | ==== Shutter ==== | ||
| + | |||
| + | Un programa de captura de pantallas que permite editarlas rápidamente: | ||
| + | |||
| + | < | ||
| + | sudo aptitude install shutter libgoo-canvas-perl | ||
| + | </ | ||
| + | |||
| + | ==== Pencil ==== | ||
| + | |||
| + | Es una aplicación para hacer bocetos y diseño de páginas web. Probablemente no la necesitas. | ||
| + | |||
| + | Descargar la última versión (paquete Debian) | ||
| + | desde [[http:// | ||
| + | listo. Puede dar problemas si usamos Iceweasel, ya que el paquete | ||
| + | depende de Firefox. Más | ||
| + | info [[https:// | ||
| + | |||
| + | |||
| + | ==== Fotografía ==== | ||
| + | |||
| + | === Rawtherapee y Darktable: Tratamiento de imágenes fotogŕaficas === | ||
| + | |||
| + | Si te gusta la fotografía y/o tienes una cámara reflex, | ||
| + | definitivamente necesitas estas aplicaciones. | ||
| + | |||
| + | < | ||
| + | sudo aptitude install icc-profiles icc-profiles-free | ||
| + | sudo aptitude install rawtherapee darktable | ||
| + | </ | ||
| + | |||
| + | === Stopmotion === | ||
| + | |||
| + | Para hacer pélis de animación Stopmotion. | ||
| + | |||
| + | < | ||
| + | sudo aptitude install stopmotion vgrabbj dvgrab | ||
| + | </ | ||
| + | |||
| + | TODO: Probar qStopmotion | ||
| + | |||
| + | ===== Audio y video ===== | ||
| + | |||
| + | ==== Codecs ==== | ||
| + | |||
| + | Instalamos los codecs | ||
| + | |||
| + | < | ||
| + | sudo apt-get install libav-tools | ||
| + | |||
| + | sudo apt-get install faad gstreamer0.10-ffmpeg gstreamer0.10-x \ | ||
| + | gstreamer0.10-fluendo-mp3 gstreamer0.10-plugins-base \ | ||
| + | gstreamer0.10-plugins-good gstreamer0.10-plugins-bad \ | ||
| + | gstreamer0.10-plugins-ugly ffmpeg lame twolame vorbis-tools \ | ||
| + | libquicktime2 libfaac0 libmp3lame0 libxine2-all-plugins libdvdread4 \ | ||
| + | libdvdnav4 libmad0 sox libxvidcore4 libstdc++5 | ||
| + | |||
| + | sudo apt-get install w64codecs | ||
| + | </ | ||
| + | ==== Reproductores de música ==== | ||
| + | |||
| + | Instalamos // | ||
| + | |||
| + | < | ||
| + | sudo aptitude install clementine gstreamer0.10-plugins-bad | ||
| + | sudo aptitude install decibel-audio-player audacity soundconverter | ||
| + | </ | ||
| + | ==== Gpodder ==== | ||
| + | |||
| + | Instalamos //gpodder// para gestionar nuestros podcast, aunque // | ||
| + | |||
| + | < | ||
| + | sudo aptitude install gpodder | ||
| + | </ | ||
| + | ==== Spotify ==== | ||
| + | |||
| + | Cliente de //Spotify// | ||
| + | |||
| + | < | ||
| + | sudo apt-key adv --keyserver hkp:// | ||
| + | echo deb http:// | ||
| + | sudo aptitude update | ||
| + | sudo aptitude install spotify-client | ||
| + | </ | ||
| + | ==== Video ==== | ||
| + | |||
| + | Instalamos también utilidades de video: | ||
| + | |||
| + | < | ||
| + | sudo aptitude install vlc browser-plugin-vlc | ||
| + | sudo aptitude install recordmydesktop gtk-recordmydesktop | ||
| + | sudo aptitude install vokoscreen | ||
| + | sudo aptitude install handbrake handbrake-cli handbrake-gtk | ||
| + | </ | ||
| + | ===== Seguridad ===== | ||
| + | ==== Lector de DNIe ==== | ||
| + | |||
| + | Instalamos: | ||
| + | |||
| + | < | ||
| + | sudo aptitude libccid install pcscd pcsc-tools | ||
| + | </ | ||
| + | Como root ejecutamos // | ||
| + | )): | ||
| + | |||
| + | < | ||
| + | root@rasalhague: | ||
| + | PC/SC device scanner | ||
| + | V 1.4.23 (c) 2001-2011, Ludovic Rousseau < | ||
| + | Compiled with PC/SC lite version: 1.8.11 | ||
| + | Using reader plug'n play mechanism | ||
| + | Scanning present readers... | ||
| + | Waiting for the first reader... | ||
| + | </ | ||
| + | Si insertamos el lector veremos algo como esto: | ||
| + | |||
| + | < | ||
| + | root@rasalhague: | ||
| + | PC/SC device scanner | ||
| + | V 1.4.23 (c) 2001-2011, Ludovic Rousseau < | ||
| + | Compiled with PC/SC lite version: 1.8.11 | ||
| + | Using reader plug'n play mechanism | ||
| + | Scanning present readers... | ||
| + | Waiting for the first reader...found one | ||
| + | Scanning present readers... | ||
| + | 0: C3PO LTC31 v2 (11061005) 00 00 | ||
| + | |||
| + | Wed Jan 25 01:17:20 2017 | ||
| + | Reader 0: C3PO LTC31 v2 (11061005) 00 00 | ||
| + | Card state: Card removed, | ||
| + | </ | ||
| + | Si insertamos un DNI veremos que se lee la información de la tarjeta insertada: | ||
| + | |||
| + | < | ||
| + | Reader 0: C3PO LTC31 v2 (11061005) 00 00 | ||
| + | Card state: Card inserted, | ||
| + | y mas rollo | ||
| + | </ | ||
| + | Instalamos ahora: | ||
| + | |||
| + | < | ||
| + | aptitude install pinentry-gtk2 opensc | ||
| + | </ | ||
| + | |||
| + | ==== wire ==== | ||
| + | |||
| + | Un cliente de mensajeria seguro. | ||
| + | |||
| + | < | ||
| + | sudo aptitude install apt-transport-https | ||
| + | wget -q https:// | ||
| + | echo "deb https:// | ||
| + | sudo aptitude update | ||
| + | sudo aptitude install wire-desktop | ||
| + | </ | ||
| + | ===== Documentos ===== | ||
| + | |||
| + | ==== Calibre ==== | ||
| + | |||
| + | El mejor programa para gestionar tu colección de libros electrónicos. | ||
| + | |||
| + | Ejecutamos lo que manda la página web: | ||
| + | |||
| + | < | ||
| + | sudo -v && wget -nv -O- https:// | ||
| + | | sudo python -c " | ||
| + | </ | ||
| + | Para usar el calibre con el Kobo Glo: | ||
| + | |||
| + | * Desactivamos todos los plugin de Kobo menos el //Kobo Touch Extended// | ||
| + | * Creamos una columna // | ||
| + | * En las opciones del plugin: | ||
| + | * En la opción // | ||
| + | * Marcamos las opciones //Create collections// | ||
| + | * //Update metadata on device// y //Set series information// | ||
| + | |||
| + | Algunos enlaces útiles: | ||
| + | |||
| + | * https:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * https:// | ||
| + | |||
| + | ==== Pandoc ==== | ||
| + | |||
| + | Instalado el Pandoc descargando paquete //deb// desde la página web del Pandoc. | ||
| + | |||
| + | Descargamos las plantillas desde [[https:// | ||
| + | |||
| + | < | ||
| + | cd ~/.pandoc | ||
| + | git clone https:// | ||
| + | </ | ||
| + | ==== Zotero ==== | ||
| + | |||
| + | Zotero es un programa que te permite guardar una o varias bibliografías con referencias a libros, páginas web o documentos electrónicos. | ||
| + | |||
| + | Instalado el Zotero Standalone desde la [[https:// | ||
| + | |||
| + | ==== Vanilla LaTeX ==== | ||
| + | |||
| + | El LaTeX de Debian está un poquillo anticuado, si se quiere usar una versión reciente hay que aplicar [[http:// | ||
| + | |||
| + | < | ||
| + | cd ~ | ||
| + | mkdir tmp | ||
| + | cd tmp | ||
| + | wget http:// | ||
| + | tar xzf install-tl-unx.tar.gz | ||
| + | cd install-tl-xxxxxx | ||
| + | </ | ||
| + | La parte xxxxxx varía en función del estado de la última versión de LaTeX disponible. | ||
| + | |||
| + | < | ||
| + | sudo ./ | ||
| + | </ | ||
| + | Una vez lanzada la instalación podemos desmarcar las opciones que instalan la documentación y las fuentes. Eso nos obligará a consultar la documentación //on line// pero ahorrará practicamente el 50% del espacio necesario. En mi caso sin //doc// ni //src// ocupa 2,3Gb | ||
| + | |||
| + | < | ||
| + | mkdir -p /opt | ||
| + | sudo ln -s / | ||
| + | </ | ||
| + | Por último para acabar la instalación añadimos **/ | ||
| + | |||
| + | === Falsificando paquetes === | ||
| + | |||
| + | Ya tenemos el **texlive** instalado, ahora necesitamos que el gestor de paquetes sepa que ya lo tenemos instalado. | ||
| + | |||
| + | < | ||
| + | sudo apt-get install equivs --no-install-recommends | ||
| + | mkdir -p / | ||
| + | equivs-control texlive-local | ||
| + | </ | ||
| + | Para hacerlo más fácil podemos descargarnos un fichero ya preparado, ejecutando: | ||
| + | |||
| + | < | ||
| + | wget http:// | ||
| + | /bin/cp -f debian-equivs-2015-ex.txt texlive-local | ||
| + | </ | ||
| + | Editamos la versión y | ||
| + | |||
| + | < | ||
| + | equivs-build texlive-local | ||
| + | sudo dpkg -i texlive-local_2015-1_all.deb | ||
| + | </ | ||
| + | Todo listo, ahora podemos instalar cualquier paquete que dependa de texlive | ||
| + | |||
| + | === Fuentes === | ||
| + | |||
| + | Para dejar disponibles las fuentes opentype y truetype que vienen con texlive para el resto de aplicaciones: | ||
| + | |||
| + | < | ||
| + | sudo cp $(kpsewhich -var-value TEXMFSYSVAR)/ | ||
| + | gksudo gedit / | ||
| + | </ | ||
| + | Borramos la linea: | ||
| + | |||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | Y ejecutamos: | ||
| + | |||
| + | < | ||
| + | sudo fc-cache -fsv | ||
| + | </ | ||
| + | === Actualizaciones === | ||
| + | |||
| + | Para actualizar nuestro latex a la última versión de todos los paquetes: | ||
| + | |||
| + | < | ||
| + | sudo / | ||
| + | sudo / | ||
| + | </ | ||
| + | También podemos lanzar el instalador gráfico con: | ||
| + | |||
| + | < | ||
| + | sudo / | ||
| + | </ | ||
| + | Para usar el instalador gráfico hay que instalar previamente: | ||
| + | |||
| + | < | ||
| + | sudo apt-get install perl-tk --no-install-recommends | ||
| + | </ | ||
| + | === Lanzador para el actualizador de texlive === | ||
| + | |||
| + | < | ||
| + | mkdir -p ~/ | ||
| + | /bin/rm ~/ | ||
| + | cat > ~/ | ||
| + | [Desktop Entry] | ||
| + | Version=1.0 | ||
| + | Name=TeX Live Manager | ||
| + | Comment=Manage TeX Live packages | ||
| + | GenericName=Package Manager | ||
| + | Exec=gksu -d -S -D "TeX Live Manager" | ||
| + | Terminal=false | ||
| + | Type=Application | ||
| + | Icon=system-software-update | ||
| + | EOF | ||
| + | </ | ||
| + | Ojo que hay que dejar instalado el gksu (aunque debería estar de antes si sigues este doc) | ||
| + | |||
| + | < | ||
| + | sudo aptitude install gksu | ||
| + | </ | ||
| + | ==== Emacs ==== | ||
| + | |||
| + | Instalado emacs desde los repos: | ||
| + | |||
| + | < | ||
| + | sudo aptitude install emacs | ||
| + | </ | ||
| + | Instalamos los paquetes // | ||
| + | |||
| + | También instalamos //d-mode// y // | ||
| + | |||
| + | Después de probar //flymake// y // | ||
| + | |||
| + | Configuramos el fichero //.emacs// definimos algunas preferencias, | ||
| + | |||
| + | < | ||
| + | (custom-set-variables | ||
| + | ;; custom-set-variables was added by Custom. | ||
| + | ;; If you edit it by hand, you could mess it up, so be careful. | ||
| + | ;; Your init file should contain only one such instance. | ||
| + | ;; If there is more than one, they won't work right. | ||
| + | ' | ||
| + | (custom-set-faces | ||
| + | ;; custom-set-faces was added by Custom. | ||
| + | ;; If you edit it by hand, you could mess it up, so be careful. | ||
| + | ;; Your init file should contain only one such instance. | ||
| + | ;; If there is more than one, they won't work right. | ||
| + | ) | ||
| + | |||
| + | ;; | ||
| + | ;; Some settings | ||
| + | (setq inhibit-startup-message t) ; Eliminate FSF startup msg | ||
| + | (setq frame-title-format " | ||
| + | ;(setq visible-bell t) ; Flash instead of beep | ||
| + | (set-scroll-bar-mode ' | ||
| + | (show-paren-mode t) ; Blinking cursor shows matching parentheses | ||
| + | (setq column-number-mode t) ; Show column number of current cursor location | ||
| + | (mouse-wheel-mode t) ; wheel-mouse support | ||
| + | |||
| + | (setq fill-column 78) | ||
| + | (setq auto-fill-mode t) ; Set line width to 78 columns... | ||
| + | |||
| + | (setq-default indent-tabs-mode nil) ; Insert spaces instead of tabs | ||
| + | (global-set-key " | ||
| + | ; | ||
| + | ;(require ' | ||
| + | |||
| + | |||
| + | ;; | ||
| + | ;; Some useful key definitions | ||
| + | (define-key global-map [M-S-down-mouse-3] ' | ||
| + | (global-set-key [C-tab] ' | ||
| + | (global-set-key [C-kp-subtract] ' | ||
| + | (global-set-key [C-kp-multiply] ' | ||
| + | (global-set-key [C-kp-add] ' | ||
| + | (global-set-key [C-kp-divide] ' | ||
| + | (global-set-key [C-kp-decimal] ' | ||
| + | (global-set-key [C-M-prior] ' | ||
| + | (global-set-key [C-M-next] ' | ||
| + | |||
| + | ;; | ||
| + | ;; Set encoding | ||
| + | (prefer-coding-system ' | ||
| + | (setq coding-system-for-read ' | ||
| + | (setq coding-system-for-write ' | ||
| + | |||
| + | ;; | ||
| + | ;; Maximum colors | ||
| + | (cond ((fboundp ' | ||
| + | | ||
| + | (setq font-lock-maximum-decoration t))) ; Maximum colors | ||
| + | |||
| + | ;; | ||
| + | ;; Use % to match various kinds of brackets... | ||
| + | ;; See: http:// | ||
| + | |||
| + | (global-set-key " | ||
| + | (defun match-paren (arg) | ||
| + | "Go to the matching paren if on a paren; otherwise insert %." | ||
| + | (interactive " | ||
| + | (let ((prev-char (char-to-string (preceding-char))) | ||
| + | (next-char (char-to-string (following-char)))) | ||
| + | (cond ((string-match " | ||
| + | ((string-match " | ||
| + | (t (self-insert-command (or arg 1)))))) | ||
| + | |||
| + | ;; | ||
| + | ;; The wonderful bubble-buffer | ||
| + | (defvar LIMIT 1) | ||
| + | (defvar time 0) | ||
| + | (defvar mylist nil) | ||
| + | |||
| + | (defun time-now () | ||
| + | (car (cdr (current-time)))) | ||
| + | |||
| + | (defun bubble-buffer () | ||
| + | | ||
| + | (if (or (> (- (time-now) time) LIMIT) (null mylist)) | ||
| + | | ||
| + | (delq (get-buffer " *Minibuf-0*" | ||
| + | (delq (get-buffer " *Minibuf-1*" | ||
| + | | ||
| + | (setq mylist (cdr mylist)) | ||
| + | (setq newtop (car mylist)) | ||
| + | | ||
| + | (setq rest (cdr (copy-alist mylist))) | ||
| + | | ||
| + | | ||
| + | (setq rest (cdr rest))) | ||
| + | (setq time (time-now))) | ||
| + | |||
| + | (global-set-key [f8] ' | ||
| + | |||
| + | (defun geosoft-kill-buffer () | ||
| + | ;; Kill default buffer without the extra emacs questions | ||
| + | | ||
| + | | ||
| + | | ||
| + | (global-set-key [C-delete] ' | ||
| + | |||
| + | ;; | ||
| + | ;; MELPA and others | ||
| + | (when (>= emacs-major-version 24) | ||
| + | (require ' | ||
| + | (package-initialize) | ||
| + | (add-to-list ' | ||
| + | (add-to-list ' | ||
| + | (add-to-list ' | ||
| + | ) | ||
| + | |||
| + | ; (add-to-list ' | ||
| + | |||
| + | ;; | ||
| + | ;; Packages installed via package | ||
| + | ;; | ||
| + | |||
| + | ;; | ||
| + | ;; flymake and flycheck installed from package | ||
| + | ;; I think you have to choose only one | ||
| + | |||
| + | ;; (require ' | ||
| + | ;; ;; | ||
| + | ;; (global-set-key (kbd "C-c d") ' | ||
| + | ;; (global-set-key (kbd "C-c n") ' | ||
| + | ;; (global-set-key (kbd "C-c p") ' | ||
| + | |||
| + | (add-hook ' | ||
| + | (global-set-key | ||
| + | (global-set-key | ||
| + | |||
| + | ;; Define d-mode addons | ||
| + | ;; Activate flymake or flycheck for D | ||
| + | ;; Activate auto-complete-mode | ||
| + | ;; Activate yasnippet minor mode if available | ||
| + | ;; Activate dcd-server | ||
| + | (require ' | ||
| + | (add-hook ' | ||
| + | (lambda() | ||
| + | ;; | ||
| + | (flycheck-dmd-dub-set-variables) | ||
| + | (require ' | ||
| + | (setup-flycheck-d-unittest) | ||
| + | (auto-complete-mode t) | ||
| + | (when (featurep ' | ||
| + | (yas-minor-mode-on)) | ||
| + | (ac-dcd-maybe-start-server) | ||
| + | (ac-dcd-add-imports) | ||
| + | (add-to-list ' | ||
| + | (define-key d-mode-map (kbd "C-c ?") ' | ||
| + | (define-key d-mode-map (kbd "C-c .") ' | ||
| + | (define-key d-mode-map (kbd "C-c ,") ' | ||
| + | (define-key d-mode-map (kbd "C-c s") ' | ||
| + | (when (featurep ' | ||
| + | (add-to-list ' | ||
| + | | ||
| + | (add-to-list ' | ||
| + | | ||
| + | (add-to-list ' | ||
| + | | ||
| + | |||
| + | ;; Define diet template mode (this is not installed from package) | ||
| + | (add-to-list ' | ||
| + | (add-hook ' | ||
| + | (lambda() | ||
| + | (setq tab-width 2) | ||
| + | (setq whitespace-line-column 250) | ||
| + | (setq indent-tabs-mode nil) | ||
| + | (setq indent-line-function ' | ||
| + | |||
| + | ;; | ||
| + | ;; elpy | ||
| + | (elpy-enable) | ||
| + | </ | ||
| + | |||
| + | ==== Textadept ==== | ||
| + | Un potente editor de desarrollo, multiplataforma. | ||
| + | |||
| + | Viene incluido en el pack D-apt, por que es muy potente como IDE para D. | ||
| + | |||
| + | De momento lo único que he configurado es la fuente, para ello editamos el fichero ~/ | ||
| + | |||
| + | < | ||
| + | ui.set_theme(' | ||
| + | </ | ||
| + | ==== Scribus ==== | ||
| + | |||
| + | Scribus es un programa libre de composición de documentos. con Scribus puedes elaborar desde los folletos de una exposición hasta una revista o un poster. | ||
| + | |||
| + | Instalado con aptitude | ||
| + | |||
| + | < | ||
| + | sudo aptitude install scribus | ||
| + | </ | ||
| + | ==== Comix ==== | ||
| + | |||
| + | Instalado con aptitude | ||
| + | |||
| + | < | ||
| + | sudo aptitude install comix | ||
| + | </ | ||
| + | ===== Desarrollo Software ===== | ||
| + | |||
| + | ==== Paquetes esenciales ==== | ||
| + | |||
| + | Estos son los paquetes esenciales para empezar a desarrollar software en Linux. | ||
| + | |||
| + | < | ||
| + | sudo apt-get install build-essential checkinstall make automake cmake autoconf git git-core dpkg wget | ||
| + | </ | ||
| + | ==== Git ==== | ||
| + | |||
| + | Control de versiones distribuido. Imprescindible. | ||
| + | |||
| + | Instalado git desde aptitude | ||
| + | |||
| + | < | ||
| + | sudo aptitude install git | ||
| + | </ | ||
| + | Configuración básica de **git** | ||
| + | |||
| + | < | ||
| + | git config --global user.name " | ||
| + | git config --global user.email " | ||
| + | git config --global core.editor emacs | ||
| + | git config --global color.ui true | ||
| + | git config --global credential.helper cache | ||
| + | git config --global credential.helper 'cache --timeout=7200' | ||
| + | git config --global push.default simple | ||
| + | git config --global alias.sla 'log --oneline --decorate --graph --all' | ||
| + | git config --global alias.lg "log --graph --pretty=format:' | ||
| + | git config --global alias.car ' | ||
| + | git config --global alias.unstage reset | ||
| + | git config --global alias.st status | ||
| + | git config --global alias.last | ||
| + | git config --global alias.ca ' | ||
| + | </ | ||
| + | ==== Open Java ==== | ||
| + | |||
| + | < | ||
| + | apt-get install openjdk-7-jre icedtea-7-plugin | ||
| + | </ | ||
| + | ==== Lenguaje de programación D (D programming language) ==== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | === D-apt e instalación de programas === | ||
| + | |||
| + | Configurado [[http:// | ||
| + | |||
| + | < | ||
| + | sudo wget http:// | ||
| + | sudo apt-get update && sudo apt-get -y --allow-unauthenticated install --reinstall d-apt-keyring && sudo apt-get update | ||
| + | </ | ||
| + | Instalamos todos los programas asociados. | ||
| + | |||
| + | < | ||
| + | sudo aptitude install dmd dub dcd dfix dfmt dscanner textadept | ||
| + | </ | ||
| + | === DCD === | ||
| + | |||
| + | Una vez instalado el DCD tenemos que configurarlo creando el fichero // | ||
| + | |||
| + | < | ||
| + | / | ||
| + | / | ||
| + | </ | ||
| + | Podemos probarlo con: | ||
| + | |||
| + | < | ||
| + | dcd-server & | ||
| + | echo | dcd-client --search toImpl | ||
| + | </ | ||
| + | === gdc === | ||
| + | |||
| + | Instalado con | ||
| + | |||
| + | < | ||
| + | sudo aptitude install gdc | ||
| + | </ | ||
| + | === ldc === | ||
| + | |||
| + | Instalado con: | ||
| + | |||
| + | < | ||
| + | sudo aptitude install ldc | ||
| + | </ | ||
| + | Para poder ejecutar aplicaciones basadas en [[http:// | ||
| + | |||
| + | < | ||
| + | sudo apt-get install -y libssl-dev libevent-dev | ||
| + | </ | ||
| + | === Emacs para editar D === | ||
| + | |||
| + | Instalados los siguientes paquetes desde // | ||
| + | |||
| + | * //d-mode// | ||
| + | * // | ||
| + | * // | ||
| + | * // | ||
| + | * // | ||
| + | * // | ||
| + | * //ac-dcd// | ||
| + | |||
| + | Se configura en el fichero **~/ | ||
| + | |||
| + | < | ||
| + | ;; (require ' | ||
| + | ;; ;; | ||
| + | ;; (global-set-key (kbd "C-c d") ' | ||
| + | ;; (global-set-key (kbd "C-c n") ' | ||
| + | ;; (global-set-key (kbd "C-c p") ' | ||
| + | |||
| + | (add-hook ' | ||
| + | (global-set-key | ||
| + | (global-set-key | ||
| + | |||
| + | ;; Define d-mode addons | ||
| + | ;; Activate flymake or flycheck for D | ||
| + | ;; Activate auto-complete-mode | ||
| + | ;; Activate yasnippet minor mode if available | ||
| + | ;; Activate dcd-server | ||
| + | (require ' | ||
| + | (add-hook ' | ||
| + | (lambda() | ||
| + | ;; | ||
| + | (flycheck-dmd-dub-set-variables) | ||
| + | (require ' | ||
| + | (setup-flycheck-d-unittest) | ||
| + | (auto-complete-mode t) | ||
| + | (when (featurep ' | ||
| + | (yas-minor-mode-on)) | ||
| + | (ac-dcd-maybe-start-server) | ||
| + | (ac-dcd-add-imports) | ||
| + | (add-to-list ' | ||
| + | (define-key d-mode-map (kbd "C-c ?") ' | ||
| + | (define-key d-mode-map (kbd "C-c .") ' | ||
| + | (define-key d-mode-map (kbd "C-c ,") ' | ||
| + | (define-key d-mode-map (kbd "C-c s") ' | ||
| + | (when (featurep ' | ||
| + | (add-to-list ' | ||
| + | | ||
| + | (add-to-list ' | ||
| + | | ||
| + | (add-to-list ' | ||
| + | | ||
| + | |||
| + | ;; Define diet template mode (this is not installed from package) | ||
| + | (add-to-list ' | ||
| + | (add-hook ' | ||
| + | (lambda() | ||
| + | (setq tab-width 2) | ||
| + | (setq whitespace-line-column 250) | ||
| + | (setq indent-tabs-mode nil) | ||
| + | (setq indent-line-function ' | ||
| + | </ | ||
| + | === Referencias === | ||
| + | |||
| + | * https:// | ||
| + | * https:// | ||
| + | |||
| + | ==== Processing ==== | ||
| + | |||
| + | Bajamos los paquetes de las respectivas páginas web, descomprimimimos en //~/apps/// y creamos los desktop file con **Menulibre** | ||
| + | |||
| + | ==== Openframeworks ==== | ||
| + | |||
| + | Bajamos el paquete comprimido de la página web del proyecto. | ||
| + | |||
| + | Descomprimimos en //~/apps// | ||
| + | |||
| + | Bajamos al directorio de la aplicación y ejecutamos: | ||
| + | |||
| + | < | ||
| + | sudo scripts/ | ||
| + | sudo scripts/ | ||
| + | |||
| + | cd scripts/ | ||
| + | ./ | ||
| + | |||
| + | cd OF/ | ||
| + | make | ||
| + | make Run | ||
| + | |||
| + | cd OF/ | ||
| + | ./ | ||
| + | </ | ||
| + | Va a instalar un montón de dependencias, | ||
| + | |||
| + | Al final también va a añadir una linea al fichero // | ||
| + | |||
| + | < | ||
| + | export PG_OF_PATH=/ | ||
| + | </ | ||
| + | ==== Python ==== | ||
| + | |||
| + | De partida tenemos instalado dos versiones: //python// y //python3// | ||
| + | |||
| + | < | ||
| + | python -V | ||
| + | Python 2.7.9 | ||
| + | |||
| + | python3 -V | ||
| + | Python 3.4.2 | ||
| + | </ | ||
| + | === pip, virtualenv, virtualenvwrapper, | ||
| + | |||
| + | //pip// es un gestor de paquetes para **Python** que facilita la instalación de librerías y utilidades. | ||
| + | |||
| + | Para poder usar los entornos virtuales instalaremos también // | ||
| + | |||
| + | Instalamos los dos desde aptitude: | ||
| + | |||
| + | < | ||
| + | sudo aptitude install python-pip python-virtualenv virtualenv | ||
| + | |||
| + | sudo pip install --upgrade pip | ||
| + | sudo pip install --upgrade virtualenv | ||
| + | </ | ||
| + | // | ||
| + | |||
| + | Instalamos el virtualwrapper: | ||
| + | |||
| + | < | ||
| + | sudo apt-get install virtualenvwrapper -y | ||
| + | </ | ||
| + | Para usar // | ||
| + | |||
| + | < | ||
| + | source / | ||
| + | </ | ||
| + | O añadir esa linea a nuestros ficheros //.bashrc// y/o //.zshrc// | ||
| + | |||
| + | Yo he dejado la variable de entorno // | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | Por último, si queremos tener utilidades parecidas en nuestro //fish shell// instalamos // | ||
| + | |||
| + | < | ||
| + | sudo pip install virtualfish | ||
| + | </ | ||
| + | [[http:// | ||
| + | |||
| + | === iPython notebook === | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | == Instalar Jupyter en el Python del sistema == | ||
| + | |||
| + | Seguimos las instrucciones [[https:// | ||
| + | |||
| + | Si usamos el script descargado del github se instalará el **Jupyter** con el python3 del sistema. %%__%%Conviene asegurarse de que estamos apuntando al python del S.O. y no a cualquier otro Python que hayamos instalado: | ||
| + | |||
| + | < | ||
| + | which python | ||
| + | </ | ||
| + | == Instalar Anaconda Python == | ||
| + | |||
| + | Teóricamente [[https:// | ||
| + | |||
| + | < | ||
| + | bash Anaconda3-4.2.0-Linux-x86_64.sh | ||
| + | bash Anaconda2-4.2.0-Linux-x86_64.sh | ||
| + | </ | ||
| + | Los he dejado instalados en // | ||
| + | |||
| + | Cada una de estas instalaciones incorpora su propia versión de Python. Para usarlas tenemos que cambiar nuestro PATH para que el Python deseado sea el primero que se selecciona. | ||
| + | |||
| + | Por ejemplo para activar anaconda3 en bash: | ||
| + | |||
| + | < | ||
| + | export PATH=" | ||
| + | </ | ||
| + | Para hacer lo mismo en fish: | ||
| + | |||
| + | < | ||
| + | set -x PATH ~/ | ||
| + | </ | ||
| + | === iPython y GraphLab === | ||
| + | |||
| + | La instalación de iPython y GraphLab (que es una librería comercial) la hice para realizar un curso. | ||
| + | |||
| + | Creamos un entorno conda con Python 2.7.x | ||
| + | |||
| + | < | ||
| + | export PATH=" | ||
| + | conda create -n gl-env python=2.7 anaconda | ||
| + | </ | ||
| + | Activamos el nuevo entorno (todo esto lo hice en bash, en fish hay un problemilla con el entorno conda [[https:// | ||
| + | |||
| + | < | ||
| + | bash | ||
| + | source activate gl-env | ||
| + | </ | ||
| + | En el futuro esto es todo lo que tendremos que hacer activar el entorno conda donde estamos instalando el iPython. | ||
| + | |||
| + | Nos aseguramos de tener //pip// al dia: | ||
| + | |||
| + | < | ||
| + | conda update pip | ||
| + | </ | ||
| + | Instalamos la biblioteca [[https:// | ||
| + | )) | ||
| + | |||
| + | Una vez registrado en la página web te pasan un número de registro que tienes que usar para instalar la biblioteca. | ||
| + | |||
| + | < | ||
| + | pip install --upgrade --no-cache-dir https:// | ||
| + | </ | ||
| + | Y para terminar instalamos iPython ((TODO: conda install jupyter | ||
| + | )): | ||
| + | |||
| + | < | ||
| + | conda install ipython-notebook | ||
| + | </ | ||
| + | Desde ahora basta con activar el entorno que hemos creado para tener acceso al iPython. | ||
| + | |||
| + | < | ||
| + | source activate gl-env | ||
| + | |||
| + | ipython notebook | ||
| + | |||
| + | source deactivate gl-env | ||
| + | </ | ||
| + | == Instalación alternativa con virtualenv == | ||
| + | |||
| + | < | ||
| + | # Create a virtual environment named e.g. gl-env | ||
| + | virtualenv gl-env | ||
| + | |||
| + | # Activate the virtual environment | ||
| + | source gl-env/ | ||
| + | |||
| + | # Make sure pip is up to date | ||
| + | pip install --upgrade pip | ||
| + | |||
| + | # Install IPython Notebook (optional) | ||
| + | pip install " | ||
| + | |||
| + | # Install Jupyter Notebook (optional) | ||
| + | pip install " | ||
| + | |||
| + | |||
| + | # Install your licensed copy of GraphLab Create | ||
| + | pip install --upgrade --no-cache-dir https:// | ||
| + | </ | ||
| + | === Usar Emacs para editar Python === | ||
| + | |||
| + | Instalamos //elpy// desde el gestor de paquetes de Emacs, concretamente desde el repo // | ||
| + | |||
| + | Hay que habilitar //elpy// en el fichero **~/ | ||
| + | |||
| + | < | ||
| + | (elpy enable) | ||
| + | </ | ||
| + | // | ||
| + | |||
| + | < | ||
| + | sudo pip install pylint | ||
| + | </ | ||
| + | === TODO === | ||
| + | |||
| + | Estudiar esto con calma https:// | ||
| + | |||
| + | ==== Web2py ==== | ||
| + | |||
| + | Desde [[http:// | ||
| + | |||
| + | Yo he descomprimido el framework en '' | ||
| + | |||
| + | Para que el framework soporte ssl convine generar los siguientes certificados: | ||
| + | |||
| + | < | ||
| + | openssl genrsa -out server.key 2048 | ||
| + | openssl req -new -key server.key -out server.csr | ||
| + | |||
| + | Country Name (2 letter code) [AU]:ES | ||
| + | State or Province Name (full name) [Some-State]: | ||
| + | Locality Name (eg, city) []:CORUNA | ||
| + | Organization Name (eg, company) [Internet Widgits Pty Ltd]:Mikasa | ||
| + | Organizational Unit Name (eg, section) []:salvari | ||
| + | Common Name (e.g. server FQDN or YOUR name) []:salvari | ||
| + | Email Address []: | ||
| + | |||
| + | Please enter the following ' | ||
| + | to be sent with your certificate request | ||
| + | A challenge password []: | ||
| + | An optional company name []:Mikasa | ||
| + | </ | ||
| + | Ahora ejecutamos: | ||
| + | |||
| + | < | ||
| + | openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt | ||
| + | </ | ||
| + | Ahora deberíamos dejar los ficheros '' | ||
| + | |||
| + | < | ||
| + | python web2py.py -a ' | ||
| + | </ | ||
| + | Y ya podemos acceder nuestro server en la dirección https:// | ||
| + | |||
| + | Tampoco está de más instalar las librerías de graphviz: | ||
| + | |||
| + | < | ||
| + | sudo aptitude install python-pygraphviz | ||
| + | </ | ||
| + | ==== Selenium ==== | ||
| + | |||
| + | Vamos a instalar // | ||
| + | )) de aplicaciones web con Python. Lo haremos siguiendo [[http:// | ||
| + | |||
| + | En principio lo voy a usar con el Python del sistema '' | ||
| + | |||
| + | < | ||
| + | sudo pip install -U selenium | ||
| + | </ | ||
| + | Con esto nos queda instalado '' | ||
| + | |||
| + | Además de Selenium necesitamos los drivers de los navegadores que queremos controlar, de momento solo usaré // | ||
| + | |||
| + | < | ||
| + | sudo chown root:staff ~/ | ||
| + | sudo chmod 755 ~/ | ||
| + | sudo mv ~/ | ||
| + | </ | ||
| + | Para probarlo escribimos un pequeño programa en Python: | ||
| + | |||
| + | < | ||
| + | from selenium import webdriver | ||
| + | |||
| + | browser = webdriver.Firefox() | ||
| + | browser.get(' | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | > **Nota**: Tengo que pensar bien como hacerlo. | ||
| + | |||
| + | ===== Go language ===== | ||
| + | |||
| + | Nos bajamos los binarios desde la [[https:// | ||
| + | |||
| + | Descomprimimos en ///opt//, ejecutando (como root): | ||
| + | |||
| + | < | ||
| + | cd /opt | ||
| + | tar xvzf ~/ | ||
| + | </ | ||
| + | Deberíamos dejar configuradas las siguientes variables de entorno: | ||
| + | |||
| + | < | ||
| + | # Point to the local installation of golang. | ||
| + | export GOROOT=/ | ||
| + | |||
| + | # Point to the location beneath which source and binaries are installed. | ||
| + | export GOPATH=$HOME/ | ||
| + | |||
| + | # Ensure that the binary-release is on your PATH. | ||
| + | export PATH=${PATH}: | ||
| + | |||
| + | # Ensure that compiled binaries are also on your PATH. | ||
| + | export PATH=${PATH}: | ||
| + | </ | ||
| + | |||
| + | ===== Desarrollo hardware ===== | ||
| + | |||
| + | ==== Arduino IDE ==== | ||
| + | |||
| + | Bajamos los paquetes de la página [[https:// | ||
| + | |||
| + | Creamos un link al directorio del software que hemos descargado: | ||
| + | |||
| + | < | ||
| + | cd ~/ | ||
| + | ln -s arduino-x.y.z current | ||
| + | </ | ||
| + | La primera ves que instalamos será necesario crear el desktop file con **Menulibre** con las actulizaciones no será necesario, siempre y cuando apunte a // | ||
| + | |||
| + | ==== Pinguino IDE ==== | ||
| + | |||
| + | Tenemos el paquete de instalación disponible en su página [[http:// | ||
| + | |||
| + | Ejecutamos el programa de instalación. El programa descargará los paquetes Debian necesarios para dejar el IDE y los compiladores instalados. | ||
| + | |||
| + | Al acabar la instalación he tenido que crear el directorio // | ||
| + | |||
| + | El programa queda correctamente instalado en ///opt// y arranca correctamente, | ||
| + | |||
| + | ==== KiCAD ==== | ||
| + | |||
| + | Instalamos desde // | ||
| + | |||
| + | < | ||
| + | sudo aptitude install -t jessie-backports kicad | ||
| + | </ | ||
| + | Vamos a instalar a mayores algunas librerias de KiCAD, para poder crear Shields de Arduino. | ||
| + | |||
| + | * [[https:// | ||
| + | * [[http:// | ||
| + | |||
| + | ===== Virtualización ===== | ||
| + | |||
| + | ==== Docker ==== | ||
| + | |||
| + | < | ||
| + | apt-get install apt-transport-https ca-certificates | ||
| + | apt-key adv --keyserver hkp:// | ||
| + | edit docker.list with | ||
| + | deb https:// | ||
| + | |||
| + | apt-cache policy docker-engine | ||
| + | |||
| + | |||
| + | sudo apt-get install docker-engine | ||
| + | |||
| + | |||
| + | sudo service docker start | ||
| + | |||
| + | sudo docker run hello-world | ||
| + | |||
| + | sudo gpasswd -a salvari docker | ||
| + | </ | ||
| + | ==== Virtualbox ==== | ||
| + | |||
| + | Tenemos que: | ||
| + | |||
| + | * Añadir el fichero // | ||
| + | * Bajarnos y añadir a nuestro llavero las claves públicas de Oracle | ||
| + | * Actualizar la lista de paquetes | ||
| + | * Instalar virtualbox | ||
| + | * Añadir nuestro usuario al grupo vboxuser (no tengo claro que esto sea necesario) | ||
| + | |||
| + | < | ||
| + | echo "deb http:// | ||
| + | |sudo tee / | ||
| + | | sudo apt-key add - sudo apt-get update sudo apt-get install virtualbox-5.1 sudo gpasswd -a salvari vboxusers | ||
| + | </ | ||
| + | |||
| + | Una vez instalado el virtualbox tenemos que instalarnos el pack de extensiones, | ||
| + | |||
| + | Sin más que hacer doble click en el fichero descargado lo instalaremos en nuestra instancia de // | ||
| + | |||
| + | ==== Virtualizando un Windows 7 ==== | ||
| + | |||
| + | * 2 Gb de ram | ||
| + | * Create virtual hard disk | ||
| + | * 10Gb dinamically allocated | ||
| + | * Settings -> System-> | ||
| + | * Storage -> Add IDE Controller-> | ||
| + | * Instalamos Windows en Inglés y con teclado en español | ||
| + | |||
| + | Una vez instalado el SO Windows instalamos las Guest Additions. | ||
| + | |||
| + | ===== Shells alternativos: | ||
| + | |||
| + | Los dos son muy interesantes. He usado zsh casi un año, ahora voy a probar **fish**. | ||
| + | |||
| + | ==== fish ==== | ||
| + | |||
| + | Instalamos **fish** desde aptitude con: | ||
| + | |||
| + | < | ||
| + | sudo aptitude install fish | ||
| + | </ | ||
| + | Instalamos oh-my-fish | ||
| + | |||
| + | < | ||
| + | curl -L https:// | ||
| + | fish install | ||
| + | rm install | ||
| + | |||
| + | chsh -s `which fish` | ||
| + | |||
| + | </ | ||
| + | ==== zsh ==== | ||
| + | |||
| + | Igualmente instalamos **zsh**: | ||
| + | |||
| + | < | ||
| + | sudo aptitude install zsh | ||
| + | </ | ||
| + | Vamos a usar antigen así que nos lo clonamos en _~/apps/ | ||
| + | |||
| + | < | ||
| + | cd ~/apps | ||
| + | git clone https:// | ||
| + | </ | ||
| + | Y editamos el fichero // | ||
| + | |||
| + | < | ||
| + | source ~/ | ||
| + | |||
| + | # Load the oh-my-zsh' | ||
| + | antigen use oh-my-zsh | ||
| + | |||
| + | # Bundles from the default repo (robbyrussell' | ||
| + | antigen bundle git | ||
| + | antigen bundle command-not-found | ||
| + | antigen bundle autojump | ||
| + | antigen bundle extract | ||
| + | # antigen bundle heroku | ||
| + | # antigen bundle pip | ||
| + | # antigen bundle lein | ||
| + | |||
| + | |||
| + | # Syntax highlighting bundle. | ||
| + | antigen bundle zsh-users/ | ||
| + | |||
| + | # git | ||
| + | antigen bundle arialdomartini/ | ||
| + | antigen theme arialdomartini/ | ||
| + | |||
| + | # autosuggestions | ||
| + | antigen bundle tarruda/ | ||
| + | |||
| + | #antigen theme agnoster | ||
| + | |||
| + | # Tell antigen that you're done. | ||
| + | antigen apply | ||
| + | |||
| + | # append to path | ||
| + | path+=('/ | ||
| + | # prepend | ||
| + | # path=('/ | ||
| + | # export PATH | ||
| + | </ | ||
| + | Antigen ya se encarga de descargar todo lo que queramos utilizar en zsh. | ||
| + | |||
| + | Nos queda arreglar las fuentes para que funcione correctamente la linea de estado en los repos de git. Necesitamos una fuente //Awesome// | ||
| + | |||
| + | ==== Instalación de fuentes adicionales ==== | ||
| + | |||
| + | Nos bajamos unas cuantas fuentes que soporten los iconos // | ||
| + | |||
| + | < | ||
| + | cd ~/tmp | ||
| + | git clone https:// | ||
| + | git clone https:// | ||
| + | |||
| + | mkdir ~/.fonts | ||
| + | cp someFontFile ~/.fonts/ | ||
| + | fc-cache -vf ~/.fonts/ | ||
| + | </ | ||
| + | ===== Reprap ===== | ||
| + | |||
| + | ==== Sl1c3r ==== | ||
| + | |||
| + | Descargamos el paquete binario desde la página web. | ||
| + | |||
| + | * Cambiar permisos en directorio /// | ||
| + | * Instalado // | ||
| + | * Es necesario instalar // | ||
| + | |||
| + | ==== OpenScad ==== | ||
| + | |||
| + | Instalado desde aptitude. | ||
| + | |||
| + | ==== Printrun ==== | ||
| + | |||
| + | Descargamos desde github | ||
| + | |||
| + | ==== Cura ==== | ||
| + | |||
| + | Descargamos desde la pagina web | ||
| + | |||
| + | < | ||
| + | sudo aptitude install python3-pyqt5 | ||
| + | sudo dpkg -i Cura-2.1.3-Linux.deb | ||
| + | </ | ||
| + | < | ||
| + | sudo apt-get install python-serial python-wxgtk2.8 python-pyglet python-numpy \ | ||
| + | cython python-libxml2 python-gobject python-dbus python-psutil python-cairosvg git | ||
| + | |||
| + | python setup.py build_ext --inplace | ||
| + | </ | ||
| + | ===== Aplicaciones Web ===== | ||
| + | |||
| + | ==== Servidor Web ==== | ||
| + | |||
| + | === Apache === | ||
| + | |||
| + | Instalamos el paquete //apache2// | ||
| + | |||
| + | < | ||
| + | sudo aptitude install apache2 | ||
| + | </ | ||
| + | Si abrimos el navegador y visitamos http:// | ||
| + | |||
| + | El directorio raiz por defecto de Apache en Debian es /// | ||
| + | |||
| + | * / | ||
| + | * / | ||
| + | * / | ||
| + | |||
| + | Además del Apache vamos a dejar instalado el //php5// | ||
| + | |||
| + | < | ||
| + | sudo aptitude install php5 libapache2-mod-php5 | ||
| + | </ | ||
| + | Hay que reiniciar el servicio: '' | ||
| + | |||
| + | Si creamos un fichero /// | ||
| + | |||
| + | < | ||
| + | <?php | ||
| + | phpinfo(); | ||
| + | ?> | ||
| + | </ | ||
| + | Podemos ver en el siguiente enlace http:// | ||
| + | |||
| + | Módulos de php relacionados con mysql: | ||
| + | |||
| + | < | ||
| + | sudo aptitude install php5-mysqlnd php5-curl php5-gd php5-intl php-pear \ | ||
| + | php5-imagick php5-imap php5-mcrypt php5-memcache php5-pspell php5-recode \ | ||
| + | php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl | ||
| + | </ | ||
| + | === nginx === | ||
| + | |||
| + | TODO | ||
| + | |||
| + | ==== Servidores de bases de datos ==== | ||
| + | |||
| + | === MySQL === | ||
| + | |||
| + | Instalamos desde aptitude // | ||
| + | |||
| + | Opcionalmente (y muy recomendable) | ||
| + | |||
| + | < | ||
| + | mysql_secure_instalallation | ||
| + | </ | ||
| + | === Actualización === | ||
| + | |||
| + | Cambiamos el fichero // | ||
| + | |||
| + | < | ||
| + | # max_allowed_packet | ||
| + | max_allowed_packet | ||
| + | </ | ||
| + | Reiniciamos el servicio: | ||
| + | |||
| + | < | ||
| + | / | ||
| + | </ | ||
| + | === Cliente SQL SQuirreL SQL === | ||
| + | |||
| + | Descargamos el paquete desde la página [[http:// | ||
| + | |||
| + | Una vez instalado, creamos el desktop-file con // | ||
| + | |||
| + | === MariaDB === | ||
| + | |||
| + | **PENDIENTE** | ||
| + | |||
| + | ===== Recetas varias ===== | ||
| + | |||
| + | ==== Orange Pi Zero ==== | ||
| + | |||
| + | Para usar la Orange Pi Zero tendremos que crear imágenes arrancables en tarjetas micro SD. | ||
| + | |||
| + | === Crear una SD arrancable === | ||
| + | |||
| + | Dependiendo de donde conectemos la tarjeta tendremos que usar diferentes rutas. En el procedimiento descrito a continuación '' | ||
| + | |||
| + | Si la tarjeta se conecta via adaptador USB, linux la va a asociar a un dispositivo /dev/sdx, por ejemplo en mi portátil el disco duro es '' | ||
| + | |||
| + | Si conectamos una memoria con un adaptador USB linux la podría mapear en '' | ||
| + | |||
| + | Si la memoria se conecta mediante una ranura SD, linux la asociará a un dispositivo '' | ||
| + | |||
| + | Los datos se pueden almacenar directamente en la memoria SD o en una partición creada en la memoria. | ||
| + | |||
| + | Resumiendo: | ||
| + | |||
| + | * '' | ||
| + | * ${card}${p} será '' | ||
| + | |||
| + | Antes de seguir adelante hay que estar completamente seguro del dispositivo asociado a nuestra memoria SD para no armar ningún estropicio. | ||
| + | |||
| + | Hay varias comprobaciones que se pueden hacer: | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | < | ||
| + | Disk / | ||
| + | Units: sectors of 1 * 512 = 512 bytes | ||
| + | Sector size (logical/ | ||
| + | I/O size (minimum/ | ||
| + | Disklabel type: dos | ||
| + | Disk identifier: 0x00000000 | ||
| + | </ | ||
| + | '' | ||
| + | |||
| + | < | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | Descargamos la imagen de Jessie adaptada a la //Orange Pi Zero// desde la página https:// | ||
| + | |||
| + | Descomprimimos la imagen y la grabamos en la tarjeta SD con el comando: | ||
| + | |||
| + | < | ||
| + | sudo dd if=./ | ||
| + | </ | ||
| + | Insertamos la tarjeta en la //Orange Pi// y le damos alimentación. El primer arranque llevará alrededor de tres minutos, y tras ese tiempo aun hará falta un minuto más para poder hacer login. Este retardo es debido a que el sistema intentará actualizar la lista de paquetes y creará un area de swap de emergencia en la SD, y además cambiará el tamaño de la partición que hemos creado para ocupar todo el espacio libre en la SD. | ||
| + | |||
| + | De momento solo la he arrancado y efectivamente las particiones han cambiado tras el arranque así que tiene buena pinta. | ||
| + | |||
| + | Volvemos a insertar la SD en la //Orange Pi// y la conectamos con un cable ethernet al router de casa. El Armbian viene configurado por defecto para obtener su IP desde un servidor DHCP. | ||
| + | |||
| + | Como mi cutre-router no me da información de las IP asignadas usamos //nmap//: | ||
| + | |||
| + | < | ||
| + | nmap -sP 192.168.0.0 /24 | ||
| + | </ | ||
| + | Con eso averiguamos la IP asignada a la //Orange Pi Zero// y ya podemos hacer login con: | ||
| + | |||
| + | < | ||
| + | ssh [email protected] | ||
| + | </ | ||
| + | ¡Y ya estamos! | ||
| + | |||
| + | {{OrangePiZero_FirstLogin.png| Primer login en //Orange Pi//}} | ||
| + | |||
| + | Lo primero es poner al dia el sistema: | ||
| + | |||
| + | < | ||
| + | apt-get update | ||
| + | apt-get upgrade | ||
| + | </ | ||
| + | Si quieres puedes reconfigurar el //time zone//: | ||
| + | |||
| + | < | ||
| + | dpgk-reconfigura tzdata | ||
| + | </ | ||
| + | === Conexión WIFI === | ||
| + | |||
| + | Vamos a comprobar que todo va bien: | ||
| + | |||
| + | < | ||
| + | root@orangepizero: | ||
| + | lo no wireless extensions. | ||
| + | |||
| + | tunl0 no wireless extensions. | ||
| + | |||
| + | wlan0 IEEE 802.11bgn | ||
| + | Mode: | ||
| + | Retry long limit: | ||
| + | Encryption key:off | ||
| + | Power Management: | ||
| + | |||
| + | eth0 no wireless extensions. | ||
| + | </ | ||
| + | Todo tiene buena pinta, vamos a ver si detecta WIFIs: | ||
| + | |||
| + | < | ||
| + | root@orangepizero: | ||
| + | ESSID:" | ||
| + | ESSID:" | ||
| + | ESSID:" | ||
| + | ESSID:" | ||
| + | ESSID:" | ||
| + | ESSID:" | ||
| + | ESSID:" | ||
| + | ESSID:" | ||
| + | ESSID:" | ||
| + | ESSID:" | ||
| + | ESSID:"" | ||
| + | ESSID:" | ||
| + | </ | ||
| + | Para configurar el wifi echamos un ojo al fichero '' | ||
| + | |||
| + | < | ||
| + | # Armbian ships with network-manager installed by default. To save you time | ||
| + | # and hassles consider using 'sudo nmtui' instead of configuring Wi-Fi settings | ||
| + | # manually. | ||
| + | </ | ||
| + | Así que basta con ejecutar '' | ||
| + | |||
| + | {{orangepizero_tmtui.png| Configuración WIFI}} | ||
| + | |||
| + | Ejecutamos '' | ||
| + | |||
| + | < | ||
| + | ifconfig | ||
| + | |||
| + | wlan0 Link encap: | ||
| + | inet addr: | ||
| + | inet6 addr: fe80:: | ||
| + | UP BROADCAST RUNNING MULTICAST | ||
| + | RX packets:2 errors:0 dropped:0 overruns:0 frame:0 | ||
| + | TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 | ||
| + | collisions: | ||
| + | RX bytes:328 (328.0 B) TX bytes:852 (852.0 B) | ||
| + | </ | ||
| + | |||
| + | === Referencias === | ||
| + | |||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[https:// | ||
| + | * http:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ==== Raspberry Pi Media Center ==== | ||
| + | |||
| + | Bajamos la imagen con nuestro cliente torrent favorito desde [[https:// | ||
| + | |||
| + | < | ||
| + | sudo dd if=./ | ||
| + | </ | ||
| + | Arrancamos con la toma ethernet conectada al router y nos conectamos tras averigurar la IP con '' | ||
| + | |||
| + | {{RaspiFirstLogin.png| Primer login en Raspberry}} | ||
| + | |||
| + | Una vez instalado los pasos recomendados: | ||
| + | |||
| + | * Cambiar la password de root: '' | ||
| + | * Fijar una IP estática: Editamos el fichero '' | ||
| + | |||
| + | < | ||
| + | interface eth0 | ||
| + | static ip_address=192.168.0.125/ | ||
| + | static routers=192.168.0.1 | ||
| + | static domain_name_servers=8.8.8.8 | ||
| + | |||
| + | interface wlan0 | ||
| + | static ip_address=192.168.0.126/ | ||
| + | static routers=192.168.0.1 | ||
| + | static domain_name_servers=8.8.8.8 | ||
| + | </ | ||
| + | |||
| + | * Una vez cambiado el fichero hay que reiniciar con '' | ||
| + | * Configurar la WIFI, en esta parte damos por supuesto que tenemos la wifi con WPA activado. | ||
| + | * Echamos un ojo a nuestro interfaz radio con '' | ||
| + | |||
| + | < | ||
| + | wlan0 IEEE 802.11bgn | ||
| + | Mode: | ||
| + | Retry short limit: | ||
| + | Encryption key:off | ||
| + | Power Management: | ||
| + | </ | ||
| + | |||
| + | * Tenemos que editar el fichero '' | ||
| + | |||
| + | < | ||
| + | allow-hotplug wlan0 | ||
| + | iface wlan0 inet manual | ||
| + | wpa-conf / | ||
| + | </ | ||
| + | |||
| + | * Ahora vamos a editar el fichero de configuración de '' | ||
| + | |||
| + | < | ||
| + | country=ES | ||
| + | ctrl_interface=DIR=/ | ||
| + | update_config=1 | ||
| + | network={ | ||
| + | ssid=" | ||
| + | psk=" | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | * Un reinicio y listos: '' | ||
| + | |||
| + | ===== TODO ===== | ||
| + | |||
| + | * cinelerra | ||
| + | * playonlinux | ||
| + | * krita | ||
| + | * mypaint | ||
| + | * qStopmotion | ||
| + | * chibios | ||
| + | * [http: | ||
| + | * [http: | ||
| + | * [http: | ||
| + | * ICE Studio | ||
| + | * Inkscape | ||
| + | * https:// | ||
| + | * Instalar tb jessyink | ||
| + | * rclone https:// | ||
| + | * vmware (no creo, virtualbox va genial) | ||
| + | * Astronomía | ||
| + | * STM32 toolchain | ||
| + | |||
| + | ===== Links ===== | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * https:// | ||
| + | * http:// | ||
| + | |||
| + | ===== Licencia ===== | ||
| + | |||
| + | Esta guía se publica sujeta a licencia CC-BY-SA 4.0 INTL | ||
| + | |||
| + | < | ||
| + | |||
| + | Attribution-ShareAlike 4.0 International | ||
| + | |||
| + | ====================================================== | ||
| + | |||
| + | Creative Commons Corporation (" | ||
| + | does not provide legal services or legal advice. Distribution of | ||
| + | Creative Commons public licenses does not create a lawyer-client or | ||
| + | other relationship. Creative Commons makes its licenses and related | ||
| + | information available on an " | ||
| + | warranties regarding its licenses, any material licensed under their | ||
| + | terms and conditions, or any related information. Creative Commons | ||
| + | disclaims all liability for damages resulting from their use to the | ||
| + | fullest extent possible. | ||
| + | |||
| + | Using Creative Commons Public Licenses | ||
| + | |||
| + | Creative Commons public licenses provide a standard set of terms and | ||
| + | conditions that creators and other rights holders may use to share | ||
| + | original works of authorship and other material subject to copyright | ||
| + | and certain other rights specified in the public license below. The | ||
| + | following considerations are for informational purposes only, are not | ||
| + | exhaustive, and do not form part of our licenses. | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | and conditions of the license they choose before applying it. | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | wiki.creativecommons.org/ | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | the licensor' | ||
| + | | ||
| + | | ||
| + | | ||
| + | other rights that a licensor has authority to grant. Use of | ||
| + | the licensed material may still be restricted for other | ||
| + | | ||
| + | | ||
| + | such as asking that all changes be marked or described. | ||
| + | | ||
| + | | ||
| + | for the public: | ||
| + | wiki.creativecommons.org/ | ||
| + | |||
| + | ====================================================== | ||
| + | |||
| + | Creative Commons Attribution-ShareAlike 4.0 International Public | ||
| + | License | ||
| + | |||
| + | By exercising the Licensed Rights (defined below), You accept and agree | ||
| + | to be bound by the terms and conditions of this Creative Commons | ||
| + | Attribution-ShareAlike 4.0 International Public License (" | ||
| + | License" | ||
| + | contract, You are granted the Licensed Rights in consideration of Your | ||
| + | acceptance of these terms and conditions, and the Licensor grants You | ||
| + | such rights in consideration of benefits the Licensor receives from | ||
| + | making the Licensed Material available under these terms and | ||
| + | conditions. | ||
| + | |||
| + | |||
| + | Section 1 -- Definitions. | ||
| + | |||
| + | a. Adapted Material means material subject to Copyright and Similar | ||
| + | | ||
| + | and in which the Licensed Material is translated, altered, | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | b. Adapter' | ||
| + | and Similar Rights in Your contributions to Adapted Material in | ||
| + | | ||
| + | |||
| + | c. BY-SA Compatible License means a license listed at | ||
| + | | ||
| + | | ||
| + | |||
| + | d. Copyright and Similar Rights means copyright and/or similar rights | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | e. Effective Technological Measures means those measures that, in the | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | f. Exceptions and Limitations means fair use, fair dealing, and/or | ||
| + | any other exception or limitation to Copyright and Similar Rights | ||
| + | that applies to Your use of the Licensed Material. | ||
| + | |||
| + | g. License Elements means the license attributes listed in the name | ||
| + | of a Creative Commons Public License. The License Elements of this | ||
| + | | ||
| + | |||
| + | h. Licensed Material means the artistic or literary work, database, | ||
| + | or other material to which the Licensor applied this Public | ||
| + | | ||
| + | |||
| + | i. Licensed Rights means the rights granted to You subject to the | ||
| + | terms and conditions of this Public License, which are limited to | ||
| + | all Copyright and Similar Rights that apply to Your use of the | ||
| + | | ||
| + | |||
| + | j. Licensor means the individual(s) or entity(ies) granting rights | ||
| + | under this Public License. | ||
| + | |||
| + | k. Share means to provide material to the public by any means or | ||
| + | | ||
| + | as reproduction, | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | l. Sui Generis Database Rights means rights other than copyright | ||
| + | | ||
| + | the Council of 11 March 1996 on the legal protection of databases, | ||
| + | as amended and/or succeeded, as well as other essentially | ||
| + | | ||
| + | |||
| + | m. You means the individual or entity exercising the Licensed Rights | ||
| + | under this Public License. Your has a corresponding meaning. | ||
| + | |||
| + | |||
| + | Section 2 -- Scope. | ||
| + | |||
| + | a. License grant. | ||
| + | |||
| + | 1. Subject to the terms and conditions of this Public License, | ||
| + | the Licensor hereby grants You a worldwide, royalty-free, | ||
| + | non-sublicensable, | ||
| + | exercise the Licensed Rights in the Licensed Material to: | ||
| + | |||
| + | a. reproduce and Share the Licensed Material, in whole or | ||
| + | in part; and | ||
| + | |||
| + | b. produce, reproduce, and Share Adapted Material. | ||
| + | |||
| + | 2. Exceptions and Limitations. For the avoidance of doubt, where | ||
| + | Exceptions and Limitations apply to Your use, this Public | ||
| + | License does not apply, and You do not need to comply with | ||
| + | its terms and conditions. | ||
| + | |||
| + | 3. Term. The term of this Public License is specified in Section | ||
| + | 6(a). | ||
| + | |||
| + | 4. Media and formats; technical modifications allowed. The | ||
| + | Licensor authorizes You to exercise the Licensed Rights in | ||
| + | all media and formats whether now known or hereafter created, | ||
| + | and to make technical modifications necessary to do so. The | ||
| + | Licensor waives and/or agrees not to assert any right or | ||
| + | authority to forbid You from making technical modifications | ||
| + | necessary to exercise the Licensed Rights, including | ||
| + | technical modifications necessary to circumvent Effective | ||
| + | Technological Measures. For purposes of this Public License, | ||
| + | simply making modifications authorized by this Section 2(a) | ||
| + | (4) never produces Adapted Material. | ||
| + | |||
| + | 5. Downstream recipients. | ||
| + | |||
| + | a. Offer from the Licensor -- Licensed Material. Every | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | b. Additional offer from the Licensor -- Adapted Material. | ||
| + | Every recipient of Adapted Material from You | ||
| + | | ||
| + | | ||
| + | under the conditions of the Adapter' | ||
| + | |||
| + | c. No downstream restrictions. You may not offer or impose | ||
| + | any additional or different terms or conditions on, or | ||
| + | apply any Effective Technological Measures to, the | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | 6. No endorsement. Nothing in this Public License constitutes or | ||
| + | may be construed as permission to assert or imply that You | ||
| + | are, or that Your use of the Licensed Material is, connected | ||
| + | with, or sponsored, endorsed, or granted official status by, | ||
| + | the Licensor or others designated to receive attribution as | ||
| + | provided in Section 3(a)(1)(A)(i). | ||
| + | |||
| + | b. Other rights. | ||
| + | |||
| + | 1. Moral rights, such as the right of integrity, are not | ||
| + | licensed under this Public License, nor are publicity, | ||
| + | privacy, and/or other similar personality rights; however, to | ||
| + | the extent possible, the Licensor waives and/or agrees not to | ||
| + | assert any such rights held by the Licensor to the limited | ||
| + | extent necessary to allow You to exercise the Licensed | ||
| + | Rights, but not otherwise. | ||
| + | |||
| + | 2. Patent and trademark rights are not licensed under this | ||
| + | Public License. | ||
| + | |||
| + | 3. To the extent possible, the Licensor waives any right to | ||
| + | collect royalties from You for the exercise of the Licensed | ||
| + | Rights, whether directly or through a collecting society | ||
| + | under any voluntary or waivable statutory or compulsory | ||
| + | licensing scheme. In all other cases the Licensor expressly | ||
| + | reserves any right to collect such royalties. | ||
| + | |||
| + | |||
| + | Section 3 -- License Conditions. | ||
| + | |||
| + | Your exercise of the Licensed Rights is expressly made subject to the | ||
| + | following conditions. | ||
| + | |||
| + | a. Attribution. | ||
| + | |||
| + | 1. If You Share the Licensed Material (including in modified | ||
| + | form), You must: | ||
| + | |||
| + | a. retain the following if it is supplied by the Licensor | ||
| + | with the Licensed Material: | ||
| + | |||
| + | i. identification of the creator(s) of the Licensed | ||
| + | Material and any others designated to receive | ||
| + | attribution, | ||
| + | the Licensor (including by pseudonym if | ||
| + | designated); | ||
| + | |||
| + | ii. a copyright notice; | ||
| + | |||
| + | iii. a notice that refers to this Public License; | ||
| + | |||
| + | iv. a notice that refers to the disclaimer of | ||
| + | warranties; | ||
| + | |||
| + | v. a URI or hyperlink to the Licensed Material to the | ||
| + | extent reasonably practicable; | ||
| + | |||
| + | b. indicate if You modified the Licensed Material and | ||
| + | | ||
| + | |||
| + | c. indicate the Licensed Material is licensed under this | ||
| + | | ||
| + | | ||
| + | |||
| + | 2. You may satisfy the conditions in Section 3(a)(1) in any | ||
| + | reasonable manner based on the medium, means, and context in | ||
| + | which You Share the Licensed Material. For example, it may be | ||
| + | reasonable to satisfy the conditions by providing a URI or | ||
| + | hyperlink to a resource that includes the required | ||
| + | information. | ||
| + | |||
| + | 3. If requested by the Licensor, You must remove any of the | ||
| + | information required by Section 3(a)(1)(A) to the extent | ||
| + | reasonably practicable. | ||
| + | |||
| + | b. ShareAlike. | ||
| + | |||
| + | In addition to the conditions in Section 3(a), if You Share | ||
| + | | ||
| + | |||
| + | 1. The Adapter' | ||
| + | license with the same License Elements, this version or | ||
| + | later, or a BY-SA Compatible License. | ||
| + | |||
| + | 2. You must include the text of, or the URI or hyperlink to, the | ||
| + | Adapter' | ||
| + | in any reasonable manner based on the medium, means, and | ||
| + | context in which You Share Adapted Material. | ||
| + | |||
| + | 3. You may not offer or impose any additional or different terms | ||
| + | or conditions on, or apply any Effective Technological | ||
| + | Measures to, Adapted Material that restrict exercise of the | ||
| + | rights granted under the Adapter' | ||
| + | |||
| + | |||
| + | Section 4 -- Sui Generis Database Rights. | ||
| + | |||
| + | Where the Licensed Rights include Sui Generis Database Rights that | ||
| + | apply to Your use of the Licensed Material: | ||
| + | |||
| + | a. for the avoidance of doubt, Section 2(a)(1) grants You the right | ||
| + | to extract, reuse, reproduce, and Share all or a substantial | ||
| + | | ||
| + | |||
| + | b. if You include all or a substantial portion of the database | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | c. You must comply with the conditions in Section 3(a) if You Share | ||
| + | all or a substantial portion of the contents of the database. | ||
| + | |||
| + | For the avoidance of doubt, this Section 4 supplements and does not | ||
| + | replace Your obligations under this Public License where the Licensed | ||
| + | Rights include other Copyright and Similar Rights. | ||
| + | |||
| + | |||
| + | Section 5 -- Disclaimer of Warranties and Limitation of Liability. | ||
| + | |||
| + | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE | ||
| + | | ||
| + | AND AS-AVAILABLE, | ||
| + | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | </ | ||