Архив рубрики «ubuntu»

tar: Просмотр содержимого архива (tar.gz, tgz, tar.bzip2)

05.12.2008

Для вывода оглавления tar-архива используется команда -t:

~$ tar -tvf archive.tar
-rw-rw-rw-  0 username  groupname 45523421 Dec  5 16:17 file1.txt
-rw-r--r--  0 username  groupname 13234112 Dec  5 16:17 file2.txt
-rw-r--r--  0 username  groupname 75323624 Dec  5 16:17 file3.txt

Для tar.gz (tgz; tar+gzip):

~$ tar -ztvf archive.tar.gz
...

Для tar.bz2 (tar+bzip2):

~$ tar -jtvf archive.tar.bz2
...

Использованные команды:
-t – печать содержимого архива на stdout
-v - подробный вывод, аналог ключа -l утилиты ls. Без этой команды будет выведен краткий спискок файлов без размеров и прав.
-f имя_файла - использовать указанный файл в качестве архива, иначе читать с ленты
-zgzip-фильтр. В некоторых реализациях использовать необязательно.
-jbzip2-фильтр. В некоторых реализациях использовать необязательно.

ubuntu: сохранение точки монтирования при смене названия устройства

02.12.2008

Понадобилось мне слить информацию со старого HDD, отформатированного в NTFS. Подключив его, обнаружил, что порядок монтирования устройств сбился, все разделы NTFS "съехали": тот, что был /dev/sda1 стал /dev/sdb1, /dev/sdb1 стал /dev/sdc1, а новый диск получил идентификатор /dev/sda1. В итоге новый диск оказался смонтирован на месте старого, а старый стал вроде как новым несмонтированным устройством.

Система, жившая до того на семействе /dev/sda2..8, спокойно перенесла виртуальный переезд на /dev/sdb2..6, поэтому я даже не сразу сообразил, как такое могло произойти, и как уберечься от подобных фокусов в дальнейшем.

Отгадка, как обычно, крылась в манах (UsingUUID):

Linux now prefers to use UUID (Universally Unique Identifier), LABEL, or symlinks to identify media storage devices on a system. Directly using /dev/hd*# or /dev/sd*# is no longer preferred since these device assignments can change between system boots:

  • all filesystems should be specified by UUID= or LABEL= for each partition.
  • all physical devices should be specified by a symlink, like /dev/cdrom for a cd drive and /dev/disk/by-id/... for each physical hard drive.

The files for which UUID is most critical:

  • /boot/grub/menu.lst
  • /etc/fstab
  • /etc/initramfs-tools/conf.d/resume

Просмотр /etc/fstab подтвердил догадку. Системные ext3 разделы были смонтированы через UUID, в то время как ntfs-разделы монтировались по старинке через имена вида /dev/sd*.

Таким образом, решение проблемы заключается в монтировании ntfs-разделов по UUID.

Узнать UUID для конкретного раздела можно так:

$ sudo vol_id -u /dev/sdb1
7CF803F6A8035E22
 

Размонтируем все ntfs-разделы, меняем записи в /etc/fstab, и заново монтируем раздел.

Было:

/dev/sda1 /mnt/sda1 ntfs  rw,noexec,utf8  0 0

Стало:

UUID=7CF803F6A8035E22 /mnt/sda1 ntfs  rw,noexec,utf8  0 0

Теперь при подключении новых устройств запись прежний порядок монтирования сохранится.

UPD: Харитон пишет:

мне было известно 4 способа определения uuid'а, теперь знаю пятый))
- с помощью утилиты blkid (входит в пакет e2fsprogs)
sudo blkid /dev/sda1
- "...существуют и другие способы получить UUID например для ext2 используя dumpe2fs..."
dumpe2fs -h /dev/sda6
- или так:
ls -al /dev/disk/by-uuid/
- или так:
sudo tune2fs -l /dev/sda1 | grep UUID

самый примечательный из них третий, т.к. можно обойтись без sudo и дает список uuid'ов всех устройств

установка adobe flash player 10 на ubuntu

28.11.2008

Если установлена предыдущая версия Flash Player из комплекта Ubuntu, сносим её:

$ sudo apt-get remove flashplugin-nonfree

Со страницы http://get.adobe.com/flashplayer/ скачиваем пакет со свежим плеером в формате .deb для ubuntu.

И, собственно, ставим:

$ sudo apt-get install install_flash_player_10_linux.deb

Ubuntu: x-term в UTF-8, соединение с удаленным хостом в KOI8-R

27.11.2008

Дано: X-терминал в Ubuntu настроен на работу в локали ru_RU.UTF-8. Удаленный сервер может адекватно работать только с кодировкой ru_RU.KOI8-R. Что делать?

Решение: перекодировать на лету
Для этого удобно использовать утилиту luit, входящую в дистрибутив и устанавливаемую по умолчанию в составе пакета x11-utils.

$ LANG=ru_RU.KOI8-R luit
$ ssh user@koi8.host.tld

Если случилось так, что у вас нет локали KOI8-R, то придется ее создать:

$ sudo locale-gen ru_RU.KOI8-R

nvidia + binary drivers

31.10.2008

Система: Ubuntu
Вручную установлены бинарные драйверы NVIDA.
После обновления системы менеджером пакетов, X.org работает только в безопасном режиме.

Решение: пока нет
Суть проблемы в том, что при обновлении ядра пропал модуль, который драйвер собирал при предыдущей установке.
Поэтому драйвер надо переустановить. К сожалению, при работающем X.org сделать это невозможно. Поэтому:

  • Переключаемся в текстовую консоль (Alt-F1)
  • Убиваем X.org:
     ~$ sudo /etc/init.d/gdm stop
  • Собственно, устанавливаем драйвер:
     ~$ sudo ./NVIDIA-Linux-x86-177.80.pkg1.ru
  • И перегружаемся:
     ~$ sudo reboot

Что читать:
http://habrahabr.ru/blogs/ubuntu/42105/
http://albertomilone.com/nvidia_scripts1.html
http://forum.ubuntu.ru/index.php?topic=3031.0
https://help.ubuntu.com/community/BinaryDriverHowto/Nvidia

vim: old-skool h0tkeyz

23.09.2008
 
" F2 = Save file
map  <silent> <f2>    :write<cr>
imap  <silent> <f2>    <esc>:write<cr>
 
" F10 = Exit without save
map   <silent> <f10>    :quit<cr>
imap  <silent> <f10>    <esc>:q<cr>
 

Firefox + linux: идеальные шрифты

21.09.2008

Идеальные шрифты для Firefox под *nix на данный момент это семейство Bitstream Vera *:
- Bitstream Vera Sans (без засечек, типа Arial/Verdana)
- Bitstream Vera Serif (с засечками, типа Times)
- Bitstream Vera Sans Mono (моноширинный)

В Firefox это живет в меню Правка -> Настройки -> Содержимое -> Шрифты и цвета:
лучшие шрифты для firefox под linux

Некоторые сайты, однако, жестко предписывают отображение текстов шрифтом Times:

BODY{font-family: Times, serif;}

Результат может выглядеть примерно так:

firefox strange fonts

Это произошло из-за того, что настройки fontconfig по-умолчанию заменяют кривой системный Times на некий более удобный для восприятия шрифт.

Используя утилиту fc-match из набора fontconfig убеждаемся, что Times у нас в системе заменяется на "Nimbus Roman No9 L":

~$ fc-match times
n021003l.pfb: "Nimbus Roman No9 L" "Regular"

Выкорчевываем корень зла:

~$ sudo rm /etc/fonts/conf.d/30-urw-aliases.conf
~$ sudo rm /etc/fonts/conf.d/30-metric-aliases.conf

(Если захочется восстановить статус кво, можно взять 30-urw-aliases.conf и 30-metric-aliases.conf из /etc/fonts/conf.avail)

Теперь настроим fontconfig так, чтобы при попытке отобразить шрифт Times автоматически выбирался Times New Roman (очевидно, именно он имелся в виду создателями). Для в своей домашней директории создаем файл ~/.fonts.conf с примерно таким содержимым:

<fontconfig>
	<match target="pattern">
		<test qual="any" name="family">
			<string>Times</string>
		</test>
		<edit name="family" mode="assign">
			<string>Times New Roman</string>
		</edit>
	</match>
</fontconfig>

Сам шрифт Times New Roman следует установить в составе пакета шрифтов от MS.

Смотрим на результат:

~$ fc-match times
Times_New_Roman.ttf: "Times New Roman" "Normal"

Готово.

Инструкция по установке Ruby + Gems + Rails на Ubuntu

19.09.2008

Ставим Ruby через менеджер пакетов apt-get:

~$ sudo apt-get install ruby rdoc irb libyaml-ruby libzlib-ruby ri libopenssl-ruby ruby1.8-dev build-essential

Пакеты rdoc и irb не входят в зависимости, хотя и необходимы для Gem и Rails.

Ставим RubyGems из исходников. Это позволит в дальнейшем RubyGems спокойно само-обновляться:

~$ wget "http://rubyforge.org/frs/download.php/38646/rubygems-x.x.x.tgz"
~$ tar -xvzf rubygems-x.x.x.tgz
~$ rm rubygems-x.x.x.tgz
~$ cd rubygems-x.x.x
~$ sudo ruby setup.rb
~$ cd ..
~$ rm -r rubygems-x.x.x

(НЕЛЬЗЯ запускать установку снаружи, типа use sudo ruby rubygemsx.x.x/setup.rb)

Теперь можно обновить RubyGems

~$ sudo gem update --system

Если эта команда не сработала, то, возможно, нужно создать симлинк /usr/bin/gem1.8 -> /usr/bin/gem

~$ sudo ln -s /usr/bin/gem1.8 /usr/bin/gem

Ставим Rails и mongrel через RubyGems:

~$ sudo gem install rails mongrel

Добавляем /var/lib/gems/1.8/bin/ в пути, и все готово!

~$ PATH=${PATH}:/var/lib/gems/1.8/bin/
~$ export PATH

[источник]

Харитон Мизгирь пишет: NB! если при установке какого-нибудь gem'а выдается ошибка
"no such file to load — mkmf"
это значит, что не установлен ruby1.8-dev, libsqlite3-dev
или еще какой-нибудь *-dev

~$ sudo apt-get install ruby1.8-dev libsqlite3-dev

и т.д.

Виндовые шрифты в Ubuntu

07.09.2008

Установка TTF windows проста до неприличия:
~$ sudo apt-get install msttcorefonts