понедельник, 28 мая 2012 г.

Как распаковать RPM

Достаточно часто возникает вопрос, как распаковать содержимое rpm-пакета? Это может помочь, если пакетный менеджер не установлен или не работает.
rpm-пакет - это на самом деле архив формата cpio вместе с набором метаданных. Распаковать его можно командой:
rpm2cpio package.rpm | cpio -dimv
Параметры:
  • -i - распаковать архив,
  • -d - сохранить структуру директорий.
  • -v - показать список распакованных файлов,
  • -m - наследовать даты модификаций извлекаемых файлов.

четверг, 17 мая 2012 г.

Phonon claims it cannot play mp3 files ошибка в Amarok

Недавно стала появлятся такая ошибка при попытке проиграть MP3 файлы в Amarok. Решение нашлось на форуме убунты, надо удалить(Или переименовать) файл .xine, который должен лежать в вашем домашнем каталоге. В зависимости от вашего дистрибутива он лежит, либо в корне, либо в подпапке .config. Если не там, не там нет, то можете попробовать поискать:

(Не под рутом, под обычным пользователем, под которым возникла проблема)
cd ~
find . -name .xine -print


среда, 16 мая 2012 г.

Команды Linux



Небольшая шпаргалка с самыми часто использумыми командами в Linux.

Команды для работы с файловой системой:

ls – список файлов и каталогов
ls -al – форматированный список со скрытыми каталогами и файлами
cd dir – сменить директорию на dir
cd – сменить на домашний каталог
pwd – показать текущий каталог
mkdir dir – создать каталог dir
rm file – удалить file
rm -r dir – удалить каталог dir
rm -f file – удалить форсированно file
rm -rf dir – удалить форсированно каталог dir
cp file1 file2 – скопировать file1 в file2
cp -r dir1 dir2 – скопировать dir1 в dir2; создаст каталог dir2, если он не существует
mv file1 file2 – переименовать или переместить file1 в file2. если file2 существующий каталог - переместить file1 в каталог file2
ln -s file link – создать символическую ссылку link к файлу file
touch file – создать file
cat > file – направить стандартный ввод в file
more file – вывести содержимое file
head file – вывести первые 10 строк file
tail file – вывести последние 10 строк file
tail -f file – вывести содержимое file по мере роста, начинает с последних 10 строк

Команды для управления процессами:
ps – вывести ваши текущие активные процессы
top – показать все запущенные процессы
kill pid – убить процесс с id pid
killall proc – убить все процессы с именем proc
bg – список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фоне
fg – выносит на передний план последние задачи
fg n – вынести задачу n на передний план

Управление правами доступа:
chmod octal file – сменить права file на octal, раздельно для пользователя, группы и для всех добавлением:
4 – чтение (r)
2 – запись (w)
1 – исполнение (x)

Примеры:
chmod 777 – чтение, запись, исполнение для всех
chmod 755 – rwx для владельца, rx для группы и остальных.
Дополнительные опции: man chmod.


SSH

ssh user@host – подключится к host как user
ssh -p port user@host – подключится к host на порт port как user
ssh-copy-id user@host – добавить ваш ключ на host для user чтобы включить логин без пароля и по ключам

Поиск

grep pattern files – искать pattern в files
grep -r pattern dir – искать рекурсивно pattern в dir
command | grep pattern – искать pattern в выводе command
locate file – найти все файлы с именем file

Системные команды:

date – вывести текущую дату и время
cal – вывести календарь на текущий месяц
uptime – показать текущий аптайм
w – показать пользователей онлайн
whoami – имя, под которым вы залогинены
finger user – показать информацию о user
uname -a – показать информацию о ядре
cat /proc/cpuinfo – информация ЦПУ
cat /proc/meminfo – информация о памяти
man command – показать мануал для command
df – показать инф. о использовании дисков
du – вывести “вес” текущего каталога
free – использование памяти и swap
whereis app – возможное расположение программы app
which app – какая app будет запущена по умолчанию

Архивация:

tar cf file.tar files – создать tar-архив с именем file.tar содержащий files
tar xf file.tar – распаковать file.tar
tar czf file.tar.gz files – создать архив tar с сжатием Gzip
tar xzf file.tar.gz – распаковать tar с Gzip
tar cjf file.tar.bz2 – создать архив tar с сжатием Bzip2
tar xjf file.tar.bz2 – распаковать tar с Bzip2
gzip file – сжать file и переименовать в file.gz
gzip -d file.gz – разжать file.gz в file

Сети

ping host – пропинговать host и вывести результат
whois domain – получить информацию whois для domain
dig domain – получить DNS информацию domain
dig -x host – реверсивно искать host
wget file – скачать file
wget -c file – продолжить остановленную закачку

Установка программ:
Исходники:
./configure
make
make install
dpkg -i pkg.deb – установить пакет (Debian)
rpm -Uvh pkg.rpm – установить пакет (RPM)

Клавиатурные сочетания:

Ctrl+C – завершить текущую команду
Ctrl+Z – остановить текущую команду, продолжть с fg на переднем плане или bg в фоне
Ctrl+D – разлогиниться, тоже самое, что и exit
Ctrl+W – удалить одно слово в текущей строке
Ctrl+U – удалить строку
!! - повторить последнюю команду
exit – разлогиниться

Установка сервера Counter-Strike Source

1. Создаём папку для установки сервера:
mkdir /opt/css
2. Заходим с созданную директорию:
cd /opt/css
3. Скачиваем с сайта Valve бинарник для установки:
wget http://storefront.steampowered.com/download/hldsupdatetool.bin
4. Выставляем права на запуск:
chmod +x hldsupdatetool.bin
5. Запускаем его:
./hldsupdatetool.bin
6. Соглашаемся с лицензионным соглашением:
yes
7. Появится два новых файла: readme.txt и steam. Даем файлу steam права на запись:
chmod +x steam
8. Запускаем обновление:
./steam -command update
8.1. Можно посмотреть доступных для скачивания игр:
./steam -command list
9. Закачиваем файлы:
./steam -command update -game "Counter-Strike Source" -dir .

10. Запускаем сервер командой:
./srcds_run
10.1. Если сервер скачался успешно, то появится консоль сервера. Команды консоли:
version - консоль покажет версию сервера;
stats - консоль покажет основные параметры работы на данный момент – загрузку процессора, fps, количество игроков.
status - информация о сервере и игроках.
exit - закрыть сервер.
11. Параметры запуска игры:
-game cstrike (указываем, что это CS сервер)
-nomaster (указываем, что сервер не будет показан в глобальной базе данных серверов)
-insecure (античит защита VAC)
+sv_lan 1 (лановый запуск сервера)
+sv_lan 0 (сервер доступен из интернетов)
+maxplayers 10 (указывает, что на сервере смогут играть максимально 10 игроков)
+map de_dust (указывает, какая карта будет загружаться первой, после запуска сервера)
+ip XX.XXX.XXX.XX (Указывает IP сервера, к которому будут подключаться игроки)

воскресенье, 13 мая 2012 г.

Установка Linux на флешку

В данном посте я опишу, и как создать LiveCD на флэшке и как именно полноценно установить Linux на фоэшку. Выбор дистрибутива особого значения не имеет, но рекомендуется использовать дистрибутивы специально предназначенные для этой операции. Начнем.

Установка Linux с флэшки

Сейчас во времена нетбуков, мало у кого имеется возможно устанавливать ОС, с дисков. Остается две возможности, установка через интернет(Об этом в одной из следующих записей) и установка с флэшки. А вот о втором способе, прямо сейчас.

пятница, 16 марта 2012 г.

Ассоциации файлов в Linux

Достаточно часто возникает ситуация, когда у вас есть какой-то тип файлов и программа, которая эти файлы открывает. И хотелось бы, чтобы при попытке, запуска этого файла открывалась эта программа. У многих программ(например mc, nautilus), есть своя база ассоциаций, но это не совсем удобно, так как такой список имеют далеко не все программы, а вот системным пользуются все.

четверг, 15 марта 2012 г.

Выбор браузера по умолчанию в Linux

Если вам требуется открытие ссылок из других приложений в определенном браузере, то его надо выборать по умолчанию. В данном примере я буду использовать Firefox, но работа с другими браузерами аналогична.
В KDE\Gnome настройка возможно из GUI и на ней я останавливаться не буду.

среда, 14 марта 2012 г.

Выключение компьютера в Openbox - часть 1

Есть достаточно много решений, со своими плюсами и минусами, рассмотрим некоторые из них.

Выбор звуковой карты по умолчанию

Достаточно частая проблема, когда есть две звуковые карты, и звук проигрывает не на той, что нужно. В Linux звуковой карточкой по умолчанию, становится та, драйвер которой, подгрузился первым и можно поменять очередность загрузки модулей. Но это не совсем удобно, да и драйвер звуковой карты в ядре должен быть собран модулем, поэтому я предлагаю другое решение.

Смотрим список звуковых карточек, которые у вас есть:
cat /proc/asound/cards

Открываем файл:
/etc/asound.conf
Впрочем он может называться и так:
 /usr/share/alsa/alsa.conf
И меняем значения трех параметров так:
defaults.ctl.card 1
defaults.pcm.card 1
defaults.pcm.device 0
Соответственно если видеокарт больше двух, нужно выставить именно ту, которая должна работать по умолчанию.
После этого перезапускаем alsasound, например так:
/etc/init.d/alsasound restart
В вашем дистрибутиве это операция может отличатся. В крайнем случае, поможет перезапуск.

воскресенье, 11 марта 2012 г.

Автологин в Linux


В зависимости от вашей системы и желания, автологин можно реализовать по разному. Самый простой способ с помощью Display Manager'а. В user-frendly дистрибутивах это можно сделать через GUI.

В Ubuntu, это делается так:
 
В это меню можно выйти через: System -> Administration -> Login Screen Settings. Система -> Администрирование -> Настройки экрана входа в систему(?).
В других дистрибутивах настройки gdm можно вызвать через консоль:
gdmsetup

Если же дисплей менеджера у вас нет,его можно установить. Их достаточно много разных. Если у вас стоит GNOME или KDE, то скорее всего в их составе к вам попали GDM или соотвественно KDM. Либо если они вас не устраивают,то вы можете пользоваться альтернативными: XDM, LightDM, SLiM или другими.

Впрочем, вы вообще можете не ставить дисплей менеджер и настроить автологин по другому. Этот способ приминим,ко всем системам на базе UNIX.
Открываете файл:
/etc/inittab
Находим там строчки:
c1:12345:respawn:/sbin/agetty 38400 tty1 linux
c2:2345:respawn:/sbin/agetty 38400 tty2 linux
c3:2345:respawn:/sbin/agetty 38400 tty3 linux
c4:2345:respawn:/sbin/agetty 38400 tty4 linux
c5:2345:respawn:/sbin/agetty 38400 tty5 linux
c6:2345:respawn:/sbin/agetty 38400 tty6 linux
У вас они могут незначительно отличатся.
И редактируем первую строчку:
c1:12345:respawn:/sbin/agetty --autologin USER tty1 linux
Где USER имя юзера для которого вы хотите сделать автологин.
Этот способ не будет работать если у вас стоит util-linux(набор системных программ для Linux), версии ниже 2.20.
Посмотреть версию можно, например, так:
agetty --version
И если версия ниже необходимой, вам надо либо обновить набор программ, либо использовать mingetty. Установите ее в вашем дистрибутиве и тогда строка будет иметь вид:
c1:12345:respawn:/sbin/mingetty --autologin USER tty1 linux

Минус этого способа в том, что после загрузки вы не сможете выйти из учетной записи. Правда только на одной виртуальной консоли(tty1). Вы всегда можете,нажать ALT+CTL+F2(либо F3,F4,F5 и т.д) и войти на другой консоли из под другого юзера.