Even though most long distance trains have restaurant cars, passengers usually purchase foods from Bubushkas (local's food stoll, which originally means "grand-ma" in Russian) at major stops such as Krasnoyarsk Station shown in above picture.
Foods like homemade piloshk cost you no more than 10 or so rubles a piece. Other food stuff like vegetables, fruits, bread, or ice creams are also available. Simply to shop around is good fun for those get bored by monotous train ride.
You may also buy ciger, beer, some packed-snacks, chocolates at Kiosk which sells just about everything.